@affinda/wc 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (470) hide show
  1. package/dist/affinda/af-card.entry.esm.js.map +1 -1
  2. package/dist/affinda/af-client-carousel.entry.esm.js.map +1 -1
  3. package/dist/affinda/af-divider.entry.esm.js.map +1 -1
  4. package/dist/affinda/af-feature-card.entry.esm.js.map +1 -1
  5. package/dist/affinda/af-grid.entry.esm.js.map +1 -1
  6. package/dist/affinda/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.esm.js.map +1 -1
  7. package/dist/affinda/af-hero.entry.esm.js.map +1 -0
  8. package/dist/affinda/af-illustrated-card.entry.esm.js.map +1 -1
  9. package/dist/affinda/af-in-page-banner.entry.esm.js.map +1 -1
  10. package/dist/affinda/af-inline.entry.esm.js.map +1 -1
  11. package/dist/affinda/af-numbered-stepper-item.entry.esm.js.map +1 -0
  12. package/dist/affinda/af-numbered-stepper.entry.esm.js.map +1 -0
  13. package/dist/affinda/af-section.entry.esm.js.map +1 -1
  14. package/dist/affinda/af-split-section.entry.esm.js.map +1 -1
  15. package/dist/affinda/af-stack.entry.esm.js.map +1 -1
  16. package/dist/affinda/af-stat.entry.esm.js.map +1 -0
  17. package/dist/affinda/af-stats-row.entry.esm.js.map +1 -0
  18. package/dist/affinda/af-theme-override.entry.esm.js.map +1 -1
  19. package/dist/affinda/af-typography-lockup.entry.esm.js.map +1 -1
  20. package/dist/affinda/affinda.esm.js +1 -1
  21. package/dist/affinda/index.esm.js +1 -1
  22. package/dist/affinda/index.esm.js.map +1 -1
  23. package/dist/affinda/{p-4cf65950.entry.js → p-068ac2fb.entry.js} +2 -2
  24. package/dist/affinda/{p-4b154e23.entry.js → p-09dfcd40.entry.js} +2 -2
  25. package/dist/affinda/{p-f10a31cb.entry.js → p-0acadf6f.entry.js} +2 -2
  26. package/dist/affinda/{p-e1e98cd6.entry.js → p-1b4b0c88.entry.js} +2 -2
  27. package/dist/affinda/p-2237e652.entry.js +2 -0
  28. package/dist/affinda/{p-56fe6e6e.entry.js.map → p-2237e652.entry.js.map} +1 -1
  29. package/dist/affinda/p-2526604b.entry.js +2 -0
  30. package/dist/affinda/p-2526604b.entry.js.map +1 -0
  31. package/dist/affinda/{p-8c4e3047.entry.js → p-256970e3.entry.js} +2 -2
  32. package/dist/affinda/p-32d62fbb.entry.js +2 -0
  33. package/dist/affinda/{p-3ee906de.entry.js → p-342b08e5.entry.js} +2 -2
  34. package/dist/affinda/{p-a84ae4a5.entry.js → p-365a75e2.entry.js} +2 -2
  35. package/dist/affinda/p-3ed408f6.entry.js +2 -0
  36. package/dist/affinda/{p-edb1a010.entry.js → p-4058a1eb.entry.js} +2 -2
  37. package/dist/affinda/{p-94f51238.entry.js → p-41bbb218.entry.js} +2 -2
  38. package/dist/affinda/p-436673bb.entry.js +2 -0
  39. package/dist/affinda/p-436673bb.entry.js.map +1 -0
  40. package/dist/affinda/{p-c8c4783c.entry.js → p-44d960ca.entry.js} +2 -2
  41. package/dist/affinda/{p-e1cbe95a.entry.js → p-4a9b192b.entry.js} +2 -2
  42. package/dist/affinda/p-4eeeb8a1.entry.js +2 -0
  43. package/dist/affinda/{p-49521f2e.entry.js.map → p-4eeeb8a1.entry.js.map} +1 -1
  44. package/dist/affinda/{p-b2633acb.entry.js → p-5c163c5b.entry.js} +2 -2
  45. package/dist/affinda/{p-48aadea9.entry.js → p-5e5e7d75.entry.js} +2 -2
  46. package/dist/affinda/{p-da2d84f7.entry.js → p-61a6b43d.entry.js} +2 -2
  47. package/dist/affinda/{p-ea42c40b.entry.js → p-631d141c.entry.js} +2 -2
  48. package/dist/affinda/{p-6038a213.entry.js → p-6475796d.entry.js} +2 -2
  49. package/dist/affinda/p-6756aa66.entry.js +2 -0
  50. package/dist/affinda/p-6e181b2b.entry.js +2 -0
  51. package/dist/affinda/{p-0201c8bd.entry.js → p-6ea474a3.entry.js} +2 -2
  52. package/dist/affinda/{p-a71d528d.entry.js → p-7111051c.entry.js} +2 -2
  53. package/dist/affinda/p-7d3cdda1.entry.js +2 -0
  54. package/dist/affinda/p-7d3cdda1.entry.js.map +1 -0
  55. package/dist/affinda/{p-0137e7a5.entry.js → p-827f3050.entry.js} +2 -2
  56. package/dist/affinda/{p-78518e6c.entry.js → p-83bb96cc.entry.js} +2 -2
  57. package/dist/affinda/p-85cc55bb.entry.js +2 -0
  58. package/dist/affinda/p-85cc55bb.entry.js.map +1 -0
  59. package/dist/affinda/{p-2e6192eb.entry.js → p-9480f00d.entry.js} +2 -2
  60. package/dist/affinda/{p-e055407b.entry.js → p-9ce0adc2.entry.js} +2 -2
  61. package/dist/affinda/{p-81706709.entry.js → p-a02d6192.entry.js} +2 -2
  62. package/dist/affinda/p-a1e80460.entry.js +2 -0
  63. package/dist/affinda/{p-ef5857cf.entry.js.map → p-a1e80460.entry.js.map} +1 -1
  64. package/dist/affinda/{p-ad41f905.entry.js → p-a25d3257.entry.js} +2 -2
  65. package/dist/affinda/{p-50a67fb6.entry.js → p-a7a8f18c.entry.js} +2 -2
  66. package/dist/affinda/{p-5f6a5741.entry.js → p-a8d75eb1.entry.js} +2 -2
  67. package/dist/affinda/{p-5265e82e.entry.js → p-ae430873.entry.js} +2 -2
  68. package/dist/affinda/{p-081cc890.entry.js → p-b39eea31.entry.js} +2 -2
  69. package/dist/affinda/{p-4c4406bf.entry.js → p-b9ec0e75.entry.js} +2 -2
  70. package/dist/affinda/{p-feb3d03f.entry.js → p-bbfc9df6.entry.js} +2 -2
  71. package/dist/affinda/{p-6c58b283.entry.js → p-bed7d9a1.entry.js} +2 -2
  72. package/dist/affinda/{p-3a0e45c3.entry.js → p-d7d82986.entry.js} +2 -2
  73. package/dist/affinda/p-dabd389a.entry.js +2 -0
  74. package/dist/affinda/p-dabd389a.entry.js.map +1 -0
  75. package/dist/affinda/{p-a35029eb.entry.js → p-dcc89b4c.entry.js} +2 -2
  76. package/dist/affinda/{p-6e40dbdf.entry.js → p-de75cb4f.entry.js} +2 -2
  77. package/dist/affinda/{p-f9315f9e.entry.js → p-e07e27f1.entry.js} +2 -2
  78. package/dist/affinda/{p-dbe7ab88.entry.js → p-eeda78ea.entry.js} +2 -2
  79. package/dist/affinda/{p-b2b28366.entry.js → p-f19cb091.entry.js} +2 -2
  80. package/dist/cjs/af-accordion-item.cjs.entry.js +1 -1
  81. package/dist/cjs/af-accordion.cjs.entry.js +1 -1
  82. package/dist/cjs/af-card.cjs.entry.js +1 -1
  83. package/dist/cjs/af-card.entry.cjs.js.map +1 -1
  84. package/dist/cjs/af-center.cjs.entry.js +1 -1
  85. package/dist/cjs/af-client-carousel.cjs.entry.js +1 -1
  86. package/dist/cjs/af-client-carousel.entry.cjs.js.map +1 -1
  87. package/dist/cjs/af-contact-item.cjs.entry.js +1 -1
  88. package/dist/cjs/af-divider.cjs.entry.js +1 -1
  89. package/dist/cjs/af-divider.entry.cjs.js.map +1 -1
  90. package/dist/cjs/af-feature-accordion.cjs.entry.js +2 -2
  91. package/dist/cjs/af-feature-card.entry.cjs.js.map +1 -1
  92. package/dist/cjs/af-feature-grid.cjs.entry.js +1 -1
  93. package/dist/cjs/af-footer-column.cjs.entry.js +1 -1
  94. package/dist/cjs/af-footer-link.cjs.entry.js +1 -1
  95. package/dist/cjs/af-footer.cjs.entry.js +1 -1
  96. package/dist/cjs/af-grid.cjs.entry.js +2 -2
  97. package/dist/cjs/af-grid.entry.cjs.js.map +1 -1
  98. package/dist/cjs/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.cjs.js.map +1 -1
  99. package/dist/cjs/af-heading_5.cjs.entry.js +1 -1
  100. package/dist/cjs/af-hero.cjs.entry.js +94 -0
  101. package/dist/cjs/af-hero.entry.cjs.js.map +1 -0
  102. package/dist/cjs/af-icon-box.cjs.entry.js +1 -1
  103. package/dist/cjs/af-icon-text.cjs.entry.js +1 -1
  104. package/dist/cjs/af-illustrated-card.cjs.entry.js +1 -1
  105. package/dist/cjs/af-illustrated-card.entry.cjs.js.map +1 -1
  106. package/dist/cjs/af-image.cjs.entry.js +1 -1
  107. package/dist/cjs/af-in-page-banner.cjs.entry.js +1 -1
  108. package/dist/cjs/af-in-page-banner.entry.cjs.js.map +1 -1
  109. package/dist/cjs/af-inline.cjs.entry.js +1 -1
  110. package/dist/cjs/af-inline.entry.cjs.js.map +1 -1
  111. package/dist/cjs/af-logo-well.cjs.entry.js +1 -1
  112. package/dist/cjs/af-nav-accordion-item.cjs.entry.js +2 -2
  113. package/dist/cjs/af-nav-accordion.cjs.entry.js +1 -1
  114. package/dist/cjs/af-nav-menu-nest.cjs.entry.js +1 -1
  115. package/dist/cjs/af-nav-menu.cjs.entry.js +1 -1
  116. package/dist/cjs/af-number-badge.cjs.entry.js +1 -1
  117. package/dist/cjs/af-numbered-stepper-item.cjs.entry.js +25 -0
  118. package/dist/cjs/af-numbered-stepper-item.entry.cjs.js.map +1 -0
  119. package/dist/cjs/af-numbered-stepper.cjs.entry.js +36 -0
  120. package/dist/cjs/af-numbered-stepper.entry.cjs.js.map +1 -0
  121. package/dist/cjs/af-paperclip-decoration.cjs.entry.js +1 -1
  122. package/dist/cjs/af-progress-line.cjs.entry.js +2 -2
  123. package/dist/cjs/af-section.cjs.entry.js +2 -2
  124. package/dist/cjs/af-section.entry.cjs.js.map +1 -1
  125. package/dist/cjs/af-show.cjs.entry.js +1 -1
  126. package/dist/cjs/af-social-link.cjs.entry.js +1 -1
  127. package/dist/cjs/af-spacer.cjs.entry.js +1 -1
  128. package/dist/cjs/af-split-section.cjs.entry.js +2 -2
  129. package/dist/cjs/af-split-section.entry.cjs.js.map +1 -1
  130. package/dist/cjs/af-stack.cjs.entry.js +1 -1
  131. package/dist/cjs/af-stack.entry.cjs.js.map +1 -1
  132. package/dist/cjs/af-stat.cjs.entry.js +18 -0
  133. package/dist/cjs/af-stat.entry.cjs.js.map +1 -0
  134. package/dist/cjs/af-stats-row.cjs.entry.js +18 -0
  135. package/dist/cjs/af-stats-row.entry.cjs.js.map +1 -0
  136. package/dist/cjs/af-stepper-step.cjs.entry.js +1 -1
  137. package/dist/cjs/af-stepper.cjs.entry.js +1 -1
  138. package/dist/cjs/af-testimonial-carousel.cjs.entry.js +1 -1
  139. package/dist/cjs/af-testimonial-stat.cjs.entry.js +1 -1
  140. package/dist/cjs/af-testimonial.cjs.entry.js +2 -2
  141. package/dist/cjs/af-text-image-nest.cjs.entry.js +1 -1
  142. package/dist/cjs/af-theme-override.cjs.entry.js +1 -1
  143. package/dist/cjs/af-theme-override.entry.cjs.js.map +1 -1
  144. package/dist/cjs/af-typography-lockup.cjs.entry.js +1 -1
  145. package/dist/cjs/af-typography-lockup.entry.cjs.js.map +1 -1
  146. package/dist/cjs/af-video-container.cjs.entry.js +1 -1
  147. package/dist/cjs/af-visually-hidden.cjs.entry.js +1 -1
  148. package/dist/cjs/affinda.cjs.js +1 -1
  149. package/dist/cjs/index.cjs.js +2 -0
  150. package/dist/cjs/index.cjs.js.map +1 -1
  151. package/dist/cjs/loader.cjs.js +1 -1
  152. package/dist/collection/collection-manifest.json +5 -0
  153. package/dist/collection/components/af-accordion/af-accordion.js +1 -1
  154. package/dist/collection/components/af-accordion-item/af-accordion-item.js +1 -1
  155. package/dist/collection/components/af-card/af-card.js +9 -3
  156. package/dist/collection/components/af-card/af-card.js.map +1 -1
  157. package/dist/collection/components/af-center/af-center.js +1 -1
  158. package/dist/collection/components/af-client-carousel/af-client-carousel.js +4 -3
  159. package/dist/collection/components/af-client-carousel/af-client-carousel.js.map +1 -1
  160. package/dist/collection/components/af-contact-item/af-contact-item.js +1 -1
  161. package/dist/collection/components/af-divider/af-divider.js +1 -1
  162. package/dist/collection/components/af-divider/af-divider.js.map +1 -1
  163. package/dist/collection/components/af-feature-accordion/af-feature-accordion.js +2 -2
  164. package/dist/collection/components/af-feature-card/af-feature-card.js +8 -2
  165. package/dist/collection/components/af-feature-card/af-feature-card.js.map +1 -1
  166. package/dist/collection/components/af-feature-grid/af-feature-grid.js +1 -1
  167. package/dist/collection/components/af-footer/af-footer.js +1 -1
  168. package/dist/collection/components/af-footer-column/af-footer-column.js +1 -1
  169. package/dist/collection/components/af-footer-link/af-footer-link.js +1 -1
  170. package/dist/collection/components/af-grid/af-grid.js +5 -4
  171. package/dist/collection/components/af-grid/af-grid.js.map +1 -1
  172. package/dist/collection/components/af-hero/af-hero.css +282 -0
  173. package/dist/collection/components/af-hero/af-hero.js +314 -0
  174. package/dist/collection/components/af-hero/af-hero.js.map +1 -0
  175. package/dist/collection/components/af-icon-box/af-icon-box.js +1 -1
  176. package/dist/collection/components/af-icon-text/af-icon-text.js +1 -1
  177. package/dist/collection/components/af-illustrated-card/af-illustrated-card.js +9 -3
  178. package/dist/collection/components/af-illustrated-card/af-illustrated-card.js.map +1 -1
  179. package/dist/collection/components/af-image/af-image.js +1 -1
  180. package/dist/collection/components/af-in-page-banner/af-in-page-banner.js +7 -6
  181. package/dist/collection/components/af-in-page-banner/af-in-page-banner.js.map +1 -1
  182. package/dist/collection/components/af-inline/af-inline.js +4 -3
  183. package/dist/collection/components/af-inline/af-inline.js.map +1 -1
  184. package/dist/collection/components/af-logo-well/af-logo-well.js +1 -1
  185. package/dist/collection/components/af-nav-accordion/af-nav-accordion.js +1 -1
  186. package/dist/collection/components/af-nav-accordion-item/af-nav-accordion-item.js +2 -2
  187. package/dist/collection/components/af-nav-menu/af-nav-menu.js +1 -1
  188. package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js +1 -1
  189. package/dist/collection/components/af-navbar/af-navbar.js +10 -4
  190. package/dist/collection/components/af-navbar/af-navbar.js.map +1 -1
  191. package/dist/collection/components/af-number-badge/af-number-badge.js +1 -1
  192. package/dist/collection/components/af-numbered-stepper/af-numbered-stepper.css +30 -0
  193. package/dist/collection/components/af-numbered-stepper/af-numbered-stepper.js +92 -0
  194. package/dist/collection/components/af-numbered-stepper/af-numbered-stepper.js.map +1 -0
  195. package/dist/collection/components/af-numbered-stepper-item/af-numbered-stepper-item.css +113 -0
  196. package/dist/collection/components/af-numbered-stepper-item/af-numbered-stepper-item.js +66 -0
  197. package/dist/collection/components/af-numbered-stepper-item/af-numbered-stepper-item.js.map +1 -0
  198. package/dist/collection/components/af-paperclip-decoration/af-paperclip-decoration.js +1 -1
  199. package/dist/collection/components/af-progress-line/af-progress-line.js +2 -2
  200. package/dist/collection/components/af-section/af-section.js +18 -6
  201. package/dist/collection/components/af-section/af-section.js.map +1 -1
  202. package/dist/collection/components/af-show/af-show.js +1 -1
  203. package/dist/collection/components/af-social-link/af-social-link.js +1 -1
  204. package/dist/collection/components/af-spacer/af-spacer.js +1 -1
  205. package/dist/collection/components/af-split-section/af-split-section.js +16 -8
  206. package/dist/collection/components/af-split-section/af-split-section.js.map +1 -1
  207. package/dist/collection/components/af-stack/af-stack.js +4 -3
  208. package/dist/collection/components/af-stack/af-stack.js.map +1 -1
  209. package/dist/collection/components/af-stat/af-stat.css +25 -0
  210. package/dist/collection/components/af-stat/af-stat.js +69 -0
  211. package/dist/collection/components/af-stat/af-stat.js.map +1 -0
  212. package/dist/collection/components/af-stats-row/af-stats-row.css +32 -0
  213. package/dist/collection/components/af-stats-row/af-stats-row.js +33 -0
  214. package/dist/collection/components/af-stats-row/af-stats-row.js.map +1 -0
  215. package/dist/collection/components/af-stepper/af-stepper.js +1 -1
  216. package/dist/collection/components/af-stepper-step/af-stepper-step.js +1 -1
  217. package/dist/collection/components/af-testimonial/af-testimonial.js +2 -2
  218. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js +1 -1
  219. package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js +1 -1
  220. package/dist/collection/components/af-text-image-nest/af-text-image-nest.js +1 -1
  221. package/dist/collection/components/af-theme-override/af-theme-override.js +9 -3
  222. package/dist/collection/components/af-theme-override/af-theme-override.js.map +1 -1
  223. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js +9 -3
  224. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js.map +1 -1
  225. package/dist/collection/components/af-video-container/af-video-container.js +1 -1
  226. package/dist/collection/components/af-visually-hidden/af-visually-hidden.js +1 -1
  227. package/dist/collection/components.js +1 -0
  228. package/dist/collection/components.js.map +1 -1
  229. package/dist/collection/types.js +2 -0
  230. package/dist/collection/types.js.map +1 -0
  231. package/dist/components/af-accordion-item.js +1 -1
  232. package/dist/components/af-accordion.js +1 -1
  233. package/dist/components/af-card.js +1 -1
  234. package/dist/components/af-center.js +1 -1
  235. package/dist/components/af-client-carousel.js +1 -1
  236. package/dist/components/af-client-carousel.js.map +1 -1
  237. package/dist/components/af-contact-item.js +1 -1
  238. package/dist/components/af-divider.js +1 -1
  239. package/dist/components/af-divider.js.map +1 -1
  240. package/dist/components/af-feature-accordion.js +2 -2
  241. package/dist/components/af-feature-card.js +1 -1
  242. package/dist/components/af-feature-grid.js +2 -2
  243. package/dist/components/af-footer-column.js +1 -1
  244. package/dist/components/af-footer-link.js +1 -1
  245. package/dist/components/af-footer.js +1 -1
  246. package/dist/components/af-grid-callout.js +1 -1
  247. package/dist/components/af-grid.js +2 -2
  248. package/dist/components/af-grid.js.map +1 -1
  249. package/dist/components/af-hero.d.ts +11 -0
  250. package/dist/components/af-hero.js +9 -0
  251. package/dist/components/af-hero.js.map +1 -0
  252. package/dist/components/af-icon-box.js +1 -1
  253. package/dist/components/af-icon-text.js +3 -3
  254. package/dist/components/af-illustrated-card.js +1 -1
  255. package/dist/components/af-image.js +1 -1
  256. package/dist/components/af-in-page-banner.js +1 -1
  257. package/dist/components/af-in-page-banner.js.map +1 -1
  258. package/dist/components/af-inline.js +1 -1
  259. package/dist/components/af-inline.js.map +1 -1
  260. package/dist/components/af-logo-well.js +1 -1
  261. package/dist/components/af-nav-accordion-item.js +2 -2
  262. package/dist/components/af-nav-accordion.js +1 -1
  263. package/dist/components/af-nav-menu-nest.js +1 -1
  264. package/dist/components/af-nav-menu.js +1 -1
  265. package/dist/components/af-navbar.js +1 -1
  266. package/dist/components/af-number-badge.js +1 -58
  267. package/dist/components/af-number-badge.js.map +1 -1
  268. package/dist/components/af-numbered-stepper-item.d.ts +11 -0
  269. package/dist/components/af-numbered-stepper-item.js +58 -0
  270. package/dist/components/af-numbered-stepper-item.js.map +1 -0
  271. package/dist/components/af-numbered-stepper.d.ts +11 -0
  272. package/dist/components/af-numbered-stepper.js +57 -0
  273. package/dist/components/af-numbered-stepper.js.map +1 -0
  274. package/dist/components/af-paperclip-decoration.js +1 -1
  275. package/dist/components/af-progress-line.js +1 -1
  276. package/dist/components/af-section.js +1 -46
  277. package/dist/components/af-section.js.map +1 -1
  278. package/dist/components/af-show.js +1 -1
  279. package/dist/components/af-social-link.js +1 -1
  280. package/dist/components/af-spacer.js +1 -1
  281. package/dist/components/af-split-section.js +2 -2
  282. package/dist/components/af-split-section.js.map +1 -1
  283. package/dist/components/af-stack.js +1 -1
  284. package/dist/components/af-stack.js.map +1 -1
  285. package/dist/components/af-stat.d.ts +11 -0
  286. package/dist/components/af-stat.js +53 -0
  287. package/dist/components/af-stat.js.map +1 -0
  288. package/dist/components/af-stats-row.d.ts +11 -0
  289. package/dist/components/af-stats-row.js +37 -0
  290. package/dist/components/af-stats-row.js.map +1 -0
  291. package/dist/components/af-stepper-step.js +1 -1
  292. package/dist/components/af-stepper.js +1 -1
  293. package/dist/components/af-testimonial-carousel.js +2 -2
  294. package/dist/components/af-testimonial-stat.js +1 -1
  295. package/dist/components/af-testimonial.js +2 -2
  296. package/dist/components/af-text-image-nest.js +1 -1
  297. package/dist/components/af-text-image.js +1 -1
  298. package/dist/components/af-theme-override.js +1 -1
  299. package/dist/components/af-theme-override.js.map +1 -1
  300. package/dist/components/af-typography-lockup.js +1 -1
  301. package/dist/components/af-video-container.js +1 -1
  302. package/dist/components/af-visually-hidden.js +1 -1
  303. package/dist/components/index.js +5 -4
  304. package/dist/components/index.js.map +1 -1
  305. package/dist/components/{p-C6-JATRR.js → p-3Gzh4deR.js} +5 -5
  306. package/dist/components/p-3Gzh4deR.js.map +1 -0
  307. package/dist/components/{p-DO9J0XTo.js → p-BXmiPS9x.js} +4 -4
  308. package/dist/components/{p-DO9J0XTo.js.map → p-BXmiPS9x.js.map} +1 -1
  309. package/dist/components/{p-CKLkuSI3.js → p-CJxqw006.js} +3 -3
  310. package/dist/components/{p-CKLkuSI3.js.map → p-CJxqw006.js.map} +1 -1
  311. package/dist/components/p-CRnEuh5f.js +136 -0
  312. package/dist/components/p-CRnEuh5f.js.map +1 -0
  313. package/dist/components/{p-DNeNJhuM.js → p-ClZAZSzR.js} +3 -3
  314. package/dist/components/{p-DNeNJhuM.js.map → p-ClZAZSzR.js.map} +1 -1
  315. package/dist/components/{p-HMlLQQwp.js → p-DqJRvNOl.js} +3 -3
  316. package/dist/components/{p-HMlLQQwp.js.map → p-DqJRvNOl.js.map} +1 -1
  317. package/dist/components/{p-Bh6Cfgtj.js → p-LRPXnaSx.js} +3 -3
  318. package/dist/components/{p-Bh6Cfgtj.js.map → p-LRPXnaSx.js.map} +1 -1
  319. package/dist/components/p-O26uYJSV.js +51 -0
  320. package/dist/components/p-O26uYJSV.js.map +1 -0
  321. package/dist/components/p-QoDae21y.js +63 -0
  322. package/dist/components/p-QoDae21y.js.map +1 -0
  323. package/dist/components/{p-CNzQtskW.js → p-mbl86-w6.js} +4 -4
  324. package/dist/components/p-mbl86-w6.js.map +1 -0
  325. package/dist/components/{p-i_6TLQJ5.js → p-nA3Uvhwb.js} +3 -3
  326. package/dist/components/{p-i_6TLQJ5.js.map → p-nA3Uvhwb.js.map} +1 -1
  327. package/dist/esm/af-accordion-item.entry.js +1 -1
  328. package/dist/esm/af-accordion.entry.js +1 -1
  329. package/dist/esm/af-card.entry.js +1 -1
  330. package/dist/esm/af-card.entry.js.map +1 -1
  331. package/dist/esm/af-center.entry.js +1 -1
  332. package/dist/esm/af-client-carousel.entry.js +1 -1
  333. package/dist/esm/af-client-carousel.entry.js.map +1 -1
  334. package/dist/esm/af-contact-item.entry.js +1 -1
  335. package/dist/esm/af-divider.entry.js +1 -1
  336. package/dist/esm/af-divider.entry.js.map +1 -1
  337. package/dist/esm/af-feature-accordion.entry.js +2 -2
  338. package/dist/esm/af-feature-card.entry.js.map +1 -1
  339. package/dist/esm/af-feature-grid.entry.js +1 -1
  340. package/dist/esm/af-footer-column.entry.js +1 -1
  341. package/dist/esm/af-footer-link.entry.js +1 -1
  342. package/dist/esm/af-footer.entry.js +1 -1
  343. package/dist/esm/af-grid.entry.js +2 -2
  344. package/dist/esm/af-grid.entry.js.map +1 -1
  345. package/dist/esm/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.js.map +1 -1
  346. package/dist/esm/af-heading_5.entry.js +1 -1
  347. package/dist/esm/af-hero.entry.js +92 -0
  348. package/dist/esm/af-hero.entry.js.map +1 -0
  349. package/dist/esm/af-icon-box.entry.js +1 -1
  350. package/dist/esm/af-icon-text.entry.js +1 -1
  351. package/dist/esm/af-illustrated-card.entry.js +1 -1
  352. package/dist/esm/af-illustrated-card.entry.js.map +1 -1
  353. package/dist/esm/af-image.entry.js +1 -1
  354. package/dist/esm/af-in-page-banner.entry.js +1 -1
  355. package/dist/esm/af-in-page-banner.entry.js.map +1 -1
  356. package/dist/esm/af-inline.entry.js +1 -1
  357. package/dist/esm/af-inline.entry.js.map +1 -1
  358. package/dist/esm/af-logo-well.entry.js +1 -1
  359. package/dist/esm/af-nav-accordion-item.entry.js +2 -2
  360. package/dist/esm/af-nav-accordion.entry.js +1 -1
  361. package/dist/esm/af-nav-menu-nest.entry.js +1 -1
  362. package/dist/esm/af-nav-menu.entry.js +1 -1
  363. package/dist/esm/af-number-badge.entry.js +1 -1
  364. package/dist/esm/af-numbered-stepper-item.entry.js +23 -0
  365. package/dist/esm/af-numbered-stepper-item.entry.js.map +1 -0
  366. package/dist/esm/af-numbered-stepper.entry.js +34 -0
  367. package/dist/esm/af-numbered-stepper.entry.js.map +1 -0
  368. package/dist/esm/af-paperclip-decoration.entry.js +1 -1
  369. package/dist/esm/af-progress-line.entry.js +2 -2
  370. package/dist/esm/af-section.entry.js +2 -2
  371. package/dist/esm/af-section.entry.js.map +1 -1
  372. package/dist/esm/af-show.entry.js +1 -1
  373. package/dist/esm/af-social-link.entry.js +1 -1
  374. package/dist/esm/af-spacer.entry.js +1 -1
  375. package/dist/esm/af-split-section.entry.js +2 -2
  376. package/dist/esm/af-split-section.entry.js.map +1 -1
  377. package/dist/esm/af-stack.entry.js +1 -1
  378. package/dist/esm/af-stack.entry.js.map +1 -1
  379. package/dist/esm/af-stat.entry.js +16 -0
  380. package/dist/esm/af-stat.entry.js.map +1 -0
  381. package/dist/esm/af-stats-row.entry.js +16 -0
  382. package/dist/esm/af-stats-row.entry.js.map +1 -0
  383. package/dist/esm/af-stepper-step.entry.js +1 -1
  384. package/dist/esm/af-stepper.entry.js +1 -1
  385. package/dist/esm/af-testimonial-carousel.entry.js +1 -1
  386. package/dist/esm/af-testimonial-stat.entry.js +1 -1
  387. package/dist/esm/af-testimonial.entry.js +2 -2
  388. package/dist/esm/af-text-image-nest.entry.js +1 -1
  389. package/dist/esm/af-theme-override.entry.js +1 -1
  390. package/dist/esm/af-theme-override.entry.js.map +1 -1
  391. package/dist/esm/af-typography-lockup.entry.js +1 -1
  392. package/dist/esm/af-typography-lockup.entry.js.map +1 -1
  393. package/dist/esm/af-video-container.entry.js +1 -1
  394. package/dist/esm/af-visually-hidden.entry.js +1 -1
  395. package/dist/esm/affinda.js +1 -1
  396. package/dist/esm/index.js +1 -0
  397. package/dist/esm/index.js.map +1 -1
  398. package/dist/esm/loader.js +1 -1
  399. package/dist/types/components/af-card/af-card.d.ts +2 -1
  400. package/dist/types/components/af-client-carousel/af-client-carousel.d.ts +1 -1
  401. package/dist/types/components/af-divider/af-divider.d.ts +2 -1
  402. package/dist/types/components/af-feature-card/af-feature-card.d.ts +2 -1
  403. package/dist/types/components/af-grid/af-grid.d.ts +1 -1
  404. package/dist/types/components/af-hero/af-hero.d.ts +93 -0
  405. package/dist/types/components/af-illustrated-card/af-illustrated-card.d.ts +2 -1
  406. package/dist/types/components/af-in-page-banner/af-in-page-banner.d.ts +2 -3
  407. package/dist/types/components/af-inline/af-inline.d.ts +1 -1
  408. package/dist/types/components/af-navbar/af-navbar.d.ts +2 -1
  409. package/dist/types/components/af-numbered-stepper/af-numbered-stepper.d.ts +38 -0
  410. package/dist/types/components/af-numbered-stepper-item/af-numbered-stepper-item.d.ts +22 -0
  411. package/dist/types/components/af-section/af-section.d.ts +3 -2
  412. package/dist/types/components/af-split-section/af-split-section.d.ts +2 -3
  413. package/dist/types/components/af-stack/af-stack.d.ts +1 -1
  414. package/dist/types/components/af-stat/af-stat.d.ts +15 -0
  415. package/dist/types/components/af-stats-row/af-stats-row.d.ts +17 -0
  416. package/dist/types/components/af-theme-override/af-theme-override.d.ts +2 -1
  417. package/dist/types/components/af-typography-lockup/af-typography-lockup.d.ts +2 -1
  418. package/dist/types/components.d.ts +569 -20
  419. package/dist/types/types.d.ts +57 -0
  420. package/package.json +2 -2
  421. package/dist/affinda/p-083fc528.entry.js +0 -2
  422. package/dist/affinda/p-0e469ad2.entry.js +0 -2
  423. package/dist/affinda/p-41643147.entry.js +0 -2
  424. package/dist/affinda/p-49521f2e.entry.js +0 -2
  425. package/dist/affinda/p-56fe6e6e.entry.js +0 -2
  426. package/dist/affinda/p-a6eda8af.entry.js +0 -2
  427. package/dist/affinda/p-ef5857cf.entry.js +0 -2
  428. package/dist/components/p-C6-JATRR.js.map +0 -1
  429. package/dist/components/p-CNzQtskW.js.map +0 -1
  430. /package/dist/affinda/{p-4cf65950.entry.js.map → p-068ac2fb.entry.js.map} +0 -0
  431. /package/dist/affinda/{p-4b154e23.entry.js.map → p-09dfcd40.entry.js.map} +0 -0
  432. /package/dist/affinda/{p-f10a31cb.entry.js.map → p-0acadf6f.entry.js.map} +0 -0
  433. /package/dist/affinda/{p-e1e98cd6.entry.js.map → p-1b4b0c88.entry.js.map} +0 -0
  434. /package/dist/affinda/{p-8c4e3047.entry.js.map → p-256970e3.entry.js.map} +0 -0
  435. /package/dist/affinda/{p-a6eda8af.entry.js.map → p-32d62fbb.entry.js.map} +0 -0
  436. /package/dist/affinda/{p-3ee906de.entry.js.map → p-342b08e5.entry.js.map} +0 -0
  437. /package/dist/affinda/{p-a84ae4a5.entry.js.map → p-365a75e2.entry.js.map} +0 -0
  438. /package/dist/affinda/{p-41643147.entry.js.map → p-3ed408f6.entry.js.map} +0 -0
  439. /package/dist/affinda/{p-edb1a010.entry.js.map → p-4058a1eb.entry.js.map} +0 -0
  440. /package/dist/affinda/{p-94f51238.entry.js.map → p-41bbb218.entry.js.map} +0 -0
  441. /package/dist/affinda/{p-c8c4783c.entry.js.map → p-44d960ca.entry.js.map} +0 -0
  442. /package/dist/affinda/{p-e1cbe95a.entry.js.map → p-4a9b192b.entry.js.map} +0 -0
  443. /package/dist/affinda/{p-b2633acb.entry.js.map → p-5c163c5b.entry.js.map} +0 -0
  444. /package/dist/affinda/{p-48aadea9.entry.js.map → p-5e5e7d75.entry.js.map} +0 -0
  445. /package/dist/affinda/{p-da2d84f7.entry.js.map → p-61a6b43d.entry.js.map} +0 -0
  446. /package/dist/affinda/{p-ea42c40b.entry.js.map → p-631d141c.entry.js.map} +0 -0
  447. /package/dist/affinda/{p-6038a213.entry.js.map → p-6475796d.entry.js.map} +0 -0
  448. /package/dist/affinda/{p-083fc528.entry.js.map → p-6756aa66.entry.js.map} +0 -0
  449. /package/dist/affinda/{p-0e469ad2.entry.js.map → p-6e181b2b.entry.js.map} +0 -0
  450. /package/dist/affinda/{p-0201c8bd.entry.js.map → p-6ea474a3.entry.js.map} +0 -0
  451. /package/dist/affinda/{p-a71d528d.entry.js.map → p-7111051c.entry.js.map} +0 -0
  452. /package/dist/affinda/{p-0137e7a5.entry.js.map → p-827f3050.entry.js.map} +0 -0
  453. /package/dist/affinda/{p-78518e6c.entry.js.map → p-83bb96cc.entry.js.map} +0 -0
  454. /package/dist/affinda/{p-2e6192eb.entry.js.map → p-9480f00d.entry.js.map} +0 -0
  455. /package/dist/affinda/{p-e055407b.entry.js.map → p-9ce0adc2.entry.js.map} +0 -0
  456. /package/dist/affinda/{p-81706709.entry.js.map → p-a02d6192.entry.js.map} +0 -0
  457. /package/dist/affinda/{p-ad41f905.entry.js.map → p-a25d3257.entry.js.map} +0 -0
  458. /package/dist/affinda/{p-50a67fb6.entry.js.map → p-a7a8f18c.entry.js.map} +0 -0
  459. /package/dist/affinda/{p-5f6a5741.entry.js.map → p-a8d75eb1.entry.js.map} +0 -0
  460. /package/dist/affinda/{p-5265e82e.entry.js.map → p-ae430873.entry.js.map} +0 -0
  461. /package/dist/affinda/{p-081cc890.entry.js.map → p-b39eea31.entry.js.map} +0 -0
  462. /package/dist/affinda/{p-4c4406bf.entry.js.map → p-b9ec0e75.entry.js.map} +0 -0
  463. /package/dist/affinda/{p-feb3d03f.entry.js.map → p-bbfc9df6.entry.js.map} +0 -0
  464. /package/dist/affinda/{p-6c58b283.entry.js.map → p-bed7d9a1.entry.js.map} +0 -0
  465. /package/dist/affinda/{p-3a0e45c3.entry.js.map → p-d7d82986.entry.js.map} +0 -0
  466. /package/dist/affinda/{p-a35029eb.entry.js.map → p-dcc89b4c.entry.js.map} +0 -0
  467. /package/dist/affinda/{p-6e40dbdf.entry.js.map → p-de75cb4f.entry.js.map} +0 -0
  468. /package/dist/affinda/{p-f9315f9e.entry.js.map → p-e07e27f1.entry.js.map} +0 -0
  469. /package/dist/affinda/{p-dbe7ab88.entry.js.map → p-eeda78ea.entry.js.map} +0 -0
  470. /package/dist/affinda/{p-b2b28366.entry.js.map → p-f19cb091.entry.js.map} +0 -0
