@affinda/wc 0.0.21 → 0.0.23

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 (894) hide show
  1. package/dist/affinda/affinda.css +1 -1
  2. package/dist/affinda/affinda.esm.js +1 -2
  3. package/dist/affinda/index.esm.js +1 -2
  4. package/dist/affinda/p-00a226ba.entry.js +1 -0
  5. package/dist/affinda/p-020bd9db.entry.js +1 -0
  6. package/dist/affinda/p-0264279f.entry.js +1 -0
  7. package/dist/affinda/p-08dc48a4.entry.js +1 -0
  8. package/dist/affinda/p-09184969.entry.js +1 -0
  9. package/dist/affinda/p-0ae3495c.entry.js +1 -0
  10. package/dist/affinda/p-0c6b7f0b.entry.js +1 -0
  11. package/dist/affinda/p-14c85efd.entry.js +1 -0
  12. package/dist/affinda/p-1d72e1dd.entry.js +1 -0
  13. package/dist/affinda/p-20fe557e.entry.js +1 -0
  14. package/dist/affinda/p-26a60b00.entry.js +1 -0
  15. package/dist/affinda/p-289cb56f.entry.js +1 -0
  16. package/dist/affinda/p-29d0a985.entry.js +1 -0
  17. package/dist/affinda/p-2c0c94c5.entry.js +1 -0
  18. package/dist/affinda/p-2ce405df.entry.js +1 -0
  19. package/dist/affinda/p-2d4c1202.entry.js +1 -0
  20. package/dist/affinda/p-2f1e0c44.entry.js +1 -0
  21. package/dist/affinda/p-3899a278.entry.js +1 -0
  22. package/dist/affinda/p-404f2cea.entry.js +1 -0
  23. package/dist/affinda/p-468d16b1.entry.js +1 -0
  24. package/dist/affinda/p-46efe4e4.entry.js +1 -0
  25. package/dist/affinda/p-5136a894.entry.js +1 -0
  26. package/dist/affinda/{p-6af1634a.entry.js → p-54d85947.entry.js} +1 -2
  27. package/dist/affinda/p-589a860a.entry.js +1 -0
  28. package/dist/affinda/p-63e86a14.entry.js +1 -0
  29. package/dist/affinda/p-6c99b2bb.entry.js +1 -0
  30. package/dist/affinda/p-7ed6ee6a.entry.js +1 -0
  31. package/dist/affinda/p-81de8fbd.entry.js +1 -0
  32. package/dist/affinda/p-81eb85ec.entry.js +1 -0
  33. package/dist/affinda/p-854f6a9e.entry.js +1 -0
  34. package/dist/affinda/p-8742f8fe.entry.js +1 -0
  35. package/dist/affinda/p-8c394de2.entry.js +1 -0
  36. package/dist/affinda/p-9018ddec.entry.js +1 -0
  37. package/dist/affinda/p-90edefa8.entry.js +1 -0
  38. package/dist/affinda/p-9fea6229.entry.js +1 -0
  39. package/dist/affinda/p-CPfAC9fk.js +2 -0
  40. package/dist/affinda/p-a5179afb.entry.js +1 -0
  41. package/dist/affinda/p-a5f7d3d6.entry.js +1 -0
  42. package/dist/affinda/p-a8af25d5.entry.js +1 -0
  43. package/dist/affinda/p-ace3c850.entry.js +1 -0
  44. package/dist/affinda/p-ae43f07b.entry.js +1 -0
  45. package/dist/affinda/p-aec05709.entry.js +1 -0
  46. package/dist/affinda/p-af9e25ea.entry.js +1 -0
  47. package/dist/affinda/p-b477c08a.entry.js +1 -0
  48. package/dist/affinda/p-b9f58a18.entry.js +1 -0
  49. package/dist/affinda/p-bd3f81fc.entry.js +1 -0
  50. package/dist/affinda/p-ca14e17a.entry.js +1 -0
  51. package/dist/affinda/p-cb889d6b.entry.js +1 -0
  52. package/dist/affinda/p-cbf0911b.entry.js +1 -0
  53. package/dist/affinda/{p-2e750d43.entry.js → p-cf4d0d8e.entry.js} +1 -2
  54. package/dist/affinda/p-cfb90374.entry.js +1 -0
  55. package/dist/affinda/p-d7129564.entry.js +1 -0
  56. package/dist/affinda/p-d9cfea73.entry.js +1 -0
  57. package/dist/affinda/p-df7b1b09.entry.js +1 -0
  58. package/dist/affinda/p-e0915179.entry.js +1 -0
  59. package/dist/affinda/p-e3cd6671.entry.js +1 -0
  60. package/dist/affinda/p-e61dfb97.entry.js +1 -0
  61. package/dist/affinda/p-e6b4761c.entry.js +1 -0
  62. package/dist/affinda/p-ecab0884.entry.js +1 -0
  63. package/dist/affinda/p-ef754e65.entry.js +1 -0
  64. package/dist/affinda/p-f3d5d1be.entry.js +1 -0
  65. package/dist/affinda/p-f79781ff.entry.js +1 -0
  66. package/dist/affinda/p-f825b81f.entry.js +1 -0
  67. package/dist/affinda/p-ffdd2c30.entry.js +1 -0
  68. package/dist/cjs/af-accordion-item.cjs.entry.js +7 -6
  69. package/dist/cjs/af-accordion.cjs.entry.js +7 -6
  70. package/dist/cjs/af-aspect-ratio.cjs.entry.js +3 -4
  71. package/dist/cjs/af-button-group.cjs.entry.js +4 -5
  72. package/dist/cjs/af-button.cjs.entry.js +3 -4
  73. package/dist/cjs/af-card.cjs.entry.js +4 -5
  74. package/dist/cjs/af-center.cjs.entry.js +4 -5
  75. package/dist/cjs/af-checkbox.cjs.entry.js +4 -5
  76. package/dist/cjs/af-client-carousel.cjs.entry.js +4 -5
  77. package/dist/cjs/af-color-swatch.cjs.entry.js +3 -4
  78. package/dist/cjs/af-contact-item.cjs.entry.js +4 -5
  79. package/dist/cjs/af-container.cjs.entry.js +3 -4
  80. package/dist/cjs/af-divider.cjs.entry.js +4 -5
  81. package/dist/cjs/af-feature-accordion.cjs.entry.js +8 -7
  82. package/dist/cjs/af-feature-card.cjs.entry.js +3 -4
  83. package/dist/cjs/af-feature-grid.cjs.entry.js +7 -6
  84. package/dist/cjs/af-fieldset.cjs.entry.js +4 -5
  85. package/dist/cjs/af-footer-column.cjs.entry.js +4 -5
  86. package/dist/cjs/af-footer-link.cjs.entry.js +4 -5
  87. package/dist/cjs/af-footer.cjs.entry.js +4 -5
  88. package/dist/cjs/af-grid-callout.cjs.entry.js +3 -4
  89. package/dist/cjs/af-grid.cjs.entry.js +5 -6
  90. package/dist/cjs/af-heading_5.cjs.entry.js +98 -14
  91. package/dist/cjs/af-icon-box.cjs.entry.js +4 -5
  92. package/dist/cjs/af-icon-button.cjs.entry.js +3 -4
  93. package/dist/cjs/af-icon-text.cjs.entry.js +4 -5
  94. package/dist/cjs/af-icon.cjs.entry.js +3 -4
  95. package/dist/cjs/af-illustrated-card.cjs.entry.js +4 -5
  96. package/dist/cjs/af-image.cjs.entry.js +4 -5
  97. package/dist/cjs/af-in-page-banner.cjs.entry.js +4 -5
  98. package/dist/cjs/af-inline.cjs.entry.js +4 -5
  99. package/dist/cjs/af-input.cjs.entry.js +4 -5
  100. package/dist/cjs/af-logo-well.cjs.entry.js +4 -5
  101. package/dist/cjs/af-nav-accordion-item.cjs.entry.js +8 -7
  102. package/dist/cjs/af-nav-accordion.cjs.entry.js +4 -5
  103. package/dist/cjs/af-nav-card.cjs.entry.js +3 -4
  104. package/dist/cjs/af-nav-menu-nest.cjs.entry.js +4 -5
  105. package/dist/cjs/af-nav-menu.cjs.entry.js +4 -5
  106. package/dist/cjs/af-number-badge.cjs.entry.js +4 -5
  107. package/dist/cjs/af-progress-line.cjs.entry.js +5 -6
  108. package/dist/cjs/af-radio.cjs.entry.js +4 -5
  109. package/dist/cjs/af-section.cjs.entry.js +5 -6
  110. package/dist/cjs/af-show.cjs.entry.js +4 -5
  111. package/dist/cjs/af-social-link.cjs.entry.js +4 -5
  112. package/dist/cjs/af-spacer.cjs.entry.js +4 -5
  113. package/dist/cjs/af-split-section.cjs.entry.js +5 -6
  114. package/dist/cjs/af-stack.cjs.entry.js +4 -5
  115. package/dist/cjs/af-stepper-step.cjs.entry.js +4 -5
  116. package/dist/cjs/af-stepper.cjs.entry.js +4 -5
  117. package/dist/cjs/af-switch.cjs.entry.js +4 -5
  118. package/dist/cjs/af-tab-bar.cjs.entry.js +4 -5
  119. package/dist/cjs/af-tab.cjs.entry.js +4 -5
  120. package/dist/cjs/af-tag.cjs.entry.js +5 -6
  121. package/dist/cjs/af-testimonial-carousel.cjs.entry.js +4 -5
  122. package/dist/cjs/af-testimonial-stat.cjs.entry.js +4 -5
  123. package/dist/cjs/af-testimonial.cjs.entry.js +5 -6
  124. package/dist/cjs/af-text-image-nest.cjs.entry.js +4 -5
  125. package/dist/cjs/af-text-image.cjs.entry.js +3 -4
  126. package/dist/cjs/af-textarea.cjs.entry.js +4 -5
  127. package/dist/cjs/af-theme-override.cjs.entry.js +4 -5
  128. package/dist/cjs/af-typography-lockup.cjs.entry.js +4 -5
  129. package/dist/cjs/af-video-container.cjs.entry.js +4 -5
  130. package/dist/cjs/af-visually-hidden.cjs.entry.js +4 -5
  131. package/dist/cjs/affinda.cjs.js +3 -4
  132. package/dist/cjs/{index-n-fnurTP.js → index-C1ry3YPK.js} +462 -260
  133. package/dist/cjs/index.cjs.js +20 -21
  134. package/dist/cjs/loader.cjs.js +2 -3
  135. package/dist/collection/collection-manifest.json +3 -2
  136. package/dist/collection/components/af-accordion/af-accordion.js +1 -2
  137. package/dist/collection/components/af-accordion-item/af-accordion-item.js +1 -2
  138. package/dist/collection/components/af-aspect-ratio/af-aspect-ratio.js +0 -1
  139. package/dist/collection/components/af-button/af-button.js +0 -1
  140. package/dist/collection/components/af-button-group/af-button-group.js +1 -2
  141. package/dist/collection/components/af-card/af-card.js +1 -2
  142. package/dist/collection/components/af-center/af-center.js +1 -2
  143. package/dist/collection/components/af-checkbox/af-checkbox.js +1 -2
  144. package/dist/collection/components/af-client-carousel/af-client-carousel.js +1 -2
  145. package/dist/collection/components/af-color-swatch/af-color-swatch.js +0 -1
  146. package/dist/collection/components/af-contact-item/af-contact-item.js +1 -2
  147. package/dist/collection/components/af-container/af-container.js +0 -1
  148. package/dist/collection/components/af-divider/af-divider.js +1 -2
  149. package/dist/collection/components/af-feature-accordion/af-feature-accordion.js +2 -3
  150. package/dist/collection/components/af-feature-card/af-feature-card.js +0 -1
  151. package/dist/collection/components/af-feature-grid/af-feature-grid.js +1 -2
  152. package/dist/collection/components/af-fieldset/af-fieldset.js +1 -2
  153. package/dist/collection/components/af-footer/af-footer.js +1 -2
  154. package/dist/collection/components/af-footer-column/af-footer-column.js +1 -2
  155. package/dist/collection/components/af-footer-link/af-footer-link.js +1 -2
  156. package/dist/collection/components/af-grid/af-grid.js +2 -3
  157. package/dist/collection/components/af-grid-callout/af-grid-callout.js +0 -1
  158. package/dist/collection/components/af-heading/af-heading.js +0 -1
  159. package/dist/collection/components/af-icon/af-icon.js +3 -3
  160. package/dist/collection/components/af-icon-box/af-icon-box.js +4 -4
  161. package/dist/collection/components/af-icon-button/af-icon-button.js +0 -1
  162. package/dist/collection/components/af-icon-text/af-icon-text.js +4 -4
  163. package/dist/collection/components/af-illustrated-card/af-illustrated-card.js +1 -2
  164. package/dist/collection/components/af-image/af-image.js +1 -2
  165. package/dist/collection/components/af-in-page-banner/af-in-page-banner.js +1 -2
  166. package/dist/collection/components/af-inline/af-inline.js +1 -2
  167. package/dist/collection/components/af-input/af-input.js +1 -2
  168. package/dist/collection/components/af-logo/af-logo.js +1 -2
  169. package/dist/collection/components/af-logo-well/af-logo-well.js +1 -2
  170. package/dist/collection/components/af-nav-accordion/af-nav-accordion.js +1 -2
  171. package/dist/collection/components/af-nav-accordion-item/af-nav-accordion-item.js +2 -3
  172. package/dist/collection/components/af-nav-card/af-nav-card.js +0 -1
  173. package/dist/collection/components/af-nav-item/af-nav-item.js +0 -1
  174. package/dist/collection/components/af-nav-menu/af-nav-menu.js +1 -2
  175. package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js +1 -2
  176. package/dist/collection/components/af-navbar/af-navbar.js +114 -6
  177. package/dist/collection/components/af-number-badge/af-number-badge.js +1 -2
  178. package/dist/collection/components/af-progress-line/af-progress-line.js +2 -3
  179. package/dist/collection/components/af-radio/af-radio.js +1 -2
  180. package/dist/collection/components/af-section/af-section.js +2 -3
  181. package/dist/collection/components/af-show/af-show.js +1 -2
  182. package/dist/collection/components/af-social-link/af-social-link.js +1 -2
  183. package/dist/collection/components/af-spacer/af-spacer.js +1 -2
  184. package/dist/collection/components/af-split-section/af-split-section.js +2 -3
  185. package/dist/collection/components/af-stack/af-stack.js +1 -2
  186. package/dist/collection/components/af-stepper/af-stepper.js +1 -2
  187. package/dist/collection/components/af-stepper-step/af-stepper-step.js +1 -2
  188. package/dist/collection/components/af-switch/af-switch.js +1 -2
  189. package/dist/collection/components/af-tab/af-tab.js +1 -2
  190. package/dist/collection/components/af-tab-bar/af-tab-bar.js +1 -2
  191. package/dist/collection/components/af-tag/af-tag.js +2 -3
  192. package/dist/collection/components/af-testimonial/af-testimonial.js +2 -3
  193. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js +1 -2
  194. package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js +1 -2
  195. package/dist/collection/components/af-text/af-text.js +0 -1
  196. package/dist/collection/components/af-text-image/af-text-image.js +0 -1
  197. package/dist/collection/components/af-text-image-nest/af-text-image-nest.js +1 -2
  198. package/dist/collection/components/af-textarea/af-textarea.js +1 -2
  199. package/dist/collection/components/af-theme-override/af-theme-override.js +1 -2
  200. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js +1 -2
  201. package/dist/collection/components/af-video-container/af-video-container.js +1 -2
  202. package/dist/collection/components/af-visually-hidden/af-visually-hidden.js +1 -2
  203. package/dist/collection/components.js +0 -1
  204. package/dist/collection/index.js +0 -1
  205. package/dist/components/af-accordion-item.js +1 -107
  206. package/dist/components/af-accordion.js +1 -128
  207. package/dist/components/af-aspect-ratio.js +1 -9
  208. package/dist/components/af-button-group.js +1 -9
  209. package/dist/components/af-button.js +1 -9
  210. package/dist/components/af-card.js +1 -9
  211. package/dist/components/af-center.js +1 -66
  212. package/dist/components/af-checkbox.js +1 -9
  213. package/dist/components/af-client-carousel.js +1 -53
  214. package/dist/components/af-color-swatch.js +1 -9
  215. package/dist/components/af-contact-item.js +1 -44
  216. package/dist/components/af-container.js +1 -9
  217. package/dist/components/af-divider.js +1 -66
  218. package/dist/components/af-feature-accordion.js +1 -136
  219. package/dist/components/af-feature-card.js +1 -9
  220. package/dist/components/af-feature-grid.js +1 -124
  221. package/dist/components/af-fieldset.js +1 -9
  222. package/dist/components/af-footer-column.js +1 -41
  223. package/dist/components/af-footer-link.js +1 -44
  224. package/dist/components/af-footer.js +1 -53
  225. package/dist/components/af-grid-callout.js +1 -82
  226. package/dist/components/af-grid.js +1 -71
  227. package/dist/components/af-heading.js +1 -9
  228. package/dist/components/af-icon-box.js +1 -9
  229. package/dist/components/af-icon-button.js +1 -9
  230. package/dist/components/af-icon-text.js +1 -78
  231. package/dist/components/af-icon.js +1 -9
  232. package/dist/components/af-illustrated-card.js +1 -9
  233. package/dist/components/af-image.js +1 -9
  234. package/dist/components/af-in-page-banner.js +1 -82
  235. package/dist/components/af-inline.js +1 -83
  236. package/dist/components/af-input.js +1 -9
  237. package/dist/components/af-logo-well.js +1 -38
  238. package/dist/components/af-logo.js +1 -9
  239. package/dist/components/af-nav-accordion-item.js +1 -117
  240. package/dist/components/af-nav-accordion.js +1 -106
  241. package/dist/components/af-nav-card.js +1 -62
  242. package/dist/components/af-nav-item.js +1 -9
  243. package/dist/components/af-nav-menu-nest.js +1 -67
  244. package/dist/components/af-nav-menu.js +1 -65
  245. package/dist/components/af-navbar.js +1 -9
  246. package/dist/components/af-number-badge.js +1 -66
  247. package/dist/components/af-progress-line.js +1 -9
  248. package/dist/components/af-radio.js +1 -9
  249. package/dist/components/af-section.js +1 -54
  250. package/dist/components/af-show.js +1 -46
  251. package/dist/components/af-social-link.js +1 -63
  252. package/dist/components/af-spacer.js +1 -69
  253. package/dist/components/af-split-section.js +1 -71
  254. package/dist/components/af-stack.js +1 -90
  255. package/dist/components/af-stepper-step.js +1 -44
  256. package/dist/components/af-stepper.js +1 -55
  257. package/dist/components/af-switch.js +1 -9
  258. package/dist/components/af-tab-bar.js +1 -9
  259. package/dist/components/af-tab.js +1 -9
  260. package/dist/components/af-tag.js +1 -9
  261. package/dist/components/af-testimonial-carousel.js +1 -131
  262. package/dist/components/af-testimonial-stat.js +1 -57
  263. package/dist/components/af-testimonial.js +1 -88
  264. package/dist/components/af-text-image-nest.js +1 -51
  265. package/dist/components/af-text-image.js +1 -94
  266. package/dist/components/af-text.js +1 -9
  267. package/dist/components/af-textarea.js +1 -9
  268. package/dist/components/af-theme-override.js +1 -44
  269. package/dist/components/af-typography-lockup.js +1 -9
  270. package/dist/components/af-video-container.js +1 -70
  271. package/dist/components/af-visually-hidden.js +1 -45
  272. package/dist/components/index.d.ts +2 -0
  273. package/dist/components/index.js +1 -27
  274. package/dist/components/p--UJ_xE9Z.js +1 -0
  275. package/dist/components/p-0KrQFK77.js +1 -0
  276. package/dist/components/p-9SgEr6QK.js +1 -0
  277. package/dist/components/p-B6I3yxMd.js +1 -0
  278. package/dist/components/p-BCCbAFc1.js +1 -0
  279. package/dist/components/p-BLzlyxBT.js +1 -0
  280. package/dist/components/p-BUFbtjxU.js +1 -0
  281. package/dist/components/p-BeVM-2kH.js +1 -0
  282. package/dist/components/p-BeX5VmwL.js +1 -0
  283. package/dist/components/p-BlfywPKX.js +1 -0
  284. package/dist/components/p-BqUK0ZTO.js +1 -0
  285. package/dist/components/p-BzH2LxRQ.js +1 -0
  286. package/dist/components/p-CDCZfKNt.js +1 -0
  287. package/dist/components/p-CHNaDIj5.js +1 -0
  288. package/dist/components/p-CSGAhCLK.js +1 -0
  289. package/dist/components/p-CTFMTG3E.js +1 -0
  290. package/dist/components/p-CTcar4TG.js +1 -0
  291. package/dist/components/p-CVQiSujq.js +1 -0
  292. package/dist/components/p-C_BrhG1Q.js +1 -0
  293. package/dist/components/p-DOJEJFNa.js +1 -0
  294. package/dist/components/p-DPujlxcb.js +1 -0
  295. package/dist/components/p-DRm58pvc.js +1 -0
  296. package/dist/components/p-DX19jO3u.js +1 -0
  297. package/dist/components/p-DsNqeD3z.js +1 -0
  298. package/dist/components/p-Dx31qPzk.js +1 -0
  299. package/dist/components/p-HhMv1A3-.js +1 -0
  300. package/dist/components/p-UTiuvQaz.js +1 -0
  301. package/dist/components/p-tB2jS8S_.js +1 -0
  302. package/dist/components/p-tF59ipRp.js +1 -0
  303. package/dist/esm/af-accordion-item.entry.js +7 -6
  304. package/dist/esm/af-accordion.entry.js +7 -6
  305. package/dist/esm/af-aspect-ratio.entry.js +3 -4
  306. package/dist/esm/af-button-group.entry.js +4 -5
  307. package/dist/esm/af-button.entry.js +3 -4
  308. package/dist/esm/af-card.entry.js +4 -5
  309. package/dist/esm/af-center.entry.js +4 -5
  310. package/dist/esm/af-checkbox.entry.js +4 -5
  311. package/dist/esm/af-client-carousel.entry.js +4 -5
  312. package/dist/esm/af-color-swatch.entry.js +3 -4
  313. package/dist/esm/af-contact-item.entry.js +4 -5
  314. package/dist/esm/af-container.entry.js +3 -4
  315. package/dist/esm/af-divider.entry.js +4 -5
  316. package/dist/esm/af-feature-accordion.entry.js +8 -7
  317. package/dist/esm/af-feature-card.entry.js +3 -4
  318. package/dist/esm/af-feature-grid.entry.js +7 -6
  319. package/dist/esm/af-fieldset.entry.js +4 -5
  320. package/dist/esm/af-footer-column.entry.js +4 -5
  321. package/dist/esm/af-footer-link.entry.js +4 -5
  322. package/dist/esm/af-footer.entry.js +4 -5
  323. package/dist/esm/af-grid-callout.entry.js +3 -4
  324. package/dist/esm/af-grid.entry.js +5 -6
  325. package/dist/esm/af-heading_5.entry.js +98 -14
  326. package/dist/esm/af-icon-box.entry.js +4 -5
  327. package/dist/esm/af-icon-button.entry.js +3 -4
  328. package/dist/esm/af-icon-text.entry.js +4 -5
  329. package/dist/esm/af-icon.entry.js +3 -4
  330. package/dist/esm/af-illustrated-card.entry.js +4 -5
  331. package/dist/esm/af-image.entry.js +4 -5
  332. package/dist/esm/af-in-page-banner.entry.js +4 -5
  333. package/dist/esm/af-inline.entry.js +4 -5
  334. package/dist/esm/af-input.entry.js +4 -5
  335. package/dist/esm/af-logo-well.entry.js +4 -5
  336. package/dist/esm/af-nav-accordion-item.entry.js +8 -7
  337. package/dist/esm/af-nav-accordion.entry.js +4 -5
  338. package/dist/esm/af-nav-card.entry.js +3 -4
  339. package/dist/esm/af-nav-menu-nest.entry.js +4 -5
  340. package/dist/esm/af-nav-menu.entry.js +4 -5
  341. package/dist/esm/af-number-badge.entry.js +4 -5
  342. package/dist/esm/af-progress-line.entry.js +5 -6
  343. package/dist/esm/af-radio.entry.js +4 -5
  344. package/dist/esm/af-section.entry.js +5 -6
  345. package/dist/esm/af-show.entry.js +4 -5
  346. package/dist/esm/af-social-link.entry.js +4 -5
  347. package/dist/esm/af-spacer.entry.js +4 -5
  348. package/dist/esm/af-split-section.entry.js +5 -6
  349. package/dist/esm/af-stack.entry.js +4 -5
  350. package/dist/esm/af-stepper-step.entry.js +4 -5
  351. package/dist/esm/af-stepper.entry.js +4 -5
  352. package/dist/esm/af-switch.entry.js +4 -5
  353. package/dist/esm/af-tab-bar.entry.js +4 -5
  354. package/dist/esm/af-tab.entry.js +4 -5
  355. package/dist/esm/af-tag.entry.js +5 -6
  356. package/dist/esm/af-testimonial-carousel.entry.js +4 -5
  357. package/dist/esm/af-testimonial-stat.entry.js +4 -5
  358. package/dist/esm/af-testimonial.entry.js +5 -6
  359. package/dist/esm/af-text-image-nest.entry.js +4 -5
  360. package/dist/esm/af-text-image.entry.js +3 -4
  361. package/dist/esm/af-textarea.entry.js +4 -5
  362. package/dist/esm/af-theme-override.entry.js +4 -5
  363. package/dist/esm/af-typography-lockup.entry.js +4 -5
  364. package/dist/esm/af-video-container.entry.js +4 -5
  365. package/dist/esm/af-visually-hidden.entry.js +4 -5
  366. package/dist/esm/affinda.js +4 -5
  367. package/dist/esm/{index-B0LVveHp.js → index-CPfAC9fk.js} +462 -260
  368. package/dist/esm/index.js +2 -3
  369. package/dist/esm/loader.js +3 -4
  370. package/dist/types/components/af-navbar/af-navbar.d.ts +33 -4
  371. package/dist/types/components.d.ts +524 -147
  372. package/dist/types/stencil-public-runtime.d.ts +110 -6
  373. package/package.json +1 -1
  374. package/dist/affinda/af-accordion-item.entry.esm.js.map +0 -1
  375. package/dist/affinda/af-accordion.entry.esm.js.map +0 -1
  376. package/dist/affinda/af-aspect-ratio.entry.esm.js.map +0 -1
  377. package/dist/affinda/af-button-group.entry.esm.js.map +0 -1
  378. package/dist/affinda/af-button.entry.esm.js.map +0 -1
  379. package/dist/affinda/af-card.entry.esm.js.map +0 -1
  380. package/dist/affinda/af-center.entry.esm.js.map +0 -1
  381. package/dist/affinda/af-checkbox.entry.esm.js.map +0 -1
  382. package/dist/affinda/af-client-carousel.entry.esm.js.map +0 -1
  383. package/dist/affinda/af-color-swatch.entry.esm.js.map +0 -1
  384. package/dist/affinda/af-contact-item.entry.esm.js.map +0 -1
  385. package/dist/affinda/af-container.entry.esm.js.map +0 -1
  386. package/dist/affinda/af-divider.entry.esm.js.map +0 -1
  387. package/dist/affinda/af-feature-accordion.entry.esm.js.map +0 -1
  388. package/dist/affinda/af-feature-card.entry.esm.js.map +0 -1
  389. package/dist/affinda/af-feature-grid.entry.esm.js.map +0 -1
  390. package/dist/affinda/af-fieldset.entry.esm.js.map +0 -1
  391. package/dist/affinda/af-footer-column.entry.esm.js.map +0 -1
  392. package/dist/affinda/af-footer-link.entry.esm.js.map +0 -1
  393. package/dist/affinda/af-footer.entry.esm.js.map +0 -1
  394. package/dist/affinda/af-grid-callout.entry.esm.js.map +0 -1
  395. package/dist/affinda/af-grid.entry.esm.js.map +0 -1
  396. package/dist/affinda/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.esm.js.map +0 -1
  397. package/dist/affinda/af-icon-box.entry.esm.js.map +0 -1
  398. package/dist/affinda/af-icon-button.entry.esm.js.map +0 -1
  399. package/dist/affinda/af-icon-text.entry.esm.js.map +0 -1
  400. package/dist/affinda/af-icon.entry.esm.js.map +0 -1
  401. package/dist/affinda/af-illustrated-card.entry.esm.js.map +0 -1
  402. package/dist/affinda/af-image.entry.esm.js.map +0 -1
  403. package/dist/affinda/af-in-page-banner.entry.esm.js.map +0 -1
  404. package/dist/affinda/af-inline.entry.esm.js.map +0 -1
  405. package/dist/affinda/af-input.entry.esm.js.map +0 -1
  406. package/dist/affinda/af-logo-well.entry.esm.js.map +0 -1
  407. package/dist/affinda/af-nav-accordion-item.entry.esm.js.map +0 -1
  408. package/dist/affinda/af-nav-accordion.entry.esm.js.map +0 -1
  409. package/dist/affinda/af-nav-card.entry.esm.js.map +0 -1
  410. package/dist/affinda/af-nav-menu-nest.entry.esm.js.map +0 -1
  411. package/dist/affinda/af-nav-menu.entry.esm.js.map +0 -1
  412. package/dist/affinda/af-number-badge.entry.esm.js.map +0 -1
  413. package/dist/affinda/af-progress-line.entry.esm.js.map +0 -1
  414. package/dist/affinda/af-radio.entry.esm.js.map +0 -1
  415. package/dist/affinda/af-section.entry.esm.js.map +0 -1
  416. package/dist/affinda/af-show.entry.esm.js.map +0 -1
  417. package/dist/affinda/af-social-link.entry.esm.js.map +0 -1
  418. package/dist/affinda/af-spacer.entry.esm.js.map +0 -1
  419. package/dist/affinda/af-split-section.entry.esm.js.map +0 -1
  420. package/dist/affinda/af-stack.entry.esm.js.map +0 -1
  421. package/dist/affinda/af-stepper-step.entry.esm.js.map +0 -1
  422. package/dist/affinda/af-stepper.entry.esm.js.map +0 -1
  423. package/dist/affinda/af-switch.entry.esm.js.map +0 -1
  424. package/dist/affinda/af-tab-bar.entry.esm.js.map +0 -1
  425. package/dist/affinda/af-tab.entry.esm.js.map +0 -1
  426. package/dist/affinda/af-tag.entry.esm.js.map +0 -1
  427. package/dist/affinda/af-testimonial-carousel.entry.esm.js.map +0 -1
  428. package/dist/affinda/af-testimonial-stat.entry.esm.js.map +0 -1
  429. package/dist/affinda/af-testimonial.entry.esm.js.map +0 -1
  430. package/dist/affinda/af-text-image-nest.entry.esm.js.map +0 -1
  431. package/dist/affinda/af-text-image.entry.esm.js.map +0 -1
  432. package/dist/affinda/af-textarea.entry.esm.js.map +0 -1
  433. package/dist/affinda/af-theme-override.entry.esm.js.map +0 -1
  434. package/dist/affinda/af-typography-lockup.entry.esm.js.map +0 -1
  435. package/dist/affinda/af-video-container.entry.esm.js.map +0 -1
  436. package/dist/affinda/af-visually-hidden.entry.esm.js.map +0 -1
  437. package/dist/affinda/affinda.esm.js.map +0 -1
  438. package/dist/affinda/index.esm.js.map +0 -1
  439. package/dist/affinda/loader.esm.js.map +0 -1
  440. package/dist/affinda/p-04de9a0a.entry.js +0 -2
  441. package/dist/affinda/p-04de9a0a.entry.js.map +0 -1
  442. package/dist/affinda/p-07efc7a0.entry.js +0 -2
  443. package/dist/affinda/p-07efc7a0.entry.js.map +0 -1
  444. package/dist/affinda/p-08143c7e.entry.js +0 -2
  445. package/dist/affinda/p-08143c7e.entry.js.map +0 -1
  446. package/dist/affinda/p-0fb16377.entry.js +0 -2
  447. package/dist/affinda/p-0fb16377.entry.js.map +0 -1
  448. package/dist/affinda/p-0fcce1e4.entry.js +0 -2
  449. package/dist/affinda/p-0fcce1e4.entry.js.map +0 -1
  450. package/dist/affinda/p-122b6e96.entry.js +0 -2
  451. package/dist/affinda/p-122b6e96.entry.js.map +0 -1
  452. package/dist/affinda/p-19eb7cb9.entry.js +0 -2
  453. package/dist/affinda/p-19eb7cb9.entry.js.map +0 -1
  454. package/dist/affinda/p-1a87dd1c.entry.js +0 -2
  455. package/dist/affinda/p-1a87dd1c.entry.js.map +0 -1
  456. package/dist/affinda/p-202bac33.entry.js +0 -2
  457. package/dist/affinda/p-202bac33.entry.js.map +0 -1
  458. package/dist/affinda/p-2e50c27d.entry.js +0 -2
  459. package/dist/affinda/p-2e50c27d.entry.js.map +0 -1
  460. package/dist/affinda/p-2e750d43.entry.js.map +0 -1
  461. package/dist/affinda/p-2e8682a0.entry.js +0 -2
  462. package/dist/affinda/p-2e8682a0.entry.js.map +0 -1
  463. package/dist/affinda/p-302d0cf7.entry.js +0 -2
  464. package/dist/affinda/p-302d0cf7.entry.js.map +0 -1
  465. package/dist/affinda/p-3642589b.entry.js +0 -2
  466. package/dist/affinda/p-3642589b.entry.js.map +0 -1
  467. package/dist/affinda/p-389a6246.entry.js +0 -2
  468. package/dist/affinda/p-389a6246.entry.js.map +0 -1
  469. package/dist/affinda/p-391bb085.entry.js +0 -2
  470. package/dist/affinda/p-391bb085.entry.js.map +0 -1
  471. package/dist/affinda/p-3e16bb11.entry.js +0 -2
  472. package/dist/affinda/p-3e16bb11.entry.js.map +0 -1
  473. package/dist/affinda/p-3fc2a3dc.entry.js +0 -2
  474. package/dist/affinda/p-3fc2a3dc.entry.js.map +0 -1
  475. package/dist/affinda/p-45f76ad4.entry.js +0 -2
  476. package/dist/affinda/p-45f76ad4.entry.js.map +0 -1
  477. package/dist/affinda/p-4fcb61d1.entry.js +0 -2
  478. package/dist/affinda/p-4fcb61d1.entry.js.map +0 -1
  479. package/dist/affinda/p-517543bd.entry.js +0 -2
  480. package/dist/affinda/p-517543bd.entry.js.map +0 -1
  481. package/dist/affinda/p-5591bc79.entry.js +0 -2
  482. package/dist/affinda/p-5591bc79.entry.js.map +0 -1
  483. package/dist/affinda/p-6179957e.entry.js +0 -2
  484. package/dist/affinda/p-6179957e.entry.js.map +0 -1
  485. package/dist/affinda/p-62699653.entry.js +0 -2
  486. package/dist/affinda/p-62699653.entry.js.map +0 -1
  487. package/dist/affinda/p-6a5fa86a.entry.js +0 -2
  488. package/dist/affinda/p-6a5fa86a.entry.js.map +0 -1
  489. package/dist/affinda/p-6af1634a.entry.js.map +0 -1
  490. package/dist/affinda/p-6b92463e.entry.js +0 -2
  491. package/dist/affinda/p-6b92463e.entry.js.map +0 -1
  492. package/dist/affinda/p-6bbc1e24.entry.js +0 -2
  493. package/dist/affinda/p-6bbc1e24.entry.js.map +0 -1
  494. package/dist/affinda/p-709271d1.entry.js +0 -2
  495. package/dist/affinda/p-709271d1.entry.js.map +0 -1
  496. package/dist/affinda/p-76475b41.entry.js +0 -2
  497. package/dist/affinda/p-76475b41.entry.js.map +0 -1
  498. package/dist/affinda/p-78ff69a4.entry.js +0 -2
  499. package/dist/affinda/p-78ff69a4.entry.js.map +0 -1
  500. package/dist/affinda/p-79e6fc73.entry.js +0 -2
  501. package/dist/affinda/p-79e6fc73.entry.js.map +0 -1
  502. package/dist/affinda/p-7da3a28f.entry.js +0 -2
  503. package/dist/affinda/p-7da3a28f.entry.js.map +0 -1
  504. package/dist/affinda/p-86a9ff3e.entry.js +0 -2
  505. package/dist/affinda/p-86a9ff3e.entry.js.map +0 -1
  506. package/dist/affinda/p-9242c8d1.entry.js +0 -2
  507. package/dist/affinda/p-9242c8d1.entry.js.map +0 -1
  508. package/dist/affinda/p-933560e0.entry.js +0 -2
  509. package/dist/affinda/p-933560e0.entry.js.map +0 -1
  510. package/dist/affinda/p-B0LVveHp.js +0 -3
  511. package/dist/affinda/p-B0LVveHp.js.map +0 -1
  512. package/dist/affinda/p-a2c71cad.entry.js +0 -2
  513. package/dist/affinda/p-a2c71cad.entry.js.map +0 -1
  514. package/dist/affinda/p-a53d5549.entry.js +0 -2
  515. package/dist/affinda/p-a53d5549.entry.js.map +0 -1
  516. package/dist/affinda/p-a6402689.entry.js +0 -2
  517. package/dist/affinda/p-a6402689.entry.js.map +0 -1
  518. package/dist/affinda/p-a7574570.entry.js +0 -2
  519. package/dist/affinda/p-a7574570.entry.js.map +0 -1
  520. package/dist/affinda/p-a942522f.entry.js +0 -2
  521. package/dist/affinda/p-a942522f.entry.js.map +0 -1
  522. package/dist/affinda/p-accd917e.entry.js +0 -2
  523. package/dist/affinda/p-accd917e.entry.js.map +0 -1
  524. package/dist/affinda/p-ad9b0eec.entry.js +0 -2
  525. package/dist/affinda/p-ad9b0eec.entry.js.map +0 -1
  526. package/dist/affinda/p-b18767cf.entry.js +0 -2
  527. package/dist/affinda/p-b18767cf.entry.js.map +0 -1
  528. package/dist/affinda/p-b85e2bff.entry.js +0 -2
  529. package/dist/affinda/p-b85e2bff.entry.js.map +0 -1
  530. package/dist/affinda/p-bb67cf12.entry.js +0 -2
  531. package/dist/affinda/p-bb67cf12.entry.js.map +0 -1
  532. package/dist/affinda/p-c01eaa85.entry.js +0 -2
  533. package/dist/affinda/p-c01eaa85.entry.js.map +0 -1
  534. package/dist/affinda/p-c225ac8c.entry.js +0 -2
  535. package/dist/affinda/p-c225ac8c.entry.js.map +0 -1
  536. package/dist/affinda/p-c3d7872c.entry.js +0 -2
  537. package/dist/affinda/p-c3d7872c.entry.js.map +0 -1
  538. package/dist/affinda/p-c51a2687.entry.js +0 -2
  539. package/dist/affinda/p-c51a2687.entry.js.map +0 -1
  540. package/dist/affinda/p-d28b0860.entry.js +0 -2
  541. package/dist/affinda/p-d28b0860.entry.js.map +0 -1
  542. package/dist/affinda/p-d74a7ae9.entry.js +0 -2
  543. package/dist/affinda/p-d74a7ae9.entry.js.map +0 -1
  544. package/dist/affinda/p-e2f555fc.entry.js +0 -2
  545. package/dist/affinda/p-e2f555fc.entry.js.map +0 -1
  546. package/dist/affinda/p-e305c2b7.entry.js +0 -2
  547. package/dist/affinda/p-e305c2b7.entry.js.map +0 -1
  548. package/dist/affinda/p-e37fea2f.entry.js +0 -2
  549. package/dist/affinda/p-e37fea2f.entry.js.map +0 -1
  550. package/dist/affinda/p-ea02610f.entry.js +0 -2
  551. package/dist/affinda/p-ea02610f.entry.js.map +0 -1
  552. package/dist/affinda/p-ea0ccbce.entry.js +0 -2
  553. package/dist/affinda/p-ea0ccbce.entry.js.map +0 -1
  554. package/dist/affinda/p-eebb5101.entry.js +0 -2
  555. package/dist/affinda/p-eebb5101.entry.js.map +0 -1
  556. package/dist/affinda/p-f1dd31bd.entry.js +0 -2
  557. package/dist/affinda/p-f1dd31bd.entry.js.map +0 -1
  558. package/dist/affinda/p-f4d2a07d.entry.js +0 -2
  559. package/dist/affinda/p-f4d2a07d.entry.js.map +0 -1
  560. package/dist/affinda/p-f78dd237.entry.js +0 -2
  561. package/dist/affinda/p-f78dd237.entry.js.map +0 -1
  562. package/dist/affinda/p-f8bdddf5.entry.js +0 -2
  563. package/dist/affinda/p-f8bdddf5.entry.js.map +0 -1
  564. package/dist/affinda/p-fd772813.entry.js +0 -2
  565. package/dist/affinda/p-fd772813.entry.js.map +0 -1
  566. package/dist/cjs/af-accordion-item.entry.cjs.js.map +0 -1
  567. package/dist/cjs/af-accordion.entry.cjs.js.map +0 -1
  568. package/dist/cjs/af-aspect-ratio.entry.cjs.js.map +0 -1
  569. package/dist/cjs/af-button-group.entry.cjs.js.map +0 -1
  570. package/dist/cjs/af-button.entry.cjs.js.map +0 -1
  571. package/dist/cjs/af-card.entry.cjs.js.map +0 -1
  572. package/dist/cjs/af-center.entry.cjs.js.map +0 -1
  573. package/dist/cjs/af-checkbox.entry.cjs.js.map +0 -1
  574. package/dist/cjs/af-client-carousel.entry.cjs.js.map +0 -1
  575. package/dist/cjs/af-color-swatch.entry.cjs.js.map +0 -1
  576. package/dist/cjs/af-contact-item.entry.cjs.js.map +0 -1
  577. package/dist/cjs/af-container.entry.cjs.js.map +0 -1
  578. package/dist/cjs/af-divider.entry.cjs.js.map +0 -1
  579. package/dist/cjs/af-feature-accordion.entry.cjs.js.map +0 -1
  580. package/dist/cjs/af-feature-card.entry.cjs.js.map +0 -1
  581. package/dist/cjs/af-feature-grid.entry.cjs.js.map +0 -1
  582. package/dist/cjs/af-fieldset.entry.cjs.js.map +0 -1
  583. package/dist/cjs/af-footer-column.entry.cjs.js.map +0 -1
  584. package/dist/cjs/af-footer-link.entry.cjs.js.map +0 -1
  585. package/dist/cjs/af-footer.entry.cjs.js.map +0 -1
  586. package/dist/cjs/af-grid-callout.entry.cjs.js.map +0 -1
  587. package/dist/cjs/af-grid.entry.cjs.js.map +0 -1
  588. package/dist/cjs/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.cjs.js.map +0 -1
  589. package/dist/cjs/af-icon-box.entry.cjs.js.map +0 -1
  590. package/dist/cjs/af-icon-button.entry.cjs.js.map +0 -1
  591. package/dist/cjs/af-icon-text.entry.cjs.js.map +0 -1
  592. package/dist/cjs/af-icon.entry.cjs.js.map +0 -1
  593. package/dist/cjs/af-illustrated-card.entry.cjs.js.map +0 -1
  594. package/dist/cjs/af-image.entry.cjs.js.map +0 -1
  595. package/dist/cjs/af-in-page-banner.entry.cjs.js.map +0 -1
  596. package/dist/cjs/af-inline.entry.cjs.js.map +0 -1
  597. package/dist/cjs/af-input.entry.cjs.js.map +0 -1
  598. package/dist/cjs/af-logo-well.entry.cjs.js.map +0 -1
  599. package/dist/cjs/af-nav-accordion-item.entry.cjs.js.map +0 -1
  600. package/dist/cjs/af-nav-accordion.entry.cjs.js.map +0 -1
  601. package/dist/cjs/af-nav-card.entry.cjs.js.map +0 -1
  602. package/dist/cjs/af-nav-menu-nest.entry.cjs.js.map +0 -1
  603. package/dist/cjs/af-nav-menu.entry.cjs.js.map +0 -1
  604. package/dist/cjs/af-number-badge.entry.cjs.js.map +0 -1
  605. package/dist/cjs/af-progress-line.entry.cjs.js.map +0 -1
  606. package/dist/cjs/af-radio.entry.cjs.js.map +0 -1
  607. package/dist/cjs/af-section.entry.cjs.js.map +0 -1
  608. package/dist/cjs/af-show.entry.cjs.js.map +0 -1
  609. package/dist/cjs/af-social-link.entry.cjs.js.map +0 -1
  610. package/dist/cjs/af-spacer.entry.cjs.js.map +0 -1
  611. package/dist/cjs/af-split-section.entry.cjs.js.map +0 -1
  612. package/dist/cjs/af-stack.entry.cjs.js.map +0 -1
  613. package/dist/cjs/af-stepper-step.entry.cjs.js.map +0 -1
  614. package/dist/cjs/af-stepper.entry.cjs.js.map +0 -1
  615. package/dist/cjs/af-switch.entry.cjs.js.map +0 -1
  616. package/dist/cjs/af-tab-bar.entry.cjs.js.map +0 -1
  617. package/dist/cjs/af-tab.entry.cjs.js.map +0 -1
  618. package/dist/cjs/af-tag.entry.cjs.js.map +0 -1
  619. package/dist/cjs/af-testimonial-carousel.entry.cjs.js.map +0 -1
  620. package/dist/cjs/af-testimonial-stat.entry.cjs.js.map +0 -1
  621. package/dist/cjs/af-testimonial.entry.cjs.js.map +0 -1
  622. package/dist/cjs/af-text-image-nest.entry.cjs.js.map +0 -1
  623. package/dist/cjs/af-text-image.entry.cjs.js.map +0 -1
  624. package/dist/cjs/af-textarea.entry.cjs.js.map +0 -1
  625. package/dist/cjs/af-theme-override.entry.cjs.js.map +0 -1
  626. package/dist/cjs/af-typography-lockup.entry.cjs.js.map +0 -1
  627. package/dist/cjs/af-video-container.entry.cjs.js.map +0 -1
  628. package/dist/cjs/af-visually-hidden.entry.cjs.js.map +0 -1
  629. package/dist/cjs/affinda.cjs.js.map +0 -1
  630. package/dist/cjs/index-n-fnurTP.js.map +0 -1
  631. package/dist/cjs/index.cjs.js.map +0 -1
  632. package/dist/cjs/loader.cjs.js.map +0 -1
  633. package/dist/collection/components/af-accordion/af-accordion.js.map +0 -1
  634. package/dist/collection/components/af-accordion-item/af-accordion-item.js.map +0 -1
  635. package/dist/collection/components/af-aspect-ratio/af-aspect-ratio.js.map +0 -1
  636. package/dist/collection/components/af-button/af-button.js.map +0 -1
  637. package/dist/collection/components/af-button-group/af-button-group.js.map +0 -1
  638. package/dist/collection/components/af-card/af-card.js.map +0 -1
  639. package/dist/collection/components/af-center/af-center.js.map +0 -1
  640. package/dist/collection/components/af-checkbox/af-checkbox.js.map +0 -1
  641. package/dist/collection/components/af-client-carousel/af-client-carousel.js.map +0 -1
  642. package/dist/collection/components/af-color-swatch/af-color-swatch.js.map +0 -1
  643. package/dist/collection/components/af-contact-item/af-contact-item.js.map +0 -1
  644. package/dist/collection/components/af-container/af-container.js.map +0 -1
  645. package/dist/collection/components/af-divider/af-divider.js.map +0 -1
  646. package/dist/collection/components/af-feature-accordion/af-feature-accordion.js.map +0 -1
  647. package/dist/collection/components/af-feature-card/af-feature-card.js.map +0 -1
  648. package/dist/collection/components/af-feature-grid/af-feature-grid.js.map +0 -1
  649. package/dist/collection/components/af-fieldset/af-fieldset.js.map +0 -1
  650. package/dist/collection/components/af-footer/af-footer.js.map +0 -1
  651. package/dist/collection/components/af-footer-column/af-footer-column.js.map +0 -1
  652. package/dist/collection/components/af-footer-link/af-footer-link.js.map +0 -1
  653. package/dist/collection/components/af-grid/af-grid.js.map +0 -1
  654. package/dist/collection/components/af-grid-callout/af-grid-callout.js.map +0 -1
  655. package/dist/collection/components/af-heading/af-heading.js.map +0 -1
  656. package/dist/collection/components/af-icon/af-icon.js.map +0 -1
  657. package/dist/collection/components/af-icon-box/af-icon-box.js.map +0 -1
  658. package/dist/collection/components/af-icon-button/af-icon-button.js.map +0 -1
  659. package/dist/collection/components/af-icon-text/af-icon-text.js.map +0 -1
  660. package/dist/collection/components/af-illustrated-card/af-illustrated-card.js.map +0 -1
  661. package/dist/collection/components/af-image/af-image.js.map +0 -1
  662. package/dist/collection/components/af-in-page-banner/af-in-page-banner.js.map +0 -1
  663. package/dist/collection/components/af-inline/af-inline.js.map +0 -1
  664. package/dist/collection/components/af-input/af-input.js.map +0 -1
  665. package/dist/collection/components/af-logo/af-logo.js.map +0 -1
  666. package/dist/collection/components/af-logo-well/af-logo-well.js.map +0 -1
  667. package/dist/collection/components/af-nav-accordion/af-nav-accordion.js.map +0 -1
  668. package/dist/collection/components/af-nav-accordion-item/af-nav-accordion-item.js.map +0 -1
  669. package/dist/collection/components/af-nav-card/af-nav-card.js.map +0 -1
  670. package/dist/collection/components/af-nav-item/af-nav-item.js.map +0 -1
  671. package/dist/collection/components/af-nav-menu/af-nav-menu.js.map +0 -1
  672. package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js.map +0 -1
  673. package/dist/collection/components/af-navbar/af-navbar.js.map +0 -1
  674. package/dist/collection/components/af-number-badge/af-number-badge.js.map +0 -1
  675. package/dist/collection/components/af-progress-line/af-progress-line.js.map +0 -1
  676. package/dist/collection/components/af-radio/af-radio.js.map +0 -1
  677. package/dist/collection/components/af-section/af-section.js.map +0 -1
  678. package/dist/collection/components/af-show/af-show.js.map +0 -1
  679. package/dist/collection/components/af-social-link/af-social-link.js.map +0 -1
  680. package/dist/collection/components/af-spacer/af-spacer.js.map +0 -1
  681. package/dist/collection/components/af-split-section/af-split-section.js.map +0 -1
  682. package/dist/collection/components/af-stack/af-stack.js.map +0 -1
  683. package/dist/collection/components/af-stepper/af-stepper.js.map +0 -1
  684. package/dist/collection/components/af-stepper-step/af-stepper-step.js.map +0 -1
  685. package/dist/collection/components/af-switch/af-switch.js.map +0 -1
  686. package/dist/collection/components/af-tab/af-tab.js.map +0 -1
  687. package/dist/collection/components/af-tab-bar/af-tab-bar.js.map +0 -1
  688. package/dist/collection/components/af-tag/af-tag.js.map +0 -1
  689. package/dist/collection/components/af-testimonial/af-testimonial.js.map +0 -1
  690. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js.map +0 -1
  691. package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js.map +0 -1
  692. package/dist/collection/components/af-text/af-text.js.map +0 -1
  693. package/dist/collection/components/af-text-image/af-text-image.js.map +0 -1
  694. package/dist/collection/components/af-text-image-nest/af-text-image-nest.js.map +0 -1
  695. package/dist/collection/components/af-textarea/af-textarea.js.map +0 -1
  696. package/dist/collection/components/af-theme-override/af-theme-override.js.map +0 -1
  697. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js.map +0 -1
  698. package/dist/collection/components/af-video-container/af-video-container.js.map +0 -1
  699. package/dist/collection/components/af-visually-hidden/af-visually-hidden.js.map +0 -1
  700. package/dist/collection/components.js.map +0 -1
  701. package/dist/collection/index.js.map +0 -1
  702. package/dist/components/af-accordion-item.js.map +0 -1
  703. package/dist/components/af-accordion.js.map +0 -1
  704. package/dist/components/af-aspect-ratio.js.map +0 -1
  705. package/dist/components/af-button-group.js.map +0 -1
  706. package/dist/components/af-button.js.map +0 -1
  707. package/dist/components/af-card.js.map +0 -1
  708. package/dist/components/af-center.js.map +0 -1
  709. package/dist/components/af-checkbox.js.map +0 -1
  710. package/dist/components/af-client-carousel.js.map +0 -1
  711. package/dist/components/af-color-swatch.js.map +0 -1
  712. package/dist/components/af-contact-item.js.map +0 -1
  713. package/dist/components/af-container.js.map +0 -1
  714. package/dist/components/af-divider.js.map +0 -1
  715. package/dist/components/af-feature-accordion.js.map +0 -1
  716. package/dist/components/af-feature-card.js.map +0 -1
  717. package/dist/components/af-feature-grid.js.map +0 -1
  718. package/dist/components/af-fieldset.js.map +0 -1
  719. package/dist/components/af-footer-column.js.map +0 -1
  720. package/dist/components/af-footer-link.js.map +0 -1
  721. package/dist/components/af-footer.js.map +0 -1
  722. package/dist/components/af-grid-callout.js.map +0 -1
  723. package/dist/components/af-grid.js.map +0 -1
  724. package/dist/components/af-heading.js.map +0 -1
  725. package/dist/components/af-icon-box.js.map +0 -1
  726. package/dist/components/af-icon-button.js.map +0 -1
  727. package/dist/components/af-icon-text.js.map +0 -1
  728. package/dist/components/af-icon.js.map +0 -1
  729. package/dist/components/af-illustrated-card.js.map +0 -1
  730. package/dist/components/af-image.js.map +0 -1
  731. package/dist/components/af-in-page-banner.js.map +0 -1
  732. package/dist/components/af-inline.js.map +0 -1
  733. package/dist/components/af-input.js.map +0 -1
  734. package/dist/components/af-logo-well.js.map +0 -1
  735. package/dist/components/af-logo.js.map +0 -1
  736. package/dist/components/af-nav-accordion-item.js.map +0 -1
  737. package/dist/components/af-nav-accordion.js.map +0 -1
  738. package/dist/components/af-nav-card.js.map +0 -1
  739. package/dist/components/af-nav-item.js.map +0 -1
  740. package/dist/components/af-nav-menu-nest.js.map +0 -1
  741. package/dist/components/af-nav-menu.js.map +0 -1
  742. package/dist/components/af-navbar.js.map +0 -1
  743. package/dist/components/af-number-badge.js.map +0 -1
  744. package/dist/components/af-progress-line.js.map +0 -1
  745. package/dist/components/af-radio.js.map +0 -1
  746. package/dist/components/af-section.js.map +0 -1
  747. package/dist/components/af-show.js.map +0 -1
  748. package/dist/components/af-social-link.js.map +0 -1
  749. package/dist/components/af-spacer.js.map +0 -1
  750. package/dist/components/af-split-section.js.map +0 -1
  751. package/dist/components/af-stack.js.map +0 -1
  752. package/dist/components/af-stepper-step.js.map +0 -1
  753. package/dist/components/af-stepper.js.map +0 -1
  754. package/dist/components/af-switch.js.map +0 -1
  755. package/dist/components/af-tab-bar.js.map +0 -1
  756. package/dist/components/af-tab.js.map +0 -1
  757. package/dist/components/af-tag.js.map +0 -1
  758. package/dist/components/af-testimonial-carousel.js.map +0 -1
  759. package/dist/components/af-testimonial-stat.js.map +0 -1
  760. package/dist/components/af-testimonial.js.map +0 -1
  761. package/dist/components/af-text-image-nest.js.map +0 -1
  762. package/dist/components/af-text-image.js.map +0 -1
  763. package/dist/components/af-text.js.map +0 -1
  764. package/dist/components/af-textarea.js.map +0 -1
  765. package/dist/components/af-theme-override.js.map +0 -1
  766. package/dist/components/af-typography-lockup.js.map +0 -1
  767. package/dist/components/af-video-container.js.map +0 -1
  768. package/dist/components/af-visually-hidden.js.map +0 -1
  769. package/dist/components/index.js.map +0 -1
  770. package/dist/components/p-6uEhsUaO.js +0 -44
  771. package/dist/components/p-6uEhsUaO.js.map +0 -1
  772. package/dist/components/p-80hb0CR2.js +0 -71
  773. package/dist/components/p-80hb0CR2.js.map +0 -1
  774. package/dist/components/p-BBVslKpK.js +0 -59
  775. package/dist/components/p-BBVslKpK.js.map +0 -1
  776. package/dist/components/p-BHKA-yEm.js +0 -102
  777. package/dist/components/p-BHKA-yEm.js.map +0 -1
  778. package/dist/components/p-BHyABfs0.js +0 -92
  779. package/dist/components/p-BHyABfs0.js.map +0 -1
  780. package/dist/components/p-BIgPDyJK.js +0 -103
  781. package/dist/components/p-BIgPDyJK.js.map +0 -1
  782. package/dist/components/p-BXZ7aJQf.js +0 -372
  783. package/dist/components/p-BXZ7aJQf.js.map +0 -1
  784. package/dist/components/p-BfAQ7eko.js +0 -53
  785. package/dist/components/p-BfAQ7eko.js.map +0 -1
  786. package/dist/components/p-CAYG3IzP.js +0 -50
  787. package/dist/components/p-CAYG3IzP.js.map +0 -1
  788. package/dist/components/p-CFBeRDmV.js +0 -52
  789. package/dist/components/p-CFBeRDmV.js.map +0 -1
  790. package/dist/components/p-CLmCtN_R.js +0 -35
  791. package/dist/components/p-CLmCtN_R.js.map +0 -1
  792. package/dist/components/p-CNtgySkk.js +0 -48
  793. package/dist/components/p-CNtgySkk.js.map +0 -1
  794. package/dist/components/p-CUSad8vm.js +0 -74
  795. package/dist/components/p-CUSad8vm.js.map +0 -1
  796. package/dist/components/p-CxngDK-N.js +0 -1781
  797. package/dist/components/p-CxngDK-N.js.map +0 -1
  798. package/dist/components/p-D3UZ60qM.js +0 -45
  799. package/dist/components/p-D3UZ60qM.js.map +0 -1
  800. package/dist/components/p-DReSTue0.js +0 -48
  801. package/dist/components/p-DReSTue0.js.map +0 -1
  802. package/dist/components/p-DUQu3N38.js +0 -70
  803. package/dist/components/p-DUQu3N38.js.map +0 -1
  804. package/dist/components/p-DZ6UMG8G.js +0 -89
  805. package/dist/components/p-DZ6UMG8G.js.map +0 -1
  806. package/dist/components/p-D_xTKF7j.js +0 -55
  807. package/dist/components/p-D_xTKF7j.js.map +0 -1
  808. package/dist/components/p-DcJ8wKzl.js +0 -68
  809. package/dist/components/p-DcJ8wKzl.js.map +0 -1
  810. package/dist/components/p-Dd7Lt2QL.js +0 -81
  811. package/dist/components/p-Dd7Lt2QL.js.map +0 -1
  812. package/dist/components/p-DkvJiyn0.js +0 -73
  813. package/dist/components/p-DkvJiyn0.js.map +0 -1
  814. package/dist/components/p-DnHD91HB.js +0 -57
  815. package/dist/components/p-DnHD91HB.js.map +0 -1
  816. package/dist/components/p-Dvo_cxk-.js +0 -141
  817. package/dist/components/p-Dvo_cxk-.js.map +0 -1
  818. package/dist/components/p-Dwhi37rN.js +0 -127
  819. package/dist/components/p-Dwhi37rN.js.map +0 -1
  820. package/dist/components/p-Ws-qvw9w.js +0 -108
  821. package/dist/components/p-Ws-qvw9w.js.map +0 -1
  822. package/dist/components/p-nwZ2iAi9.js +0 -100
  823. package/dist/components/p-nwZ2iAi9.js.map +0 -1
  824. package/dist/components/p-pudFjW3W.js +0 -94
  825. package/dist/components/p-pudFjW3W.js.map +0 -1
  826. package/dist/components/p-zDoPXonz.js +0 -58
  827. package/dist/components/p-zDoPXonz.js.map +0 -1
  828. package/dist/esm/af-accordion-item.entry.js.map +0 -1
  829. package/dist/esm/af-accordion.entry.js.map +0 -1
  830. package/dist/esm/af-aspect-ratio.entry.js.map +0 -1
  831. package/dist/esm/af-button-group.entry.js.map +0 -1
  832. package/dist/esm/af-button.entry.js.map +0 -1
  833. package/dist/esm/af-card.entry.js.map +0 -1
  834. package/dist/esm/af-center.entry.js.map +0 -1
  835. package/dist/esm/af-checkbox.entry.js.map +0 -1
  836. package/dist/esm/af-client-carousel.entry.js.map +0 -1
  837. package/dist/esm/af-color-swatch.entry.js.map +0 -1
  838. package/dist/esm/af-contact-item.entry.js.map +0 -1
  839. package/dist/esm/af-container.entry.js.map +0 -1
  840. package/dist/esm/af-divider.entry.js.map +0 -1
  841. package/dist/esm/af-feature-accordion.entry.js.map +0 -1
  842. package/dist/esm/af-feature-card.entry.js.map +0 -1
  843. package/dist/esm/af-feature-grid.entry.js.map +0 -1
  844. package/dist/esm/af-fieldset.entry.js.map +0 -1
  845. package/dist/esm/af-footer-column.entry.js.map +0 -1
  846. package/dist/esm/af-footer-link.entry.js.map +0 -1
  847. package/dist/esm/af-footer.entry.js.map +0 -1
  848. package/dist/esm/af-grid-callout.entry.js.map +0 -1
  849. package/dist/esm/af-grid.entry.js.map +0 -1
  850. package/dist/esm/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.js.map +0 -1
  851. package/dist/esm/af-icon-box.entry.js.map +0 -1
  852. package/dist/esm/af-icon-button.entry.js.map +0 -1
  853. package/dist/esm/af-icon-text.entry.js.map +0 -1
  854. package/dist/esm/af-icon.entry.js.map +0 -1
  855. package/dist/esm/af-illustrated-card.entry.js.map +0 -1
  856. package/dist/esm/af-image.entry.js.map +0 -1
  857. package/dist/esm/af-in-page-banner.entry.js.map +0 -1
  858. package/dist/esm/af-inline.entry.js.map +0 -1
  859. package/dist/esm/af-input.entry.js.map +0 -1
  860. package/dist/esm/af-logo-well.entry.js.map +0 -1
  861. package/dist/esm/af-nav-accordion-item.entry.js.map +0 -1
  862. package/dist/esm/af-nav-accordion.entry.js.map +0 -1
  863. package/dist/esm/af-nav-card.entry.js.map +0 -1
  864. package/dist/esm/af-nav-menu-nest.entry.js.map +0 -1
  865. package/dist/esm/af-nav-menu.entry.js.map +0 -1
  866. package/dist/esm/af-number-badge.entry.js.map +0 -1
  867. package/dist/esm/af-progress-line.entry.js.map +0 -1
  868. package/dist/esm/af-radio.entry.js.map +0 -1
  869. package/dist/esm/af-section.entry.js.map +0 -1
  870. package/dist/esm/af-show.entry.js.map +0 -1
  871. package/dist/esm/af-social-link.entry.js.map +0 -1
  872. package/dist/esm/af-spacer.entry.js.map +0 -1
  873. package/dist/esm/af-split-section.entry.js.map +0 -1
  874. package/dist/esm/af-stack.entry.js.map +0 -1
  875. package/dist/esm/af-stepper-step.entry.js.map +0 -1
  876. package/dist/esm/af-stepper.entry.js.map +0 -1
  877. package/dist/esm/af-switch.entry.js.map +0 -1
  878. package/dist/esm/af-tab-bar.entry.js.map +0 -1
  879. package/dist/esm/af-tab.entry.js.map +0 -1
  880. package/dist/esm/af-tag.entry.js.map +0 -1
  881. package/dist/esm/af-testimonial-carousel.entry.js.map +0 -1
  882. package/dist/esm/af-testimonial-stat.entry.js.map +0 -1
  883. package/dist/esm/af-testimonial.entry.js.map +0 -1
  884. package/dist/esm/af-text-image-nest.entry.js.map +0 -1
  885. package/dist/esm/af-text-image.entry.js.map +0 -1
  886. package/dist/esm/af-textarea.entry.js.map +0 -1
  887. package/dist/esm/af-theme-override.entry.js.map +0 -1
  888. package/dist/esm/af-typography-lockup.entry.js.map +0 -1
  889. package/dist/esm/af-video-container.entry.js.map +0 -1
  890. package/dist/esm/af-visually-hidden.entry.js.map +0 -1
  891. package/dist/esm/affinda.js.map +0 -1
  892. package/dist/esm/index-B0LVveHp.js.map +0 -1
  893. package/dist/esm/index.js.map +0 -1
  894. package/dist/esm/loader.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"loader.cjs.js","sources":["@lazy-external-entrypoint?app-data=conditional"],"sourcesContent":["export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\nexport const defineCustomElements = async (win, options) => {\n if (typeof window === 'undefined') return undefined;\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n};\n"],"names":["globalScripts","bootstrapLazy"],"mappings":";;;;AAGY,MAAC,oBAAoB,GAAG,OAAO,GAAG,EAAE,OAAO,KAAK;AAC5D,EAAE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,OAAO,SAAS;AACrD,EAAE,MAAMA,mBAAa,EAAE;AACvB,EAAE,OAAOC,mBAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC;AAC7D;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-accordion.js","sourceRoot":"","sources":["../../../src/components/af-accordion/af-accordion.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, Host, Event, EventEmitter, Element, State, Watch, Listen } from '@stencil/core';\n\n/**\n * Accordion container that manages multiple accordion items.\n * Controls which items are open based on mode (independent or exclusive).\n * \n * @slot - Place af-accordion-item components here\n */\n@Component({\n tag: 'af-accordion',\n styleUrl: 'af-accordion.css',\n shadow: false,\n scoped: true,\n})\nexport class AfAccordion {\n @Element() el!: HTMLElement;\n\n /**\n * Behavior mode for the accordion.\n * - `independent`: Multiple items can be open simultaneously\n * - `exclusive`: Only one item can be open at a time\n */\n @Prop() mode: 'independent' | 'exclusive' = 'independent';\n\n /**\n * Currently open item(s) for controlled mode.\n * In independent mode, can be an array of item IDs.\n * In exclusive mode, should be a single item ID or null.\n */\n @Prop({ mutable: true }) value?: string | string[];\n\n /**\n * Default open item(s) for uncontrolled mode.\n * Used as initial state when value prop is not provided.\n */\n @Prop() defaultValue?: string | string[];\n\n /**\n * Emitted when the open state of items changes.\n * Returns the new value (string[] for independent, string | null for exclusive).\n */\n @Event({ eventName: 'af-accordion-change' }) accordionChange!: EventEmitter<{ value: string | string[] | null }>;\n\n @State() internalValue: string[] = [];\n\n private isControlled(): boolean {\n return this.value !== undefined;\n }\n\n componentWillLoad() {\n // Initialize internal value from defaultValue or value\n const initialValue = this.isControlled() ? this.value : this.defaultValue;\n this.internalValue = this.normalizeValue(initialValue);\n }\n\n @Watch('value')\n handleValueChange(newValue: string | string[] | undefined) {\n if (this.isControlled()) {\n this.internalValue = this.normalizeValue(newValue);\n this.syncItems();\n }\n }\n\n componentDidLoad() {\n this.syncItems();\n }\n\n /**\n * Listen for toggle events from child accordion items\n */\n @Listen('af-accordion-toggle')\n handleItemToggle(event: CustomEvent<{ itemId: string; open: boolean }>) {\n event.stopPropagation();\n const { itemId, open } = event.detail;\n\n let newValue: string[];\n\n if (this.mode === 'exclusive') {\n // In exclusive mode, only one item can be open\n newValue = open ? [itemId] : [];\n } else {\n // In independent mode, toggle the item\n if (open) {\n newValue = [...this.internalValue, itemId];\n } else {\n newValue = this.internalValue.filter(id => id !== itemId);\n }\n }\n\n if (!this.isControlled()) {\n this.internalValue = newValue;\n this.syncItems();\n }\n\n // Emit change event\n const emitValue = this.mode === 'exclusive' \n ? (newValue.length > 0 ? newValue[0] : null)\n : newValue;\n this.accordionChange.emit({ value: emitValue });\n }\n\n /**\n * Normalize value prop to array format for internal use\n */\n private normalizeValue(value: string | string[] | undefined): string[] {\n if (value === undefined || value === null) {\n return [];\n }\n if (Array.isArray(value)) {\n // In exclusive mode, only keep the first item\n return this.mode === 'exclusive' ? value.slice(0, 1) : value;\n }\n return [value];\n }\n\n /**\n * Sync the open state of all child accordion items\n */\n private syncItems() {\n const items = this.el.querySelectorAll('af-accordion-item');\n items.forEach((element) => {\n const item = element as HTMLElement & { itemId?: string; open?: boolean };\n if (item.itemId) {\n item.open = this.internalValue.includes(item.itemId);\n }\n });\n }\n\n render() {\n return (\n <Host class={{ [`mode-${this.mode}`]: true }}>\n <div class=\"accordion\">\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-accordion-item.js","sourceRoot":"","sources":["../../../src/components/af-accordion-item/af-accordion-item.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, Host, Event, EventEmitter, Element, State, Watch, Method } from '@stencil/core';\n\n/**\n * A single collapsible accordion item with header and content.\n * Can be used standalone or within an af-accordion container.\n *\n * @slot trigger - The clickable header content\n * @slot - The collapsible content (default slot)\n */\n@Component({\n tag: 'af-accordion-item',\n styleUrl: 'af-accordion-item.css',\n shadow: true,\n})\nexport class AfAccordionItem {\n @Element() el!: HTMLElement;\n\n /**\n * Unique identifier for this accordion item.\n * Used by parent af-accordion to track open state.\n */\n @Prop({ reflect: true }) itemId!: string;\n\n /**\n * Whether this item is currently expanded\n */\n @Prop({ reflect: true, mutable: true }) open: boolean = false;\n\n /**\n * Whether this item is disabled (cannot be toggled)\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Emitted when the accordion item is toggled\n */\n @Event({ eventName: 'af-accordion-toggle' }) accordionToggle!: EventEmitter<{ itemId: string; open: boolean }>;\n\n @State() contentHeight: number = 0;\n\n private contentRef?: HTMLElement;\n private resizeObserver?: ResizeObserver;\n\n @Watch('open')\n handleOpenChange(newValue: boolean) {\n if (newValue) {\n this.measureContent();\n }\n }\n\n componentDidLoad() {\n if (this.open) {\n this.measureContent();\n }\n\n this.resizeObserver = new ResizeObserver(() => {\n if (this.open && this.contentRef) {\n this.contentHeight = this.contentRef.scrollHeight;\n }\n });\n\n if (this.contentRef) {\n this.resizeObserver.observe(this.contentRef);\n }\n }\n\n disconnectedCallback() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n }\n\n /**\n * Programmatically toggle the accordion item\n */\n @Method()\n async toggle() {\n if (!this.disabled) {\n this.open = !this.open;\n this.accordionToggle.emit({ itemId: this.itemId, open: this.open });\n }\n }\n\n private measureContent() {\n requestAnimationFrame(() => {\n if (this.contentRef) {\n this.contentHeight = this.contentRef.scrollHeight;\n }\n });\n }\n\n private handleTriggerClick = () => {\n if (!this.disabled) {\n this.toggle();\n }\n };\n\n render() {\n const contentStyle = {\n maxHeight: this.open ? `${this.contentHeight}px` : '0px'\n };\n\n return (\n <Host class={{ 'is-open': this.open, 'is-disabled': this.disabled }}>\n <div class=\"accordion-item\">\n <button\n class=\"trigger\"\n onClick={this.handleTriggerClick}\n aria-expanded={this.open ? 'true' : 'false'}\n aria-controls={`content-${this.itemId}`}\n disabled={this.disabled}\n type=\"button\"\n >\n <div class=\"trigger-content\">\n <slot name=\"trigger\"></slot>\n </div>\n <div class={{ 'chevron': true, 'is-open': this.open }}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\">\n <path d=\"M6 9l6 6 6-6\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </div>\n </button>\n <div\n id={`content-${this.itemId}`}\n class=\"content-wrapper\"\n style={contentStyle}\n aria-hidden={!this.open ? 'true' : 'false'}\n >\n <div class=\"content\" ref={(el) => (this.contentRef = el)}>\n <slot></slot>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-aspect-ratio.js","sourceRoot":"","sources":["../../../src/components/af-aspect-ratio/af-aspect-ratio.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEnD;;;GAGG;AAMH,MAAM,OAAO,aAAa;IAL1B;QAME;;;;;;;;WAQG;QACK,UAAK,GAAW,KAAK,CAAC;KAuE/B;IArES,aAAa;QACnB,+DAA+D;QAC/D,MAAM,QAAQ,GAA8B;YAC1C,gBAAgB;YAChB,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,OAAO;YACd,gBAAgB;YAChB,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,QAAQ;YAChB,wBAAwB;YACxB,iBAAiB,EAAE,WAAW;YAC9B,kBAAkB,EAAE,WAAW;YAC/B,sBAAsB,EAAE,WAAW;YACnC,uBAAuB,EAAE,WAAW;YACpC,mBAAmB;YACnB,aAAa,EAAE,WAAW;YAC1B,cAAc,EAAE,WAAW;YAC3B,kBAAkB,EAAE,WAAW;YAC/B,mBAAmB,EAAE,WAAW;YAChC,uBAAuB;YACvB,iBAAiB,EAAE,WAAW;YAC9B,kBAAkB,EAAE,WAAW;YAC/B,sBAAsB,EAAE,WAAW;YACnC,uBAAuB,EAAE,WAAW;YACpC,UAAU;YACV,KAAK,EAAE,OAAO;SACf,CAAC;QAEF,sDAAsD;QACtD,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QAED,sEAAsE;QACtE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,MAAM;QACJ,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAExC,OAAO,CACL,4DACE,KAAK,EAAC,wBAAwB,EAC9B,KAAK,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE;YAElC,8DAAa,CACT,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop } from '@stencil/core';\n\n/**\n * A container component that maintains a fixed aspect ratio for its content.\n * Useful for images, videos, or any content that needs to maintain specific proportions.\n */\n@Component({\n tag: 'af-aspect-ratio',\n styleUrl: 'af-aspect-ratio.css',\n shadow: true\n})\nexport class AfAspectRatio {\n /**\n * The aspect ratio to maintain. Can be:\n * - A predefined ratio: '1:1', '16:9', '4:3', 'golden-portrait', 'golden-landscape', 'a4-portrait', 'a4-landscape', 'letter-portrait', 'letter-landscape', etc.\n * - A custom ratio in format 'width / height': '16 / 9', '4 / 3', '1.618 / 1', etc.\n *\n * @example\n * <af-aspect-ratio ratio=\"16:9\">Content</af-aspect-ratio>\n * <af-aspect-ratio ratio=\"1.618 / 1\">Content</af-aspect-ratio>\n */\n @Prop() ratio: string = '1:1';\n\n private getRatioValue(): string {\n // Map common ratio shortcuts to actual CSS aspect-ratio values\n const ratioMap: { [key: string]: string } = {\n // Common ratios\n '1:1': '1 / 1',\n '1:2': '1 / 2',\n '2:1': '2 / 1',\n '2:3': '2 / 3',\n '3:1': '3 / 1',\n '3:2': '3 / 2',\n '3:4': '3 / 4',\n '4:1': '4 / 1',\n '4:3': '4 / 3',\n '4:5': '4 / 5',\n '5:2': '5 / 2',\n '5:4': '5 / 4',\n '8:3': '8 / 3',\n '8:5': '8 / 5',\n // Screen ratios\n '9:8': '9 / 8',\n '9:16': '9 / 16',\n '9:21': '9 / 21',\n '10:16': '10 / 16',\n '14:3': '14 / 3',\n '16:5': '16 / 5',\n '16:9': '16 / 9',\n '16:10': '16 / 10',\n '21:9': '21 / 9',\n '32:9': '32 / 9',\n // Golden ratio variants\n 'golden-portrait': '1 / 1.618',\n 'golden-landscape': '1.618 / 1',\n 'golden-portrait-half': '1 / 0.809',\n 'golden-landscape-half': '0.809 / 1',\n // Paper sizes - A4\n 'a4-portrait': '1 / 1.414',\n 'a4-landscape': '1.414 / 1',\n 'a4-portrait-half': '1 / 0.707',\n 'a4-landscape-half': '0.707 / 1',\n // Paper sizes - Letter\n 'letter-portrait': '1 / 1.294',\n 'letter-landscape': '1.294 / 1',\n 'letter-portrait-half': '1 / 0.647',\n 'letter-landscape-half': '0.647 / 1',\n // Special\n '6:7': '6 / 7'\n };\n\n // If it's a predefined ratio, return the mapped value\n if (ratioMap[this.ratio]) {\n return ratioMap[this.ratio];\n }\n\n // Otherwise, assume it's a custom ratio already in the correct format\n return this.ratio;\n }\n\n render() {\n const ratioValue = this.getRatioValue();\n\n return (\n <div\n class=\"aspect-ratio-container\"\n style={{ aspectRatio: ratioValue }}\n >\n <slot></slot>\n </div>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-button.js","sourceRoot":"","sources":["../../../src/components/af-button/af-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEhE;;;;;;;;GAQG;AAMH,MAAM,OAAO,QAAQ;IALrB;QAME;;;;;;WAMG;QACsB,YAAO,GAAsC,SAAS,CAAC;QAEhF;;;;WAIG;QACK,SAAI,GAAuB,SAAS,CAAC;QAE7C;;WAEG;QACK,aAAQ,GAAY,KAAK,CAAC;QAElC;;WAEG;QACK,SAAI,GAAkC,QAAQ,CAAC;QAO9C,gBAAW,GAAY,KAAK,CAAC;QAC7B,iBAAY,GAAY,KAAK,CAAC;QAE/B,qBAAgB,GAAG,CAAC,QAAoC,EAAE,EAAE,CAAC,CAAC,KAAY,EAAE,EAAE;YACpF,MAAM,IAAI,GAAG,KAAK,CAAC,MAAyB,CAAC;YAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YACnD,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;gBAC7B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;YACjC,CAAC;QACH,CAAC,CAAC;KAyCH;IAvCC,MAAM;QACJ,MAAM,OAAO,GAAG;YACd,QAAQ,EAAE,IAAI;YACd,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI;YACjC,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI;YAC3B,UAAU,EAAE,IAAI,CAAC,QAAQ;SAC1B,CAAC;QAEF,MAAM,OAAO,GAAG;YACd,YAAM,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE;gBACjE,YAAM,IAAI,EAAC,WAAW,EAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAS,CAC3E;YACP,YAAM,KAAK,EAAC,OAAO;gBACjB,eAAa,CACR;YACP,YAAM,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE;gBACnE,YAAM,IAAI,EAAC,YAAY,EAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAS,CAC7E;SACR,CAAC;QAEF,0DAA0D;QAC1D,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,OAAO,CACL,EAAC,IAAI;gBACH,SAAG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,IAC/B,OAAO,CACN,CACC,CACR,CAAC;QACJ,CAAC;QAED,OAAO,CACL,EAAC,IAAI;YACH,cAAQ,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,IAC7D,OAAO,CACD,CACJ,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop, Host, State } from '@stencil/core';\n\n/**\n * Button component that inherits colors from theme context.\n * Colors are determined by the parent theme (af-section, af-card, etc.)\n * via CSS custom properties.\n * \n * @slot - Button label text\n * @slot icon-left - Icon displayed before the label\n * @slot icon-right - Icon displayed after the label\n */\n@Component({\n tag: 'af-button',\n styleUrl: 'af-button.css',\n shadow: true\n})\nexport class AfButton {\n /**\n * The visual variant of the button.\n * - `primary` - Main CTA with filled background (use sparingly, 1-2 per view)\n * - `secondary` - Supporting action with outlined style\n * - `ghost` - Link-style with themed underline on the label; commonly paired\n * with a right-pointing icon. Matches Webflow's \"button ghost\" variant.\n */\n @Prop({ reflect: true }) variant: 'primary' | 'secondary' | 'ghost' = 'primary';\n\n /**\n * The size of the button.\n * - `default` - Standard size for primary CTAs (12/24px padding)\n * - `thin` - Compact inline/secondary size (8/16px padding)\n */\n @Prop() size: 'default' | 'thin' = 'default';\n\n /**\n * Whether the button is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Button type (when not using href)\n */\n @Prop() type: 'button' | 'submit' | 'reset' = 'button';\n\n /**\n * Optional href to render as a link instead of a button\n */\n @Prop() href?: string;\n\n @State() hasIconLeft: boolean = false;\n @State() hasIconRight: boolean = false;\n\n private handleSlotChange = (slotName: 'icon-left' | 'icon-right') => (event: Event) => {\n const slot = event.target as HTMLSlotElement;\n const hasContent = slot.assignedNodes().length > 0;\n if (slotName === 'icon-left') {\n this.hasIconLeft = hasContent;\n } else {\n this.hasIconRight = hasContent;\n }\n };\n\n render() {\n const classes = {\n 'button': true,\n [`variant-${this.variant}`]: true,\n [`size-${this.size}`]: true,\n 'disabled': this.disabled\n };\n\n const content = [\n <span class={{ 'icon-left': true, 'has-content': this.hasIconLeft }}>\n <slot name=\"icon-left\" onSlotchange={this.handleSlotChange('icon-left')}></slot>\n </span>,\n <span class=\"label\">\n <slot></slot>\n </span>,\n <span class={{ 'icon-right': true, 'has-content': this.hasIconRight }}>\n <slot name=\"icon-right\" onSlotchange={this.handleSlotChange('icon-right')}></slot>\n </span>\n ];\n\n // Render as anchor if href is provided (and not disabled)\n if (this.href && !this.disabled) {\n return (\n <Host>\n <a href={this.href} class={classes}>\n {content}\n </a>\n </Host>\n );\n }\n\n return (\n <Host>\n <button type={this.type} disabled={this.disabled} class={classes}>\n {content}\n </button>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-button-group.js","sourceRoot":"","sources":["../../../src/components/af-button-group/af-button-group.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAOzD,MAAM,OAAO,aAAa;IAL1B;QAME;;WAEG;QACK,cAAS,GAA8B,YAAY,CAAC;QAE5D;;WAEG;QACK,QAAG,GAAW,KAAK,CAAC;KAgB7B;IAdC,MAAM;QACJ,MAAM,OAAO,GAAG;YACd,cAAc,EAAE,IAAI;YACpB,CAAC,aAAa,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI;SACtC,CAAC;QAEF,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;gBAC3C,8DAAa,CACT,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'af-button-group',\n styleUrl: 'af-button-group.css',\n shadow: true\n})\nexport class AfButtonGroup {\n /**\n * Layout direction of the button group\n */\n @Prop() direction: 'horizontal' | 'vertical' = 'horizontal';\n\n /**\n * Gap between buttons\n */\n @Prop() gap: string = '8px';\n\n render() {\n const classes = {\n 'button-group': true,\n [`direction-${this.direction}`]: true\n };\n\n return (\n <Host>\n <div class={classes} style={{ gap: this.gap }}>\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-card.js","sourceRoot":"","sources":["../../../src/components/af-card/af-card.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;;;;;GAMG;AAOH,MAAM,OAAO,MAAM;IANnB;QAOE;;;WAGG;QACK,UAAK,GAAsE,YAAY,CAAC;QAEhG;;;;;WAKG;QACsB,YAAO,GAAY,KAAK,CAAC;KAkBnD;IAhBC,MAAM;QACJ,MAAM,OAAO,GAAG;YACd,MAAM,EAAE,IAAI;YACZ,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI;SAC9B,CAAC;QAEF,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAE,OAAO;gBACjB,4DAAK,KAAK,EAAC,eAAe;oBACxB,8DAAa,CACT,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h, Host } from '@stencil/core';\n\n/**\n * Card atom component - a themed container with consistent styling.\n * Provides theme context to children via CSS custom properties.\n * \n * This is a base building block used by molecule components like\n * af-feature-card and af-illustrated-card.\n */\n@Component({\n tag: 'af-card',\n styleUrl: 'af-card.css',\n shadow: false,\n scoped: true,\n})\nexport class AfCard {\n /**\n * Theme - sets background color and provides theme context to children.\n * Defaults to 'mist-green' if not specified.\n */\n @Prop() theme?: 'white' | 'white-ivory' | 'inkwell' | 'mist-green' | 'soft-clay' = 'mist-green';\n\n /**\n * When true, the card stretches to fill its container height.\n * Use this when the card is in a flex/grid container and needs to\n * participate in equal-height layouts. The card's content will use\n * flexbox to distribute space between children.\n */\n @Prop({ reflect: true }) stretch: boolean = false;\n\n render() {\n const classes = {\n 'card': true,\n [`theme-${this.theme}`]: true\n };\n\n return (\n <Host>\n <div class={classes}>\n <div class=\"card__content\">\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-center.js","sourceRoot":"","sources":["../../../src/components/af-center/af-center.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAIzD;;;;;GAKG;AAMH,MAAM,OAAO,QAAQ;IALrB;QAME;;;;;WAKG;QACK,SAAI,GAAS,MAAM,CAAC;QAE5B;;;WAGG;QACK,WAAM,GAAY,KAAK,CAAC;KA+BjC;IAvBC,MAAM;QACJ,MAAM,KAAK,GAA2B;YACpC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM;SAC9C,CAAC;QAEF,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACvD,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAC;QAClC,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACrD,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC9B,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,CAAC;QAED,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAE,KAAK;YAChB,8DAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\n\ntype Axis = 'horizontal' | 'vertical' | 'both';\n\n/**\n * Center layout component for quickly centering content.\n * Supports horizontal, vertical, or both axes.\n *\n * @slot - Content to center\n */\n@Component({\n tag: 'af-center',\n styleUrl: 'af-center.css',\n shadow: true,\n})\nexport class AfCenter {\n /**\n * Which axis to center on.\n * - 'horizontal': Center horizontally (justify-content: center)\n * - 'vertical': Center vertically (align-items: center)\n * - 'both': Center on both axes\n */\n @Prop() axis: Axis = 'both';\n\n /**\n * Use inline-flex instead of flex.\n * Useful when the center container should only take up as much space as needed.\n */\n @Prop() inline: boolean = false;\n\n /**\n * Set a minimum height. Useful for vertical centering in a viewport.\n * Accepts any valid CSS value (e.g., '100vh', '400px').\n */\n @Prop() minHeight?: string;\n\n render() {\n const style: Record<string, string> = {\n display: this.inline ? 'inline-flex' : 'flex',\n };\n\n if (this.axis === 'horizontal' || this.axis === 'both') {\n style.justifyContent = 'center';\n }\n\n if (this.axis === 'vertical' || this.axis === 'both') {\n style.alignItems = 'center';\n }\n\n if (this.minHeight) {\n style.minHeight = this.minHeight;\n }\n\n return (\n <Host style={style}>\n <slot></slot>\n </Host>\n );\n }\n}\n\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-checkbox.js","sourceRoot":"","sources":["../../../src/components/af-checkbox/af-checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AAE9E;;;;;GAKG;AAMH,MAAM,OAAO,UAAU;IALvB;QAME;;WAEG;QACqC,YAAO,GAAY,KAAK,CAAC;QAEjE;;WAEG;QACsB,kBAAa,GAAY,KAAK,CAAC;QAExD;;WAEG;QACsB,aAAQ,GAAY,KAAK,CAAC;QAmB3C,iBAAY,GAAG,GAAG,EAAE;YAC1B,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAC1B,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAChD,CAAC,CAAC;KAuEH;IArEC,gBAAgB;QACd,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAClD,CAAC;IACH,CAAC;IAED,kBAAkB;QAChB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAClD,CAAC;IACH,CAAC;IAED,MAAM;QACJ,MAAM,eAAe,GAAG;YACtB,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,IAAI,CAAC,OAAO;YACvB,eAAe,EAAE,IAAI,CAAC,aAAa;YACnC,UAAU,EAAE,IAAI,CAAC,QAAQ;SAC1B,CAAC;QAEF,MAAM,cAAc,GAAG;YACrB,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa;YAC7C,UAAU,EAAE,IAAI,CAAC,QAAQ;SAC1B,CAAC;QAEF,OAAO,CACL,EAAC,IAAI;YACH,8DAAO,KAAK,EAAE,eAAe;gBAC3B,8DACE,IAAI,EAAC,UAAU,EACf,KAAK,EAAC,OAAO,EACb,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,IAAI,SAAS,EAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,IAAI,CAAC,YAAY,GAC3B;gBACF,6DAAM,KAAK,EAAE,cAAc;oBACxB,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CACtC,4DAAK,KAAK,EAAC,MAAM,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM;wBAC/C,6DACE,CAAC,EAAC,sBAAsB,EACxB,MAAM,EAAC,cAAc,kBACR,GAAG,oBACD,OAAO,qBACN,OAAO,GACvB,CACE,CACP;oBACA,IAAI,CAAC,aAAa,IAAI,CACrB,4DAAK,KAAK,EAAC,MAAM,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM;wBAC/C,6DACE,CAAC,EAAC,SAAS,EACX,MAAM,EAAC,cAAc,kBACR,GAAG,oBACD,OAAO,GACtB,CACE,CACP,CACI;gBACP,6DAAM,KAAK,EAAC,OAAO;oBACjB,8DAAa,CACR,CACD,CACH,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop, Host, Event, EventEmitter } from '@stencil/core';\n\n/**\n * Checkbox component for selecting multiple options.\n * Supports checked, unchecked, and indeterminate states.\n * \n * @slot - Checkbox label text\n */\n@Component({\n tag: 'af-checkbox',\n styleUrl: 'af-checkbox.css',\n shadow: true\n})\nexport class AfCheckbox {\n /**\n * Whether the checkbox is checked\n */\n @Prop({ mutable: true, reflect: true }) checked: boolean = false;\n\n /**\n * Whether the checkbox is in an indeterminate state\n */\n @Prop({ reflect: true }) indeterminate: boolean = false;\n\n /**\n * Whether the checkbox is disabled\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * The name of the checkbox for form submission\n */\n @Prop() name?: string;\n\n /**\n * The value of the checkbox for form submission\n */\n @Prop() value?: string;\n\n /**\n * Emitted when the checkbox checked state changes\n */\n @Event() afChange!: EventEmitter<{ checked: boolean }>;\n\n private inputEl?: HTMLInputElement;\n\n private handleChange = () => {\n if (this.disabled) return;\n this.checked = !this.checked;\n this.afChange.emit({ checked: this.checked });\n };\n\n componentDidLoad() {\n if (this.inputEl) {\n this.inputEl.indeterminate = this.indeterminate;\n }\n }\n\n componentDidUpdate() {\n if (this.inputEl) {\n this.inputEl.indeterminate = this.indeterminate;\n }\n }\n\n render() {\n const checkboxClasses = {\n 'checkbox': true,\n 'checked': this.checked,\n 'indeterminate': this.indeterminate,\n 'disabled': this.disabled\n };\n\n const controlClasses = {\n 'control': true,\n 'checked': this.checked || this.indeterminate,\n 'disabled': this.disabled\n };\n\n return (\n <Host>\n <label class={checkboxClasses}>\n <input\n type=\"checkbox\"\n class=\"input\"\n ref={(el) => this.inputEl = el ?? undefined}\n checked={this.checked}\n disabled={this.disabled}\n name={this.name}\n value={this.value}\n onChange={this.handleChange}\n />\n <span class={controlClasses}>\n {this.checked && !this.indeterminate && (\n <svg class=\"icon\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path \n d=\"M13.5 4L6 11.5L2.5 8\" \n stroke=\"currentColor\" \n stroke-width=\"2\" \n stroke-linecap=\"round\" \n stroke-linejoin=\"round\"\n />\n </svg>\n )}\n {this.indeterminate && (\n <svg class=\"icon\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path \n d=\"M3 8H13\" \n stroke=\"currentColor\" \n stroke-width=\"2\" \n stroke-linecap=\"round\"\n />\n </svg>\n )}\n </span>\n <span class=\"label\">\n <slot></slot>\n </span>\n </label>\n </Host>\n );\n }\n}\n\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-client-carousel.js","sourceRoot":"","sources":["../../../src/components/af-client-carousel/af-client-carousel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAIzD;;;;;;;;GAQG;AAMH,MAAM,OAAO,gBAAgB;IAL7B;QAME,2EAA2E;QACnE,UAAK,GAAU,SAAS,CAAC;QAEjC;;;;;;;WAOG;QACK,SAAI,GAAU,CAAC,CAAC;KAgCzB;IA9BC,MAAM;QACJ,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE;YAChC,4DAAK,KAAK,EAAE,yBAAyB,IAAI,CAAC,KAAK,SAAS,IAAI,EAAE;gBAC5D,4DAAK,KAAK,EAAC,oBAAoB;oBAC7B,4DAAK,KAAK,EAAC,0BAA0B;wBACnC,4DAAK,KAAK,EAAC,YAAY;4BACrB,6DAAM,IAAI,EAAC,OAAO;gCAChB,8DAAa,CACR;4BACP,6DAAM,IAAI,EAAC,OAAO;gCAChB,8DAAa,CACR,CACH,CACF;oBAEL,IAAI,KAAK,CAAC,IAAI,CACb,4DAAK,KAAK,EAAC,2BAA2B;wBACpC,4DAAK,KAAK,EAAC,YAAY;4BACrB,6DAAM,IAAI,EAAC,OAAO,GAAQ;4BAC1B,6DAAM,IAAI,EAAC,OAAO,GAAQ,CACtB,CACF,CACP,CACG,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\n\ntype Theme = 'white' | 'inkwell' | 'mist-green' | 'soft-clay' | 'white-ivory';\n\n/**\n * Infinite scrolling carousel for client logos.\n *\n * This is a section-level component that spans full width.\n * Renders one or two scrolling rows; single row matches the Webflow reference,\n * two rows (scrolling opposite directions) is the denser variant.\n *\n * For headlines, use a separate TypographyLockup or Heading component above this carousel.\n */\n@Component({\n tag: 'af-client-carousel',\n styleUrl: 'af-client-carousel.css',\n shadow: true,\n})\nexport class AfClientCarousel {\n /** Theme - sets background color and provides theme context to children */\n @Prop() theme: Theme = 'inkwell';\n\n /**\n * Number of scrolling rows.\n * - `1` (default) — single row scrolling left, matches the Webflow reference.\n * - `2` — two rows scrolling in opposite directions.\n *\n * When `rows=\"2\"`, slot `row-1` and `row-2` independently.\n * When `rows=\"1\"`, slot the default slot (unnamed) or `row-1`.\n */\n @Prop() rows: 1 | 2 = 1;\n\n render() {\n const rows = Number(this.rows);\n return (\n <Host class={`theme-${this.theme}`}>\n <div class={`client-carousel theme-${this.theme} rows-${rows}`}>\n <div class=\"carousel-container\">\n <div class=\"carousel-row scroll-left\">\n <div class=\"logo-track\">\n <slot name=\"row-1\">\n <slot></slot>\n </slot>\n <slot name=\"row-1\">\n <slot></slot>\n </slot>\n </div>\n </div>\n\n {rows === 2 && (\n <div class=\"carousel-row scroll-right\">\n <div class=\"logo-track\">\n <slot name=\"row-2\"></slot>\n <slot name=\"row-2\"></slot>\n </div>\n </div>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-color-swatch.js","sourceRoot":"","sources":["../../../src/components/af-color-swatch/af-color-swatch.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAOnD,MAAM,OAAO,aAAa;IAL1B;QAYE,mBAAmB;QACX,SAAI,GAAwB,SAAS,CAAC;KAoB/C;IAlBC,MAAM;QACJ,OAAO,CACL,4DAAK,KAAK,EAAE;gBACV,QAAQ,EAAE,IAAI;gBACd,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI;aAC5B,EAAE,IAAI,EAAC,MAAM;YACZ,4DACE,KAAK,EAAC,eAAe,EACrB,IAAI,EAAC,SAAS,EACd,KAAK,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,KAAK,EAAE,GACjC;YACP,4DAAK,KAAK,EAAC,YAAY,EAAC,IAAI,EAAC,MAAM;gBACjC,4DAAK,KAAK,EAAC,YAAY,EAAC,IAAI,EAAC,MAAM,IAAE,IAAI,CAAC,IAAI,CAAO;gBACrD,4DAAK,KAAK,EAAC,aAAa,EAAC,IAAI,EAAC,OAAO,IAAE,IAAI,CAAC,KAAK,CAAO,CACpD,CACF,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'af-color-swatch',\n styleUrl: 'af-color-swatch.css',\n shadow: true\n})\nexport class AfColorSwatch {\n /** Color value (hex) */\n @Prop() color!: string;\n\n /** Color name */\n @Prop() name!: string;\n\n /** Size variant */\n @Prop() size: 'default' | 'large' = 'default';\n\n render() {\n return (\n <div class={{\n 'swatch': true,\n [`size-${this.size}`]: true\n }} part=\"base\">\n <div\n class=\"color-preview\"\n part=\"preview\"\n style={{ backgroundColor: this.color }}\n ></div>\n <div class=\"color-info\" part=\"info\">\n <div class=\"color-name\" part=\"name\">{this.name}</div>\n <div class=\"color-value\" part=\"value\">{this.color}</div>\n </div>\n </div>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-contact-item.js","sourceRoot":"","sources":["../../../src/components/af-contact-item/af-contact-item.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;;GAGG;AAOH,MAAM,OAAO,aAAa;IAN1B;QAOE,8CAA8C;QACtC,UAAK,GAAW,EAAE,CAAC;QAE3B,0CAA0C;QAClC,UAAK,GAAW,EAAE,CAAC;KAiB5B;IAfC,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAC,cAAc;gBACtB,IAAI,CAAC,KAAK,IAAI,CACb,2DAAI,KAAK,EAAC,qBAAqB,IAAE,IAAI,CAAC,KAAK,CAAM,CAClD;gBACA,IAAI,CAAC,KAAK,IAAI,CACb,0DAAG,KAAK,EAAC,qBAAqB,IAAE,IAAI,CAAC,KAAK,CAAK,CAChD;gBACD,8DAAa,CACT,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Contact item component for footer\n * Displays a label and value pair (e.g., \"Sales enquiries\" / \"contact@example.com\")\n */\n@Component({\n tag: 'af-contact-item',\n styleUrl: 'af-contact-item.css',\n shadow: false,\n scoped: true,\n})\nexport class AfContactItem {\n /** Contact label (e.g., \"Sales enquiries\") */\n @Prop() label: string = '';\n\n /** Contact value (e.g., email address) */\n @Prop() value: string = '';\n\n render() {\n return (\n <Host>\n <div class=\"contact-item\">\n {this.label && (\n <h5 class=\"contact-item__label\">{this.label}</h5>\n )}\n {this.value && (\n <p class=\"contact-item__value\">{this.value}</p>\n )}\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-container.js","sourceRoot":"","sources":["../../../src/components/af-container/af-container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEnD;;;GAGG;AAMH,MAAM,OAAO,WAAW;IALxB;QAME;;;;;;WAMG;QACK,aAAQ,GAA4C,QAAQ,CAAC;KAStE;IAPC,MAAM;QACJ,OAAO,CACL,4DAAK,KAAK,EAAE,uBAAuB,IAAI,CAAC,QAAQ,EAAE;YAChD,8DAAa,CACT,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop } from '@stencil/core';\n\n/**\n * A responsive container component that provides consistent margins and max-width\n * constraints based on the Affinda grid system.\n */\n@Component({\n tag: 'af-container',\n styleUrl: 'af-container.css',\n shadow: true\n})\nexport class AfContainer {\n /**\n * Maximum width constraint for the container\n * - 'xlarge': 1440px container (default)\n * - 'large': 1024px container\n * - 'medium': 768px container\n * - 'fluid': No max-width constraint, full width with margins\n */\n @Prop() maxWidth: 'xlarge' | 'large' | 'medium' | 'fluid' = 'xlarge';\n\n render() {\n return (\n <div class={`container max-width-${this.maxWidth}`}>\n <slot></slot>\n </div>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-divider.js","sourceRoot":"","sources":["../../../src/components/af-divider/af-divider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAKzD;;;GAGG;AAMH,MAAM,OAAO,SAAS;IALtB;QAME;;WAEG;QACK,gBAAW,GAAgB,YAAY,CAAC;QAEhD;;;;WAIG;QACK,YAAO,GAAY,GAAG,CAAC;KA6BhC;IA3BC,MAAM;QACJ,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,KAAK,UAAU,CAAC;QACnD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,OAAO,GAAG,CAAC;QAEpF,MAAM,KAAK,GAA2B,UAAU;YAC9C,CAAC,CAAC;gBACE,UAAU,EAAE,YAAY;gBACxB,WAAW,EAAE,YAAY;aAC1B;YACH,CAAC,CAAC;gBACE,SAAS,EAAE,YAAY;gBACvB,YAAY,EAAE,YAAY;aAC3B,CAAC;QAEN,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,SAAS,EAAE,IAAI;gBACf,qBAAqB,EAAE,CAAC,UAAU;gBAClC,mBAAmB,EAAE,UAAU;aAChC,EACD,KAAK,EAAE,KAAK,EACZ,IAAI,EAAC,WAAW,sBACE,IAAI,CAAC,WAAW,GAC5B,CACT,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\n\ntype Orientation = 'horizontal' | 'vertical';\ntype Spacing = 'none' | '1' | '2' | '3' | '4' | '5' | '6' | '8';\n\n/**\n * Divider component for visual separation between content.\n * Supports horizontal and vertical orientations with theme-aware styling.\n */\n@Component({\n tag: 'af-divider',\n styleUrl: 'af-divider.css',\n shadow: true,\n})\nexport class AfDivider {\n /**\n * Orientation of the divider.\n */\n @Prop() orientation: Orientation = 'horizontal';\n\n /**\n * Spacing (margin) around the divider using space tokens.\n * For horizontal: margin-top and margin-bottom\n * For vertical: margin-left and margin-right\n */\n @Prop() spacing: Spacing = '4';\n\n render() {\n const isVertical = this.orientation === 'vertical';\n const spacingValue = this.spacing === 'none' ? '0' : `var(--space-${this.spacing})`;\n\n const style: Record<string, string> = isVertical\n ? {\n marginLeft: spacingValue,\n marginRight: spacingValue,\n }\n : {\n marginTop: spacingValue,\n marginBottom: spacingValue,\n };\n\n return (\n <Host\n class={{\n 'divider': true,\n 'divider--horizontal': !isVertical,\n 'divider--vertical': isVertical,\n }}\n style={style}\n role=\"separator\"\n aria-orientation={this.orientation}\n ></Host>\n );\n }\n}\n\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-feature-accordion.js","sourceRoot":"","sources":["../../../src/components/af-feature-accordion/af-feature-accordion.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Host, Prop, State, Element, Watch } from '@stencil/core';\n\nexport interface FeatureAccordionItem {\n title: string;\n description: string;\n imageUrl?: string;\n imageAlt?: string;\n}\n\n/**\n * Feature accordion component with expandable items and accompanying image.\n * Used for showcasing product features with visual examples.\n * Features auto-cycling through items with a progress timer.\n * \n * **Must be wrapped in a Section component** to inherit theme styling.\n * The component automatically adapts colors based on the parent Section's theme.\n * \n * @example\n * ```tsx\n * <Section theme=\"inkwell\">\n * <FeatureAccordion heading=\"Features\" items={...} />\n * </Section>\n * ```\n */\n@Component({\n tag: 'af-feature-accordion',\n styleUrl: 'af-feature-accordion.css',\n shadow: false,\n scoped: true,\n})\nexport class AfFeatureAccordion {\n @Element() el!: HTMLElement;\n\n /** Section heading */\n @Prop() heading: string = 'Give AI agents your paperwork';\n\n /** JSON string of accordion items */\n @Prop() items: string = '[]';\n\n /** Auto-cycle interval in milliseconds (default: 6000ms = 6 seconds) */\n @Prop() cycleInterval: number = 6000;\n\n /** Whether auto-cycling is enabled */\n @Prop() autoCycle: boolean = true;\n\n /** Currently expanded item index */\n @State() expandedIndex: number = 0;\n\n /** Progress of current timer (0-100) */\n @State() timerProgress: number = 100;\n\n private progressTimer: number | null = null;\n private progressStartTime: number = 0;\n\n componentDidLoad() {\n if (this.autoCycle) {\n this.startCycling();\n }\n }\n\n disconnectedCallback() {\n this.stopCycling();\n }\n\n @Watch('autoCycle')\n handleAutoCycleChange(newValue: boolean) {\n if (newValue) {\n this.startCycling();\n } else {\n this.stopCycling();\n }\n }\n\n private getItems(): FeatureAccordionItem[] {\n try {\n return JSON.parse(this.items);\n } catch {\n return [];\n }\n }\n\n private startCycling() {\n this.stopCycling();\n this.progressStartTime = Date.now();\n this.timerProgress = 100;\n \n // Progress animation frame\n const updateProgress = () => {\n const elapsed = Date.now() - this.progressStartTime;\n const remaining = this.cycleInterval - elapsed;\n \n if (remaining <= 0) {\n this.moveToNextItem();\n } else {\n this.timerProgress = (remaining / this.cycleInterval) * 100;\n this.progressTimer = requestAnimationFrame(updateProgress);\n }\n };\n \n this.progressTimer = requestAnimationFrame(updateProgress);\n }\n\n private stopCycling() {\n if (this.progressTimer) {\n cancelAnimationFrame(this.progressTimer);\n this.progressTimer = null;\n }\n }\n\n private moveToNextItem() {\n const items = this.getItems();\n if (items.length === 0) return;\n \n this.expandedIndex = (this.expandedIndex + 1) % items.length;\n // Restart the cycling timer for the new item\n this.startCycling();\n }\n\n private handleItemClick(index: number) {\n // Reset timer when user clicks\n this.expandedIndex = index;\n // Restart the cycling timer for the clicked item\n if (this.autoCycle) {\n this.startCycling();\n }\n }\n\n render() {\n const items = this.getItems();\n const currentItem = items[this.expandedIndex];\n\n return (\n <Host>\n <div class=\"feature-accordion\">\n <div class=\"feature-accordion__container\">\n <h2 class=\"feature-accordion__heading\">{this.heading}</h2>\n \n <div class=\"feature-accordion__content\">\n {/* Left side - Accordion */}\n <div class=\"feature-accordion__list\">\n {items.map((item, index) => (\n <div \n class={{\n 'accordion-item': true,\n 'accordion-item--expanded': this.expandedIndex === index\n }}\n key={index}\n >\n <button \n class=\"accordion-item__header\"\n onClick={() => this.handleItemClick(index)}\n aria-expanded={this.expandedIndex === index ? 'true' : 'false'}\n >\n <h4 class=\"accordion-item__title\">{item.title}</h4>\n <span class=\"accordion-item__icon\">\n {this.expandedIndex === index ? (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5 12H19\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"/>\n </svg>\n ) : (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 5V19M5 12H19\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"/>\n </svg>\n )}\n </span>\n </button>\n <div \n class=\"accordion-item__content\"\n style={{ \n maxHeight: this.expandedIndex === index ? '200px' : '0',\n opacity: this.expandedIndex === index ? '1' : '0'\n }}\n >\n <p class=\"accordion-item__description\">{item.description}</p>\n {this.expandedIndex === index && this.autoCycle && (\n <div class=\"accordion-item__timer-track\">\n <div \n class=\"accordion-item__timer-progress\"\n style={{ width: `${this.timerProgress}%` }}\n ></div>\n </div>\n )}\n </div>\n </div>\n ))}\n </div>\n\n {/* Right side - Image */}\n <div class=\"feature-accordion__image-container\">\n <div class=\"feature-accordion__image-wrapper\">\n {currentItem?.imageUrl && (\n <img \n src={currentItem.imageUrl} \n alt={currentItem.imageAlt || currentItem.title}\n class=\"feature-accordion__image\"\n />\n )}\n {!currentItem?.imageUrl && (\n <div class=\"feature-accordion__image-placeholder\">\n <slot name=\"image\"></slot>\n </div>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-feature-card.js","sourceRoot":"","sources":["../../../src/components/af-feature-card/af-feature-card.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;;;;;;;;;;;;GAaG;AAOH,MAAM,OAAO,aAAa;IAN1B;QAOE;;;WAGG;QACK,UAAK,GAAsE,YAAY,CAAC;QAEhG;;;;WAIG;QACK,WAAM,GAA8B,UAAU,CAAC;QAEvD;;;;;WAKG;QACsB,aAAQ,GAAqC,SAAS,CAAC;QAEhF;;WAEG;QACK,gBAAW,GAAsB,CAAC,CAAC;QAO3C;;;;WAIG;QACK,aAAQ,GAAW,EAAE,CAAC;KAkF/B;IAhFC,MAAM;QACJ,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QACjC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC;QAEjD,MAAM,cAAc,GAAG;YACrB,cAAc,EAAE,IAAI;YACpB,CAAC,wBAAwB,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI;YAC7C,CAAC,sBAAsB,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI;SAC9C,CAAC;QAEF,iDAAiD;QACjD,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CACL,EAAC,IAAI;gBACH,WAAK,KAAK,EAAE,cAAc;oBAEvB,QAAQ,IAAI,CACX,WAAK,KAAK,EAAC,0BAA0B;wBACnC,WACE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,KAAK,EAAC,gCAAgC,GACtC,CACE,CACP;oBAGD,WAAK,KAAK,EAAC,uBAAuB;wBAChC,4BACE,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,aAAa,EAAC,MAAM,EACpB,eAAe,EAAC,UAAU;4BAE1B,eAAa;4BACb,YAAM,IAAI,EAAC,aAAa;gCACtB,YAAM,IAAI,EAAC,MAAM,GAAQ,CACpB,CACc,CACnB,CACF,CACD,CACR,CAAC;QACJ,CAAC;QAED,iDAAiD;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,KAAK,UAAU,CAAC;QAEhD,OAAO,CACL,EAAC,IAAI;YACH,WAAK,KAAK,EAAE,cAAc;gBACxB,eAAS,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU;oBAE7C,WAAK,KAAK,EAAC,uBAAuB;wBAChC,4BACE,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,aAAa,EAAC,MAAM,EACpB,eAAe,EAAC,UAAU;4BAE1B,eAAa;4BACb,YAAM,IAAI,EAAC,aAAa;gCACtB,YAAM,IAAI,EAAC,MAAM,GAAQ,CACpB,CACc,CACnB;oBAGL,QAAQ,IAAI,CACX,WAAK,KAAK,EAAC,0BAA0B;wBACnC,WACE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,KAAK,EAAC,qBAAqB,GAC3B,CACE,CACP,CACO,CACN,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["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"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-feature-grid.js","sourceRoot":"","sources":["../../../src/components/af-feature-grid/af-feature-grid.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, State, h, Host, Element, Watch } from '@stencil/core';\n\n/**\n * Feature Grid component - CSS Grid container for feature cards.\n *\n * Desktop: Configurable columns (1-4)\n * Mobile: List (stacked), horizontal scroll, or 2-column grid\n *\n * @slot - Feature card components (af-feature-card)\n */\n@Component({\n tag: 'af-feature-grid',\n styleUrl: 'af-feature-grid.css',\n shadow: false,\n scoped: true,\n})\nexport class AfFeatureGrid {\n @Element() host!: HTMLElement;\n\n /**\n * Number of columns on desktop (1-4).\n */\n @Prop() columns: 1 | 2 | 3 | 4 = 4;\n\n /**\n * Mobile layout behavior.\n * - 'list': Vertical stack (1 column)\n * - 'scroll': Horizontal scroll with progress indicator\n * - 'grid': Maintain 2-column grid on mobile\n */\n @Prop() mobileLayout: 'list' | 'scroll' | 'grid' = 'list';\n\n @State() scrollProgress: number = 0;\n\n private scrollContainer: HTMLElement | undefined;\n private observer: MutationObserver | undefined;\n private resizeObserver: ResizeObserver | undefined;\n\n componentDidLoad() {\n this.setupScrollListener();\n\n // Watch for cards being added (for React async rendering)\n this.observer = new MutationObserver(() => {\n this.setupScrollListener();\n });\n\n this.observer.observe(this.host, {\n childList: true,\n subtree: true,\n });\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n }\n\n @Watch('mobileLayout')\n onMobileLayoutChange() {\n this.setupScrollListener();\n }\n\n private setupScrollListener() {\n if (this.scrollContainer) {\n this.scrollContainer.removeEventListener('scroll', this.handleScroll);\n }\n\n requestAnimationFrame(() => {\n this.scrollContainer = this.host.querySelector('.feature-grid__cards') as HTMLElement;\n\n if (this.scrollContainer && this.mobileLayout === 'scroll') {\n this.scrollContainer.addEventListener('scroll', this.handleScroll, { passive: true });\n this.handleScroll();\n\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n this.resizeObserver = new ResizeObserver(() => {\n this.handleScroll();\n });\n this.resizeObserver.observe(this.scrollContainer);\n }\n });\n }\n\n private handleScroll = () => {\n if (!this.scrollContainer) return;\n\n const { scrollLeft, scrollWidth, clientWidth } = this.scrollContainer;\n const maxScroll = scrollWidth - clientWidth;\n\n if (maxScroll > 0) {\n this.scrollProgress = scrollLeft / maxScroll;\n } else {\n this.scrollProgress = 0;\n }\n };\n\n render() {\n const gridClasses = {\n 'feature-grid': true,\n [`feature-grid--cols-${this.columns}`]: true,\n [`feature-grid--mobile-${this.mobileLayout}`]: true,\n };\n\n const showProgressLine = this.mobileLayout === 'scroll';\n\n return (\n <Host>\n <div class={gridClasses}>\n <div class=\"feature-grid__cards\">\n <slot></slot>\n </div>\n\n {showProgressLine && (\n <div class=\"feature-grid__progress\">\n <af-progress-line progress={this.scrollProgress} />\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-fieldset.js","sourceRoot":"","sources":["../../../src/components/af-fieldset/af-fieldset.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;;;;GAKG;AAMH,MAAM,OAAO,UAAU;IALvB;QAWE;;;;WAIG;QACK,gBAAW,GAA8B,UAAU,CAAC;QAE5D;;WAEG;QACsB,aAAQ,GAAY,KAAK,CAAC;KA2BpD;IAzBC,MAAM;QACJ,MAAM,eAAe,GAAG;YACtB,UAAU,EAAE,IAAI;YAChB,CAAC,eAAe,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,IAAI;YACzC,UAAU,EAAE,IAAI,CAAC,QAAQ;SAC1B,CAAC;QAEF,MAAM,YAAY,GAAG;YACnB,OAAO,EAAE,IAAI;YACb,CAAC,eAAe,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,IAAI;SAC1C,CAAC;QAEF,OAAO,CACL,EAAC,IAAI;YACH,iEAAU,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACtD,IAAI,CAAC,MAAM,IAAI,CACd,+DAAQ,KAAK,EAAC,QAAQ,IAAE,IAAI,CAAC,MAAM,CAAU,CAC9C;gBACD,4DAAK,KAAK,EAAE,YAAY;oBACtB,8DAAa,CACT,CACG,CACN,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop, Host } from '@stencil/core';\n\n/**\n * Fieldset component for grouping related form controls.\n * Supports vertical and horizontal layouts with an optional legend/heading.\n * \n * @slot - Form controls (checkboxes, radios, etc.)\n */\n@Component({\n tag: 'af-fieldset',\n styleUrl: 'af-fieldset.css',\n shadow: true\n})\nexport class AfFieldset {\n /**\n * The legend/heading text for the fieldset\n */\n @Prop() legend?: string;\n\n /**\n * The layout orientation of the fieldset items\n * - `vertical` - Items stack vertically (default)\n * - `horizontal` - Items are laid out horizontally\n */\n @Prop() orientation: 'vertical' | 'horizontal' = 'vertical';\n\n /**\n * Whether the fieldset is disabled (disables all child controls)\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n render() {\n const fieldsetClasses = {\n 'fieldset': true,\n [`orientation-${this.orientation}`]: true,\n 'disabled': this.disabled\n };\n\n const itemsClasses = {\n 'items': true,\n [`orientation-${this.orientation}`]: true\n };\n\n return (\n <Host>\n <fieldset class={fieldsetClasses} disabled={this.disabled}>\n {this.legend && (\n <legend class=\"legend\">{this.legend}</legend>\n )}\n <div class={itemsClasses}>\n <slot></slot>\n </div>\n </fieldset>\n </Host>\n );\n }\n}\n\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-footer.js","sourceRoot":"","sources":["../../../src/components/af-footer/af-footer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;;;GAIG;AAOH,MAAM,OAAO,QAAQ;IANrB;QAOE,yEAAyE;QACjE,kBAAa,GAAW,EAAE,CAAC;QAEnC,0BAA0B;QAClB,eAAU,GAAW,EAAE,CAAC;QAEhC,sBAAsB;QACd,cAAS,GAAW,EAAE,CAAC;QAE/B,kEAAkE;QAC1D,uBAAkB,GAAY,IAAI,CAAC;QAE3C,2CAA2C;QACnC,eAAU,GAAY,IAAI,CAAC;KAmEpC;IAjEC,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,+DAAQ,KAAK,EAAC,QAAQ;gBACpB,4DAAK,KAAK,EAAC,mBAAmB;oBAE5B,4DAAK,KAAK,EAAC,aAAa;wBAEtB,4DAAK,KAAK,EAAC,eAAe;4BACxB,4DAAK,KAAK,EAAC,oBAAoB;gCAC7B,4DAAK,KAAK,EAAC,cAAc;oCACvB,6DAAM,IAAI,EAAC,MAAM,GAAQ,CACrB;gCACN,4DAAK,KAAK,EAAC,gBAAgB;oCACzB,6DAAM,IAAI,EAAC,QAAQ,GAAQ,CACvB,CACF;4BAEN,4DAAK,KAAK,EAAC,sBAAsB;gCAC/B,6DAAM,IAAI,EAAC,SAAS,GAAQ,CACxB,CACF;wBAGN,4DAAK,KAAK,EAAC,aAAa;4BACtB,4DAAK,KAAK,EAAC,qBAAqB;gCAC9B,6DAAM,IAAI,EAAC,KAAK,GAAQ,CACpB;4BAGL,IAAI,CAAC,UAAU,IAAI,CAClB,4DAAK,KAAK,EAAC,gBAAgB;gCACzB,6DAAM,KAAK,EAAE,sBAAsB,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,2BAA2B,EAAE,GAAS;gCACvI,6DAAM,KAAK,EAAC,qBAAqB,IAC9B,IAAI,CAAC,UAAU,CACX;gCACN,IAAI,CAAC,SAAS,IAAI,CACjB,0DAAG,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,EAAC,KAAK,EAAC,qBAAqB,iBAE1F,CACL,CACG,CACP,CACG,CACF;oBAGN,4DAAK,KAAK,EAAC,gBAAgB;wBACxB,IAAI,CAAC,aAAa,IAAI,CACrB,0DAAG,KAAK,EAAC,mBAAmB,IAAE,IAAI,CAAC,aAAa,CAAK,CACtD;wBAED,4DAAK,KAAK,EAAC,eAAe;4BACxB,6DAAM,IAAI,EAAC,OAAO,GAAQ,CACtB;wBAEN,4DAAK,KAAK,EAAC,gBAAgB;4BACzB,6DAAM,IAAI,EAAC,QAAQ,GAAQ,CACvB,CACF,CACF,CACC,CACJ,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Footer component for marketing pages\n * Provides a flexible, slot-based layout for footer content\n * All content is passed via slots - no hardcoded links or content\n */\n@Component({\n tag: 'af-footer',\n styleUrl: 'af-footer.css',\n shadow: false,\n scoped: true,\n})\nexport class AfFooter {\n /** Copyright text (e.g., \"© 2025 Company Name. All rights reserved.\") */\n @Prop() copyrightText: string = '';\n\n /** Status message text */\n @Prop() statusText: string = '';\n\n /** Status page URL */\n @Prop() statusUrl: string = '';\n\n /** Whether systems are operational (shows green/red indicator) */\n @Prop() systemsOperational: boolean = true;\n\n /** Whether to show the status indicator */\n @Prop() showStatus: boolean = true;\n\n render() {\n return (\n <Host>\n <footer class=\"footer\">\n <div class=\"footer__container\">\n {/* Top section */}\n <div class=\"footer__top\">\n {/* Left column - Brand area */}\n <div class=\"footer__brand\">\n <div class=\"footer__brand-card\">\n <div class=\"footer__logo\">\n <slot name=\"logo\"></slot>\n </div>\n <div class=\"footer__social\">\n <slot name=\"social\"></slot>\n </div>\n </div>\n\n <div class=\"footer__contact-card\">\n <slot name=\"contact\"></slot>\n </div>\n </div>\n\n {/* Right section - Navigation columns */}\n <div class=\"footer__nav\">\n <div class=\"footer__nav-columns\">\n <slot name=\"nav\"></slot>\n </div>\n\n {/* Status indicator */}\n {this.showStatus && (\n <div class=\"footer__status\">\n <span class={`footer__status-dot ${this.systemsOperational ? 'footer__status-dot--operational' : 'footer__status-dot--issue'}`}></span>\n <span class=\"footer__status-text\">\n {this.statusText}\n </span>\n {this.statusUrl && (\n <a href={this.statusUrl} target=\"_blank\" rel=\"noopener noreferrer\" class=\"footer__status-link\">\n Learn more\n </a>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Bottom section */}\n <div class=\"footer__bottom\">\n {this.copyrightText && (\n <p class=\"footer__copyright\">{this.copyrightText}</p>\n )}\n \n <div class=\"footer__legal\">\n <slot name=\"legal\"></slot>\n </div>\n\n <div class=\"footer__badges\">\n <slot name=\"badges\"></slot>\n </div>\n </div>\n </div>\n </footer>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-footer-column.js","sourceRoot":"","sources":["../../../src/components/af-footer-column/af-footer-column.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;;GAGG;AAOH,MAAM,OAAO,cAAc;IAN3B;QAOE,qBAAqB;QACb,YAAO,GAAW,EAAE,CAAC;KAgB9B;IAdC,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAC,eAAe;gBACvB,IAAI,CAAC,OAAO,IAAI,CACf,2DAAI,KAAK,EAAC,wBAAwB,IAAE,IAAI,CAAC,OAAO,CAAM,CACvD;gBACD,2DAAI,KAAK,EAAC,qBAAqB;oBAC7B,8DAAa,CACV,CACD,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Footer navigation column component\n * Used within af-footer to create navigation link groups\n */\n@Component({\n tag: 'af-footer-column',\n styleUrl: 'af-footer-column.css',\n shadow: false,\n scoped: true,\n})\nexport class AfFooterColumn {\n /** Column heading */\n @Prop() heading: string = '';\n\n render() {\n return (\n <Host>\n <div class=\"footer-column\">\n {this.heading && (\n <h5 class=\"footer-column__heading\">{this.heading}</h5>\n )}\n <ul class=\"footer-column__list\">\n <slot></slot>\n </ul>\n </div>\n </Host>\n );\n }\n}\n\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-footer-link.js","sourceRoot":"","sources":["../../../src/components/af-footer-link/af-footer-link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;;GAGG;AAOH,MAAM,OAAO,YAAY;IANzB;QAOE,eAAe;QACP,SAAI,GAAW,GAAG,CAAC;QAE3B,0DAA0D;QAClD,aAAQ,GAAY,KAAK,CAAC;KAuBnC;IArBC,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH;gBACE,0DACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAC,aAAa,EACnB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAC5C,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS;oBAEtD,8DAAa;oBACZ,IAAI,CAAC,QAAQ,IAAI,CAChB,4DAAK,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM;wBAC5F,6DAAM,CAAC,EAAC,qFAAqF,EAAC,MAAM,EAAC,cAAc,kBAAc,KAAK,oBAAgB,OAAO,qBAAiB,OAAO,GAAE,CACnL,CACP,CACC,CACD,CACA,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Footer link component\n * Styled link for use in footer navigation columns\n */\n@Component({\n tag: 'af-footer-link',\n styleUrl: 'af-footer-link.css',\n shadow: false,\n scoped: true,\n})\nexport class AfFooterLink {\n /** Link URL */\n @Prop() href: string = '#';\n\n /** Whether this is an external link (opens in new tab) */\n @Prop() external: boolean = false;\n\n render() {\n return (\n <Host>\n <li>\n <a \n href={this.href} \n class=\"footer-link\"\n target={this.external ? '_blank' : undefined}\n rel={this.external ? 'noopener noreferrer' : undefined}\n >\n <slot></slot>\n {this.external && (\n <svg class=\"footer-link__external-icon\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\n <path d=\"M10 6.5v3a1 1 0 0 1-1 1H2.5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h3M7.5 1.5h3v3M5.5 6.5l5-5\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n )}\n </a>\n </li>\n </Host>\n );\n }\n}\n\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-grid.js","sourceRoot":"","sources":["../../../src/components/af-grid/af-grid.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAMzD;;;;;GAKG;AAMH,MAAM,OAAO,MAAM;IALnB;QAME;;WAEG;QACK,YAAO,GAAY,CAAC,CAAC;QAiB7B;;;WAGG;QACK,QAAG,GAAQ,GAAG,CAAC;QAEvB;;WAEG;QACK,UAAK,GAAU,SAAS,CAAC;KA2BlC;IAzBC,MAAM;QACJ,MAAM,QAAQ,GAA0B;YACtC,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,KAAK;YACV,OAAO,EAAE,SAAS;SACnB,CAAC;QAEF,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;gBACtC,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC;gBAC3D,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC;gBAC7E,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;gBACpF,YAAY,EAAE,eAAe,IAAI,CAAC,GAAG,GAAG;gBACxC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;aACX;YAE3B,4DAAK,KAAK,EAAC,MAAM;gBACf,8DAAa,CACT,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\n\ntype Gap = '1' | '2' | '3' | '4' | '5' | '6' | '8';\ntype Columns = 1 | 2 | 3 | 4 | 5 | 6 | 12;\ntype Align = 'start' | 'center' | 'end' | 'stretch';\n\n/**\n * Generic CSS Grid component for flexible column layouts.\n * Supports responsive column counts at different breakpoints.\n *\n * @slot - Grid items\n */\n@Component({\n tag: 'af-grid',\n styleUrl: 'af-grid.css',\n shadow: true,\n})\nexport class AfGrid {\n /**\n * Number of columns at the default (largest) breakpoint.\n */\n @Prop() columns: Columns = 3;\n\n /**\n * Number of columns at the large breakpoint (1024px and below).\n */\n @Prop() columnsLg?: Columns;\n\n /**\n * Number of columns at the medium breakpoint (768px and below).\n */\n @Prop() columnsMd?: Columns;\n\n /**\n * Number of columns at the small breakpoint (375px and below).\n */\n @Prop() columnsSm?: Columns;\n\n /**\n * Gap between grid items using space tokens (1-8).\n * Maps to --space-1 through --space-8 (4px to 32px).\n */\n @Prop() gap: Gap = '4';\n\n /**\n * Align items within their grid cells.\n */\n @Prop() align: Align = 'stretch';\n\n render() {\n const alignMap: Record<Align, string> = {\n start: 'start',\n center: 'center',\n end: 'end',\n stretch: 'stretch',\n };\n\n return (\n <Host\n style={{\n '--grid-columns': String(this.columns),\n '--grid-columns-lg': String(this.columnsLg ?? this.columns),\n '--grid-columns-md': String(this.columnsMd ?? this.columnsLg ?? this.columns),\n '--grid-columns-sm': String(this.columnsSm ?? this.columnsMd ?? this.columnsLg ?? 1),\n '--grid-gap': `var(--space-${this.gap})`,\n '--grid-align': alignMap[this.align],\n } as Record<string, string>}\n >\n <div class=\"grid\">\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-grid-callout.js","sourceRoot":"","sources":["../../../src/components/af-grid-callout/af-grid-callout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAOH,MAAM,OAAO,aAAa;IAN1B;QAYE;;WAEG;QACK,aAAQ,GAAW,EAAE,CAAC;QAE9B;;WAEG;QACK,kBAAa,GAAqB,MAAM,CAAC;QAEjD;;WAEG;QACK,YAAO,GAAc,CAAC,CAAC;QAE/B;;WAEG;QACK,gBAAW,GAAsB,CAAC,CAAC;KAiE5C;IA/DC,MAAM;QACJ,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAEjC,MAAM,gBAAgB,GAAG;YACvB,cAAc,EAAE,IAAI;YACpB,yBAAyB,EAAE,QAAQ;YACnC,wBAAwB,EAAE,CAAC,QAAQ;YACnC,CAAC,uBAAuB,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,QAAQ;SACxD,CAAC;QAEF,MAAM,WAAW,GAAG;YAClB,qBAAqB,EAAE,IAAI;YAC3B,CAAC,6BAA6B,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI;SACpD,CAAC;QAEF,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAE3B,OAAO,CACL,WAAK,KAAK,EAAC,+BAA+B;gBACxC,WACE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,KAAK,EAAC,qBAAqB,GAC3B,CACE,CACP,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,CAC1B,WAAK,KAAK,EAAC,uBAAuB;YAChC,4BACE,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,aAAa,EAAC,MAAM,EACpB,eAAe,EAAC,UAAU,EAC1B,KAAK,EAAC,uBAAuB;gBAE7B,eAAa;gBACb,YAAM,IAAI,EAAC,aAAa;oBACtB,YAAM,IAAI,EAAC,aAAa,GAAQ,CAC3B,CACc;YAEvB,WAAK,KAAK,EAAE,WAAW;gBACrB,YAAM,IAAI,EAAC,OAAO,GAAQ,CACtB;YAEN,WAAK,KAAK,EAAC,mBAAmB;gBAC5B,YAAM,IAAI,EAAC,KAAK,GAAQ,CACpB,CACF,CACP,CAAC;QAEF,OAAO,CACL,EAAC,IAAI;YACH,WAAK,KAAK,EAAE,gBAAgB;gBACzB,IAAI,CAAC,aAAa,KAAK,MAAM,IAAI,WAAW,EAAE;gBAC9C,aAAa,EAAE;gBACf,IAAI,CAAC,aAAa,KAAK,OAAO,IAAI,WAAW,EAAE,CAC5C,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop, Host } from '@stencil/core';\n\n/**\n * GridCallout organism - a marketing section combining an optional pill-shaped image \n * with a grid of IconText feature items.\n * \n * Composes:\n * - Pill-shaped image container (optional)\n * - Heading via af-typography-lockup\n * - Grid of af-icon-text items\n * - Optional CTA button\n * \n * Inherits theme colors from parent af-section via CSS custom properties.\n * \n * @slot - Main heading text\n * @slot description - Optional description/subheading text\n * @slot items - IconText components for the feature grid\n * @slot cta - CTA button(s) at the bottom\n * \n * @example\n * ```html\n * <af-section theme=\"mist-green\">\n * <af-grid-callout image-src=\"/team.jpg\" image-alt=\"Team photo\">\n * Affinda blends AI and engineering\n * <span slot=\"description\">Optional description text.</span>\n * \n * <af-icon-text slot=\"items\" icon=\"settings\">\n * Feature One\n * <span slot=\"description\">Feature description.</span>\n * </af-icon-text>\n * \n * <af-button slot=\"cta\" variant=\"primary\">Learn more</af-button>\n * </af-grid-callout>\n * </af-section>\n * ```\n */\n@Component({\n tag: 'af-grid-callout',\n styleUrl: 'af-grid-callout.css',\n shadow: false,\n scoped: true,\n})\nexport class AfGridCallout {\n /**\n * Image source URL for the pill-shaped image\n */\n @Prop() imageSrc?: string;\n\n /**\n * Alt text for the image (required for accessibility when imageSrc is provided)\n */\n @Prop() imageAlt: string = '';\n\n /**\n * Position of the image relative to the content\n */\n @Prop() imagePosition: 'left' | 'right' = 'left';\n\n /**\n * Number of columns for the IconText grid on desktop\n */\n @Prop() columns: 2 | 3 | 4 = 2;\n\n /**\n * Heading size for the main title\n */\n @Prop() headingSize: 1 | 2 | 3 | 4 | 5 = 2;\n\n render() {\n const hasImage = !!this.imageSrc;\n \n const containerClasses = {\n 'grid-callout': true,\n 'grid-callout--has-image': hasImage,\n 'grid-callout--no-image': !hasImage,\n [`grid-callout--image-${this.imagePosition}`]: hasImage,\n };\n\n const gridClasses = {\n 'grid-callout__items': true,\n [`grid-callout__items--cols-${this.columns}`]: true,\n };\n\n const renderImage = () => {\n if (!hasImage) return null;\n \n return (\n <div class=\"grid-callout__image-container\">\n <img \n src={this.imageSrc} \n alt={this.imageAlt}\n class=\"grid-callout__image\"\n />\n </div>\n );\n };\n\n const renderContent = () => (\n <div class=\"grid-callout__content\">\n <af-typography-lockup\n headingSize={this.headingSize}\n textAlignment=\"left\"\n buttonAlignment=\"vertical\"\n class=\"grid-callout__heading\"\n >\n <slot></slot>\n <span slot=\"description\">\n <slot name=\"description\"></slot>\n </span>\n </af-typography-lockup>\n\n <div class={gridClasses}>\n <slot name=\"items\"></slot>\n </div>\n\n <div class=\"grid-callout__cta\">\n <slot name=\"cta\"></slot>\n </div>\n </div>\n );\n\n return (\n <Host>\n <div class={containerClasses}>\n {this.imagePosition === 'left' && renderImage()}\n {renderContent()}\n {this.imagePosition === 'right' && renderImage()}\n </div>\n </Host>\n );\n }\n}\n\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-heading.js","sourceRoot":"","sources":["../../../src/components/af-heading/af-heading.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEnD;;;;GAIG;AAMH,MAAM,OAAO,SAAS;IALtB;QAME,oBAAoB;QACZ,UAAK,GAAuC,GAAG,CAAC;QAExD,wGAAwG;QAChG,UAAK,GAA4C,SAAS,CAAC;KA+BpE;IA7BS,aAAa;QACnB,2CAA2C;QAC3C,MAAM,MAAM,GAA2B;YACrC,IAAI,EAAE,IAAI;YACV,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,IAAI;SACV,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;IACpC,CAAC;IAED,MAAM;QACJ,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,EAAS,CAAC;QAExC,OAAO,CACL,EAAC,GAAG,qDACF,KAAK,EAAE;gBACL,SAAS,EAAE,IAAI;gBACf,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI;gBAC7B,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI;aAC9B,EACD,IAAI,EAAC,MAAM;YAEX,8DAAQ,CACJ,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop } from '@stencil/core';\n\n/**\n * Heading component that inherits color from theme context.\n * Color is determined by the parent theme (af-section, af-card, etc.)\n * via CSS custom properties.\n */\n@Component({\n tag: 'af-heading',\n styleUrl: 'af-heading.css',\n shadow: true\n})\nexport class AfHeading {\n /** Heading level */\n @Prop() level: 'xl' | '1' | '2' | '3' | '4' | '5' = '1';\n\n /** Visual alignment. Defaults to 'inherit' which reads from parent context (e.g. AfTypographyLockup) */\n @Prop() align: 'inherit' | 'left' | 'center' | 'right' = 'inherit';\n\n private getHeadingTag() {\n // Map display levels to semantic HTML tags\n const tagMap: Record<string, string> = {\n 'xl': 'h1',\n '1': 'h1',\n '2': 'h2',\n '3': 'h3',\n '4': 'h4',\n '5': 'h5'\n };\n return tagMap[this.level] || 'h1';\n }\n\n render() {\n const Tag = this.getHeadingTag() as any;\n\n return (\n <Tag\n class={{\n 'heading': true,\n [`level-${this.level}`]: true,\n [`align-${this.align}`]: true\n }}\n part=\"base\"\n >\n <slot />\n </Tag>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-icon.js","sourceRoot":"","sources":["../../../src/components/af-icon/af-icon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C;;;;;;;;;;;GAWG;AAMH,MAAM,OAAO,MAAM;IALnB;QAWE;;WAEG;QACK,SAAI,GAAW,EAAE,CAAC;KAoC3B;IA7BC,MAAM;QACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE1D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG;YACZ,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI;YACvB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI;SACzB,CAAC;QAEF,kDAAkD;QAClD,MAAM,UAAU,GAAG,iBAAiB,QAAQ,CAAC,OAAO,wCAAwC,QAAQ,CAAC,OAAO,QAAQ,CAAC;QAErH,OAAO,CACL,EAAC,IAAI,IACH,IAAI,EAAC,KAAK,gBACE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,iBACtB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YAE1C,YACE,KAAK,EAAC,gBAAgB,EACtB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,UAAU,GACrB,CACG,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop, Host } from '@stencil/core';\nimport type { IconName } from '@affinda/icons';\nimport { getIconSvg } from '@affinda/icons';\n\n/**\n * Icon component that displays SVG icons from the Affinda icon library.\n * Icons inherit color from their parent via currentColor.\n * \n * Icons are bundled inline, so no runtime fetching is required.\n * This ensures icons work reliably in all bundler contexts.\n * \n * @example\n * ```html\n * <af-icon name=\"arrow-right\" size=\"24\"></af-icon>\n * ```\n */\n@Component({\n tag: 'af-icon',\n styleUrl: 'af-icon.css',\n shadow: true\n})\nexport class AfIcon {\n /**\n * The name of the icon to display\n */\n @Prop() name!: IconName;\n\n /**\n * Size of the icon in pixels\n */\n @Prop() size: number = 24;\n\n /**\n * Accessible label for the icon (for screen readers)\n */\n @Prop() label?: string;\n\n render() {\n const iconData = this.name ? getIconSvg(this.name) : null;\n \n if (!iconData) {\n return null;\n }\n\n const style = {\n width: `${this.size}px`,\n height: `${this.size}px`,\n };\n\n // Build the complete SVG with viewBox and content\n const svgContent = `<svg viewBox=\"${iconData.viewBox}\" xmlns=\"http://www.w3.org/2000/svg\">${iconData.content}</svg>`;\n\n return (\n <Host\n role=\"img\"\n aria-label={this.label || this.name}\n aria-hidden={this.label ? 'false' : 'true'}\n >\n <span\n class=\"icon-container\"\n style={style}\n innerHTML={svgContent}\n />\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-icon-box.js","sourceRoot":"","sources":["../../../src/components/af-icon-box/af-icon-box.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGzD;;;;;;;;;;;GAWG;AAOH,MAAM,OAAO,SAAS;IANtB;QAYE;;;;;WAKG;QACK,SAAI,GAAkC,SAAS,CAAC;KAkBzD;IAhBC,MAAM;QACJ,MAAM,gBAAgB,GAAG;YACvB,UAAU,EAAE,IAAI;YAChB,CAAC,kBAAkB,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI;SACtC,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE9E,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAE,gBAAgB;gBAC1B,gEAAS,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,GAAY,CAChD,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop, Host } from '@stencil/core';\nimport type { IconName } from '@affinda/icons';\n\n/**\n * IconBox atom - a themed container for displaying an icon with a rounded background.\n * \n * Inherits theme colors from parent Section via CSS custom properties:\n * - Background uses `--af-background-contrast`\n * - Icon color uses `--af-background-icon-default`\n * \n * @example\n * ```html\n * <af-icon-box icon=\"settings\" size=\"default\"></af-icon-box>\n * ```\n */\n@Component({\n tag: 'af-icon-box',\n styleUrl: 'af-icon-box.css',\n shadow: false,\n scoped: true,\n})\nexport class AfIconBox {\n /**\n * The name of the icon to display (from @affinda/icons)\n */\n @Prop() icon!: IconName;\n\n /**\n * Size variant of the icon box\n * - 'small': 48px container, 20px icon\n * - 'default': 64px container, 40px icon\n * - 'large': 80px container, 48px icon\n */\n @Prop() size: 'small' | 'default' | 'large' = 'default';\n\n render() {\n const containerClasses = {\n 'icon-box': true,\n [`icon-box--size-${this.size}`]: true,\n };\n\n const iconSize = this.size === 'small' ? 20 : this.size === 'large' ? 48 : 40;\n\n return (\n <Host>\n <div class={containerClasses}>\n <af-icon name={this.icon} size={iconSize}></af-icon>\n </div>\n </Host>\n );\n }\n}\n\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-icon-button.js","sourceRoot":"","sources":["../../../src/components/af-icon-button/af-icon-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAOzD,MAAM,OAAO,YAAY;IALzB;QAME;;;;;WAKG;QACsB,YAAO,GAAyC,SAAS,CAAC;QAEnF;;WAEG;QACK,SAAI,GAAiC,QAAQ,CAAC;QAEtD;;WAEG;QACK,aAAQ,GAAY,KAAK,CAAC;QAOlC;;WAEG;QACK,SAAI,GAAkC,QAAQ,CAAC;KAuCxD;IAhCC,MAAM;QACJ,MAAM,OAAO,GAAG;YACd,aAAa,EAAE,IAAI;YACnB,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI;YACjC,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI;YAC3B,UAAU,EAAE,IAAI,CAAC,QAAQ;SAC1B,CAAC;QAEF,MAAM,OAAO,GAAG,CACd,YAAM,KAAK,EAAC,MAAM;YAChB,eAAa,CACR,CACR,CAAC;QAEF,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,OAAO,CACL,EAAC,IAAI;gBACH,SAAG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,gBAAc,IAAI,CAAC,SAAS,IAC3D,OAAO,CACN,CACC,CACR,CAAC;QACJ,CAAC;QAED,OAAO,CACL,EAAC,IAAI;YACH,cAAQ,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,gBAAc,IAAI,CAAC,SAAS,IACzF,OAAO,CACD,CACJ,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop, Host } from '@stencil/core';\n\n@Component({\n tag: 'af-icon-button',\n styleUrl: 'af-icon-button.css',\n shadow: true\n})\nexport class AfIconButton {\n /**\n * The visual variant of the button.\n * - `primary` - Main CTA with filled ice background\n * - `secondary` - Supporting action with white background\n * - `tertiary` - Minimal style with transparent background\n */\n @Prop({ reflect: true }) variant: 'primary' | 'secondary' | 'tertiary' = 'primary';\n\n /**\n * The size of the button\n */\n @Prop() size: 'large' | 'medium' | 'small' = 'medium';\n\n /**\n * Whether the button is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Optional href to render as a link\n */\n @Prop() href?: string;\n\n /**\n * Button type (when not using href)\n */\n @Prop() type: 'button' | 'submit' | 'reset' = 'button';\n\n /**\n * Accessible label for screen readers\n */\n @Prop() ariaLabel!: string;\n\n render() {\n const classes = {\n 'icon-button': true,\n [`variant-${this.variant}`]: true,\n [`size-${this.size}`]: true,\n 'disabled': this.disabled\n };\n\n const content = (\n <span class=\"icon\">\n <slot></slot>\n </span>\n );\n\n if (this.href && !this.disabled) {\n return (\n <Host>\n <a href={this.href} class={classes} aria-label={this.ariaLabel}>\n {content}\n </a>\n </Host>\n );\n }\n\n return (\n <Host>\n <button type={this.type} disabled={this.disabled} class={classes} aria-label={this.ariaLabel}>\n {content}\n </button>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-icon-text.js","sourceRoot":"","sources":["../../../src/components/af-icon-text/af-icon-text.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGzD;;;;;;;;;;;;;;;;;;;;;GAqBG;AAOH,MAAM,OAAO,UAAU;IANvB;QAYE;;WAEG;QACK,gBAAW,GAAsB,CAAC,CAAC;QAE3C;;;;WAIG;QACK,gBAAW,GAA8B,UAAU,CAAC;QAE5D;;WAEG;QACK,aAAQ,GAAkC,SAAS,CAAC;KAmC7D;IAjCC,MAAM;QACJ,MAAM,gBAAgB,GAAG;YACvB,WAAW,EAAE,IAAI;YACjB,CAAC,cAAc,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,IAAI;SACzC,CAAC;QAEF,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAE,gBAAgB;gBAC1B,oEACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,QAAQ,EACnB,KAAK,EAAC,iBAAiB,GACV;gBAEf,6EACE,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,aAAa,EAAC,MAAM,EACpB,eAAe,EAAC,UAAU,EAC1B,KAAK,EAAC,mBAAmB;oBAEzB,8DAAa;oBACb,6DAAM,IAAI,EAAC,aAAa;wBACtB,6DAAM,IAAI,EAAC,aAAa,GAAQ,CAC3B;oBACP,6DAAM,IAAI,EAAC,SAAS;wBAClB,6DAAM,IAAI,EAAC,SAAS,GAAQ,CACvB,CACc,CACnB,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop, Host } from '@stencil/core';\nimport type { IconName } from '@affinda/icons';\n\n/**\n * IconText molecule - combines an IconBox with a TypographyLockup for feature items.\n * \n * Composes:\n * - af-icon-box: Themed icon container\n * - af-typography-lockup: Heading, description, and button slots\n * \n * Inherits theme colors from parent Section via CSS custom properties.\n * \n * @slot - Heading text content (passed to TypographyLockup)\n * @slot description - Body/description text\n * @slot buttons - Action buttons (typically ghost style)\n * \n * @example\n * ```html\n * <af-icon-text icon=\"settings\" heading-size=\"4\">\n * Feature Heading\n * <span slot=\"description\">Feature description text.</span>\n * <af-button slot=\"buttons\" variant=\"ghost\">Learn more</af-button>\n * </af-icon-text>\n * ```\n */\n@Component({\n tag: 'af-icon-text',\n styleUrl: 'af-icon-text.css',\n shadow: false,\n scoped: true,\n})\nexport class AfIconText {\n /**\n * The icon name to display in the IconBox\n */\n @Prop() icon!: IconName;\n\n /**\n * Heading size for the typography lockup (1-5, where 1 is largest)\n */\n @Prop() headingSize: 1 | 2 | 3 | 4 | 5 = 4;\n\n /**\n * Layout orientation\n * - 'vertical': Icon above text (default, used in grid layouts)\n * - 'horizontal': Icon beside text (used in compact layouts)\n */\n @Prop() orientation: 'vertical' | 'horizontal' = 'vertical';\n\n /**\n * Size of the icon box\n */\n @Prop() iconSize: 'small' | 'default' | 'large' = 'default';\n\n render() {\n const containerClasses = {\n 'icon-text': true,\n [`icon-text--${this.orientation}`]: true,\n };\n\n return (\n <Host>\n <div class={containerClasses}>\n <af-icon-box \n icon={this.icon} \n size={this.iconSize}\n class=\"icon-text__icon\"\n ></af-icon-box>\n \n <af-typography-lockup\n headingSize={this.headingSize}\n textAlignment=\"left\"\n buttonAlignment=\"vertical\"\n class=\"icon-text__lockup\"\n >\n <slot></slot>\n <span slot=\"description\">\n <slot name=\"description\"></slot>\n </span>\n <span slot=\"buttons\">\n <slot name=\"buttons\"></slot>\n </span>\n </af-typography-lockup>\n </div>\n </Host>\n );\n }\n}\n\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-illustrated-card.js","sourceRoot":"","sources":["../../../src/components/af-illustrated-card/af-illustrated-card.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;;;;;;;;;;;GAYG;AAOH,MAAM,OAAO,iBAAiB;IAN9B;QAOE;;;WAGG;QACK,UAAK,GAAsE,YAAY,CAAC;QAEhG;;WAEG;QACK,eAAU,GAAyB,SAAS,CAAC;QAErD;;WAEG;QACK,aAAQ,GAAwB,SAAS,CAAC;KAwCnD;IAtCC,MAAM;QACJ,MAAM,cAAc,GAAG;YACrB,kBAAkB,EAAE,IAAI;YACxB,CAAC,gCAAgC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI;YACzD,CAAC,0BAA0B,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI;SAClD,CAAC;QAEF,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAE,cAAc;gBACxB,gEAAS,KAAK,EAAE,IAAI,CAAC,KAAK;oBAExB,4DAAK,KAAK,EAAC,2BAA2B;wBACpC,6EACE,WAAW,EAAE,CAAC,EACd,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,aAAa,EAAC,MAAM,EACpB,YAAY,EAAC,UAAU;4BAEvB,8DAAa;4BACb,6DAAM,IAAI,EAAC,aAAa;gCACtB,6DAAM,IAAI,EAAC,MAAM,GAAQ,CACpB;4BACP,6DAAM,IAAI,EAAC,SAAS;gCAClB,6DAAM,IAAI,EAAC,SAAS,GAAQ,CACvB,CACc,CACnB;oBAGN,4DAAK,KAAK,EAAC,qCAAqC;wBAC9C,6DAAM,IAAI,EAAC,cAAc,GAAQ,CAC7B,CACE,CACN,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["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, a button row in the middle, and\n * an illustration from @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 buttons - Action buttons (rendered below the description, above the illustration)\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 buttonLayout=\"vertical\"\n >\n <slot></slot>\n <span slot=\"description\">\n <slot name=\"body\"></slot>\n </span>\n <span slot=\"buttons\">\n <slot name=\"buttons\"></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"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-image.js","sourceRoot":"","sources":["../../../src/components/af-image/af-image.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;;GAGG;AAOH,MAAM,OAAO,OAAO;IANpB;QAiBE;;;;;;;;WAQG;QACK,UAAK,GAA4D,SAAS,CAAC;KAYpF;IAVC,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAE,oCAAoC,IAAI,CAAC,KAAK,EAAE;gBAC1D,4DAAK,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAC,OAAO,GAAG;gBACnD,4DAAK,KAAK,EAAC,cAAc,iBAAa,MAAM,GAAO,CAC/C,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * A styled image container with rounded corners and a subtle inset border.\n * Provides consistent image styling across the design system.\n */\n@Component({\n tag: 'af-image',\n styleUrl: 'af-image.css',\n shadow: false,\n scoped: true\n})\nexport class AfImage {\n /**\n * The image source URL\n */\n @Prop() src!: string;\n\n /**\n * Alternative text for the image (required for accessibility)\n */\n @Prop() alt!: string;\n\n /**\n * Shape / corner rounding variant. Matches Webflow's `.image-fill.rounded-*`\n * patterns where only one edge is rounded so the image bleeds into a\n * neighbouring section.\n * - `rounded` (default) — symmetric rounded corners on all four sides.\n * - `rounded-left` — rounded only on the left edge (top-left + bottom-left).\n * - `rounded-right` — rounded only on the right edge.\n * - `square` — no corner rounding.\n */\n @Prop() shape: 'rounded' | 'rounded-left' | 'rounded-right' | 'square' = 'rounded';\n\n render() {\n return (\n <Host>\n <div class={`image-container image-container--${this.shape}`}>\n <img src={this.src} alt={this.alt} class=\"image\" />\n <div class=\"image-border\" aria-hidden=\"true\"></div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-in-page-banner.js","sourceRoot":"","sources":["../../../src/components/af-in-page-banner/af-in-page-banner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAIzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAOH,MAAM,OAAO,cAAc;IAN3B;QAOE,qEAAqE;QAC7D,UAAK,GAAgB,YAAY,CAAC;QAE1C,qBAAqB;QACb,YAAO,GAAW,EAAE,CAAC;QAE7B,yBAAyB;QACjB,gBAAW,GAAW,EAAE,CAAC;QAEjC,0BAA0B;QAClB,sBAAiB,GAAW,EAAE,CAAC;QAEvC,yBAAyB;QACjB,qBAAgB,GAAW,GAAG,CAAC;QAEvC,qEAAqE;QAC7D,wBAAmB,GAAW,EAAE,CAAC;QAEzC,2BAA2B;QACnB,uBAAkB,GAAW,GAAG,CAAC;QAEzC;;;WAGG;QACK,oBAAe,GAAW,EAAE,CAAC;QAErC,kDAAkD;QAC1C,uBAAkB,GAAY,IAAI,CAAC;KA4E5C;IA1EC;;;;OAIG;IACK,iBAAiB;QACvB,OAAO,CACL,WAAK,KAAK,EAAC,sBAAsB,iBAAa,MAAM;YAClD,WACE,OAAO,EAAC,aAAa,EACrB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,kBAAkB;gBAExB,YACE,CAAC,EAAC,ilBAAilB,EACnlB,IAAI,EAAC,cAAc,GACnB,CACE,CACF,CACP,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAE,gBAAgB,IAAI,CAAC,KAAK,EAAE;gBAErC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAGpD,4DAAK,KAAK,EAAC,sBAAsB,IAC9B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CACtB,WACE,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAC,EAAE,EACN,KAAK,EAAC,0BAA0B,EAChC,OAAO,EAAC,MAAM,GACd,CACH,CAAC,CAAC,CAAC,CACF,YAAM,IAAI,EAAC,cAAc,GAAQ,CAClC,CACG;gBAGN,4DAAK,KAAK,EAAC,iBAAiB;oBAC1B,4DAAK,KAAK,EAAC,cAAc;wBACvB,2DAAI,KAAK,EAAC,iBAAiB;4BACzB,6DAAM,IAAI,EAAC,SAAS,IAAE,IAAI,CAAC,OAAO,CAAQ,CACvC;wBACL,4DAAK,KAAK,EAAC,qBAAqB;4BAC9B,6DAAM,IAAI,EAAC,aAAa,IAAE,IAAI,CAAC,WAAW,CAAQ,CAC9C,CACF;oBAEN,4DAAK,KAAK,EAAC,iBAAiB;wBAC1B,6DAAM,IAAI,EAAC,SAAS;4BACjB,IAAI,CAAC,iBAAiB,IAAI,CACzB,kEAAW,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAC,SAAS,IACtD,IAAI,CAAC,iBAAiB,CACb,CACb;4BACA,IAAI,CAAC,mBAAmB,IAAI,CAC3B,kEAAW,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,EAAC,WAAW,IAC1D,IAAI,CAAC,mBAAmB,CACf,CACb,CACI,CACH,CACF,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\n\ntype BannerTheme = 'white-ivory' | 'mist-green' | 'soft-clay' | 'inkwell';\n\n/**\n * In-page banner component for call-to-action content.\n * \n * A banner card with illustration, heading, description, and action buttons.\n * Typically placed inside a neutral (white) Section to show off its themed background.\n * \n * The component has its own theme prop to control its background color and styling.\n * \n * **Illustration Usage:**\n * Use `illustrationUrl` to pass an illustration image URL. For theme-matched illustrations,\n * use `getIllustrationUrlByScene()` from `@affinda/illustrations` in your consuming app:\n * \n * ```tsx\n * import { getIllustrationUrlByScene } from '@affinda/illustrations';\n * \n * <InPageBanner\n * theme=\"inkwell\"\n * illustrationUrl={getIllustrationUrlByScene('automate', 'inkwell')}\n * ...\n * />\n * ```\n * \n * Alternatively, use the `illustration` slot for completely custom content.\n *\n * **Slot-based composition (preferred for rich content):**\n * - `heading` — heading markup (overrides the `heading` prop when provided).\n * - `description` — description markup (overrides the `description` prop).\n * - `buttons` — custom button group (overrides the primary/secondary button\n * props; use when you need ghost variants, more than two buttons, or\n * per-button icons).\n * - `illustration` — custom illustration markup.\n *\n * The string props remain supported for simple cases.\n */\n@Component({\n tag: 'af-in-page-banner',\n styleUrl: 'af-in-page-banner.css',\n shadow: false,\n scoped: true,\n})\nexport class AfInPageBanner {\n /** Theme - sets the banner background color and typography colors */\n @Prop() theme: BannerTheme = 'mist-green';\n\n /** Banner heading */\n @Prop() heading: string = '';\n\n /** Banner description */\n @Prop() description: string = '';\n\n /** Primary button text */\n @Prop() primaryButtonText: string = '';\n\n /** Primary button URL */\n @Prop() primaryButtonUrl: string = '#';\n\n /** Secondary button text (optional - if empty, button won't show) */\n @Prop() secondaryButtonText: string = '';\n\n /** Secondary button URL */\n @Prop() secondaryButtonUrl: string = '#';\n\n /** \n * Illustration URL. For theme-matched illustrations, use getIllustrationUrlByScene() \n * from @affinda/illustrations in your app code.\n */\n @Prop() illustrationUrl: string = '';\n\n /** Whether to show the decorative wave overlay */\n @Prop() showWaveDecoration: boolean = true;\n\n /**\n * Renders the decorative wave SVG overlay.\n * Uses the Affinda brand \"infinity loop\" wave pattern.\n * Fill color is controlled via CSS custom properties per theme.\n */\n private renderWaveOverlay() {\n return (\n <div class=\"banner__wave-overlay\" aria-hidden=\"true\">\n <svg \n viewBox=\"0 0 521 323\" \n fill=\"none\" \n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"banner__wave-svg\"\n >\n <path \n d=\"M473.775 46.273C443.539 15.92 403.701 -0.631616 361.351 0.0184478H154.183L112.67 67.225H361.893C362.189 67.225 362.533 67.225 362.829 67.225C387.155 67.225 410.004 76.7259 427.289 94.0776C445.017 111.879 454.816 135.682 454.816 161.134C454.816 213.389 412.959 255.843 361.548 255.843H108.041C84.9457 255.843 66.1345 236.742 66.1345 213.289C66.1345 189.837 84.9949 170.435 107.992 169.735H334.957L377.799 102.528H106.859C47.9636 104.029 0 153.683 0 213.289C0 272.895 48.456 323 108.041 323H361.548C449.449 323 521 250.343 521 161.084C521 117.53 504.257 76.7759 473.824 46.2229L473.775 46.273Z\" \n fill=\"currentColor\"\n />\n </svg>\n </div>\n );\n }\n\n render() {\n return (\n <Host>\n <div class={`banner theme-${this.theme}`}>\n {/* Decorative wave overlay */}\n {this.showWaveDecoration && this.renderWaveOverlay()}\n\n {/* Illustration area */}\n <div class=\"banner__illustration\">\n {this.illustrationUrl ? (\n <img \n src={this.illustrationUrl} \n alt=\"\" \n class=\"banner__illustration-img\" \n loading=\"lazy\"\n />\n ) : (\n <slot name=\"illustration\"></slot>\n )}\n </div>\n\n {/* Content area — slots take precedence over string props. */}\n <div class=\"banner__content\">\n <div class=\"banner__copy\">\n <h2 class=\"banner__heading\">\n <slot name=\"heading\">{this.heading}</slot>\n </h2>\n <div class=\"banner__description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n </div>\n\n <div class=\"banner__buttons\">\n <slot name=\"buttons\">\n {this.primaryButtonText && (\n <af-button href={this.primaryButtonUrl} variant=\"primary\">\n {this.primaryButtonText}\n </af-button>\n )}\n {this.secondaryButtonText && (\n <af-button href={this.secondaryButtonUrl} variant=\"secondary\">\n {this.secondaryButtonText}\n </af-button>\n )}\n </slot>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-inline.js","sourceRoot":"","sources":["../../../src/components/af-inline/af-inline.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAMzD;;;;;GAKG;AAMH,MAAM,OAAO,QAAQ;IALrB;QAME;;;WAGG;QACK,QAAG,GAAQ,GAAG,CAAC;QAEvB;;WAEG;QACK,UAAK,GAAU,QAAQ,CAAC;QAEhC;;WAEG;QACK,YAAO,GAAY,OAAO,CAAC;QAEnC;;WAEG;QACK,SAAI,GAAY,IAAI,CAAC;KAmC9B;IAjCC,MAAM;QACJ,MAAM,QAAQ,GAA0B;YACtC,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,UAAU;YACf,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,UAAU;SACrB,CAAC;QAEF,MAAM,UAAU,GAA4B;YAC1C,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,UAAU;YACf,OAAO,EAAE,eAAe;YACxB,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,cAAc;SACvB,CAAC;QAEF,MAAM,KAAK,GAAG;YACZ,OAAO,EAAE,aAAa;YACtB,aAAa,EAAE,KAAK;YACpB,GAAG,EAAE,eAAe,IAAI,CAAC,GAAG,GAAG;YAC/B,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAChC,cAAc,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;YACxC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;SACd,CAAC;QAE5B,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAE,KAAK;YAChB,8DAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\n\ntype Gap = '1' | '2' | '3' | '4' | '5' | '6' | '8';\ntype Align = 'start' | 'center' | 'end' | 'stretch' | 'baseline';\ntype Justify = 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';\n\n/**\n * Inline layout component for horizontal inline-flex layouts with gap and optional wrapping.\n * Ideal for button groups, tags, pills, and other inline elements.\n *\n * @slot - Content to layout inline\n */\n@Component({\n tag: 'af-inline',\n styleUrl: 'af-inline.css',\n shadow: true,\n})\nexport class AfInline {\n /**\n * Gap between items using space tokens (1-8).\n * Maps to --space-1 through --space-8 (4px to 32px).\n */\n @Prop() gap: Gap = '2';\n\n /**\n * Align items on the cross axis.\n */\n @Prop() align: Align = 'center';\n\n /**\n * Justify content on the main axis.\n */\n @Prop() justify: Justify = 'start';\n\n /**\n * Whether items should wrap to the next line when they overflow.\n */\n @Prop() wrap: boolean = true;\n\n render() {\n const alignMap: Record<Align, string> = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n stretch: 'stretch',\n baseline: 'baseline',\n };\n\n const justifyMap: Record<Justify, string> = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n between: 'space-between',\n around: 'space-around',\n evenly: 'space-evenly',\n };\n\n const style = {\n display: 'inline-flex',\n flexDirection: 'row',\n gap: `var(--space-${this.gap})`,\n alignItems: alignMap[this.align],\n justifyContent: justifyMap[this.justify],\n flexWrap: this.wrap ? 'wrap' : 'nowrap',\n } as Record<string, string>;\n\n return (\n <Host style={style}>\n <slot></slot>\n </Host>\n );\n }\n}\n\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-input.js","sourceRoot":"","sources":["../../../src/components/af-input/af-input.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, Host, Event, EventEmitter, State } from '@stencil/core';\n\n/**\n * Input field component with label, description, and error states.\n * Supports various input types and validation 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-input',\n styleUrl: 'af-input.css',\n shadow: true\n})\nexport class AfInput {\n /**\n * The label text for the input field\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 input\n */\n @Prop() placeholder?: string;\n\n /**\n * The current value of the input\n */\n @Prop({ mutable: true }) value: string = '';\n\n /**\n * The input type (text, email, password, number, tel, url, search)\n */\n @Prop() type: 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search' = 'text';\n\n /**\n * The name of the input for form submission\n */\n @Prop() name?: string;\n\n /**\n * Whether the input is disabled\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Whether the input is required\n */\n @Prop() required: boolean = false;\n\n /**\n * Whether the input 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 * Whether to show a search icon in the input\n */\n @Prop() showSearchIcon: boolean = false;\n\n /**\n * Whether to show a clear button when input has value\n */\n @Prop() clearable: boolean = false;\n\n /**\n * Autocomplete attribute for the input\n */\n @Prop() autocomplete?: string;\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 * Pattern for input validation (regex)\n */\n @Prop() pattern?: string;\n\n /**\n * Emitted when the input value changes\n */\n @Event() afInput!: EventEmitter<{ value: string }>;\n\n /**\n * Emitted when the input loses focus\n */\n @Event() afBlur!: EventEmitter<void>;\n\n /**\n * Emitted when the input gains focus\n */\n @Event() afFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the clear button is clicked\n */\n @Event() afClear!: 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 inputEl?: HTMLInputElement;\n\n private handleInput = (event: Event) => {\n const target = event.target as HTMLInputElement;\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 handleClear = () => {\n this.value = '';\n this.afClear.emit();\n this.afInput.emit({ value: '' });\n this.inputEl?.focus();\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 'input-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 inputContainerClasses = {\n 'input-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=\"input\">\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 {/* Input container */}\n <div \n class={inputContainerClasses}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n {/* Search icon */}\n {this.showSearchIcon && (\n <span class=\"search-icon\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M11 19C15.4183 19 19 15.4183 19 11C19 6.58172 15.4183 3 11 3C6.58172 3 3 6.58172 3 11C3 15.4183 6.58172 19 11 19Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M21 21L16.65 16.65\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </span>\n )}\n\n {/* Native input */}\n <input\n ref={(el) => this.inputEl = el ?? undefined}\n id=\"input\"\n class=\"input\"\n type={this.type}\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 autocomplete={this.autocomplete}\n maxlength={this.maxlength}\n minlength={this.minlength}\n pattern={this.pattern}\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\n {/* Clear button */}\n {this.clearable && hasValue && !this.disabled && !this.readonly && (\n <button \n type=\"button\" \n class=\"clear-button\" \n onClick={this.handleClear}\n aria-label=\"Clear input\"\n >\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M18 6L6 18\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M6 6L18 18\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\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"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-logo.js","sourceRoot":"","sources":["../../../src/components/af-logo/af-logo.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEnD;;GAEG;AAMH,MAAM,OAAO,MAAM;IACjB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DACE,KAAK,EAAC,UAAU,EAChB,OAAO,EAAC,eAAe,gBACZ,SAAS,EACpB,IAAI,EAAC,KAAK;gBAEV,6DACE,IAAI,EAAC,cAAc,EACnB,CAAC,EAAC,6bAA6b,GAC/b;gBACF,6DACE,IAAI,EAAC,cAAc,EACnB,CAAC,EAAC,4uBAA4uB,GAC9uB;gBACF,6DAAM,IAAI,EAAC,cAAc,EAAC,CAAC,EAAC,gDAAgD,GAAE;gBAC9E,6DACE,IAAI,EAAC,cAAc,EACnB,CAAC,EAAC,udAAud,GACzd;gBACF,6DACE,IAAI,EAAC,cAAc,EACnB,CAAC,EAAC,wuBAAwuB,GAC1uB;gBACF,6DACE,IAAI,EAAC,cAAc,EACnB,CAAC,EAAC,0uBAA0uB,GAC5uB;gBACF,6DAAM,IAAI,EAAC,cAAc,EAAC,CAAC,EAAC,sKAAsK,GAAE;gBACpM,6DAAM,IAAI,EAAC,cAAc,EAAC,CAAC,EAAC,sKAAsK,GAAE,CAChM,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host } from '@stencil/core';\n\n/**\n * Affinda logo component\n */\n@Component({\n tag: 'af-logo',\n styleUrl: 'af-logo.css',\n shadow: true\n})\nexport class AfLogo {\n render() {\n return (\n <Host>\n <svg \n class=\"logo-svg\" \n viewBox=\"0 0 9290 1432\" \n aria-label=\"Affinda\"\n role=\"img\"\n >\n <path \n fill=\"currentColor\" \n d=\"M1691.17,452.11c-107.93-107.48-250.13-166.09-401.3-163.79h-739.51l-148.18,237.98h892.96c86.83,0,168.39,33.64,230.09,95.09,63.28,63.04,98.26,147.32,98.26,237.45,0,185.03-149.41,335.36-332.92,335.36H385.66c-82.44,0-149.59-67.64-149.59-150.68s67.32-151.75,149.41-154.23h810.17l152.93-237.98H381.44C171.21,656.62,0,832.45,0,1043.52s172.97,388.48,385.66,388.48h904.91c313.76,0,569.17-257.28,569.17-573.34,0-154.22-59.76-298.53-168.4-406.72l-.17.18Z\"\n />\n <path \n fill=\"currentColor\" \n d=\"M3265.12,353.81c-21.8-16.16-44.47-30.56-68.02-42.85-75.76-39.69-161-59.89-253.45-59.89-159.6,0-297.92,58.13-411.29,172.82-113.02,114.33-170.49,253.96-170.49,415.01s56.77,304.89,168.73,419.58c112.49,115.21,250.29,173.52,409.35,173.52,89.47,0,173.31-18.97,249.06-56.38,26.19-12.99,51.68-28.1,76.11-45.49v89.05h268.39V276.36h-268.39v77.45ZM3232.07,1013.47c-27.24,48.65-65.38,86.24-116.35,114.87-51.85,29.15-105.11,43.38-162.58,43.38s-107.92-14.05-157.31-43.21c-49.57-28.98-87.88-68.85-117.59-121.53-29.88-53.04-44.29-106.79-44.29-164.39s14.41-111.88,43.94-164.21c29.18-51.99,67.32-91.15,116.36-119.6,49.21-28.63,101.41-42.5,159.94-42.5,90.87,0,165.04,30.56,226.73,93.61,62.23,63.4,92.46,140.68,92.46,236.22,0,63.05-13.54,117.67-41.13,167.02l-.18.35Z\"\n />\n <path fill=\"currentColor\" d=\"M5569.92,278.96h-269.66v1143.74h269.66V278.96Z\"/>\n <path \n fill=\"currentColor\" \n d=\"M6504.78,328.74c-68.7-45.4-148.11-68.37-235.78-68.37s-163.57,19.96-235.61,59.36c-21.61,11.84-42.69,25.44-63.07,40.81v-89.22h-270.22v1151.2h270.22v-436.03c0-154.94,8.78-223.14,15.81-252.11,15.64-61.13,47.44-110.95,96.81-152.65,47.96-40.28,100.49-59.89,160.58-59.89,51.13,0,89.96,11.13,118.95,34.28,28.81,22.79,48.14,58.13,59.56,109.18,4.56,18.37,12.12,70.14,12.12,211.83v545.57h270.21v-583.02c0-146.29-15.28-253.17-46.56-326.67-32.67-76.85-84.33-138.69-153.2-184.27h.18Z\"\n />\n <path \n fill=\"currentColor\" \n d=\"M7728.49,355.19c-21.79-16.14-44.46-30.52-68.02-42.8-75.75-39.64-161-59.81-253.45-59.81-159.59,0-297.92,58.06-411.28,172.6-113.02,114.19-170.49,253.63-170.49,414.48s56.77,304.68,168.73,419.04c112.49,115.07,250.29,173.3,409.35,173.3,89.47,0,173.3-18.94,249.06-56.3,26.19-12.98,51.67-28.07,76.1-45.43v90.68h268.39V0h-268.39v355.37-.17ZM7695.45,1014.01c-27.24,48.59-65.38,86.13-116.36,114.72-51.85,29.11-104.93,43.32-162.58,43.32s-107.92-14.03-157.31-43.15c-49.56-28.94-87.88-68.76-117.58-121.38-29.88-52.97-44.29-106.64-44.29-164.18s14.41-111.73,43.94-164c29.17-51.92,67.32-91.03,116.35-119.45,49.22-28.59,101.42-42.45,159.95-42.45,90.87,0,165.04,30.52,226.73,93.49,62.22,63.32,92.45,140.5,92.45,235.92,0,62.97-13.53,117.52-41.12,166.81l-.18.35Z\"\n />\n <path \n fill=\"currentColor\" \n d=\"M9021.01,277.76v76.05c-21.79-16.16-44.47-30.56-68.02-42.85-75.75-39.69-161-59.89-253.45-59.89-159.59,0-297.92,58.13-411.29,172.82-113.01,114.33-170.48,253.96-170.48,415.01s56.77,304.89,168.73,419.58c112.49,115.21,250.28,173.52,409.35,173.52,89.46,0,173.3-18.97,249.06-56.38,26.19-12.99,51.67-28.1,76.1-45.49v89.05h268.39V277.76h-268.39ZM8987.97,1013.47c-27.25,48.65-65.39,86.24-116.36,114.87-51.85,29.15-105.1,43.38-162.58,43.38s-107.92-14.05-157.3-43.21c-49.57-28.98-87.89-68.85-117.59-121.53-29.88-53.04-44.29-106.79-44.29-164.39s14.41-111.88,43.94-164.21c29.17-51.99,67.31-91.15,116.35-119.6,49.22-28.63,101.42-42.5,159.95-42.5,90.87,0,165.04,30.56,226.73,93.61,62.22,63.4,92.45,140.68,92.45,236.22,0,63.05-13.53,117.67-41.13,167.02l-.17.35Z\"\n />\n <path fill=\"currentColor\" d=\"M3927.32,519.82c0-140.11,112.99-241.01,251.96-241.01h302.69V0h-302.69c-284.39,0-515.59,233.28-515.59,519.82v902.88h263.81v-445.28h431.9v-265.98h-431.9v-191.62h-.18Z\"/>\n <path fill=\"currentColor\" d=\"M4745.61,519.82c0-140.11,112.99-241.01,251.95-241.01h302.7V0h-302.7c-284.38,0-515.59,233.28-515.59,519.82v902.88h263.82v-445.28h431.89v-265.98h-431.89v-191.62h-.18Z\"/>\n </svg>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-logo-well.js","sourceRoot":"","sources":["../../../src/components/af-logo-well/af-logo-well.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEnD;;GAEG;AAMH,MAAM,OAAO,UAAU;IACrB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAC,WAAW;gBACpB,8DAAa,CACT,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host } from '@stencil/core';\n\n/**\n * A rounded container for displaying client logos\n */\n@Component({\n tag: 'af-logo-well',\n styleUrl: 'af-logo-well.css',\n shadow: true,\n})\nexport class AfLogoWell {\n render() {\n return (\n <Host>\n <div class=\"logo-well\">\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-nav-accordion.js","sourceRoot":"","sources":["../../../src/components/af-nav-accordion/af-nav-accordion.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAgB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEtG;;;;;GAKG;AAOH,MAAM,OAAO,cAAc;IAN3B;QASE;;;;WAIG;QACK,SAAI,GAAgC,WAAW,CAAC;QAExD;;;;WAIG;QACsB,eAAU,GAAyB,QAAQ,CAAC;QAY5D,kBAAa,GAAa,EAAE,CAAC;KAoEvC;IAlEC,iBAAiB;QACf,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IAEH,gBAAgB,CAAC,KAAqD;QACpE,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;QAEtC,IAAI,QAAkB,CAAC;QAEvB,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC9B,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,EAAE,CAAC;gBACT,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;QAC9B,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,WAAW;YACzC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5C,CAAC,CAAC,QAAQ,CAAC;QACb,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACrD,CAAC;IAEO,cAAc,CAAC,KAAoC;QACzD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC/D,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAEO,SAAS;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;QAChE,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACxB,MAAM,IAAI,GAAG,OAA4D,CAAC;YAC1E,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAE,EAAE,CAAC,cAAc,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE;YACnF,4DAAK,KAAK,EAAC,eAAe;gBACxB,8DAAa,CACT,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop, Host, Event, EventEmitter, Element, State, Listen } from '@stencil/core';\n\n/**\n * Navigation-styled accordion for mobile menu patterns.\n * A wrapper around af-accordion with navigation-specific styling.\n * \n * @slot - Place af-nav-accordion-item components here\n */\n@Component({\n tag: 'af-nav-accordion',\n styleUrl: 'af-nav-accordion.css',\n shadow: false,\n scoped: true,\n})\nexport class AfNavAccordion {\n @Element() el!: HTMLElement;\n\n /**\n * Behavior mode for the accordion.\n * - `independent`: Multiple items can be open simultaneously\n * - `exclusive`: Only one item can be open at a time (typical for mobile nav)\n */\n @Prop() mode: 'independent' | 'exclusive' = 'exclusive';\n\n /**\n * Breakpoint for styling\n * - `desktop`: Desktop-specific styles\n * - `mobile`: Mobile-specific styles (default for nav menus)\n */\n @Prop({ reflect: true }) breakpoint: 'desktop' | 'mobile' = 'mobile';\n\n /**\n * Currently open item ID(s)\n */\n @Prop({ mutable: true }) value?: string | string[];\n\n /**\n * Emitted when the open state of items changes\n */\n @Event({ eventName: 'af-nav-accordion-change' }) navAccordionChange!: EventEmitter<{ value: string | string[] | null }>;\n\n @State() internalValue: string[] = [];\n\n componentWillLoad() {\n this.internalValue = this.normalizeValue(this.value);\n }\n\n /**\n * Listen for toggle events from child items\n */\n @Listen('af-nav-accordion-item-toggle')\n handleItemToggle(event: CustomEvent<{ itemId: string; open: boolean }>) {\n event.stopPropagation();\n const { itemId, open } = event.detail;\n\n let newValue: string[];\n\n if (this.mode === 'exclusive') {\n newValue = open ? [itemId] : [];\n } else {\n if (open) {\n newValue = [...this.internalValue, itemId];\n } else {\n newValue = this.internalValue.filter(id => id !== itemId);\n }\n }\n\n this.internalValue = newValue;\n this.syncItems();\n\n const emitValue = this.mode === 'exclusive' \n ? (newValue.length > 0 ? newValue[0] : null)\n : newValue;\n this.navAccordionChange.emit({ value: emitValue });\n }\n\n private normalizeValue(value: string | string[] | undefined): string[] {\n if (value === undefined || value === null) {\n return [];\n }\n if (Array.isArray(value)) {\n return this.mode === 'exclusive' ? value.slice(0, 1) : value;\n }\n return [value];\n }\n\n private syncItems() {\n const items = this.el.querySelectorAll('af-nav-accordion-item');\n items.forEach((element) => {\n const item = element as HTMLElement & { itemId?: string; open?: boolean };\n if (item.itemId) {\n item.open = this.internalValue.includes(item.itemId);\n }\n });\n }\n\n componentDidLoad() {\n this.syncItems();\n }\n\n render() {\n return (\n <Host class={{ [`breakpoint-${this.breakpoint}`]: true, [`mode-${this.mode}`]: true }}>\n <div class=\"nav-accordion\">\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-nav-accordion-item.js","sourceRoot":"","sources":["../../../src/components/af-nav-accordion-item/af-nav-accordion-item.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAgB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE7G;;;;;;GAMG;AAOH,MAAM,OAAO,kBAAkB;IAN/B;QAmBE;;WAEG;QACqC,SAAI,GAAY,KAAK,CAAC;QAE9D;;WAEG;QACsB,aAAQ,GAAY,KAAK,CAAC;QAQnD;;WAEG;QACsB,eAAU,GAAyB,QAAQ,CAAC;QAO5D,kBAAa,GAAW,CAAC,CAAC;QAC1B,mBAAc,GAAY,KAAK,CAAC;QAkCjC,uBAAkB,GAAG,CAAC,KAAiB,EAAE,EAAE;YACjD,iFAAiF;YACjF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO;YACT,CAAC;YACD,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC,CAAC;QAEM,kBAAa,GAAG,CAAC,KAAoB,EAAE,EAAE;YAC/C,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC/D,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,CAAC;QACH,CAAC,CAAC;QAEM,qBAAgB,GAAG,CAAC,KAAY,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,MAAyB,CAAC;YAC7C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QACxD,CAAC,CAAC;KAoFH;IApIC,gBAAgB,CAAC,QAAiB;QAChC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YACvB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QACpD,CAAC;IACH,CAAC;IAuBD,MAAM;QACJ,MAAM,YAAY,GAAG;YACnB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,KAAK;SACzD,CAAC;QAEF,MAAM,kBAAkB,GAAG,IAAI,CAAC,CAAC,uDAAuD;QAExF,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,SAAS,EAAE,IAAI,CAAC,IAAI;gBACpB,aAAa,EAAE,IAAI,CAAC,QAAQ;gBAC5B,CAAC,cAAc,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI;aACxC;YAED,4DAAK,KAAK,EAAC,oBAAoB;gBAE5B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CACX,SACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAC,SAAS,mBACA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,mBAC5B,WAAW,IAAI,CAAC,MAAM,EAAE;oBAEvC,WAAK,KAAK,EAAC,iBAAiB;wBAC1B,YAAM,IAAI,EAAC,SAAS,EAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB;4BACtD,YAAM,KAAK,EAAC,OAAO,IAAE,IAAI,CAAC,KAAK,CAAQ,CAClC,CACH;oBACL,kBAAkB,IAAI,CACrB,cACE,KAAK,EAAC,gBAAgB,EACtB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,gBAC/D,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAC7C,IAAI,EAAC,QAAQ;wBAEb,WAAK,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE;4BACnD,WAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc;gCAC/E,YAAM,CAAC,EAAC,cAAc,kBAAc,GAAG,oBAAgB,OAAO,qBAAiB,OAAO,GAAE,CACpF,CACF,CACC,CACV,CACC,CACL,CAAC,CAAC,CAAC,CACF,cACE,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAChC,SAAS,EAAE,IAAI,CAAC,aAAa,mBACd,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,mBAC5B,WAAW,IAAI,CAAC,MAAM,EAAE,EACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAC,QAAQ;oBAEb,WAAK,KAAK,EAAC,iBAAiB;wBAC1B,YAAM,IAAI,EAAC,SAAS,EAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB;4BACtD,YAAM,KAAK,EAAC,OAAO,IAAE,IAAI,CAAC,KAAK,CAAQ,CAClC,CACH;oBACN,WAAK,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE;wBACnD,WAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc;4BAC/E,YAAM,CAAC,EAAC,cAAc,kBAAc,GAAG,oBAAgB,OAAO,qBAAiB,OAAO,GAAE,CACpF,CACF,CACC,CACV;gBAGD,4DACE,EAAE,EAAE,WAAW,IAAI,CAAC,MAAM,EAAE,EAC5B,KAAK,EAAC,iBAAiB,EACvB,KAAK,EAAE,YAAY,iBACN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;oBAE1C,4DAAK,KAAK,EAAC,SAAS,EAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;wBACtD,8DAAa,CACT,CACF,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop, Host, Event, EventEmitter, Element, State, Watch, Method } from '@stencil/core';\n\n/**\n * Navigation accordion item with NavItem-styled trigger.\n * Combines navigation item styling with accordion collapse behavior.\n * \n * @slot trigger - Custom trigger content (optional - uses label if not provided)\n * @slot - The collapsible content (typically NavMenuNest or NavMenu components)\n */\n@Component({\n tag: 'af-nav-accordion-item',\n styleUrl: 'af-nav-accordion-item.css',\n shadow: false,\n scoped: true,\n})\nexport class AfNavAccordionItem {\n @Element() el!: HTMLElement;\n\n /**\n * Unique identifier for this accordion item\n */\n @Prop({ reflect: true }) itemId!: string;\n\n /**\n * Label text for the navigation item trigger\n */\n @Prop() label?: string;\n\n /**\n * Whether this item is currently expanded\n */\n @Prop({ reflect: true, mutable: true }) open: boolean = false;\n\n /**\n * Whether this item is disabled\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Optional href - if provided, clicking navigates instead of expanding\n * (chevron area would still toggle expansion if both behaviors needed)\n */\n @Prop() href?: string;\n\n /**\n * Breakpoint for styling\n */\n @Prop({ reflect: true }) breakpoint: 'desktop' | 'mobile' = 'mobile';\n\n /**\n * Emitted when the accordion item is toggled\n */\n @Event({ eventName: 'af-nav-accordion-item-toggle' }) navAccordionItemToggle!: EventEmitter<{ itemId: string; open: boolean }>;\n\n @State() contentHeight: number = 0;\n @State() hasTriggerSlot: boolean = false;\n\n private contentRef?: HTMLElement;\n\n @Watch('open')\n handleOpenChange(newValue: boolean) {\n if (newValue) {\n this.measureContent();\n }\n }\n\n componentDidLoad() {\n if (this.open) {\n this.measureContent();\n }\n }\n\n /**\n * Programmatically toggle the accordion item\n */\n @Method()\n async toggle() {\n if (!this.disabled && !this.href) {\n this.open = !this.open;\n this.navAccordionItemToggle.emit({ itemId: this.itemId, open: this.open });\n }\n }\n\n private measureContent() {\n if (this.contentRef) {\n this.contentHeight = this.contentRef.scrollHeight;\n }\n }\n\n private handleTriggerClick = (event: MouseEvent) => {\n // If it's a link, let it navigate (unless they clicked the chevron specifically)\n if (this.href) {\n return;\n }\n event.preventDefault();\n this.toggle();\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if ((event.key === 'Enter' || event.key === ' ') && !this.href) {\n event.preventDefault();\n this.toggle();\n }\n };\n\n private handleSlotChange = (event: Event) => {\n const slot = event.target as HTMLSlotElement;\n this.hasTriggerSlot = slot.assignedNodes().length > 0;\n };\n\n render() {\n const contentStyle = {\n maxHeight: this.open ? `${this.contentHeight}px` : '0px'\n };\n\n const hasDropdownContent = true; // Assume content is always present for accordion items\n\n return (\n <Host \n class={{ \n 'is-open': this.open, \n 'is-disabled': this.disabled,\n [`breakpoint-${this.breakpoint}`]: true\n }}\n >\n <div class=\"nav-accordion-item\">\n {/* Trigger */}\n {this.href ? (\n <a\n href={this.href}\n class=\"trigger\"\n aria-expanded={this.open ? 'true' : 'false'}\n aria-controls={`content-${this.itemId}`}\n >\n <div class=\"trigger-content\">\n <slot name=\"trigger\" onSlotchange={this.handleSlotChange}>\n <span class=\"label\">{this.label}</span>\n </slot>\n </div>\n {hasDropdownContent && (\n <button \n class=\"chevron-button\"\n onClick={(e) => { e.preventDefault(); e.stopPropagation(); this.toggle(); }}\n aria-label={this.open ? 'Collapse' : 'Expand'}\n type=\"button\"\n >\n <div class={{ 'chevron': true, 'is-open': this.open }}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\">\n <path d=\"M6 9l6 6 6-6\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </div>\n </button>\n )}\n </a>\n ) : (\n <button\n class=\"trigger\"\n onClick={this.handleTriggerClick}\n onKeyDown={this.handleKeyDown}\n aria-expanded={this.open ? 'true' : 'false'}\n aria-controls={`content-${this.itemId}`}\n disabled={this.disabled}\n type=\"button\"\n >\n <div class=\"trigger-content\">\n <slot name=\"trigger\" onSlotchange={this.handleSlotChange}>\n <span class=\"label\">{this.label}</span>\n </slot>\n </div>\n <div class={{ 'chevron': true, 'is-open': this.open }}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\">\n <path d=\"M6 9l6 6 6-6\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </div>\n </button>\n )}\n\n {/* Collapsible content */}\n <div\n id={`content-${this.itemId}`}\n class=\"content-wrapper\"\n style={contentStyle}\n aria-hidden={!this.open ? 'true' : 'false'}\n >\n <div class=\"content\" ref={(el) => (this.contentRef = el)}>\n <slot></slot>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-nav-card.js","sourceRoot":"","sources":["../../../src/components/af-nav-card/af-nav-card.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEhE;;;;;;;;;;;GAWG;AAOH,MAAM,OAAO,SAAS;IANtB;QAsBE;;WAEG;QACK,aAAQ,GAAW,EAAE,CAAC;QAErB,cAAS,GAAY,KAAK,CAAC;QAE5B,qBAAgB,GAAG,GAAG,EAAE;YAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC,CAAC;QAEM,qBAAgB,GAAG,GAAG,EAAE;YAC9B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC,CAAC;KAuCH;IArCC,MAAM;QACJ,MAAM,OAAO,GAAG;YACd,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI,CAAC,SAAS;SAC7B,CAAC;QAEF,MAAM,OAAO,GAAG,CACd,WACE,KAAK,EAAE,OAAO,EACd,YAAY,EAAE,IAAI,CAAC,gBAAgB,EACnC,YAAY,EAAE,IAAI,CAAC,gBAAgB;YAEnC,WAAK,KAAK,EAAC,iBAAiB,IACzB,IAAI,CAAC,QAAQ,IAAI,CAChB,WAAK,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAC,YAAY,GAAG,CACnE,CACG;YACN,WAAK,KAAK,EAAC,SAAS,IACjB,IAAI,CAAC,OAAO,IAAI,CACf,UAAI,KAAK,EAAC,SAAS,IAAE,IAAI,CAAC,OAAO,CAAM,CACxC,CACG,CACF,CACP,CAAC;QAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CACL,EAAC,IAAI;gBACH,SAAG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAC,WAAW,IAClC,OAAO,CACN,CACC,CACR,CAAC;QACJ,CAAC;QAED,OAAO,EAAC,IAAI,QAAE,OAAO,CAAQ,CAAC;IAChC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop, Host, State } from '@stencil/core';\n\n/**\n * A navigation card component for featured article content in mega-menu dropdowns.\n * Displays an image with a gradient overlay and headline text.\n * \n * **Usage:**\n * - Place in the `sidebar` slot of NavMenuNest\n * - Provide imageSrc, heading, and href props\n * \n * **Hover behavior:**\n * - Slight scale effect (1.02)\n * - Headline underline\n */\n@Component({\n tag: 'af-nav-card',\n styleUrl: 'af-nav-card.css',\n shadow: false,\n scoped: true,\n})\nexport class AfNavCard {\n /**\n * The headline text displayed over the image\n */\n @Prop() heading?: string;\n\n /**\n * URL to navigate to when clicked\n */\n @Prop() href?: string;\n\n /**\n * Image source URL for the background\n */\n @Prop() imageSrc?: string;\n\n /**\n * Alternative text for the image\n */\n @Prop() imageAlt: string = '';\n\n @State() isHovered: boolean = false;\n\n private handleMouseEnter = () => {\n this.isHovered = true;\n };\n\n private handleMouseLeave = () => {\n this.isHovered = false;\n };\n\n render() {\n const classes = {\n 'nav-card': true,\n 'is-hovered': this.isHovered\n };\n\n const content = (\n <div\n class={classes}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n <div class=\"image-container\">\n {this.imageSrc && (\n <img src={this.imageSrc} alt={this.imageAlt} class=\"card-image\" />\n )}\n </div>\n <div class=\"overlay\">\n {this.heading && (\n <h3 class=\"heading\">{this.heading}</h3>\n )}\n </div>\n </div>\n );\n\n if (this.href) {\n return (\n <Host>\n <a href={this.href} class=\"card-link\">\n {content}\n </a>\n </Host>\n );\n }\n\n return <Host>{content}</Host>;\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-nav-item.js","sourceRoot":"","sources":["../../../src/components/af-nav-item/af-nav-item.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;;GAGG;AAOH,MAAM,OAAO,SAAS;IANtB;QAOE;;;;WAIG;QACK,cAAS,GAA4B,SAAS,CAAC;QAEvD;;;;WAIG;QACK,YAAO,GAAgB,IAAI,CAAC;QAEpC;;;;WAIG;QACsB,eAAU,GAAyB,SAAS,CAAC;QAOtE;;WAEG;QACK,WAAM,GAAY,KAAK,CAAC;KAiCjC;IA/BC,MAAM;QACJ,MAAM,OAAO,GAAG;YACd,UAAU,EAAE,IAAI;YAChB,CAAC,aAAa,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI;YACrC,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI;YACjC,CAAC,cAAc,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI;YACvC,QAAQ,EAAE,IAAI,CAAC,MAAM;SACtB,CAAC;QAEF,MAAM,OAAO,GAAG,CACd,WAAK,KAAK,EAAE,OAAO;YACjB,YAAM,IAAI,EAAC,WAAW,GAAQ;YAC9B,WAAK,KAAK,EAAC,iBAAiB;gBAC1B,eAAa,CACT;YACN,YAAM,IAAI,EAAC,YAAY,GAAQ,CAC3B,CACP,CAAC;QAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CACL,EAAC,IAAI;gBACH,SAAG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAC,UAAU,IACjC,OAAO,CACN,CACC,CACR,CAAC;QACJ,CAAC;QAED,OAAO,EAAC,IAAI,QAAE,OAAO,CAAQ,CAAC;IAChC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop, Host } from '@stencil/core';\n\n/**\n * A generic navigation item component that can be used in navigation bars, menus, and sidebars.\n * Supports multiple hierarchy levels, variants, and states (active, hover).\n */\n@Component({\n tag: 'af-nav-item',\n styleUrl: 'af-nav-item.css',\n shadow: false,\n scoped: true,\n})\nexport class AfNavItem {\n /**\n * Visual hierarchy level of the navigation item\n * - 'primary': Bold, main navigation (larger text, prominent styling)\n * - 'secondary': Lighter, sub-navigation (smaller text, subtle styling)\n */\n @Prop() hierarchy: 'primary' | 'secondary' = 'primary';\n\n /**\n * Visual variant within the hierarchy level\n * - '01': Darker/more prominent styling\n * - '02': Lighter/more subtle styling\n */\n @Prop() variant: '01' | '02' = '01';\n\n /**\n * Breakpoint variant for responsive styling\n * - 'desktop': Desktop-specific styles\n * - 'mobile': Mobile-specific styles (larger text, different spacing)\n */\n @Prop({ reflect: true }) breakpoint: 'desktop' | 'mobile' = 'desktop';\n\n /**\n * URL to navigate to when clicked\n */\n @Prop() href?: string;\n\n /**\n * Whether this nav item is currently active/selected\n */\n @Prop() active: boolean = false;\n\n render() {\n const classes = {\n 'nav-item': true,\n [`hierarchy-${this.hierarchy}`]: true,\n [`variant-${this.variant}`]: true,\n [`breakpoint-${this.breakpoint}`]: true,\n 'active': this.active\n };\n\n const content = (\n <div class={classes}>\n <slot name=\"icon-left\"></slot>\n <div class=\"label-container\">\n <slot></slot>\n </div>\n <slot name=\"icon-right\"></slot>\n </div>\n );\n\n if (this.href) {\n return (\n <Host>\n <a href={this.href} class=\"nav-link\">\n {content}\n </a>\n </Host>\n );\n }\n\n return <Host>{content}</Host>;\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-nav-menu.js","sourceRoot":"","sources":["../../../src/components/af-nav-menu/af-nav-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;;GAGG;AAOH,MAAM,OAAO,SAAS;IANtB;QAYE;;;;WAIG;QACK,eAAU,GAAyB,SAAS,CAAC;QAErD;;;;WAIG;QACK,eAAU,GAAY,KAAK,CAAC;QAEpC;;;WAGG;QACsB,cAAS,GAAY,KAAK,CAAC;KAyBrD;IAvBC,MAAM;QACJ,MAAM,OAAO,GAAG;YACd,UAAU,EAAE,IAAI;YAChB,CAAC,cAAc,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI;YACvC,YAAY,EAAE,IAAI,CAAC,UAAU;YAC7B,YAAY,EAAE,IAAI,CAAC,SAAS;SAC7B,CAAC;QAEF,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAE,OAAO;gBAChB,IAAI,CAAC,OAAO,IAAI,CACf,4DAAK,KAAK,EAAC,aAAa;oBACtB,2DAAI,KAAK,EAAC,cAAc,IAAE,IAAI,CAAC,OAAO,CAAM,CACxC,CACP;gBACD,4DAAK,KAAK,EAAC,YAAY;oBACrB,8DAAa,CACT,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop, Host } from '@stencil/core';\n\n/**\n * A grouped navigation menu component with a heading.\n * Used in mega-menu dropdowns to group related navigation items.\n */\n@Component({\n tag: 'af-nav-menu',\n styleUrl: 'af-nav-menu.css',\n shadow: false,\n scoped: true,\n})\nexport class AfNavMenu {\n /**\n * The heading text displayed above the navigation items\n */\n @Prop() heading?: string;\n\n /**\n * Breakpoint variant for responsive styling\n * - 'desktop': Desktop-specific styles (right border, horizontal padding)\n * - 'mobile': Mobile-specific styles (bottom border, vertical layout)\n */\n @Prop() breakpoint: 'desktop' | 'mobile' = 'desktop';\n\n /**\n * Whether to show the right border separator.\n * When used inside NavMenuNest, borders are controlled by the parent.\n * Set to true only when using NavMenu standalone.\n */\n @Prop() showBorder: boolean = false;\n\n /**\n * Whether to display as a card with background color and rounded corners.\n * Used for highlighted sidebar menus (e.g., solutions-alt variant).\n */\n @Prop({ reflect: true }) cardStyle: boolean = false;\n\n render() {\n const classes = {\n 'nav-menu': true,\n [`breakpoint-${this.breakpoint}`]: true,\n 'has-border': this.showBorder,\n 'card-style': this.cardStyle\n };\n\n return (\n <Host>\n <div class={classes}>\n {this.heading && (\n <div class=\"menu-header\">\n <h3 class=\"menu-heading\">{this.heading}</h3>\n </div>\n )}\n <div class=\"menu-items\">\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"af-nav-menu-nest.js","sourceRoot":"","sources":["../../../src/components/af-nav-menu-nest/af-nav-menu-nest.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;;;;;;;;;;;;;;;;;GAkBG;AAOH,MAAM,OAAO,aAAa;IAN1B;QAOE;;;;;;WAMG;QACK,SAAI,GAA4D,WAAW,CAAC;QAEpF;;;;WAIG;QACK,eAAU,GAAyB,SAAS,CAAC;QAErD;;;;WAIG;QACsB,sBAAiB,GAAY,IAAI,CAAC;KAuB5D;IArBC,MAAM;QACJ,MAAM,OAAO,GAAG;YACd,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,IAAI;YACnB,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI;YAC3B,CAAC,cAAc,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI;SACxC,CAAC;QAEF,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAE,OAAO;gBACjB,4DAAK,KAAK,EAAC,cAAc;oBACvB,8DAAa,CACT;gBACN,4DAAK,KAAK,EAAC,cAAc;oBACvB,6DAAM,IAAI,EAAC,SAAS,GAAQ,CACxB,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop, Host } from '@stencil/core';\n\n/**\n * A mega-menu dropdown panel component.\n * Acts as a container for NavMenu columns and optionally a sidebar.\n * Used as the dropdown content for navbar items.\n * \n * **Slots:**\n * - default: Place NavMenu components here - they will be displayed as columns\n * - sidebar: Optional sidebar content (NavMenu, NavCard, or any content)\n * \n * **Example:**\n * ```html\n * <af-nav-menu-nest type=\"solutions\" breakpoint=\"desktop\">\n * <af-nav-menu heading=\"Industries\">...</af-nav-menu>\n * <af-nav-menu heading=\"Use Cases\">...</af-nav-menu>\n * <af-nav-menu heading=\"Documents\">...</af-nav-menu>\n * <af-nav-menu slot=\"sidebar\" heading=\"Resume Parser\">...</af-nav-menu>\n * </af-nav-menu-nest>\n * ```\n */\n@Component({\n tag: 'af-nav-menu-nest',\n styleUrl: 'af-nav-menu-nest.css',\n shadow: false,\n scoped: true,\n})\nexport class AfNavMenuNest {\n /**\n * The type/variant of the mega-menu\n * - 'solutions': Multi-column layout (3 columns + sidebar)\n * - 'solutions-alt': Alternative solutions layout\n * - 'resources': Multi-column layout with optional featured card\n * - 'pricing': Simpler layout without sidebar\n */\n @Prop() type: 'solutions' | 'solutions-alt' | 'resources' | 'pricing' = 'solutions';\n\n /**\n * Breakpoint variant for responsive styling\n * - 'desktop': Horizontal multi-column layout\n * - 'mobile': Vertical stacked layout\n */\n @Prop() breakpoint: 'desktop' | 'mobile' = 'desktop';\n\n /**\n * Whether to show the heavier border on the last column (before sidebar).\n * Set to `true` when sidebar has content, `false` when no sidebar.\n * When `false`, the last column has no border.\n */\n @Prop({ reflect: true }) showSidebarBorder: boolean = true;\n\n render() {\n const classes = {\n 'nav-menu-nest': true,\n 'theme-white': true,\n [`type-${this.type}`]: true,\n [`breakpoint-${this.breakpoint}`]: true\n };\n\n return (\n <Host>\n <div class={classes}>\n <div class=\"menu-columns\">\n <slot></slot>\n </div>\n <div class=\"menu-sidebar\">\n <slot name=\"sidebar\"></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}