@@ -23,6 +23,7 @@
23
23
  "components/af-tab-bar/af-tab-bar.js",
24
24
  "components/af-feature-card/af-feature-card.js",
25
25
  "components/af-illustrated-card/af-illustrated-card.js",
26
+ "components/af-hero/af-hero.js",
26
27
  "components/af-accordion/af-accordion.js",
27
28
  "components/af-accordion-item/af-accordion-item.js",
28
29
  "components/af-card/af-card.js",
@@ -50,6 +51,8 @@
50
51
  "components/af-nav-menu/af-nav-menu.js",
51
52
  "components/af-nav-menu-nest/af-nav-menu-nest.js",
52
53
  "components/af-number-badge/af-number-badge.js",
54
+ "components/af-numbered-stepper/af-numbered-stepper.js",
55
+ "components/af-numbered-stepper-item/af-numbered-stepper-item.js",
53
56
  "components/af-paperclip-decoration/af-paperclip-decoration.js",
54
57
  "components/af-progress-line/af-progress-line.js",
55
58
  "components/af-section/af-section.js",
@@ -58,6 +61,8 @@
58
61
  "components/af-spacer/af-spacer.js",
59
62
  "components/af-split-section/af-split-section.js",
60
63
  "components/af-stack/af-stack.js",
64
+ "components/af-stat/af-stat.js",
65
+ "components/af-stats-row/af-stats-row.js",
61
66
  "components/af-stepper/af-stepper.js",
62
67
  "components/af-stepper-step/af-stepper-step.js",
63
68
  "components/af-testimonial/af-testimonial.js",
@@ -88,7 +88,7 @@ export class AfAccordion {
88
88
  });
89
89
  }
90
90
  render() {
91
- return (h(Host, { key: 'e0060977dd938771a54e2941a962a58bf18b61dd', class: { [`mode-${this.mode}`]: true } }, h("div", { key: 'dacacd23dc6f116bb8c856161d1a956c0fc7d70d', class: "accordion" }, h("slot", { key: '1dcc400fc416c79f0ac1cf48893de03c46e31741' }))));
91
+ return (h(Host, { key: '9b0b627ab9e4bc82ae52adb616ee430dd6451bdc', class: { [`mode-${this.mode}`]: true } }, h("div", { key: '9941d4fea3ddfcf8f5d64883347dceda215401ba', class: "accordion" }, h("slot", { key: '00db0154b54e87b3411541c361b5dca4f91e2015' }))));
92
92
  }
93
93
  static get is() { return "af-accordion"; }
94
94
  static get encapsulation() { return "scoped"; }
@@ -66,7 +66,7 @@ export class AfAccordionItem {
66
66
  const contentStyle = {
67
67
  maxHeight: this.open ? `${this.contentHeight}px` : '0px'
68
68
  };
69
- return (h(Host, { key: 'f09a5fe4d1ca9e14d674c5cb255c391355fba0b9', class: { 'is-open': this.open, 'is-disabled': this.disabled } }, h("div", { key: '2e53d4c8599acd81e7a624ac130add7ea7be3c86', class: "accordion-item" }, h("button", { key: 'c3b97ff90a37ac7f582b2ba086db0faa21328dc2', class: "trigger", onClick: this.handleTriggerClick, "aria-expanded": this.open ? 'true' : 'false', "aria-controls": `content-${this.itemId}`, disabled: this.disabled, type: "button" }, h("div", { key: '48446eb132a44680630f46c1bd65921a440f688a', class: "trigger-content" }, h("slot", { key: 'a47fdf5a659602a340091544587be928c226a89b', name: "trigger" })), h("div", { key: '1c938183404f982ebcfe3ba0661f57e4ecf2c006', class: { 'chevron': true, 'is-open': this.open } }, h("svg", { key: '20d3ef9eb98b0cbb2f0af2165cc911fb3ec93bd5', width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { key: '7477c118131ce91b79d1c9f74174c9431ee60dca', d: "M6 9l6 6 6-6", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("div", { key: '676a89763218ddbd6daddb174a4eebecfffb6a94', id: `content-${this.itemId}`, class: "content-wrapper", style: contentStyle, "aria-hidden": !this.open ? 'true' : 'false' }, h("div", { key: 'fb0f8760497cf998daa0f1cd5c52c6349fb125e4', class: "content", ref: (el) => (this.contentRef = el) }, h("slot", { key: '300f0b749dbaf06bb44ad9b176f3d9f64c52db6e' }))))));
69
+ return (h(Host, { key: '62ba3529b8f862d5e9ec88672e9452ce2fc6fcf5', class: { 'is-open': this.open, 'is-disabled': this.disabled } }, h("div", { key: '4bb13e5c6f26d3bf9fd65fb620fb8161396fb8df', class: "accordion-item" }, h("button", { key: 'c46022e2985db411428da2798e0f225f47031af1', class: "trigger", onClick: this.handleTriggerClick, "aria-expanded": this.open ? 'true' : 'false', "aria-controls": `content-${this.itemId}`, disabled: this.disabled, type: "button" }, h("div", { key: 'b89f4babebfae4da95af856adf155308574e56a2', class: "trigger-content" }, h("slot", { key: '20ea8938675a12e2d3c71c341788abb0ceb1d236', name: "trigger" })), h("div", { key: '42414ee23bfba9bf5025a7637630a69cda22d0e3', class: { 'chevron': true, 'is-open': this.open } }, h("svg", { key: 'ed17cf43c888aba66a1b0e03b69af4ea65ed9c44', width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { key: '0f095319bebcea25c313b2237c2c8bb693508efc', d: "M6 9l6 6 6-6", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("div", { key: 'e6fef8f13b9282cc148cfe7d34739a1efefdadee', id: `content-${this.itemId}`, class: "content-wrapper", style: contentStyle, "aria-hidden": !this.open ? 'true' : 'false' }, h("div", { key: '745ff6e1e9d56c2fac10fa0c39a744791ad66c92', class: "content", ref: (el) => (this.contentRef = el) }, h("slot", { key: '141ff050b84e081e9031d739b1b2015697cadff1' }))))));
70
70
  }
71
71
  static get is() { return "af-accordion-item"; }
72
72
  static get encapsulation() { return "shadow"; }
@@ -26,7 +26,7 @@ export class AfCard {
26
26
  'card': true,
27
27
  [`theme-${this.theme}`]: true
28
28
  };
29
- return (h(Host, { key: '9847c934dc643291c0b19a5bbd7a5a1f95171573' }, h("div", { key: 'ef75699eb880055c79cfb605821167e5e9958aa5', class: classes }, h("div", { key: '48b0ca5f605d7af698564d6907e38dedf2a4beef', class: "card__content" }, h("slot", { key: 'fa2832e5ff3796fc80b72d5a4cb630e978a4b083' })))));
29
+ return (h(Host, { key: '18e2c6aa8f9053223d51f13520dab6f94ac7a024' }, h("div", { key: 'e697dbc8f1c8d88cfe2e6f40039305513f875c3a', class: classes }, h("div", { key: '16e5f233fa1bc8e9f0a192ddc4905a252b51623c', class: "card__content" }, h("slot", { key: 'dbc326c5b175ec0633c1d6688b2cef7434664a0a' })))));
30
30
  }
31
31
  static get is() { return "af-card"; }
32
32
  static get encapsulation() { return "scoped"; }
@@ -46,9 +46,15 @@ export class AfCard {
46
46
  "type": "string",
47
47
  "mutable": false,
48
48
  "complexType": {
49
- "original": "'white' | 'white-ivory' | 'inkwell' | 'mist-green' | 'soft-clay'",
49
+ "original": "Theme",
50
50
  "resolved": "\"inkwell\" | \"mist-green\" | \"soft-clay\" | \"white\" | \"white-ivory\" | undefined",
51
- "references": {}
51
+ "references": {
52
+ "Theme": {
53
+ "location": "import",
54
+ "path": "../../types",
55
+ "id": "src/types.ts::Theme"
56
+ }
57
+ }
52
58
  },
53
59
  "required": false,
54
60
  "optional": true,
@@ -1 +1 @@
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
+ {"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;AAGzD;;;;;;GAMG;AAOH,MAAM,OAAO,MAAM;IANnB;QAOE;;;WAGG;QACK,UAAK,GAAW,YAAY,CAAC;QAErC;;;;;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';\nimport type { Theme } from '../../types';\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?: Theme = '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"]}
@@ -33,7 +33,7 @@ export class AfCenter {
33
33
  if (this.minHeight) {
34
34
  style.minHeight = this.minHeight;
35
35
  }
36
- return (h(Host, { key: 'fc1bcaef9b11c0c5f69e9ef95d58adf61b4f244a', style: style }, h("slot", { key: '09dc75e0a80760d56e370ad0b52231f4143549e8' })));
36
+ return (h(Host, { key: '0b93a207374e7665f06187ae2f8837f251ea1312', style: style }, h("slot", { key: 'c5d0fb0f3a37effb8e8cd466bd13d86c88958229' })));
37
37
  }
38
38
  static get is() { return "af-center"; }
39
39
  static get encapsulation() { return "shadow"; }
@@ -78,7 +78,7 @@ export class AfClientCarousel {
78
78
  // Direction classes are left on in static mode too — the `.mode-static`
79
79
  // CSS rule overrides `animation` to `none`, so the direction is a no-op
80
80
  // visually but keeps the markup shape consistent across modes.
81
- return (h(Host, { key: 'a60dab195d08a5afa44c871598584c1175cff4af', class: `theme-${this.theme} mode-${this.mode}` }, h("div", { key: 'dafd6b1501a592ceaa0b9babc27d2437ccfb2c62', class: `client-carousel theme-${this.theme} rows-${rows} mode-${this.mode}` }, h("div", { key: 'c318457802deebbc34b289b2d83d0dd50c15cc5c', class: "carousel-container" }, h("div", { key: '878d1a443b488828f54e6915cede096654624435', class: "carousel-row scroll-left" }, h("div", { key: '1e8751fc3ed7429196b6d7e5e9e6fb0255ab277c', class: "logo-track", ref: (el) => (this.row1TrackRef = el) }, h("slot", { key: 'd030308358617334fa318abd95780133d13a0b01', name: "row-1" }, h("slot", { key: '230f591311b0245946dd64c465fe7e9634a9ab99' })))), rows === 2 && (h("div", { key: 'd942aaa3e6994e73f1ad52a2deedc9564f6105fd', class: "carousel-row scroll-right" }, h("div", { key: '96e438271bee8bd840a7645b1634fc0e125617de', class: "logo-track", ref: (el) => (this.row2TrackRef = el) }, h("slot", { key: '90661d285bc8f65b1d1188f66a15edf60503b1a3', name: "row-2" }))))))));
81
+ return (h(Host, { key: 'ca25bfa9d9ca4bcf2b9326e48c89e7f5fb0599b3', class: `theme-${this.theme} mode-${this.mode}` }, h("div", { key: 'ea36aed6990f569561dce562510f88a9a50b5653', class: `client-carousel theme-${this.theme} rows-${rows} mode-${this.mode}` }, h("div", { key: 'a96a00ea379f9908f01845e9d2e515146bc2de1e', class: "carousel-container" }, h("div", { key: '1a5d6c4298b9229ee1ef3c3cf2fd0f358e5bf0e8', class: "carousel-row scroll-left" }, h("div", { key: '825e3e9149cc95c97892bb89becc2ea3eccddde5', class: "logo-track", ref: (el) => (this.row1TrackRef = el) }, h("slot", { key: '6e03784bd1f196374f0b73bb45b54f6dc1db66a2', name: "row-1" }, h("slot", { key: 'ed18d97e06d91a10ed6914cafa488ffc59f385ff' })))), rows === 2 && (h("div", { key: '7143c9333e29ffaaf5b8bcf8d1cf905d60236a7a', class: "carousel-row scroll-right" }, h("div", { key: '8446a3dcf958b370b4cc14a27ec4bd7c0228ded2', class: "logo-track", ref: (el) => (this.row2TrackRef = el) }, h("slot", { key: '2d4de0f0697f22ac4742cebe0e20ed94b218f030', name: "row-2" }))))))));
82
82
  }
83
83
  static get is() { return "af-client-carousel"; }
84
84
  static get encapsulation() { return "scoped"; }
@@ -102,8 +102,9 @@ export class AfClientCarousel {
102
102
  "resolved": "\"inkwell\" | \"mist-green\" | \"soft-clay\" | \"white\" | \"white-ivory\"",
103
103
  "references": {
104
104
  "Theme": {
105
- "location": "global",
106
- "id": "global::Theme"
105
+ "location": "import",
106
+ "path": "../../types",
107
+ "id": "src/types.ts::Theme"
107
108
  }
108
109
  }
109
110
  },
@@ -1 +1 @@
1
- {"version":3,"file":"af-client-carousel.js","sourceRoot":"","sources":["../../../src/components/af-client-carousel/af-client-carousel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAKlE;;;;;;;;;;;;;;;;;;;;GAoBG;AAUH,MAAM,OAAO,gBAAgB;IAT7B;QAYE,2EAA2E;QACnE,UAAK,GAAU,SAAS,CAAC;QAEjC;;;;;;;WAOG;QACK,SAAI,GAAU,CAAC,CAAC;QAExB;;;;;;WAMG;QACK,SAAI,GAAS,QAAQ,CAAC;KAmE/B;IA9DC,gBAAgB;QACd,iEAAiE;QACjE,iDAAiD;QACjD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO;QACnC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACK,qBAAqB,CAAC,KAA8B;QAC1D,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CACjD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAE,KAAqB,CAAC,YAAY,CAAC,qBAAqB,CAAC,CACvE,CAAC;QACF,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACvB,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAgB,CAAC;YAChD,KAAK,CAAC,YAAY,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;YAC9C,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAC1C,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,wEAAwE;QACxE,wEAAwE;QACxE,+DAA+D;QAC/D,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAE,SAAS,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,IAAI,EAAE;YAClD,4DAAK,KAAK,EAAE,yBAAyB,IAAI,CAAC,KAAK,SAAS,IAAI,SAAS,IAAI,CAAC,IAAI,EAAE;gBAC9E,4DAAK,KAAK,EAAC,oBAAoB;oBAC7B,4DAAK,KAAK,EAAC,0BAA0B;wBACnC,4DAAK,KAAK,EAAC,YAAY,EAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;4BAC3D,6DAAM,IAAI,EAAC,OAAO;gCAChB,8DAAa,CACR,CACH,CACF;oBAEL,IAAI,KAAK,CAAC,IAAI,CACb,4DAAK,KAAK,EAAC,2BAA2B;wBACpC,4DAAK,KAAK,EAAC,YAAY,EAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;4BAC3D,6DAAM,IAAI,EAAC,OAAO,GAAQ,CACtB,CACF,CACP,CACG,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, h, Host, Prop } from '@stencil/core';\n\ntype Theme = 'white' | 'inkwell' | 'mist-green' | 'soft-clay' | 'white-ivory';\ntype Mode = 'scroll' | 'static';\n\n/**\n * Full-width row of client logos, either infinite-scrolling (default)\n * or a centred static row.\n *\n * This is a section-level component that spans full width.\n * Renders one or two rows; single row matches the Webflow reference,\n * two rows is the denser variant. When `mode=\"scroll\"` (default) rows\n * animate in opposite directions; when `mode=\"static\"` rows are centred\n * and the animation is disabled.\n *\n * For headlines, use a separate TypographyLockup or Heading component\n * above this carousel.\n *\n * **Seamless loop (scroll mode only):** the CSS animation translates\n * the track from 0% to -50% (or vice versa), which only looks continuous\n * if the track holds two identical copies of the content end-to-end.\n * Shadow DOM slots can only project content once, so we clone the\n * slotted nodes in `componentDidLoad` and append the copies to the track.\n * Static mode skips the clone — nothing is animating, so duplicating\n * the logos would just render them twice.\n */\n@Component({\n tag: 'af-client-carousel',\n styleUrl: 'af-client-carousel.css',\n // Scoped (not shadow) so that cloned nodes inherit the consumer's\n // external CSS (e.g. Astro-scoped `.logo-pill` on the SiteHeader\n // carousel). Shadow DOM would seal the clones off from outer styles.\n shadow: false,\n scoped: true,\n})\nexport class AfClientCarousel {\n @Element() el!: HTMLElement;\n\n /** Theme - sets background color and provides theme context to children */\n @Prop() theme: Theme = 'inkwell';\n\n /**\n * Number of rows.\n * - `1` (default) — single row, matches the Webflow reference.\n * - `2` — two rows (scroll in opposite directions, or stacked when static).\n *\n * When `rows=\"2\"`, slot `row-1` and `row-2` independently.\n * When `rows=\"1\"`, slot the default slot (unnamed) or `row-1`.\n */\n @Prop() rows: 1 | 2 = 1;\n\n /**\n * Layout mode.\n * - `scroll` (default) — infinite animated scroll; rows fill the full\n * width and are cloned for a seamless loop.\n * - `static` — no animation, logos centred horizontally. Use when the\n * logo set is small enough to fit on screen without scrolling.\n */\n @Prop() mode: Mode = 'scroll';\n\n private row1TrackRef?: HTMLElement;\n private row2TrackRef?: HTMLElement;\n\n componentDidLoad() {\n // Static mode doesn't animate, so the clone trick isn't needed —\n // skipping it avoids rendering every logo twice.\n if (this.mode === 'static') return;\n this.duplicateTrackContent(this.row1TrackRef);\n if (Number(this.rows) === 2) {\n this.duplicateTrackContent(this.row2TrackRef);\n }\n }\n\n /**\n * Append clones of every existing track child into the track so the\n * -50% translate animation loops seamlessly. Marks clones with\n * `aria-hidden` and `data-carousel-clone` so assistive tech ignores\n * them and we can skip them when re-duplicating.\n *\n * In scoped mode, slotted content is moved into the track as regular\n * children (there's no `<slot>` element to read from), so we just\n * iterate direct children that aren't themselves prior clones.\n */\n private duplicateTrackContent(track: HTMLElement | undefined) {\n if (!track) return;\n const originals = Array.from(track.children).filter(\n (child) => !(child as HTMLElement).hasAttribute('data-carousel-clone'),\n );\n originals.forEach((el) => {\n const clone = el.cloneNode(true) as HTMLElement;\n clone.setAttribute('data-carousel-clone', '');\n clone.setAttribute('aria-hidden', 'true');\n track.appendChild(clone);\n });\n }\n\n render() {\n const rows = Number(this.rows);\n // Direction classes are left on in static mode too — the `.mode-static`\n // CSS rule overrides `animation` to `none`, so the direction is a no-op\n // visually but keeps the markup shape consistent across modes.\n return (\n <Host class={`theme-${this.theme} mode-${this.mode}`}>\n <div class={`client-carousel theme-${this.theme} rows-${rows} mode-${this.mode}`}>\n <div class=\"carousel-container\">\n <div class=\"carousel-row scroll-left\">\n <div class=\"logo-track\" ref={(el) => (this.row1TrackRef = el)}>\n <slot name=\"row-1\">\n <slot></slot>\n </slot>\n </div>\n </div>\n\n {rows === 2 && (\n <div class=\"carousel-row scroll-right\">\n <div class=\"logo-track\" ref={(el) => (this.row2TrackRef = el)}>\n <slot name=\"row-2\"></slot>\n </div>\n </div>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"af-client-carousel.js","sourceRoot":"","sources":["../../../src/components/af-client-carousel/af-client-carousel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAKlE;;;;;;;;;;;;;;;;;;;;GAoBG;AAUH,MAAM,OAAO,gBAAgB;IAT7B;QAYE,2EAA2E;QACnE,UAAK,GAAU,SAAS,CAAC;QAEjC;;;;;;;WAOG;QACK,SAAI,GAAU,CAAC,CAAC;QAExB;;;;;;WAMG;QACK,SAAI,GAAS,QAAQ,CAAC;KAmE/B;IA9DC,gBAAgB;QACd,iEAAiE;QACjE,iDAAiD;QACjD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO;QACnC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACK,qBAAqB,CAAC,KAA8B;QAC1D,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CACjD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAE,KAAqB,CAAC,YAAY,CAAC,qBAAqB,CAAC,CACvE,CAAC;QACF,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACvB,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAgB,CAAC;YAChD,KAAK,CAAC,YAAY,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;YAC9C,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAC1C,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,wEAAwE;QACxE,wEAAwE;QACxE,+DAA+D;QAC/D,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAE,SAAS,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,IAAI,EAAE;YAClD,4DAAK,KAAK,EAAE,yBAAyB,IAAI,CAAC,KAAK,SAAS,IAAI,SAAS,IAAI,CAAC,IAAI,EAAE;gBAC9E,4DAAK,KAAK,EAAC,oBAAoB;oBAC7B,4DAAK,KAAK,EAAC,0BAA0B;wBACnC,4DAAK,KAAK,EAAC,YAAY,EAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;4BAC3D,6DAAM,IAAI,EAAC,OAAO;gCAChB,8DAAa,CACR,CACH,CACF;oBAEL,IAAI,KAAK,CAAC,IAAI,CACb,4DAAK,KAAK,EAAC,2BAA2B;wBACpC,4DAAK,KAAK,EAAC,YAAY,EAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;4BAC3D,6DAAM,IAAI,EAAC,OAAO,GAAQ,CACtB,CACF,CACP,CACG,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, h, Host, Prop } from '@stencil/core';\nimport type { Theme } from '../../types';\n\ntype Mode = 'scroll' | 'static';\n\n/**\n * Full-width row of client logos, either infinite-scrolling (default)\n * or a centred static row.\n *\n * This is a section-level component that spans full width.\n * Renders one or two rows; single row matches the Webflow reference,\n * two rows is the denser variant. When `mode=\"scroll\"` (default) rows\n * animate in opposite directions; when `mode=\"static\"` rows are centred\n * and the animation is disabled.\n *\n * For headlines, use a separate TypographyLockup or Heading component\n * above this carousel.\n *\n * **Seamless loop (scroll mode only):** the CSS animation translates\n * the track from 0% to -50% (or vice versa), which only looks continuous\n * if the track holds two identical copies of the content end-to-end.\n * Shadow DOM slots can only project content once, so we clone the\n * slotted nodes in `componentDidLoad` and append the copies to the track.\n * Static mode skips the clone — nothing is animating, so duplicating\n * the logos would just render them twice.\n */\n@Component({\n tag: 'af-client-carousel',\n styleUrl: 'af-client-carousel.css',\n // Scoped (not shadow) so that cloned nodes inherit the consumer's\n // external CSS (e.g. Astro-scoped `.logo-pill` on the SiteHeader\n // carousel). Shadow DOM would seal the clones off from outer styles.\n shadow: false,\n scoped: true,\n})\nexport class AfClientCarousel {\n @Element() el!: HTMLElement;\n\n /** Theme - sets background color and provides theme context to children */\n @Prop() theme: Theme = 'inkwell';\n\n /**\n * Number of rows.\n * - `1` (default) — single row, matches the Webflow reference.\n * - `2` — two rows (scroll in opposite directions, or stacked when static).\n *\n * When `rows=\"2\"`, slot `row-1` and `row-2` independently.\n * When `rows=\"1\"`, slot the default slot (unnamed) or `row-1`.\n */\n @Prop() rows: 1 | 2 = 1;\n\n /**\n * Layout mode.\n * - `scroll` (default) — infinite animated scroll; rows fill the full\n * width and are cloned for a seamless loop.\n * - `static` — no animation, logos centred horizontally. Use when the\n * logo set is small enough to fit on screen without scrolling.\n */\n @Prop() mode: Mode = 'scroll';\n\n private row1TrackRef?: HTMLElement;\n private row2TrackRef?: HTMLElement;\n\n componentDidLoad() {\n // Static mode doesn't animate, so the clone trick isn't needed —\n // skipping it avoids rendering every logo twice.\n if (this.mode === 'static') return;\n this.duplicateTrackContent(this.row1TrackRef);\n if (Number(this.rows) === 2) {\n this.duplicateTrackContent(this.row2TrackRef);\n }\n }\n\n /**\n * Append clones of every existing track child into the track so the\n * -50% translate animation loops seamlessly. Marks clones with\n * `aria-hidden` and `data-carousel-clone` so assistive tech ignores\n * them and we can skip them when re-duplicating.\n *\n * In scoped mode, slotted content is moved into the track as regular\n * children (there's no `<slot>` element to read from), so we just\n * iterate direct children that aren't themselves prior clones.\n */\n private duplicateTrackContent(track: HTMLElement | undefined) {\n if (!track) return;\n const originals = Array.from(track.children).filter(\n (child) => !(child as HTMLElement).hasAttribute('data-carousel-clone'),\n );\n originals.forEach((el) => {\n const clone = el.cloneNode(true) as HTMLElement;\n clone.setAttribute('data-carousel-clone', '');\n clone.setAttribute('aria-hidden', 'true');\n track.appendChild(clone);\n });\n }\n\n render() {\n const rows = Number(this.rows);\n // Direction classes are left on in static mode too — the `.mode-static`\n // CSS rule overrides `animation` to `none`, so the direction is a no-op\n // visually but keeps the markup shape consistent across modes.\n return (\n <Host class={`theme-${this.theme} mode-${this.mode}`}>\n <div class={`client-carousel theme-${this.theme} rows-${rows} mode-${this.mode}`}>\n <div class=\"carousel-container\">\n <div class=\"carousel-row scroll-left\">\n <div class=\"logo-track\" ref={(el) => (this.row1TrackRef = el)}>\n <slot name=\"row-1\">\n <slot></slot>\n </slot>\n </div>\n </div>\n\n {rows === 2 && (\n <div class=\"carousel-row scroll-right\">\n <div class=\"logo-track\" ref={(el) => (this.row2TrackRef = el)}>\n <slot name=\"row-2\"></slot>\n </div>\n </div>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -11,7 +11,7 @@ export class AfContactItem {
11
11
  this.value = '';
12
12
  }
13
13
  render() {
14
- return (h(Host, { key: '1a52a5ea61e7ef04f3b86e8338ed6984a57101a2' }, h("div", { key: '9c69396e916f489d572f045e78daf990a72e0d24', class: "contact-item" }, this.label && (h("h5", { key: '7575301c7a83aa2034aaaf9b9bdb2a0bd5e072bb', class: "contact-item__label" }, this.label)), this.value && (h("p", { key: '5cbca2b4420b2184fb08ac7f1edb22bce50b9c4c', class: "contact-item__value" }, this.value)), h("slot", { key: '45624be318ed9146a9ec0f2b81af110f8cb82ff6' }))));
14
+ return (h(Host, { key: '96c81142044b30c89d0b57ca51796bb11b20a939' }, h("div", { key: '91e097ce9e31a20896a2df199c905a848a35065b', class: "contact-item" }, this.label && (h("h5", { key: '8ed3a89a50249ca99f50637ec1486b0def63a057', class: "contact-item__label" }, this.label)), this.value && (h("p", { key: '1503e602ac07c85a88b612eb600f07c4cb152e00', class: "contact-item__value" }, this.value)), h("slot", { key: '700f83924b662a99f5450a97b79b48c9b21e9cd0' }))));
15
15
  }
16
16
  static get is() { return "af-contact-item"; }
17
17
  static get encapsulation() { return "scoped"; }
@@ -28,7 +28,7 @@ export class AfDivider {
28
28
  marginTop: spacingValue,
29
29
  marginBottom: spacingValue,
30
30
  };
31
- return (h(Host, { key: '6d986be8da228de6f6203c3e3fc38f79751c1e97', class: {
31
+ return (h(Host, { key: 'b8c2649ffe99bf4c816cf3e9d0be51c1a40fe43a', class: {
32
32
  'divider': true,
33
33
  'divider--horizontal': !isVertical,
34
34
  'divider--vertical': isVertical,
@@ -1 +1 @@
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
+ {"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;AAMzD;;;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';\nimport type { Gap } from '../../types';\n\ntype Orientation = 'horizontal' | 'vertical';\ntype Spacing = Gap | 'none';\n\n/**\n * Divider component for visual separation between content.\n * Supports horizontal and vertical orientations with theme-aware styling.\n */\n@Component({\n tag: 'af-divider',\n styleUrl: 'af-divider.css',\n shadow: true,\n})\nexport class AfDivider {\n /**\n * Orientation of the divider.\n */\n @Prop() orientation: Orientation = 'horizontal';\n\n /**\n * Spacing (margin) around the divider using space tokens.\n * For horizontal: margin-top and margin-bottom\n * For vertical: margin-left and margin-right\n */\n @Prop() spacing: Spacing = '4';\n\n render() {\n const isVertical = this.orientation === 'vertical';\n const spacingValue = this.spacing === 'none' ? '0' : `var(--space-${this.spacing})`;\n\n const style: Record<string, string> = isVertical\n ? {\n marginLeft: spacingValue,\n marginRight: spacingValue,\n }\n : {\n marginTop: spacingValue,\n marginBottom: spacingValue,\n };\n\n return (\n <Host\n class={{\n 'divider': true,\n 'divider--horizontal': !isVertical,\n 'divider--vertical': isVertical,\n }}\n style={style}\n role=\"separator\"\n aria-orientation={this.orientation}\n ></Host>\n );\n }\n}\n\n"]}
@@ -98,13 +98,13 @@ export class AfFeatureAccordion {
98
98
  render() {
99
99
  const items = this.getItems();
100
100
  const currentItem = items[this.expandedIndex];
101
- return (h(Host, { key: '03ae097e99c77b487ca8fe64571840c63e7da862' }, h("div", { key: '2ad42ea20ce150e762763a3fb58ba8c52f1b31a9', class: "feature-accordion" }, h("div", { key: 'e6952ea34da35c5ee7e77c0f43cfc328b4ecbb05', class: "feature-accordion__container" }, h("h2", { key: '8d360f7af4c0de8ddad629d209c41fcc56a55a95', class: "feature-accordion__heading" }, this.heading), h("div", { key: '56b3155755a3b0d68ff89727df3ae9aae70defd4', class: "feature-accordion__content" }, h("div", { key: 'bc15d1c26cb079ea19b817e729d0dfb29d5858bb', class: "feature-accordion__list" }, items.map((item, index) => (h("div", { class: {
101
+ return (h(Host, { key: '335d71685c8aad8e3ffc0b32c95b8ddd3b670491' }, h("div", { key: '03d0f317865722652ad21e8dfd38e3806e890993', class: "feature-accordion" }, h("div", { key: 'ddc8fa8c2690f670cd3fdd7efa55c7c11ff29e14', class: "feature-accordion__container" }, h("h2", { key: '2d81b47cdc05b6924f2a5a17407bd5d073b6f955', class: "feature-accordion__heading" }, this.heading), h("div", { key: 'ea1c924a393afab5a8dfe223d3404798a7cacf46', class: "feature-accordion__content" }, h("div", { key: '64edad33b88cc793e93debad5f2f051f795deb65', class: "feature-accordion__list" }, items.map((item, index) => (h("div", { class: {
102
102
  'accordion-item': true,
103
103
  'accordion-item--expanded': this.expandedIndex === index
104
104
  }, key: index }, h("button", { class: "accordion-item__header", onClick: () => this.handleItemClick(index), "aria-expanded": this.expandedIndex === index ? 'true' : 'false' }, h("h4", { class: "accordion-item__title" }, item.title), h("span", { class: "accordion-item__icon" }, this.expandedIndex === index ? (h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M5 12H19", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" }))) : (h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M12 5V19M5 12H19", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" }))))), h("div", { class: "accordion-item__content", style: {
105
105
  maxHeight: this.expandedIndex === index ? '200px' : '0',
106
106
  opacity: this.expandedIndex === index ? '1' : '0'
107
- } }, h("p", { class: "accordion-item__description" }, item.description), this.expandedIndex === index && this.autoCycle && (h("div", { class: "accordion-item__timer-track" }, h("div", { class: "accordion-item__timer-progress", style: { width: `${this.timerProgress}%` } })))))))), h("div", { key: '3e160193fdb6a45b2d7e493ddb6925dbee121150', class: "feature-accordion__image-container" }, h("div", { key: '7ab7c3b54a88009f38379dc19c59ba4650ab4ce9', class: "feature-accordion__image-wrapper" }, currentItem?.imageUrl && (h("img", { key: 'cd3f5b1ea37b55d1c7183070c98cc44af3d90694', src: currentItem.imageUrl, alt: currentItem.imageAlt || currentItem.title, class: "feature-accordion__image" })), !currentItem?.imageUrl && (h("div", { key: '0956c500e38f588edb6a4e570d2cfc4f152453fb', class: "feature-accordion__image-placeholder" }, h("slot", { key: '36f7ed6e0554c429c891f71589296159e7531385', name: "image" }))))))))));
107
+ } }, h("p", { class: "accordion-item__description" }, item.description), this.expandedIndex === index && this.autoCycle && (h("div", { class: "accordion-item__timer-track" }, h("div", { class: "accordion-item__timer-progress", style: { width: `${this.timerProgress}%` } })))))))), h("div", { key: 'ca61ce3c070f35e9084dcd2bdd4c0fdf8c873fb5', class: "feature-accordion__image-container" }, h("div", { key: 'f741bd15d6fdd17b8947a099a94ba37c5d9a797b', class: "feature-accordion__image-wrapper" }, currentItem?.imageUrl && (h("img", { key: '8f8dbccdfb3ac4857d0a8bb8bcc317b00ac1cb87', src: currentItem.imageUrl, alt: currentItem.imageAlt || currentItem.title, class: "feature-accordion__image" })), !currentItem?.imageUrl && (h("div", { key: 'a06a0cb9eccf2504e9515c9da650cb9b2717173b', class: "feature-accordion__image-placeholder" }, h("slot", { key: '31097d47af5bb4f131aecfddb2ed370bb84c3b34', name: "image" }))))))))));
108
108
  }
109
109
  static get is() { return "af-feature-accordion"; }
110
110
  static get encapsulation() { return "scoped"; }
@@ -78,9 +78,15 @@ export class AfFeatureCard {
78
78
  "type": "string",
79
79
  "mutable": false,
80
80
  "complexType": {
81
- "original": "'white' | 'white-ivory' | 'inkwell' | 'mist-green' | 'soft-clay'",
81
+ "original": "Theme",
82
82
  "resolved": "\"inkwell\" | \"mist-green\" | \"soft-clay\" | \"white\" | \"white-ivory\" | undefined",
83
- "references": {}
83
+ "references": {
84
+ "Theme": {
85
+ "location": "import",
86
+ "path": "../../types",
87
+ "id": "src/types.ts::Theme"
88
+ }
89
+ }
84
90
  },
85
91
  "required": false,
86
92
  "optional": true,
@@ -1 +1 @@
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
+ {"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;AAGzD;;;;;;;;;;;;;GAaG;AAOH,MAAM,OAAO,aAAa;IAN1B;QAOE;;;WAGG;QACK,UAAK,GAAW,YAAY,CAAC;QAErC;;;;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';\nimport type { Theme } from '../../types';\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?: Theme = '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"]}
@@ -82,7 +82,7 @@ export class AfFeatureGrid {
82
82
  [`feature-grid--mobile-${this.mobileLayout}`]: true,
83
83
  };
84
84
  const showProgressLine = this.mobileLayout === 'scroll';
85
- return (h(Host, { key: 'eb0a98e3493d564f6728613ef1c0b949dcbe7816' }, h("div", { key: 'c91f2fa779d050d9e9419eff301ba8fd80242bc0', class: gridClasses }, h("div", { key: '82989034a3f94cad6747429a1587c3ada160571f', class: "feature-grid__cards" }, h("slot", { key: '9ba0222a8ca2455fd83fbb054e1e4fc2c6f4e598' })), showProgressLine && (h("div", { key: '9c510e8f5366762546829210f5ec1f50788b4ecf', class: "feature-grid__progress" }, h("af-progress-line", { key: '584cd3da69b1b219743338bd6deb0a2c1bbab6b9', progress: this.scrollProgress }))))));
85
+ return (h(Host, { key: '9aacf2968c1723a036ab7583b052f56d7673543f' }, h("div", { key: 'c965c986ee73a4913e45406b461824927a541331', class: gridClasses }, h("div", { key: '177edb18e1342d60eda11adad85dad87a6c002c3', class: "feature-grid__cards" }, h("slot", { key: 'e0f15eba0bd58263f7a33474f34093785158f03d' })), showProgressLine && (h("div", { key: 'b952584d6b23121bfb820ebdcc1a526a34597f67', class: "feature-grid__progress" }, h("af-progress-line", { key: '97b4ac99e10078b6345a5567a6603290b8467af5', progress: this.scrollProgress }))))));
86
86
  }
87
87
  static get is() { return "af-feature-grid"; }
88
88
  static get encapsulation() { return "scoped"; }
@@ -18,7 +18,7 @@ export class AfFooter {
18
18
  this.showStatus = true;
19
19
  }
20
20
  render() {
21
- return (h(Host, { key: 'b0fceb1896656d8a17b3afda396dd74a9181668e' }, h("footer", { key: '6b48abc3e62d21f96fb3c4aa84b2eedd292e3386', class: "footer" }, h("div", { key: 'ba192ee7d600ddce8e1c2fcc5631259c5eff89db', class: "footer__container" }, h("div", { key: 'f7fa42a5d13aacf16bd49ab2a3257b80156383dd', class: "footer__top" }, h("div", { key: '25c7452fbba9a33805fa419e1d91da04c97e3843', class: "footer__brand" }, h("div", { key: 'd3e0c2b52ce7e6a1f399c13ed9d6f1a1c75d5c35', class: "footer__brand-card" }, h("div", { key: '197934823ea93f20575e3f737c777bd3fe6bdec9', class: "footer__logo" }, h("slot", { key: 'f2b8ab9d513704d6c5e3c2e78cd73a264e78225a', name: "logo" })), h("div", { key: 'c00e0d6bad4a5c99e6e39dab101b77c2fae36495', class: "footer__social" }, h("slot", { key: 'de662f1f8e9deb052eb79aed4a05a98c2d9f65aa', name: "social" }))), h("div", { key: '3c678879008647c05a60803ca7a067c4e4e61746', class: "footer__contact-card" }, h("slot", { key: '58071ccf22c23b1ef5341505dcf1d0ba57357512', name: "contact" }))), h("div", { key: '1eed42db812f2dce3aa935ab5ac1096625848ae6', class: "footer__nav" }, h("div", { key: '50aef430fdb85c2087dd2e2d87ad8cf1d16c7c8b', class: "footer__nav-columns" }, h("slot", { key: 'b900525b63c6072707a5b0d35f72237d1b2fe6a9', name: "nav" })), this.showStatus && (h("div", { key: 'fe957d27c0cbaf5a4e2627c3f37de884a87d09d7', class: "footer__status" }, h("span", { key: 'c123f1e69a1b8958eefede7510ae65395c58d948', class: `footer__status-dot ${this.systemsOperational ? 'footer__status-dot--operational' : 'footer__status-dot--issue'}` }), h("span", { key: '9524fa81546c3755e0f28d1f335915dfadf0c08a', class: "footer__status-text" }, this.statusText), this.statusUrl && (h("a", { key: 'adac84ed1240b1587ad4dd730813243009bb55b7', href: this.statusUrl, target: "_blank", rel: "noopener noreferrer", class: "footer__status-link" }, "Learn more")))))), h("div", { key: 'e662a65603a58375ecda64c12f60936ef4bf7535', class: "footer__bottom" }, this.copyrightText && (h("p", { key: '88688f225266e295d4f97ed64fdfe1a67a26561a', class: "footer__copyright" }, this.copyrightText)), h("div", { key: '9e37465b342340a36b309f2da9b5a0d68d5d3bec', class: "footer__legal" }, h("slot", { key: 'c4f6763e9affaf59c7740a78e738938ab25576d0', name: "legal" })), h("div", { key: 'ccdd834682869e69d9c09d2b8f1a6cb3648b671b', class: "footer__badges" }, h("slot", { key: 'cd10ff8b4e90f9a38270b5ed5d7884cea7f241a2', name: "badges" })))))));
21
+ return (h(Host, { key: '0f0b3ac453f4bf2f17d0185484c312aae99d4f5e' }, h("footer", { key: '017d608cb00c9fb3da012fe9941e80cd9d5135e8', class: "footer" }, h("div", { key: '545a499bd2b75a1efea1efe1659e336753bcce46', class: "footer__container" }, h("div", { key: '66ed8e54b1af9445e15cb4e650d54a240f158c8c', class: "footer__top" }, h("div", { key: 'b4b442dbcaf2e52aae6c76706ecff5aa928bf2f5', class: "footer__brand" }, h("div", { key: '73ad4e70efa91fe96c6de0b80f270c470c73c8e4', class: "footer__brand-card" }, h("div", { key: '0ef27728bb86632b9451ed94220528f527ba62bb', class: "footer__logo" }, h("slot", { key: '5f6de1e2b9f7e9523ce49414ec1bf88a8411478b', name: "logo" })), h("div", { key: 'fdc742da1adce4e0a874c2ee1998e051aea5f10a', class: "footer__social" }, h("slot", { key: '3073881efc66cf692b3d986e11798587cba6f272', name: "social" }))), h("div", { key: '5fe296475d338597af763acb3957a406b5fdf887', class: "footer__contact-card" }, h("slot", { key: '38be1a96c41c246fba05b7ec080b50330ab43f22', name: "contact" }))), h("div", { key: 'e12c9774d5d4806728b375386a0491ed2e7a1d74', class: "footer__nav" }, h("div", { key: '6c5e293d11a87f48add7799c86fe5ff14618094c', class: "footer__nav-columns" }, h("slot", { key: '5d189a739cbdb1b989eb77008aac4b3f91be4940', name: "nav" })), this.showStatus && (h("div", { key: '29f8108dfd88e8f83f75dc765870621055bb952a', class: "footer__status" }, h("span", { key: '4e61880dc288cfc19fbef5a91fdc5295512d725a', class: `footer__status-dot ${this.systemsOperational ? 'footer__status-dot--operational' : 'footer__status-dot--issue'}` }), h("span", { key: 'dd1055516d076ac8a814e7b60bedf6989341225c', class: "footer__status-text" }, this.statusText), this.statusUrl && (h("a", { key: '7ddb72ef4df731dcadc479a6ecbe059b1ca569cb', href: this.statusUrl, target: "_blank", rel: "noopener noreferrer", class: "footer__status-link" }, "Learn more")))))), h("div", { key: 'c5acf298a42067cad20c914350e6f89b98e16162', class: "footer__bottom" }, this.copyrightText && (h("p", { key: 'ed923670ea3258db98b0eb7a5e197e87b5f45784', class: "footer__copyright" }, this.copyrightText)), h("div", { key: '7a71bf0cf0f44bb38c4c696fd151ecbea2d3de1b', class: "footer__legal" }, h("slot", { key: 'afef7ce942c8fe362fb83d03438604378b4ac8f7', name: "legal" })), h("div", { key: 'b8940476d2cae97bc70916f4252e2a3337da37b8', class: "footer__badges" }, h("slot", { key: '3b076b800f2771237ea8f7fc2f1cc2c46c2e4ccc', name: "badges" })))))));
22
22
  }
23
23
  static get is() { return "af-footer"; }
24
24
  static get encapsulation() { return "scoped"; }
@@ -9,7 +9,7 @@ export class AfFooterColumn {
9
9
  this.heading = '';
10
10
  }
11
11
  render() {
12
- return (h(Host, { key: 'aff327dcb95b40e2835062053b7e59ee38d1e251' }, h("div", { key: '1f08aa09e7ffc52dda5603f5b3a1bb8ab8b42426', class: "footer-column" }, this.heading && (h("h5", { key: 'ef2532c50e755acb21f786edfbc23ade0097e385', class: "footer-column__heading" }, this.heading)), h("ul", { key: 'c96d5cda9bef99805eb17af7689a294adf80e33b', class: "footer-column__list" }, h("slot", { key: '5efdffcd7fc885e71a9460bc21a2d40bf486c14d' })))));
12
+ return (h(Host, { key: '02afc8f33ad0417467d4e795e77a1da74c7ede57' }, h("div", { key: 'f24cbe4720cf6e5df7351e9fe8cec05cca8753b0', class: "footer-column" }, this.heading && (h("h5", { key: '1f615da8d2c755dd0ab5a9679275538d4bb5945e', class: "footer-column__heading" }, this.heading)), h("ul", { key: '0ecdc874412334c418e049dcb0fff738cfdaa52b', class: "footer-column__list" }, h("slot", { key: '148b478bbd04204b3467329f98171a538b22d650' })))));
13
13
  }
14
14
  static get is() { return "af-footer-column"; }
15
15
  static get encapsulation() { return "scoped"; }
@@ -11,7 +11,7 @@ export class AfFooterLink {
11
11
  this.external = false;
12
12
  }
13
13
  render() {
14
- return (h(Host, { key: '6a353087c08983e0e8a962ba97a2d1fa0afd1003' }, h("li", { key: '746175585030c809e05bd697a518f0ae0bc93d89' }, h("a", { key: '5409787ffbcd34661bbcd643fe68ba2e8354d127', href: this.href, class: "footer-link", target: this.external ? '_blank' : undefined, rel: this.external ? 'noopener noreferrer' : undefined }, h("slot", { key: '506e4056466d3764b4a2a55927932ad5fe5ea0ba' }), this.external && (h("svg", { key: '93e6405e6252095281d63cfbcf1548af54582c24', class: "footer-link__external-icon", width: "12", height: "12", viewBox: "0 0 12 12", fill: "none" }, h("path", { key: '72370b0a31dccb15f92bf8fa67fa868e2f0f33ee', 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" })))))));
14
+ return (h(Host, { key: 'f6c6f0433dc6bcffe507c33c0dec2590a7b167c6' }, h("li", { key: 'c2e69faa620fe59b1cec6e5c32ed37d3a34d9fb7' }, h("a", { key: '35330c42625be987164190b40d1ed1649a259a7f', href: this.href, class: "footer-link", target: this.external ? '_blank' : undefined, rel: this.external ? 'noopener noreferrer' : undefined }, h("slot", { key: '43940df1b20b76d4f9dbec8a94ec39cd56080af3' }), this.external && (h("svg", { key: '7a3e086ead102abed43ed7e765d3012c5e963306', class: "footer-link__external-icon", width: "12", height: "12", viewBox: "0 0 12 12", fill: "none" }, h("path", { key: 'e3c266072bca65c154cf925fadc4beb59dfe8f86', 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" })))))));
15
15
  }
16
16
  static get is() { return "af-footer-link"; }
17
17
  static get encapsulation() { return "scoped"; }
@@ -28,14 +28,14 @@ export class AfGrid {
28
28
  end: 'end',
29
29
  stretch: 'stretch',
30
30
  };
31
- return (h(Host, { key: 'bcc57cad4861ded2353d7668fa76281f327efac8', style: {
31
+ return (h(Host, { key: '440c50dbd3a572f292b6a5b4b31845a70b5871bf', style: {
32
32
  '--grid-columns': String(this.columns),
33
33
  '--grid-columns-lg': String(this.columnsLg ?? this.columns),
34
34
  '--grid-columns-md': String(this.columnsMd ?? this.columnsLg ?? this.columns),
35
35
  '--grid-columns-sm': String(this.columnsSm ?? this.columnsMd ?? this.columnsLg ?? 1),
36
36
  '--grid-gap': `var(--space-${this.gap})`,
37
37
  '--grid-align': alignMap[this.align],
38
- } }, h("div", { key: 'e4aaf0f25478b42470f24b7eb831f6598be15423', class: "grid" }, h("slot", { key: 'bc40be3d30c45c2af348bb67804c25f29d606895' }))));
38
+ } }, h("div", { key: '76ddac9b00743e64fa4e49e9fa80d02088dc858c', class: "grid" }, h("slot", { key: 'ac6ce8acf4e1ca3acabff3176b06a57eee265b72' }))));
39
39
  }
40
40
  static get is() { return "af-grid"; }
41
41
  static get encapsulation() { return "shadow"; }
@@ -156,8 +156,9 @@ export class AfGrid {
156
156
  "resolved": "\"1\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"8\"",
157
157
  "references": {
158
158
  "Gap": {
159
- "location": "global",
160
- "id": "global::Gap"
159
+ "location": "import",
160
+ "path": "../../types",
161
+ "id": "src/types.ts::Gap"
161
162
  }
162
163
  }
163
164
  },
@@ -1 +1 @@
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
+ {"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';\nimport type { Gap } from '../../types';\n\ntype Columns = 1 | 2 | 3 | 4 | 5 | 6 | 12;\ntype Align = 'start' | 'center' | 'end' | 'stretch';\n\n/**\n * Generic CSS Grid component for flexible column layouts.\n * Supports responsive column counts at different breakpoints.\n *\n * @slot - Grid items\n */\n@Component({\n tag: 'af-grid',\n styleUrl: 'af-grid.css',\n shadow: true,\n})\nexport class AfGrid {\n /**\n * Number of columns at the default (largest) breakpoint.\n */\n @Prop() columns: Columns = 3;\n\n /**\n * Number of columns at the large breakpoint (1024px and below).\n */\n @Prop() columnsLg?: Columns;\n\n /**\n * Number of columns at the medium breakpoint (768px and below).\n */\n @Prop() columnsMd?: Columns;\n\n /**\n * Number of columns at the small breakpoint (375px and below).\n */\n @Prop() columnsSm?: Columns;\n\n /**\n * Gap between grid items using space tokens (1-8).\n * Maps to --space-1 through --space-8 (4px to 32px).\n */\n @Prop() gap: Gap = '4';\n\n /**\n * Align items within their grid cells.\n */\n @Prop() align: Align = 'stretch';\n\n render() {\n const alignMap: Record<Align, string> = {\n start: 'start',\n center: 'center',\n end: 'end',\n stretch: 'stretch',\n };\n\n return (\n <Host\n style={{\n '--grid-columns': String(this.columns),\n '--grid-columns-lg': String(this.columnsLg ?? this.columns),\n '--grid-columns-md': String(this.columnsMd ?? this.columnsLg ?? this.columns),\n '--grid-columns-sm': String(this.columnsSm ?? this.columnsMd ?? this.columnsLg ?? 1),\n '--grid-gap': `var(--space-${this.gap})`,\n '--grid-align': alignMap[this.align],\n } as Record<string, string>}\n >\n <div class=\"grid\">\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n\n"]}