@affinda/wc 0.1.0 → 0.3.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 (489) 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-testimonial-carousel.entry.esm.js.map +1 -1
  19. package/dist/affinda/af-testimonial.entry.esm.js.map +1 -1
  20. package/dist/affinda/af-theme-override.entry.esm.js.map +1 -1
  21. package/dist/affinda/af-typography-lockup.entry.esm.js.map +1 -1
  22. package/dist/affinda/af-video-container.entry.esm.js.map +1 -1
  23. package/dist/affinda/affinda.esm.js +1 -1
  24. package/dist/affinda/index.esm.js +1 -1
  25. package/dist/affinda/index.esm.js.map +1 -1
  26. package/dist/affinda/{p-4cf65950.entry.js → p-068ac2fb.entry.js} +2 -2
  27. package/dist/affinda/{p-f10a31cb.entry.js → p-0acadf6f.entry.js} +2 -2
  28. package/dist/affinda/{p-6e40dbdf.entry.js → p-165c413d.entry.js} +2 -2
  29. package/dist/affinda/p-165c413d.entry.js.map +1 -0
  30. package/dist/affinda/{p-e1e98cd6.entry.js → p-1b4b0c88.entry.js} +2 -2
  31. package/dist/affinda/p-2237e652.entry.js +2 -0
  32. package/dist/affinda/{p-56fe6e6e.entry.js.map → p-2237e652.entry.js.map} +1 -1
  33. package/dist/affinda/p-2526604b.entry.js +2 -0
  34. package/dist/affinda/p-2526604b.entry.js.map +1 -0
  35. package/dist/affinda/{p-8c4e3047.entry.js → p-256970e3.entry.js} +2 -2
  36. package/dist/affinda/p-32d62fbb.entry.js +2 -0
  37. package/dist/affinda/{p-3ee906de.entry.js → p-342b08e5.entry.js} +2 -2
  38. package/dist/affinda/{p-a84ae4a5.entry.js → p-365a75e2.entry.js} +2 -2
  39. package/dist/affinda/p-3ed408f6.entry.js +2 -0
  40. package/dist/affinda/{p-edb1a010.entry.js → p-4058a1eb.entry.js} +2 -2
  41. package/dist/affinda/{p-94f51238.entry.js → p-41bbb218.entry.js} +2 -2
  42. package/dist/affinda/p-436673bb.entry.js +2 -0
  43. package/dist/affinda/p-436673bb.entry.js.map +1 -0
  44. package/dist/affinda/{p-c8c4783c.entry.js → p-44d960ca.entry.js} +2 -2
  45. package/dist/affinda/{p-e1cbe95a.entry.js → p-4a9b192b.entry.js} +2 -2
  46. package/dist/affinda/p-4eeeb8a1.entry.js +2 -0
  47. package/dist/affinda/{p-49521f2e.entry.js.map → p-4eeeb8a1.entry.js.map} +1 -1
  48. package/dist/affinda/{p-b2633acb.entry.js → p-5c163c5b.entry.js} +2 -2
  49. package/dist/affinda/{p-48aadea9.entry.js → p-5e5e7d75.entry.js} +2 -2
  50. package/dist/affinda/{p-da2d84f7.entry.js → p-61a6b43d.entry.js} +2 -2
  51. package/dist/affinda/{p-ea42c40b.entry.js → p-631d141c.entry.js} +2 -2
  52. package/dist/affinda/{p-6038a213.entry.js → p-6475796d.entry.js} +2 -2
  53. package/dist/affinda/{p-50a67fb6.entry.js → p-65dd559a.entry.js} +2 -2
  54. package/dist/affinda/p-6756aa66.entry.js +2 -0
  55. package/dist/affinda/p-6e181b2b.entry.js +2 -0
  56. package/dist/affinda/{p-0201c8bd.entry.js → p-6ea474a3.entry.js} +2 -2
  57. package/dist/affinda/{p-a71d528d.entry.js → p-7111051c.entry.js} +2 -2
  58. package/dist/affinda/p-7d3cdda1.entry.js +2 -0
  59. package/dist/affinda/p-7d3cdda1.entry.js.map +1 -0
  60. package/dist/affinda/{p-0137e7a5.entry.js → p-827f3050.entry.js} +2 -2
  61. package/dist/affinda/{p-78518e6c.entry.js → p-83bb96cc.entry.js} +2 -2
  62. package/dist/affinda/p-85cc55bb.entry.js +2 -0
  63. package/dist/affinda/p-85cc55bb.entry.js.map +1 -0
  64. package/dist/affinda/{p-2e6192eb.entry.js → p-9480f00d.entry.js} +2 -2
  65. package/dist/affinda/{p-e055407b.entry.js → p-9ce0adc2.entry.js} +2 -2
  66. package/dist/affinda/{p-81706709.entry.js → p-a02d6192.entry.js} +2 -2
  67. package/dist/affinda/p-a1e80460.entry.js +2 -0
  68. package/dist/affinda/{p-ef5857cf.entry.js.map → p-a1e80460.entry.js.map} +1 -1
  69. package/dist/affinda/{p-ad41f905.entry.js → p-a25d3257.entry.js} +2 -2
  70. package/dist/affinda/{p-5f6a5741.entry.js → p-a8d75eb1.entry.js} +2 -2
  71. package/dist/affinda/{p-5265e82e.entry.js → p-ae430873.entry.js} +2 -2
  72. package/dist/affinda/{p-081cc890.entry.js → p-b39eea31.entry.js} +2 -2
  73. package/dist/affinda/{p-4c4406bf.entry.js → p-b9ec0e75.entry.js} +2 -2
  74. package/dist/affinda/{p-feb3d03f.entry.js → p-bbfc9df6.entry.js} +2 -2
  75. package/dist/affinda/{p-6c58b283.entry.js → p-bed7d9a1.entry.js} +2 -2
  76. package/dist/affinda/{p-4b154e23.entry.js → p-d362651c.entry.js} +2 -2
  77. package/dist/affinda/p-d362651c.entry.js.map +1 -0
  78. package/dist/affinda/{p-3a0e45c3.entry.js → p-d7d82986.entry.js} +2 -2
  79. package/dist/affinda/p-dabd389a.entry.js +2 -0
  80. package/dist/affinda/p-dabd389a.entry.js.map +1 -0
  81. package/dist/affinda/{p-a35029eb.entry.js → p-dcc89b4c.entry.js} +2 -2
  82. package/dist/affinda/{p-f9315f9e.entry.js → p-e07e27f1.entry.js} +2 -2
  83. package/dist/affinda/{p-dbe7ab88.entry.js → p-eeda78ea.entry.js} +2 -2
  84. package/dist/affinda/{p-b2b28366.entry.js → p-f19cb091.entry.js} +2 -2
  85. package/dist/cjs/af-accordion-item.cjs.entry.js +1 -1
  86. package/dist/cjs/af-accordion.cjs.entry.js +1 -1
  87. package/dist/cjs/af-card.cjs.entry.js +1 -1
  88. package/dist/cjs/af-card.entry.cjs.js.map +1 -1
  89. package/dist/cjs/af-center.cjs.entry.js +1 -1
  90. package/dist/cjs/af-client-carousel.cjs.entry.js +1 -1
  91. package/dist/cjs/af-client-carousel.entry.cjs.js.map +1 -1
  92. package/dist/cjs/af-contact-item.cjs.entry.js +1 -1
  93. package/dist/cjs/af-divider.cjs.entry.js +1 -1
  94. package/dist/cjs/af-divider.entry.cjs.js.map +1 -1
  95. package/dist/cjs/af-feature-accordion.cjs.entry.js +2 -2
  96. package/dist/cjs/af-feature-card.entry.cjs.js.map +1 -1
  97. package/dist/cjs/af-feature-grid.cjs.entry.js +1 -1
  98. package/dist/cjs/af-footer-column.cjs.entry.js +1 -1
  99. package/dist/cjs/af-footer-link.cjs.entry.js +1 -1
  100. package/dist/cjs/af-footer.cjs.entry.js +1 -1
  101. package/dist/cjs/af-grid.cjs.entry.js +2 -2
  102. package/dist/cjs/af-grid.entry.cjs.js.map +1 -1
  103. package/dist/cjs/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.cjs.js.map +1 -1
  104. package/dist/cjs/af-heading_5.cjs.entry.js +1 -1
  105. package/dist/cjs/af-hero.cjs.entry.js +94 -0
  106. package/dist/cjs/af-hero.entry.cjs.js.map +1 -0
  107. package/dist/cjs/af-icon-box.cjs.entry.js +1 -1
  108. package/dist/cjs/af-icon-text.cjs.entry.js +1 -1
  109. package/dist/cjs/af-illustrated-card.cjs.entry.js +1 -1
  110. package/dist/cjs/af-illustrated-card.entry.cjs.js.map +1 -1
  111. package/dist/cjs/af-image.cjs.entry.js +1 -1
  112. package/dist/cjs/af-in-page-banner.cjs.entry.js +1 -1
  113. package/dist/cjs/af-in-page-banner.entry.cjs.js.map +1 -1
  114. package/dist/cjs/af-inline.cjs.entry.js +1 -1
  115. package/dist/cjs/af-inline.entry.cjs.js.map +1 -1
  116. package/dist/cjs/af-logo-well.cjs.entry.js +1 -1
  117. package/dist/cjs/af-nav-accordion-item.cjs.entry.js +2 -2
  118. package/dist/cjs/af-nav-accordion.cjs.entry.js +1 -1
  119. package/dist/cjs/af-nav-menu-nest.cjs.entry.js +1 -1
  120. package/dist/cjs/af-nav-menu.cjs.entry.js +1 -1
  121. package/dist/cjs/af-number-badge.cjs.entry.js +1 -1
  122. package/dist/cjs/af-numbered-stepper-item.cjs.entry.js +25 -0
  123. package/dist/cjs/af-numbered-stepper-item.entry.cjs.js.map +1 -0
  124. package/dist/cjs/af-numbered-stepper.cjs.entry.js +36 -0
  125. package/dist/cjs/af-numbered-stepper.entry.cjs.js.map +1 -0
  126. package/dist/cjs/af-paperclip-decoration.cjs.entry.js +1 -1
  127. package/dist/cjs/af-progress-line.cjs.entry.js +2 -2
  128. package/dist/cjs/af-section.cjs.entry.js +2 -2
  129. package/dist/cjs/af-section.entry.cjs.js.map +1 -1
  130. package/dist/cjs/af-show.cjs.entry.js +1 -1
  131. package/dist/cjs/af-social-link.cjs.entry.js +1 -1
  132. package/dist/cjs/af-spacer.cjs.entry.js +1 -1
  133. package/dist/cjs/af-split-section.cjs.entry.js +2 -2
  134. package/dist/cjs/af-split-section.entry.cjs.js.map +1 -1
  135. package/dist/cjs/af-stack.cjs.entry.js +1 -1
  136. package/dist/cjs/af-stack.entry.cjs.js.map +1 -1
  137. package/dist/cjs/af-stat.cjs.entry.js +18 -0
  138. package/dist/cjs/af-stat.entry.cjs.js.map +1 -0
  139. package/dist/cjs/af-stats-row.cjs.entry.js +18 -0
  140. package/dist/cjs/af-stats-row.entry.cjs.js.map +1 -0
  141. package/dist/cjs/af-stepper-step.cjs.entry.js +1 -1
  142. package/dist/cjs/af-stepper.cjs.entry.js +1 -1
  143. package/dist/cjs/af-testimonial-carousel.cjs.entry.js +1 -1
  144. package/dist/cjs/af-testimonial-carousel.entry.cjs.js.map +1 -1
  145. package/dist/cjs/af-testimonial-stat.cjs.entry.js +1 -1
  146. package/dist/cjs/af-testimonial.cjs.entry.js +6 -6
  147. package/dist/cjs/af-testimonial.entry.cjs.js.map +1 -1
  148. package/dist/cjs/af-text-image-nest.cjs.entry.js +1 -1
  149. package/dist/cjs/af-theme-override.cjs.entry.js +1 -1
  150. package/dist/cjs/af-theme-override.entry.cjs.js.map +1 -1
  151. package/dist/cjs/af-typography-lockup.cjs.entry.js +1 -1
  152. package/dist/cjs/af-typography-lockup.entry.cjs.js.map +1 -1
  153. package/dist/cjs/af-video-container.cjs.entry.js +3 -3
  154. package/dist/cjs/af-video-container.entry.cjs.js.map +1 -1
  155. package/dist/cjs/af-visually-hidden.cjs.entry.js +1 -1
  156. package/dist/cjs/affinda.cjs.js +1 -1
  157. package/dist/cjs/index.cjs.js +2 -0
  158. package/dist/cjs/index.cjs.js.map +1 -1
  159. package/dist/cjs/loader.cjs.js +1 -1
  160. package/dist/collection/collection-manifest.json +5 -0
  161. package/dist/collection/components/af-accordion/af-accordion.js +1 -1
  162. package/dist/collection/components/af-accordion-item/af-accordion-item.js +1 -1
  163. package/dist/collection/components/af-card/af-card.js +9 -3
  164. package/dist/collection/components/af-card/af-card.js.map +1 -1
  165. package/dist/collection/components/af-center/af-center.js +1 -1
  166. package/dist/collection/components/af-client-carousel/af-client-carousel.js +4 -3
  167. package/dist/collection/components/af-client-carousel/af-client-carousel.js.map +1 -1
  168. package/dist/collection/components/af-contact-item/af-contact-item.js +1 -1
  169. package/dist/collection/components/af-divider/af-divider.js +1 -1
  170. package/dist/collection/components/af-divider/af-divider.js.map +1 -1
  171. package/dist/collection/components/af-feature-accordion/af-feature-accordion.js +2 -2
  172. package/dist/collection/components/af-feature-card/af-feature-card.js +8 -2
  173. package/dist/collection/components/af-feature-card/af-feature-card.js.map +1 -1
  174. package/dist/collection/components/af-feature-grid/af-feature-grid.js +1 -1
  175. package/dist/collection/components/af-footer/af-footer.js +1 -1
  176. package/dist/collection/components/af-footer-column/af-footer-column.js +1 -1
  177. package/dist/collection/components/af-footer-link/af-footer-link.js +1 -1
  178. package/dist/collection/components/af-grid/af-grid.js +5 -4
  179. package/dist/collection/components/af-grid/af-grid.js.map +1 -1
  180. package/dist/collection/components/af-hero/af-hero.css +282 -0
  181. package/dist/collection/components/af-hero/af-hero.js +314 -0
  182. package/dist/collection/components/af-hero/af-hero.js.map +1 -0
  183. package/dist/collection/components/af-icon-box/af-icon-box.js +1 -1
  184. package/dist/collection/components/af-icon-text/af-icon-text.js +1 -1
  185. package/dist/collection/components/af-illustrated-card/af-illustrated-card.js +9 -3
  186. package/dist/collection/components/af-illustrated-card/af-illustrated-card.js.map +1 -1
  187. package/dist/collection/components/af-image/af-image.js +1 -1
  188. package/dist/collection/components/af-in-page-banner/af-in-page-banner.js +7 -6
  189. package/dist/collection/components/af-in-page-banner/af-in-page-banner.js.map +1 -1
  190. package/dist/collection/components/af-inline/af-inline.js +4 -3
  191. package/dist/collection/components/af-inline/af-inline.js.map +1 -1
  192. package/dist/collection/components/af-logo-well/af-logo-well.js +1 -1
  193. package/dist/collection/components/af-nav-accordion/af-nav-accordion.js +1 -1
  194. package/dist/collection/components/af-nav-accordion-item/af-nav-accordion-item.js +2 -2
  195. package/dist/collection/components/af-nav-menu/af-nav-menu.js +1 -1
  196. package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js +1 -1
  197. package/dist/collection/components/af-navbar/af-navbar.js +10 -4
  198. package/dist/collection/components/af-navbar/af-navbar.js.map +1 -1
  199. package/dist/collection/components/af-number-badge/af-number-badge.js +1 -1
  200. package/dist/collection/components/af-numbered-stepper/af-numbered-stepper.css +30 -0
  201. package/dist/collection/components/af-numbered-stepper/af-numbered-stepper.js +92 -0
  202. package/dist/collection/components/af-numbered-stepper/af-numbered-stepper.js.map +1 -0
  203. package/dist/collection/components/af-numbered-stepper-item/af-numbered-stepper-item.css +113 -0
  204. package/dist/collection/components/af-numbered-stepper-item/af-numbered-stepper-item.js +66 -0
  205. package/dist/collection/components/af-numbered-stepper-item/af-numbered-stepper-item.js.map +1 -0
  206. package/dist/collection/components/af-paperclip-decoration/af-paperclip-decoration.js +1 -1
  207. package/dist/collection/components/af-progress-line/af-progress-line.js +2 -2
  208. package/dist/collection/components/af-section/af-section.js +18 -6
  209. package/dist/collection/components/af-section/af-section.js.map +1 -1
  210. package/dist/collection/components/af-show/af-show.js +1 -1
  211. package/dist/collection/components/af-social-link/af-social-link.js +1 -1
  212. package/dist/collection/components/af-spacer/af-spacer.js +1 -1
  213. package/dist/collection/components/af-split-section/af-split-section.js +16 -8
  214. package/dist/collection/components/af-split-section/af-split-section.js.map +1 -1
  215. package/dist/collection/components/af-stack/af-stack.js +4 -3
  216. package/dist/collection/components/af-stack/af-stack.js.map +1 -1
  217. package/dist/collection/components/af-stat/af-stat.css +25 -0
  218. package/dist/collection/components/af-stat/af-stat.js +69 -0
  219. package/dist/collection/components/af-stat/af-stat.js.map +1 -0
  220. package/dist/collection/components/af-stats-row/af-stats-row.css +32 -0
  221. package/dist/collection/components/af-stats-row/af-stats-row.js +33 -0
  222. package/dist/collection/components/af-stats-row/af-stats-row.js.map +1 -0
  223. package/dist/collection/components/af-stepper/af-stepper.js +1 -1
  224. package/dist/collection/components/af-stepper-step/af-stepper-step.js +1 -1
  225. package/dist/collection/components/af-testimonial/af-testimonial.js +8 -8
  226. package/dist/collection/components/af-testimonial/af-testimonial.js.map +1 -1
  227. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js +3 -3
  228. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js.map +1 -1
  229. package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js +1 -1
  230. package/dist/collection/components/af-text-image-nest/af-text-image-nest.js +1 -1
  231. package/dist/collection/components/af-theme-override/af-theme-override.js +9 -3
  232. package/dist/collection/components/af-theme-override/af-theme-override.js.map +1 -1
  233. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js +9 -3
  234. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js.map +1 -1
  235. package/dist/collection/components/af-video-container/af-video-container.js +4 -4
  236. package/dist/collection/components/af-video-container/af-video-container.js.map +1 -1
  237. package/dist/collection/components/af-visually-hidden/af-visually-hidden.js +1 -1
  238. package/dist/collection/components.js +1 -0
  239. package/dist/collection/components.js.map +1 -1
  240. package/dist/collection/types.js +2 -0
  241. package/dist/collection/types.js.map +1 -0
  242. package/dist/components/af-accordion-item.js +1 -1
  243. package/dist/components/af-accordion.js +1 -1
  244. package/dist/components/af-card.js +1 -1
  245. package/dist/components/af-center.js +1 -1
  246. package/dist/components/af-client-carousel.js +1 -1
  247. package/dist/components/af-client-carousel.js.map +1 -1
  248. package/dist/components/af-contact-item.js +1 -1
  249. package/dist/components/af-divider.js +1 -1
  250. package/dist/components/af-divider.js.map +1 -1
  251. package/dist/components/af-feature-accordion.js +2 -2
  252. package/dist/components/af-feature-card.js +1 -1
  253. package/dist/components/af-feature-grid.js +2 -2
  254. package/dist/components/af-footer-column.js +1 -1
  255. package/dist/components/af-footer-link.js +1 -1
  256. package/dist/components/af-footer.js +1 -1
  257. package/dist/components/af-grid-callout.js +1 -1
  258. package/dist/components/af-grid.js +2 -2
  259. package/dist/components/af-grid.js.map +1 -1
  260. package/dist/components/af-hero.d.ts +11 -0
  261. package/dist/components/af-hero.js +9 -0
  262. package/dist/components/af-hero.js.map +1 -0
  263. package/dist/components/af-icon-box.js +1 -1
  264. package/dist/components/af-icon-text.js +3 -3
  265. package/dist/components/af-illustrated-card.js +1 -1
  266. package/dist/components/af-image.js +1 -1
  267. package/dist/components/af-in-page-banner.js +1 -1
  268. package/dist/components/af-in-page-banner.js.map +1 -1
  269. package/dist/components/af-inline.js +1 -1
  270. package/dist/components/af-inline.js.map +1 -1
  271. package/dist/components/af-logo-well.js +1 -1
  272. package/dist/components/af-nav-accordion-item.js +2 -2
  273. package/dist/components/af-nav-accordion.js +1 -1
  274. package/dist/components/af-nav-menu-nest.js +1 -1
  275. package/dist/components/af-nav-menu.js +1 -1
  276. package/dist/components/af-navbar.js +1 -1
  277. package/dist/components/af-number-badge.js +1 -58
  278. package/dist/components/af-number-badge.js.map +1 -1
  279. package/dist/components/af-numbered-stepper-item.d.ts +11 -0
  280. package/dist/components/af-numbered-stepper-item.js +58 -0
  281. package/dist/components/af-numbered-stepper-item.js.map +1 -0
  282. package/dist/components/af-numbered-stepper.d.ts +11 -0
  283. package/dist/components/af-numbered-stepper.js +57 -0
  284. package/dist/components/af-numbered-stepper.js.map +1 -0
  285. package/dist/components/af-paperclip-decoration.js +1 -1
  286. package/dist/components/af-progress-line.js +1 -1
  287. package/dist/components/af-section.js +1 -46
  288. package/dist/components/af-section.js.map +1 -1
  289. package/dist/components/af-show.js +1 -1
  290. package/dist/components/af-social-link.js +1 -1
  291. package/dist/components/af-spacer.js +1 -1
  292. package/dist/components/af-split-section.js +2 -2
  293. package/dist/components/af-split-section.js.map +1 -1
  294. package/dist/components/af-stack.js +1 -1
  295. package/dist/components/af-stack.js.map +1 -1
  296. package/dist/components/af-stat.d.ts +11 -0
  297. package/dist/components/af-stat.js +53 -0
  298. package/dist/components/af-stat.js.map +1 -0
  299. package/dist/components/af-stats-row.d.ts +11 -0
  300. package/dist/components/af-stats-row.js +37 -0
  301. package/dist/components/af-stats-row.js.map +1 -0
  302. package/dist/components/af-stepper-step.js +1 -1
  303. package/dist/components/af-stepper.js +1 -1
  304. package/dist/components/af-testimonial-carousel.js +3 -3
  305. package/dist/components/af-testimonial-carousel.js.map +1 -1
  306. package/dist/components/af-testimonial-stat.js +1 -1
  307. package/dist/components/af-testimonial.js +6 -6
  308. package/dist/components/af-testimonial.js.map +1 -1
  309. package/dist/components/af-text-image-nest.js +1 -1
  310. package/dist/components/af-text-image.js +1 -1
  311. package/dist/components/af-theme-override.js +1 -1
  312. package/dist/components/af-theme-override.js.map +1 -1
  313. package/dist/components/af-typography-lockup.js +1 -1
  314. package/dist/components/af-video-container.js +3 -3
  315. package/dist/components/af-video-container.js.map +1 -1
  316. package/dist/components/af-visually-hidden.js +1 -1
  317. package/dist/components/index.js +5 -4
  318. package/dist/components/index.js.map +1 -1
  319. package/dist/components/{p-C6-JATRR.js → p-3Gzh4deR.js} +5 -5
  320. package/dist/components/p-3Gzh4deR.js.map +1 -0
  321. package/dist/components/{p-DO9J0XTo.js → p-BXmiPS9x.js} +4 -4
  322. package/dist/components/{p-DO9J0XTo.js.map → p-BXmiPS9x.js.map} +1 -1
  323. package/dist/components/{p-CKLkuSI3.js → p-CJxqw006.js} +3 -3
  324. package/dist/components/{p-CKLkuSI3.js.map → p-CJxqw006.js.map} +1 -1
  325. package/dist/components/p-CRnEuh5f.js +136 -0
  326. package/dist/components/p-CRnEuh5f.js.map +1 -0
  327. package/dist/components/{p-DNeNJhuM.js → p-ClZAZSzR.js} +3 -3
  328. package/dist/components/{p-DNeNJhuM.js.map → p-ClZAZSzR.js.map} +1 -1
  329. package/dist/components/{p-HMlLQQwp.js → p-DqJRvNOl.js} +3 -3
  330. package/dist/components/{p-HMlLQQwp.js.map → p-DqJRvNOl.js.map} +1 -1
  331. package/dist/components/{p-Bh6Cfgtj.js → p-LRPXnaSx.js} +3 -3
  332. package/dist/components/{p-Bh6Cfgtj.js.map → p-LRPXnaSx.js.map} +1 -1
  333. package/dist/components/p-O26uYJSV.js +51 -0
  334. package/dist/components/p-O26uYJSV.js.map +1 -0
  335. package/dist/components/p-QoDae21y.js +63 -0
  336. package/dist/components/p-QoDae21y.js.map +1 -0
  337. package/dist/components/{p-CNzQtskW.js → p-mbl86-w6.js} +4 -4
  338. package/dist/components/p-mbl86-w6.js.map +1 -0
  339. package/dist/components/{p-i_6TLQJ5.js → p-nA3Uvhwb.js} +3 -3
  340. package/dist/components/{p-i_6TLQJ5.js.map → p-nA3Uvhwb.js.map} +1 -1
  341. package/dist/esm/af-accordion-item.entry.js +1 -1
  342. package/dist/esm/af-accordion.entry.js +1 -1
  343. package/dist/esm/af-card.entry.js +1 -1
  344. package/dist/esm/af-card.entry.js.map +1 -1
  345. package/dist/esm/af-center.entry.js +1 -1
  346. package/dist/esm/af-client-carousel.entry.js +1 -1
  347. package/dist/esm/af-client-carousel.entry.js.map +1 -1
  348. package/dist/esm/af-contact-item.entry.js +1 -1
  349. package/dist/esm/af-divider.entry.js +1 -1
  350. package/dist/esm/af-divider.entry.js.map +1 -1
  351. package/dist/esm/af-feature-accordion.entry.js +2 -2
  352. package/dist/esm/af-feature-card.entry.js.map +1 -1
  353. package/dist/esm/af-feature-grid.entry.js +1 -1
  354. package/dist/esm/af-footer-column.entry.js +1 -1
  355. package/dist/esm/af-footer-link.entry.js +1 -1
  356. package/dist/esm/af-footer.entry.js +1 -1
  357. package/dist/esm/af-grid.entry.js +2 -2
  358. package/dist/esm/af-grid.entry.js.map +1 -1
  359. package/dist/esm/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.js.map +1 -1
  360. package/dist/esm/af-heading_5.entry.js +1 -1
  361. package/dist/esm/af-hero.entry.js +92 -0
  362. package/dist/esm/af-hero.entry.js.map +1 -0
  363. package/dist/esm/af-icon-box.entry.js +1 -1
  364. package/dist/esm/af-icon-text.entry.js +1 -1
  365. package/dist/esm/af-illustrated-card.entry.js +1 -1
  366. package/dist/esm/af-illustrated-card.entry.js.map +1 -1
  367. package/dist/esm/af-image.entry.js +1 -1
  368. package/dist/esm/af-in-page-banner.entry.js +1 -1
  369. package/dist/esm/af-in-page-banner.entry.js.map +1 -1
  370. package/dist/esm/af-inline.entry.js +1 -1
  371. package/dist/esm/af-inline.entry.js.map +1 -1
  372. package/dist/esm/af-logo-well.entry.js +1 -1
  373. package/dist/esm/af-nav-accordion-item.entry.js +2 -2
  374. package/dist/esm/af-nav-accordion.entry.js +1 -1
  375. package/dist/esm/af-nav-menu-nest.entry.js +1 -1
  376. package/dist/esm/af-nav-menu.entry.js +1 -1
  377. package/dist/esm/af-number-badge.entry.js +1 -1
  378. package/dist/esm/af-numbered-stepper-item.entry.js +23 -0
  379. package/dist/esm/af-numbered-stepper-item.entry.js.map +1 -0
  380. package/dist/esm/af-numbered-stepper.entry.js +34 -0
  381. package/dist/esm/af-numbered-stepper.entry.js.map +1 -0
  382. package/dist/esm/af-paperclip-decoration.entry.js +1 -1
  383. package/dist/esm/af-progress-line.entry.js +2 -2
  384. package/dist/esm/af-section.entry.js +2 -2
  385. package/dist/esm/af-section.entry.js.map +1 -1
  386. package/dist/esm/af-show.entry.js +1 -1
  387. package/dist/esm/af-social-link.entry.js +1 -1
  388. package/dist/esm/af-spacer.entry.js +1 -1
  389. package/dist/esm/af-split-section.entry.js +2 -2
  390. package/dist/esm/af-split-section.entry.js.map +1 -1
  391. package/dist/esm/af-stack.entry.js +1 -1
  392. package/dist/esm/af-stack.entry.js.map +1 -1
  393. package/dist/esm/af-stat.entry.js +16 -0
  394. package/dist/esm/af-stat.entry.js.map +1 -0
  395. package/dist/esm/af-stats-row.entry.js +16 -0
  396. package/dist/esm/af-stats-row.entry.js.map +1 -0
  397. package/dist/esm/af-stepper-step.entry.js +1 -1
  398. package/dist/esm/af-stepper.entry.js +1 -1
  399. package/dist/esm/af-testimonial-carousel.entry.js +1 -1
  400. package/dist/esm/af-testimonial-carousel.entry.js.map +1 -1
  401. package/dist/esm/af-testimonial-stat.entry.js +1 -1
  402. package/dist/esm/af-testimonial.entry.js +6 -6
  403. package/dist/esm/af-testimonial.entry.js.map +1 -1
  404. package/dist/esm/af-text-image-nest.entry.js +1 -1
  405. package/dist/esm/af-theme-override.entry.js +1 -1
  406. package/dist/esm/af-theme-override.entry.js.map +1 -1
  407. package/dist/esm/af-typography-lockup.entry.js +1 -1
  408. package/dist/esm/af-typography-lockup.entry.js.map +1 -1
  409. package/dist/esm/af-video-container.entry.js +3 -3
  410. package/dist/esm/af-video-container.entry.js.map +1 -1
  411. package/dist/esm/af-visually-hidden.entry.js +1 -1
  412. package/dist/esm/affinda.js +1 -1
  413. package/dist/esm/index.js +1 -0
  414. package/dist/esm/index.js.map +1 -1
  415. package/dist/esm/loader.js +1 -1
  416. package/dist/types/components/af-card/af-card.d.ts +2 -1
  417. package/dist/types/components/af-client-carousel/af-client-carousel.d.ts +1 -1
  418. package/dist/types/components/af-divider/af-divider.d.ts +2 -1
  419. package/dist/types/components/af-feature-card/af-feature-card.d.ts +2 -1
  420. package/dist/types/components/af-grid/af-grid.d.ts +1 -1
  421. package/dist/types/components/af-hero/af-hero.d.ts +93 -0
  422. package/dist/types/components/af-illustrated-card/af-illustrated-card.d.ts +2 -1
  423. package/dist/types/components/af-in-page-banner/af-in-page-banner.d.ts +2 -3
  424. package/dist/types/components/af-inline/af-inline.d.ts +1 -1
  425. package/dist/types/components/af-navbar/af-navbar.d.ts +2 -1
  426. package/dist/types/components/af-numbered-stepper/af-numbered-stepper.d.ts +38 -0
  427. package/dist/types/components/af-numbered-stepper-item/af-numbered-stepper-item.d.ts +22 -0
  428. package/dist/types/components/af-section/af-section.d.ts +3 -2
  429. package/dist/types/components/af-split-section/af-split-section.d.ts +2 -3
  430. package/dist/types/components/af-stack/af-stack.d.ts +1 -1
  431. package/dist/types/components/af-stat/af-stat.d.ts +15 -0
  432. package/dist/types/components/af-stats-row/af-stats-row.d.ts +17 -0
  433. package/dist/types/components/af-testimonial/af-testimonial.d.ts +2 -2
  434. package/dist/types/components/af-theme-override/af-theme-override.d.ts +2 -1
  435. package/dist/types/components/af-typography-lockup/af-typography-lockup.d.ts +2 -1
  436. package/dist/types/components/af-video-container/af-video-container.d.ts +1 -1
  437. package/dist/types/components.d.ts +575 -26
  438. package/dist/types/types.d.ts +57 -0
  439. package/package.json +2 -2
  440. package/dist/affinda/p-083fc528.entry.js +0 -2
  441. package/dist/affinda/p-0e469ad2.entry.js +0 -2
  442. package/dist/affinda/p-41643147.entry.js +0 -2
  443. package/dist/affinda/p-49521f2e.entry.js +0 -2
  444. package/dist/affinda/p-4b154e23.entry.js.map +0 -1
  445. package/dist/affinda/p-56fe6e6e.entry.js +0 -2
  446. package/dist/affinda/p-6e40dbdf.entry.js.map +0 -1
  447. package/dist/affinda/p-a6eda8af.entry.js +0 -2
  448. package/dist/affinda/p-ef5857cf.entry.js +0 -2
  449. package/dist/components/p-C6-JATRR.js.map +0 -1
  450. package/dist/components/p-CNzQtskW.js.map +0 -1
  451. /package/dist/affinda/{p-4cf65950.entry.js.map → p-068ac2fb.entry.js.map} +0 -0
  452. /package/dist/affinda/{p-f10a31cb.entry.js.map → p-0acadf6f.entry.js.map} +0 -0
  453. /package/dist/affinda/{p-e1e98cd6.entry.js.map → p-1b4b0c88.entry.js.map} +0 -0
  454. /package/dist/affinda/{p-8c4e3047.entry.js.map → p-256970e3.entry.js.map} +0 -0
  455. /package/dist/affinda/{p-a6eda8af.entry.js.map → p-32d62fbb.entry.js.map} +0 -0
  456. /package/dist/affinda/{p-3ee906de.entry.js.map → p-342b08e5.entry.js.map} +0 -0
  457. /package/dist/affinda/{p-a84ae4a5.entry.js.map → p-365a75e2.entry.js.map} +0 -0
  458. /package/dist/affinda/{p-41643147.entry.js.map → p-3ed408f6.entry.js.map} +0 -0
  459. /package/dist/affinda/{p-edb1a010.entry.js.map → p-4058a1eb.entry.js.map} +0 -0
  460. /package/dist/affinda/{p-94f51238.entry.js.map → p-41bbb218.entry.js.map} +0 -0
  461. /package/dist/affinda/{p-c8c4783c.entry.js.map → p-44d960ca.entry.js.map} +0 -0
  462. /package/dist/affinda/{p-e1cbe95a.entry.js.map → p-4a9b192b.entry.js.map} +0 -0
  463. /package/dist/affinda/{p-b2633acb.entry.js.map → p-5c163c5b.entry.js.map} +0 -0
  464. /package/dist/affinda/{p-48aadea9.entry.js.map → p-5e5e7d75.entry.js.map} +0 -0
  465. /package/dist/affinda/{p-da2d84f7.entry.js.map → p-61a6b43d.entry.js.map} +0 -0
  466. /package/dist/affinda/{p-ea42c40b.entry.js.map → p-631d141c.entry.js.map} +0 -0
  467. /package/dist/affinda/{p-6038a213.entry.js.map → p-6475796d.entry.js.map} +0 -0
  468. /package/dist/affinda/{p-50a67fb6.entry.js.map → p-65dd559a.entry.js.map} +0 -0
  469. /package/dist/affinda/{p-083fc528.entry.js.map → p-6756aa66.entry.js.map} +0 -0
  470. /package/dist/affinda/{p-0e469ad2.entry.js.map → p-6e181b2b.entry.js.map} +0 -0
  471. /package/dist/affinda/{p-0201c8bd.entry.js.map → p-6ea474a3.entry.js.map} +0 -0
  472. /package/dist/affinda/{p-a71d528d.entry.js.map → p-7111051c.entry.js.map} +0 -0
  473. /package/dist/affinda/{p-0137e7a5.entry.js.map → p-827f3050.entry.js.map} +0 -0
  474. /package/dist/affinda/{p-78518e6c.entry.js.map → p-83bb96cc.entry.js.map} +0 -0
  475. /package/dist/affinda/{p-2e6192eb.entry.js.map → p-9480f00d.entry.js.map} +0 -0
  476. /package/dist/affinda/{p-e055407b.entry.js.map → p-9ce0adc2.entry.js.map} +0 -0
  477. /package/dist/affinda/{p-81706709.entry.js.map → p-a02d6192.entry.js.map} +0 -0
  478. /package/dist/affinda/{p-ad41f905.entry.js.map → p-a25d3257.entry.js.map} +0 -0
  479. /package/dist/affinda/{p-5f6a5741.entry.js.map → p-a8d75eb1.entry.js.map} +0 -0
  480. /package/dist/affinda/{p-5265e82e.entry.js.map → p-ae430873.entry.js.map} +0 -0
  481. /package/dist/affinda/{p-081cc890.entry.js.map → p-b39eea31.entry.js.map} +0 -0
  482. /package/dist/affinda/{p-4c4406bf.entry.js.map → p-b9ec0e75.entry.js.map} +0 -0
  483. /package/dist/affinda/{p-feb3d03f.entry.js.map → p-bbfc9df6.entry.js.map} +0 -0
  484. /package/dist/affinda/{p-6c58b283.entry.js.map → p-bed7d9a1.entry.js.map} +0 -0
  485. /package/dist/affinda/{p-3a0e45c3.entry.js.map → p-d7d82986.entry.js.map} +0 -0
  486. /package/dist/affinda/{p-a35029eb.entry.js.map → p-dcc89b4c.entry.js.map} +0 -0
  487. /package/dist/affinda/{p-f9315f9e.entry.js.map → p-e07e27f1.entry.js.map} +0 -0
  488. /package/dist/affinda/{p-dbe7ab88.entry.js.map → p-eeda78ea.entry.js.map} +0 -0
  489. /package/dist/affinda/{p-b2b28366.entry.js.map → p-f19cb091.entry.js.map} +0 -0
@@ -0,0 +1,314 @@
1
+ import { h, Host } from "@stencil/core";
2
+ /**
3
+ * Blob-shape mask used to clip hero photos on the inkwell-photo variant.
4
+ * Extracted from the 7+ hand-rolled copies in the website so the path is
5
+ * defined exactly once. Intrinsic viewBox: 741 × 940.
6
+ */
7
+ const BLOB_MASK_URL = "url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3NDEgOTQwIj48cGF0aCBkPSJNMTcwLjA2MyAxODEuOTQ1QzIzNC4xNTYgMzAuOTUxNCA0MDguNTE4IC0zOS40OTU1IDU1OS41MTIgMjQuNTk3NUM3MTAuNTA2IDg4LjY5MDQgNzgwLjk1MiAyNjMuMDUzIDcxNi44NTkgNDE0LjA0Nkw1NzAuODQ3IDc1OC4wMzFDNTA2Ljc1NCA5MDkuMDI0IDMzMi4zOTIgOTc5LjQ3MSAxODEuMzk4IDkxNS4zNzhDMzAuNDA0NSA4NTEuMjg1IC00MC4wNDI0IDY3Ni45MjMgMjQuMDUwNiA1MjUuOTI5TDE3MC4wNjMgMTgxLjk0NVoiIGZpbGw9IiMwMDAiLz48L3N2Zz4=')";
8
+ /**
9
+ * Mobile blob shape — simpler D-curve matching the live mobile banner.
10
+ */
11
+ const BLOB_MASK_URL_MOBILE = "url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1024 768\"><path fill=\"%23000\" d=\"M1024 0H384A384 384 0 0 0 384 768H1024V0Z\"/></svg>')";
12
+ /**
13
+ * Map each variant to its underlying section theme token. Keeps one source
14
+ * of truth instead of having consumers spell the theme twice.
15
+ */
16
+ const VARIANT_THEMES = {
17
+ 'inkwell-photo': 'inkwell',
18
+ 'inkwell-illustration': 'inkwell',
19
+ 'inkwell-centered': 'inkwell',
20
+ 'soft-clay-illustration': 'soft-clay',
21
+ 'mist-green-illustration': 'mist-green',
22
+ };
23
+ /**
24
+ * Unified top-of-page hero — replaces the 7+ hand-rolled hero implementations
25
+ * the Affinda marketing site (and sibling apps) currently ship. Covers five
26
+ * canonical patterns via the `variant` prop:
27
+ *
28
+ * - `inkwell-photo` — inkwell background, blob-masked photo on the right.
29
+ * Use for: listing / archive pages (blog, case-studies, whitepapers,
30
+ * value-creation, about-us) and industry landing pages that carry a
31
+ * photograph instead of an illustration.
32
+ * - `inkwell-illustration` — inkwell background, illustration on the right.
33
+ * Use for: industry landing pages, /industries, /integrations, /platform
34
+ * with bespoke art.
35
+ * - `inkwell-centered` — inkwell background, centred typography lockup.
36
+ * Slot `<af-paperclip-decoration />` into the `paperclip` slot for the
37
+ * watermark treatment. Use for: `/`, `/au`, `/platform`.
38
+ * - `soft-clay-illustration` — soft-clay background, illustration on the
39
+ * right. Use for: /news, /industries overview, /security, /compare.
40
+ * - `mist-green-illustration` — same layout as soft-clay-illustration but on
41
+ * the mist-green theme. Reserved for future pages.
42
+ *
43
+ * ## Slots
44
+ *
45
+ * - default — heading content (use when richer markup than the `heading`
46
+ * prop can express is needed; e.g. coloured spans or line breaks).
47
+ * - `description` — supporting copy under the heading.
48
+ * - `badge` — optional pre-heading label (pill, version tag).
49
+ * - `buttons` — hero CTAs (usually an `<af-button-group>`).
50
+ * - `image` — the photograph for the `inkwell-photo` variant. Wrapped in
51
+ * the blob mask automatically.
52
+ * - `illustration` — the illustration SVG for `-illustration` variants.
53
+ * - `paperclip` — watermark for `inkwell-centered`. Consumers typically
54
+ * slot `<af-paperclip-decoration />` here.
55
+ * - `logos-below` — overlap row at the bottom gutter (logo carousel etc.).
56
+ * Painted with the theme's background so it cleanly overlaps the image's
57
+ * lower edge on the photo variant.
58
+ *
59
+ * ## Float-navbar handling
60
+ *
61
+ * When `floatNavbar` is true (the default for the inkwell variants) the
62
+ * component sets `data-af-hero-float-navbar="true"` on `<body>` via a
63
+ * lifecycle hook, and a companion rule in `@affinda/css/base.css` applies
64
+ * the `body > header { position: absolute }` / `main { padding-top: 0 }`
65
+ * / navbar-spacer-transparent treatment. Consumers already import
66
+ * `@affinda/css` so no extra import is required. The rule deactivates
67
+ * when the hero is removed from the DOM.
68
+ *
69
+ * ## Image lift
70
+ *
71
+ * The `inkwell-photo` variant renders the photo column with
72
+ * `margin-top: var(--af-hero-image-lift, -260px)`. Override per-page by
73
+ * setting `--af-hero-image-lift` on the `<af-hero>` element.
74
+ */
75
+ export class AfHero {
76
+ constructor() {
77
+ /** Layout / theme preset. See variant docs in the component header. */
78
+ this.variant = 'inkwell-photo';
79
+ /** Heading text (use the default slot for richer markup). */
80
+ this.heading = '';
81
+ /** Description text (use the `description` slot for richer markup). */
82
+ this.description = '';
83
+ /**
84
+ * Top padding preset. `default` = 124px (matches IndustryHero /
85
+ * IllustrationHero). `loose` = 164px (matches ListingHero — gives the
86
+ * image a touch more breathing room above the lockup on archive pages).
87
+ */
88
+ this.topPad = 'default';
89
+ /** Typography lockup max-width (px). Defaults to 620, matching the live site. */
90
+ this.maxWidth = 620;
91
+ /**
92
+ * Whether to apply the blob mask to the slotted `image`. Defaults to
93
+ * `true` for `inkwell-photo`. Set `false` if you want to slot in a
94
+ * pre-masked raster or a custom wrapper.
95
+ */
96
+ this.maskImage = true;
97
+ }
98
+ get resolvedFloatNavbar() {
99
+ if (typeof this.floatNavbar === 'boolean')
100
+ return this.floatNavbar;
101
+ return (this.variant === 'inkwell-photo' ||
102
+ this.variant === 'inkwell-illustration' ||
103
+ this.variant === 'inkwell-centered');
104
+ }
105
+ get theme() {
106
+ return VARIANT_THEMES[this.variant];
107
+ }
108
+ connectedCallback() {
109
+ if (this.resolvedFloatNavbar && typeof document !== 'undefined') {
110
+ document.body.setAttribute('data-af-hero-float-navbar', 'true');
111
+ }
112
+ }
113
+ disconnectedCallback() {
114
+ if (typeof document !== 'undefined' && !document.querySelector('af-hero')) {
115
+ document.body.removeAttribute('data-af-hero-float-navbar');
116
+ }
117
+ }
118
+ renderCopy() {
119
+ const alignment = this.variant === 'inkwell-centered' ? 'center' : 'left';
120
+ return (h("div", { class: "hero__copy" }, h("div", { class: "hero__badge" }, h("slot", { name: "badge" })), h("af-typography-lockup", { "heading-size": "1", "text-alignment": alignment, "max-width": String(this.maxWidth) }, this.heading ? h("h1", null, this.heading) : h("slot", null), this.description ? (h("span", { slot: "description" }, this.description)) : (h("slot", { name: "description", slot: "description" }))), h("div", { class: "hero__buttons" }, h("slot", { name: "buttons" }))));
121
+ }
122
+ renderPhoto() {
123
+ return (h("div", { class: {
124
+ hero__image: true,
125
+ 'hero__image--masked': this.maskImage,
126
+ } }, h("slot", { name: "image" })));
127
+ }
128
+ renderIllustration() {
129
+ return (h("div", { class: "hero__illustration" }, h("slot", { name: "illustration" })));
130
+ }
131
+ render() {
132
+ const v = this.variant;
133
+ const centered = v === 'inkwell-centered';
134
+ const hasImage = v === 'inkwell-photo';
135
+ const hasIllustration = v === 'inkwell-illustration' ||
136
+ v === 'soft-clay-illustration' ||
137
+ v === 'mist-green-illustration';
138
+ return (h(Host, { key: '6e8e522c6593a79fbb93eaf421c6b3f41a2072f5', class: {
139
+ [`hero--${v}`]: true,
140
+ [`hero--pad-${this.topPad}`]: true,
141
+ [`hero--theme-${this.theme}`]: true,
142
+ 'hero--float-navbar': this.resolvedFloatNavbar,
143
+ } }, h("af-section", { key: 'dc6181658d53a8c7166d3f090df9666d35310338', theme: this.theme, padding: "none", container: false, class: "hero__section" }, centered && (h("div", { key: 'b8357ea1cc08dafa3a3f5e4cd8c545bef1e3df1c', class: "hero__paperclip", "aria-hidden": "true" }, h("slot", { key: 'da4b0dcb83e6e8c09b9962ba7d0c09e02f6721c5', name: "paperclip" }))), h("af-container", { key: '0dbffc963a56e53ed7206b59cccfd74f5bd792ee', class: "hero__inner" }, centered ? (this.renderCopy()) : (h("div", { class: "hero__grid" }, this.renderCopy(), hasImage && this.renderPhoto(), hasIllustration && this.renderIllustration()))), h("div", { key: 'd4316dbc5ba954ce2a52d73dfb73575b77f394db', class: "hero__logos" }, h("slot", { key: 'd9ff55a2c238d5db322aef90cb28006d91f7dffc', name: "logos-below" })))));
144
+ }
145
+ static get is() { return "af-hero"; }
146
+ static get encapsulation() { return "scoped"; }
147
+ static get originalStyleUrls() {
148
+ return {
149
+ "$": ["af-hero.css"]
150
+ };
151
+ }
152
+ static get styleUrls() {
153
+ return {
154
+ "$": ["af-hero.css"]
155
+ };
156
+ }
157
+ static get properties() {
158
+ return {
159
+ "variant": {
160
+ "type": "string",
161
+ "mutable": false,
162
+ "complexType": {
163
+ "original": "HeroVariant",
164
+ "resolved": "\"inkwell-centered\" | \"inkwell-illustration\" | \"inkwell-photo\" | \"mist-green-illustration\" | \"soft-clay-illustration\"",
165
+ "references": {
166
+ "HeroVariant": {
167
+ "location": "local",
168
+ "path": "/home/runner/work/affinda-ui/affinda-ui/packages/wc/src/components/af-hero/af-hero.tsx",
169
+ "id": "src/components/af-hero/af-hero.tsx::HeroVariant"
170
+ }
171
+ }
172
+ },
173
+ "required": false,
174
+ "optional": false,
175
+ "docs": {
176
+ "tags": [],
177
+ "text": "Layout / theme preset. See variant docs in the component header."
178
+ },
179
+ "getter": false,
180
+ "setter": false,
181
+ "reflect": true,
182
+ "attribute": "variant",
183
+ "defaultValue": "'inkwell-photo'"
184
+ },
185
+ "heading": {
186
+ "type": "string",
187
+ "mutable": false,
188
+ "complexType": {
189
+ "original": "string",
190
+ "resolved": "string",
191
+ "references": {}
192
+ },
193
+ "required": false,
194
+ "optional": false,
195
+ "docs": {
196
+ "tags": [],
197
+ "text": "Heading text (use the default slot for richer markup)."
198
+ },
199
+ "getter": false,
200
+ "setter": false,
201
+ "reflect": false,
202
+ "attribute": "heading",
203
+ "defaultValue": "''"
204
+ },
205
+ "description": {
206
+ "type": "string",
207
+ "mutable": false,
208
+ "complexType": {
209
+ "original": "string",
210
+ "resolved": "string",
211
+ "references": {}
212
+ },
213
+ "required": false,
214
+ "optional": false,
215
+ "docs": {
216
+ "tags": [],
217
+ "text": "Description text (use the `description` slot for richer markup)."
218
+ },
219
+ "getter": false,
220
+ "setter": false,
221
+ "reflect": false,
222
+ "attribute": "description",
223
+ "defaultValue": "''"
224
+ },
225
+ "floatNavbar": {
226
+ "type": "boolean",
227
+ "mutable": false,
228
+ "complexType": {
229
+ "original": "boolean",
230
+ "resolved": "boolean | undefined",
231
+ "references": {}
232
+ },
233
+ "required": false,
234
+ "optional": true,
235
+ "docs": {
236
+ "tags": [],
237
+ "text": "Float the site header over the hero and paint the navbar-spacer\ntransparent so the hero background flows to the top of the viewport.\nDefaults to true for the three inkwell variants, false for the\nsoft-clay / mist-green illustration variants (whose consumers don't\nalways want a full-bleed crown)."
238
+ },
239
+ "getter": false,
240
+ "setter": false,
241
+ "reflect": true,
242
+ "attribute": "float-navbar"
243
+ },
244
+ "topPad": {
245
+ "type": "string",
246
+ "mutable": false,
247
+ "complexType": {
248
+ "original": "HeroTopPad",
249
+ "resolved": "\"default\" | \"loose\"",
250
+ "references": {
251
+ "HeroTopPad": {
252
+ "location": "local",
253
+ "path": "/home/runner/work/affinda-ui/affinda-ui/packages/wc/src/components/af-hero/af-hero.tsx",
254
+ "id": "src/components/af-hero/af-hero.tsx::HeroTopPad"
255
+ }
256
+ }
257
+ },
258
+ "required": false,
259
+ "optional": false,
260
+ "docs": {
261
+ "tags": [],
262
+ "text": "Top padding preset. `default` = 124px (matches IndustryHero /\nIllustrationHero). `loose` = 164px (matches ListingHero \u2014 gives the\nimage a touch more breathing room above the lockup on archive pages)."
263
+ },
264
+ "getter": false,
265
+ "setter": false,
266
+ "reflect": false,
267
+ "attribute": "top-pad",
268
+ "defaultValue": "'default'"
269
+ },
270
+ "maxWidth": {
271
+ "type": "number",
272
+ "mutable": false,
273
+ "complexType": {
274
+ "original": "number",
275
+ "resolved": "number",
276
+ "references": {}
277
+ },
278
+ "required": false,
279
+ "optional": false,
280
+ "docs": {
281
+ "tags": [],
282
+ "text": "Typography lockup max-width (px). Defaults to 620, matching the live site."
283
+ },
284
+ "getter": false,
285
+ "setter": false,
286
+ "reflect": false,
287
+ "attribute": "max-width",
288
+ "defaultValue": "620"
289
+ },
290
+ "maskImage": {
291
+ "type": "boolean",
292
+ "mutable": false,
293
+ "complexType": {
294
+ "original": "boolean",
295
+ "resolved": "boolean",
296
+ "references": {}
297
+ },
298
+ "required": false,
299
+ "optional": false,
300
+ "docs": {
301
+ "tags": [],
302
+ "text": "Whether to apply the blob mask to the slotted `image`. Defaults to\n`true` for `inkwell-photo`. Set `false` if you want to slot in a\npre-masked raster or a custom wrapper."
303
+ },
304
+ "getter": false,
305
+ "setter": false,
306
+ "reflect": false,
307
+ "attribute": "mask-image",
308
+ "defaultValue": "true"
309
+ }
310
+ };
311
+ }
312
+ static get elementRef() { return "el"; }
313
+ }
314
+ //# sourceMappingURL=af-hero.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"af-hero.js","sourceRoot":"","sources":["../../../src/components/af-hero/af-hero.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAWlE;;;;GAIG;AACH,MAAM,aAAa,GACjB,meAAme,CAAC;AAEte;;GAEG;AACH,MAAM,oBAAoB,GACxB,iLAAiL,CAAC;AAEpL;;;GAGG;AACH,MAAM,cAAc,GAAgE;IAClF,eAAe,EAAE,SAAS;IAC1B,sBAAsB,EAAE,SAAS;IACjC,kBAAkB,EAAE,SAAS;IAC7B,wBAAwB,EAAE,WAAW;IACrC,yBAAyB,EAAE,YAAY;CACxC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAOH,MAAM,OAAO,MAAM;IANnB;QASE,uEAAuE;QAC9C,YAAO,GAAgB,eAAe,CAAC;QAEhE,6DAA6D;QACrD,YAAO,GAAW,EAAE,CAAC;QAE7B,uEAAuE;QAC/D,gBAAW,GAAW,EAAE,CAAC;QAWjC;;;;WAIG;QACK,WAAM,GAAe,SAAS,CAAC;QAEvC,iFAAiF;QACzE,aAAQ,GAAW,GAAG,CAAC;QAE/B;;;;WAIG;QACK,cAAS,GAAY,IAAI,CAAC;KAyHnC;IAvHC,IAAY,mBAAmB;QAC7B,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC;QACnE,OAAO,CACL,IAAI,CAAC,OAAO,KAAK,eAAe;YAChC,IAAI,CAAC,OAAO,KAAK,sBAAsB;YACvC,IAAI,CAAC,OAAO,KAAK,kBAAkB,CACpC,CAAC;IACJ,CAAC;IAED,IAAY,KAAK;QACf,OAAO,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,mBAAmB,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;YAChE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,oBAAoB;QAClB,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1E,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,2BAA2B,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAEO,UAAU;QAChB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,KAAK,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1E,OAAO,CACL,WAAK,KAAK,EAAC,YAAY;YACrB,WAAK,KAAK,EAAC,aAAa;gBACtB,YAAM,IAAI,EAAC,OAAO,GAAQ,CACtB;YACN,4CACe,GAAG,oBACA,SAAS,eACd,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAE/B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,cAAK,IAAI,CAAC,OAAO,CAAM,CAAC,CAAC,CAAC,eAAa;gBACtD,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAClB,YAAM,IAAI,EAAC,aAAa,IAAE,IAAI,CAAC,WAAW,CAAQ,CACnD,CAAC,CAAC,CAAC,CACF,YAAM,IAAI,EAAC,aAAa,EAAC,IAAI,EAAC,aAAa,GAAQ,CACpD,CACoB;YACvB,WAAK,KAAK,EAAC,eAAe;gBACxB,YAAM,IAAI,EAAC,SAAS,GAAQ,CACxB,CACF,CACP,CAAC;IACJ,CAAC;IAEO,WAAW;QACjB,OAAO,CACL,WACE,KAAK,EAAE;gBACL,WAAW,EAAE,IAAI;gBACjB,qBAAqB,EAAE,IAAI,CAAC,SAAS;aACtC;YAED,YAAM,IAAI,EAAC,OAAO,GAAQ,CACtB,CACP,CAAC;IACJ,CAAC;IAEO,kBAAkB;QACxB,OAAO,CACL,WAAK,KAAK,EAAC,oBAAoB;YAC7B,YAAM,IAAI,EAAC,cAAc,GAAQ,CAC7B,CACP,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QACvB,MAAM,QAAQ,GAAG,CAAC,KAAK,kBAAkB,CAAC;QAC1C,MAAM,QAAQ,GAAG,CAAC,KAAK,eAAe,CAAC;QACvC,MAAM,eAAe,GACnB,CAAC,KAAK,sBAAsB;YAC5B,CAAC,KAAK,wBAAwB;YAC9B,CAAC,KAAK,yBAAyB,CAAC;QAElC,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,IAAI;gBACpB,CAAC,aAAa,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI;gBAClC,CAAC,eAAe,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI;gBACnC,oBAAoB,EAAE,IAAI,CAAC,mBAAmB;aAC/C;YAED,mEACE,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAC,MAAM,EACd,SAAS,EAAE,KAAK,EAChB,KAAK,EAAC,eAAe;gBAEpB,QAAQ,IAAI,CACX,4DAAK,KAAK,EAAC,iBAAiB,iBAAa,MAAM;oBAC7C,6DAAM,IAAI,EAAC,WAAW,GAAQ,CAC1B,CACP;gBACD,qEAAc,KAAK,EAAC,aAAa,IAC9B,QAAQ,CAAC,CAAC,CAAC,CACV,IAAI,CAAC,UAAU,EAAE,CAClB,CAAC,CAAC,CAAC,CACF,WAAK,KAAK,EAAC,YAAY;oBACpB,IAAI,CAAC,UAAU,EAAE;oBACjB,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE;oBAC9B,eAAe,IAAI,IAAI,CAAC,kBAAkB,EAAE,CACzC,CACP,CACY;gBACf,4DAAK,KAAK,EAAC,aAAa;oBACtB,6DAAM,IAAI,EAAC,aAAa,GAAQ,CAC5B,CACK,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop, Element } from '@stencil/core';\n\nexport type HeroVariant =\n | 'inkwell-photo'\n | 'inkwell-illustration'\n | 'inkwell-centered'\n | 'soft-clay-illustration'\n | 'mist-green-illustration';\n\nexport type HeroTopPad = 'default' | 'loose';\n\n/**\n * Blob-shape mask used to clip hero photos on the inkwell-photo variant.\n * Extracted from the 7+ hand-rolled copies in the website so the path is\n * defined exactly once. Intrinsic viewBox: 741 × 940.\n */\nconst BLOB_MASK_URL =\n \"url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3NDEgOTQwIj48cGF0aCBkPSJNMTcwLjA2MyAxODEuOTQ1QzIzNC4xNTYgMzAuOTUxNCA0MDguNTE4IC0zOS40OTU1IDU1OS41MTIgMjQuNTk3NUM3MTAuNTA2IDg4LjY5MDQgNzgwLjk1MiAyNjMuMDUzIDcxNi44NTkgNDE0LjA0Nkw1NzAuODQ3IDc1OC4wMzFDNTA2Ljc1NCA5MDkuMDI0IDMzMi4zOTIgOTc5LjQ3MSAxODEuMzk4IDkxNS4zNzhDMzAuNDA0NSA4NTEuMjg1IC00MC4wNDI0IDY3Ni45MjMgMjQuMDUwNiA1MjUuOTI5TDE3MC4wNjMgMTgxLjk0NVoiIGZpbGw9IiMwMDAiLz48L3N2Zz4=')\";\n\n/**\n * Mobile blob shape — simpler D-curve matching the live mobile banner.\n */\nconst BLOB_MASK_URL_MOBILE =\n \"url('data:image/svg+xml;utf8,<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 1024 768\\\"><path fill=\\\"%23000\\\" d=\\\"M1024 0H384A384 384 0 0 0 384 768H1024V0Z\\\"/></svg>')\";\n\n/**\n * Map each variant to its underlying section theme token. Keeps one source\n * of truth instead of having consumers spell the theme twice.\n */\nconst VARIANT_THEMES: Record<HeroVariant, 'inkwell' | 'soft-clay' | 'mist-green'> = {\n 'inkwell-photo': 'inkwell',\n 'inkwell-illustration': 'inkwell',\n 'inkwell-centered': 'inkwell',\n 'soft-clay-illustration': 'soft-clay',\n 'mist-green-illustration': 'mist-green',\n};\n\n/**\n * Unified top-of-page hero — replaces the 7+ hand-rolled hero implementations\n * the Affinda marketing site (and sibling apps) currently ship. Covers five\n * canonical patterns via the `variant` prop:\n *\n * - `inkwell-photo` — inkwell background, blob-masked photo on the right.\n * Use for: listing / archive pages (blog, case-studies, whitepapers,\n * value-creation, about-us) and industry landing pages that carry a\n * photograph instead of an illustration.\n * - `inkwell-illustration` — inkwell background, illustration on the right.\n * Use for: industry landing pages, /industries, /integrations, /platform\n * with bespoke art.\n * - `inkwell-centered` — inkwell background, centred typography lockup.\n * Slot `<af-paperclip-decoration />` into the `paperclip` slot for the\n * watermark treatment. Use for: `/`, `/au`, `/platform`.\n * - `soft-clay-illustration` — soft-clay background, illustration on the\n * right. Use for: /news, /industries overview, /security, /compare.\n * - `mist-green-illustration` — same layout as soft-clay-illustration but on\n * the mist-green theme. Reserved for future pages.\n *\n * ## Slots\n *\n * - default — heading content (use when richer markup than the `heading`\n * prop can express is needed; e.g. coloured spans or line breaks).\n * - `description` — supporting copy under the heading.\n * - `badge` — optional pre-heading label (pill, version tag).\n * - `buttons` — hero CTAs (usually an `<af-button-group>`).\n * - `image` — the photograph for the `inkwell-photo` variant. Wrapped in\n * the blob mask automatically.\n * - `illustration` — the illustration SVG for `-illustration` variants.\n * - `paperclip` — watermark for `inkwell-centered`. Consumers typically\n * slot `<af-paperclip-decoration />` here.\n * - `logos-below` — overlap row at the bottom gutter (logo carousel etc.).\n * Painted with the theme's background so it cleanly overlaps the image's\n * lower edge on the photo variant.\n *\n * ## Float-navbar handling\n *\n * When `floatNavbar` is true (the default for the inkwell variants) the\n * component sets `data-af-hero-float-navbar=\"true\"` on `<body>` via a\n * lifecycle hook, and a companion rule in `@affinda/css/base.css` applies\n * the `body > header { position: absolute }` / `main { padding-top: 0 }`\n * / navbar-spacer-transparent treatment. Consumers already import\n * `@affinda/css` so no extra import is required. The rule deactivates\n * when the hero is removed from the DOM.\n *\n * ## Image lift\n *\n * The `inkwell-photo` variant renders the photo column with\n * `margin-top: var(--af-hero-image-lift, -260px)`. Override per-page by\n * setting `--af-hero-image-lift` on the `<af-hero>` element.\n */\n@Component({\n tag: 'af-hero',\n styleUrl: 'af-hero.css',\n shadow: false,\n scoped: true,\n})\nexport class AfHero {\n @Element() el!: HTMLElement;\n\n /** Layout / theme preset. See variant docs in the component header. */\n @Prop({ reflect: true }) variant: HeroVariant = 'inkwell-photo';\n\n /** Heading text (use the default slot for richer markup). */\n @Prop() heading: string = '';\n\n /** Description text (use the `description` slot for richer markup). */\n @Prop() description: string = '';\n\n /**\n * Float the site header over the hero and paint the navbar-spacer\n * transparent so the hero background flows to the top of the viewport.\n * Defaults to true for the three inkwell variants, false for the\n * soft-clay / mist-green illustration variants (whose consumers don't\n * always want a full-bleed crown).\n */\n @Prop({ reflect: true }) floatNavbar?: boolean;\n\n /**\n * Top padding preset. `default` = 124px (matches IndustryHero /\n * IllustrationHero). `loose` = 164px (matches ListingHero — gives the\n * image a touch more breathing room above the lockup on archive pages).\n */\n @Prop() topPad: HeroTopPad = 'default';\n\n /** Typography lockup max-width (px). Defaults to 620, matching the live site. */\n @Prop() maxWidth: number = 620;\n\n /**\n * Whether to apply the blob mask to the slotted `image`. Defaults to\n * `true` for `inkwell-photo`. Set `false` if you want to slot in a\n * pre-masked raster or a custom wrapper.\n */\n @Prop() maskImage: boolean = true;\n\n private get resolvedFloatNavbar(): boolean {\n if (typeof this.floatNavbar === 'boolean') return this.floatNavbar;\n return (\n this.variant === 'inkwell-photo' ||\n this.variant === 'inkwell-illustration' ||\n this.variant === 'inkwell-centered'\n );\n }\n\n private get theme() {\n return VARIANT_THEMES[this.variant];\n }\n\n connectedCallback() {\n if (this.resolvedFloatNavbar && typeof document !== 'undefined') {\n document.body.setAttribute('data-af-hero-float-navbar', 'true');\n }\n }\n\n disconnectedCallback() {\n if (typeof document !== 'undefined' && !document.querySelector('af-hero')) {\n document.body.removeAttribute('data-af-hero-float-navbar');\n }\n }\n\n private renderCopy() {\n const alignment = this.variant === 'inkwell-centered' ? 'center' : 'left';\n return (\n <div class=\"hero__copy\">\n <div class=\"hero__badge\">\n <slot name=\"badge\"></slot>\n </div>\n <af-typography-lockup\n heading-size=\"1\"\n text-alignment={alignment}\n max-width={String(this.maxWidth)}\n >\n {this.heading ? <h1>{this.heading}</h1> : <slot></slot>}\n {this.description ? (\n <span slot=\"description\">{this.description}</span>\n ) : (\n <slot name=\"description\" slot=\"description\"></slot>\n )}\n </af-typography-lockup>\n <div class=\"hero__buttons\">\n <slot name=\"buttons\"></slot>\n </div>\n </div>\n );\n }\n\n private renderPhoto() {\n return (\n <div\n class={{\n hero__image: true,\n 'hero__image--masked': this.maskImage,\n }}\n >\n <slot name=\"image\"></slot>\n </div>\n );\n }\n\n private renderIllustration() {\n return (\n <div class=\"hero__illustration\">\n <slot name=\"illustration\"></slot>\n </div>\n );\n }\n\n render() {\n const v = this.variant;\n const centered = v === 'inkwell-centered';\n const hasImage = v === 'inkwell-photo';\n const hasIllustration =\n v === 'inkwell-illustration' ||\n v === 'soft-clay-illustration' ||\n v === 'mist-green-illustration';\n\n return (\n <Host\n class={{\n [`hero--${v}`]: true,\n [`hero--pad-${this.topPad}`]: true,\n [`hero--theme-${this.theme}`]: true,\n 'hero--float-navbar': this.resolvedFloatNavbar,\n }}\n >\n <af-section\n theme={this.theme}\n padding=\"none\"\n container={false}\n class=\"hero__section\"\n >\n {centered && (\n <div class=\"hero__paperclip\" aria-hidden=\"true\">\n <slot name=\"paperclip\"></slot>\n </div>\n )}\n <af-container class=\"hero__inner\">\n {centered ? (\n this.renderCopy()\n ) : (\n <div class=\"hero__grid\">\n {this.renderCopy()}\n {hasImage && this.renderPhoto()}\n {hasIllustration && this.renderIllustration()}\n </div>\n )}\n </af-container>\n <div class=\"hero__logos\">\n <slot name=\"logos-below\"></slot>\n </div>\n </af-section>\n </Host>\n );\n }\n}\n"]}
@@ -27,7 +27,7 @@ export class AfIconBox {
27
27
  [`icon-box--size-${this.size}`]: true,
28
28
  };
29
29
  const iconSize = this.size === 'small' ? 20 : this.size === 'large' ? 48 : 40;
30
- return (h(Host, { key: 'e270fbfc75794a1bc2fce141cde5e6295d13c80c' }, h("div", { key: '3533c3e5afe2aaf1ee0227ffe9d37323b954753f', class: containerClasses }, h("af-icon", { key: 'e692e0110fb1233ced5d29f7b8f612c0ab89e058', name: this.icon, size: iconSize }))));
30
+ return (h(Host, { key: '59cf379ff62d3a5ed7fd7398f240976a023d1f8a' }, h("div", { key: '9fc4e502df8da3cf2112702cd2216a8c7a03a21f', class: containerClasses }, h("af-icon", { key: '8bc89de5589f531829a8377862c7b1bda4c7ce60', name: this.icon, size: iconSize }))));
31
31
  }
32
32
  static get is() { return "af-icon-box"; }
33
33
  static get encapsulation() { return "scoped"; }
@@ -43,7 +43,7 @@ export class AfIconText {
43
43
  'icon-text': true,
44
44
  [`icon-text--${this.orientation}`]: true,
45
45
  };
46
- return (h(Host, { key: '5ee5ddd91804507b0e4029adeee9eebb687448d9' }, h("div", { key: '5c00e4451c12aeaf924c2d9dff3ad85cb5555813', class: containerClasses }, h("af-icon-box", { key: 'd375fa1087651f86fd778744c276bd92e387b297', icon: this.icon, size: this.iconSize, class: "icon-text__icon" }), h("af-typography-lockup", { key: '2be428ff1b3210972248ef741086d96eb6829cb9', headingSize: this.headingSize, textAlignment: "left", buttonAlignment: "vertical", class: "icon-text__lockup" }, h("slot", { key: '0da48d34ee2d1ab77c2aac80daffdbce4b2774b1' }), h("span", { key: '140db3a089b16211db54b67b786a90795dbe3d8a', slot: "description" }, h("slot", { key: '37d6b87dc348b95c5178e9a04e902f04664a0feb', name: "description" })), h("span", { key: '10031a47ef045d9ad95cb1bb90289fa1d599bc35', slot: "buttons" }, h("slot", { key: 'decf43947df87a58f42d10ba5025e9c6e1149ca2', name: "buttons" }))))));
46
+ return (h(Host, { key: '439c52c428eb8bdd4a1d89143a3e1f3b1f1ae272' }, h("div", { key: 'ff0edf1e55f225abc3a31e928d08388cae6209e2', class: containerClasses }, h("af-icon-box", { key: '8a88ed7babd257ce508c90139b3d431b80aa9d32', icon: this.icon, size: this.iconSize, class: "icon-text__icon" }), h("af-typography-lockup", { key: 'b1d4722558f9f27daccfeb7e5efe954f0af3ece0', headingSize: this.headingSize, textAlignment: "left", buttonAlignment: "vertical", class: "icon-text__lockup" }, h("slot", { key: '02ab65533f8d40c24b46082271b06c7acac914db' }), h("span", { key: '3d0556c8b0f5b3d262c44efcb271541d74f46535', slot: "description" }, h("slot", { key: '155f5bfba6ac9a9e58ba3b4bec1d736b995c327d', name: "description" })), h("span", { key: '8fb65696a03bed3776953fc1b51c077b12030837', slot: "buttons" }, h("slot", { key: 'bc30a8813ec47e8a265282f841e30bbabfe1f06f', name: "buttons" }))))));
47
47
  }
48
48
  static get is() { return "af-icon-text"; }
49
49
  static get encapsulation() { return "scoped"; }
@@ -34,7 +34,7 @@ export class AfIllustratedCard {
34
34
  [`illustrated-card--breakpoint-${this.breakpoint}`]: true,
35
35
  [`illustrated-card--size-${this.cardSize}`]: true,
36
36
  };
37
- return (h(Host, { key: 'afe7b84219cbe07a6949825042295def34dafe5e' }, h("div", { key: '9b5697ca0732d5bc5ac8170869bf04db5c3e9b07', class: wrapperClasses }, h("af-card", { key: '0de8d7d93eb225298664e9edcd7efec821c341c6', theme: this.theme }, h("div", { key: '4a691832606f011d996f005c533f423acc960ea2', class: "illustrated-card__content" }, h("af-typography-lockup", { key: '59d8417922cffd552df7610b72b4f2ec6c222105', headingSize: 3, breakpoint: this.breakpoint, textAlignment: "left", buttonLayout: "vertical" }, h("slot", { key: 'ee18abb24d0637f3bea71b48ccafdd3c6df0ea45' }), h("span", { key: 'be0bebfef478da4491ba1137ba1975052f4dcb5c', slot: "description" }, h("slot", { key: 'b05c91bd5d5085f74d94fabd22d8b79a2b008719', name: "body" })), h("span", { key: '79c1f836418dd6d2d2c96a1ea680bf05ade2b0d8', slot: "buttons" }, h("slot", { key: '03a5aff63f8225bf2323abe44e8e830562cf0c6c', name: "buttons" })))), h("div", { key: '1c75154af4e7cc89eceda3f16a958ca720f17450', class: "illustrated-card__illustration-area" }, h("slot", { key: '46071088a5aad6cbf64635a3961aa78e1f7b3fee', name: "illustration" }))))));
37
+ return (h(Host, { key: 'ef2bef2685ff1c476d6cdffcac8dba7d8bb0f9e9' }, h("div", { key: '7a9fab8ac214d2715b2f96186e4cbb2978b53137', class: wrapperClasses }, h("af-card", { key: '9967cb01f648bb29b33743d50f733c21883ae6fd', theme: this.theme }, h("div", { key: 'eb791121145c80101fdb5109636a990de735074f', class: "illustrated-card__content" }, h("af-typography-lockup", { key: 'f5f39cc0cfa368df8cd8f44b4f259af6dcf25fdb', headingSize: 3, breakpoint: this.breakpoint, textAlignment: "left", buttonLayout: "vertical" }, h("slot", { key: '0ed9b6ef9c8af21b239d505bd4a55f19d6aff418' }), h("span", { key: '1e7af14cfbd40cedf7c4cacc67d0232560ca6a18', slot: "description" }, h("slot", { key: '1a63ad36fd61d5140201c0d62a37e36dad5470a3', name: "body" })), h("span", { key: '9fe3673d3aee02dae3f2d541a332a68e37794427', slot: "buttons" }, h("slot", { key: '932d6a3ca09ef215818dfca3353ceca2764b3ac2', name: "buttons" })))), h("div", { key: 'ceb3132f1986c70766e897aad8c71b155eb3d84e', class: "illustrated-card__illustration-area" }, h("slot", { key: '1b2456a9b4a87823832555b0836381336e44ee83', name: "illustration" }))))));
38
38
  }
39
39
  static get is() { return "af-illustrated-card"; }
40
40
  static get encapsulation() { return "scoped"; }
@@ -54,9 +54,15 @@ export class AfIllustratedCard {
54
54
  "type": "string",
55
55
  "mutable": false,
56
56
  "complexType": {
57
- "original": "'white' | 'white-ivory' | 'inkwell' | 'mist-green' | 'soft-clay'",
57
+ "original": "Theme",
58
58
  "resolved": "\"inkwell\" | \"mist-green\" | \"soft-clay\" | \"white\" | \"white-ivory\" | undefined",
59
- "references": {}
59
+ "references": {
60
+ "Theme": {
61
+ "location": "import",
62
+ "path": "../../types",
63
+ "id": "src/types.ts::Theme"
64
+ }
65
+ }
60
66
  },
61
67
  "required": false,
62
68
  "optional": true,
@@ -1 +1 @@
1
- {"version":3,"file":"af-illustrated-card.js","sourceRoot":"","sources":["../../../src/components/af-illustrated-card/af-illustrated-card.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;;;;;;;;;;;GAYG;AAOH,MAAM,OAAO,iBAAiB;IAN9B;QAOE;;;WAGG;QACK,UAAK,GAAsE,YAAY,CAAC;QAEhG;;WAEG;QACK,eAAU,GAAyB,SAAS,CAAC;QAErD;;WAEG;QACK,aAAQ,GAAwB,SAAS,CAAC;KAwCnD;IAtCC,MAAM;QACJ,MAAM,cAAc,GAAG;YACrB,kBAAkB,EAAE,IAAI;YACxB,CAAC,gCAAgC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI;YACzD,CAAC,0BAA0B,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI;SAClD,CAAC;QAEF,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAE,cAAc;gBACxB,gEAAS,KAAK,EAAE,IAAI,CAAC,KAAK;oBAExB,4DAAK,KAAK,EAAC,2BAA2B;wBACpC,6EACE,WAAW,EAAE,CAAC,EACd,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,aAAa,EAAC,MAAM,EACpB,YAAY,EAAC,UAAU;4BAEvB,8DAAa;4BACb,6DAAM,IAAI,EAAC,aAAa;gCACtB,6DAAM,IAAI,EAAC,MAAM,GAAQ,CACpB;4BACP,6DAAM,IAAI,EAAC,SAAS;gCAClB,6DAAM,IAAI,EAAC,SAAS,GAAQ,CACvB,CACc,CACnB;oBAGN,4DAAK,KAAK,EAAC,qCAAqC;wBAC9C,6DAAM,IAAI,EAAC,cAAc,GAAQ,CAC7B,CACE,CACN,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h, Host } from '@stencil/core';\n\n/**\n * Illustrated Card molecule component that combines a card with an illustration.\n *\n * Uses a theme background with text at top, a button row in the middle, and\n * an illustration from @affinda/illustrations at the bottom.\n *\n * Uses af-card atom internally and af-typography-lockup for text hierarchy.\n *\n * @slot - Heading text content\n * @slot body - Description/body text content\n * @slot buttons - Action buttons (rendered below the description, above the illustration)\n * @slot illustration - Illustration image element\n */\n@Component({\n tag: 'af-illustrated-card',\n styleUrl: 'af-illustrated-card.css',\n shadow: false,\n scoped: true,\n})\nexport class AfIllustratedCard {\n /**\n * Theme variant - sets background color and provides theme context.\n * Defaults to 'mist-green'.\n */\n @Prop() theme?: 'white' | 'white-ivory' | 'inkwell' | 'mist-green' | 'soft-clay' = 'mist-green';\n\n /**\n * Responsive breakpoint for typography sizing.\n */\n @Prop() breakpoint: 'desktop' | 'mobile' = 'desktop';\n\n /**\n * Card size variant (applies to desktop only).\n */\n @Prop() cardSize: 'default' | 'large' = 'default';\n\n render() {\n const wrapperClasses = {\n 'illustrated-card': true,\n [`illustrated-card--breakpoint-${this.breakpoint}`]: true,\n [`illustrated-card--size-${this.cardSize}`]: true,\n };\n\n return (\n <Host>\n <div class={wrapperClasses}>\n <af-card theme={this.theme}>\n {/* Content area with typography lockup */}\n <div class=\"illustrated-card__content\">\n <af-typography-lockup\n headingSize={3}\n breakpoint={this.breakpoint}\n textAlignment=\"left\"\n buttonLayout=\"vertical\"\n >\n <slot></slot>\n <span slot=\"description\">\n <slot name=\"body\"></slot>\n </span>\n <span slot=\"buttons\">\n <slot name=\"buttons\"></slot>\n </span>\n </af-typography-lockup>\n </div>\n\n {/* Illustration area at bottom */}\n <div class=\"illustrated-card__illustration-area\">\n <slot name=\"illustration\"></slot>\n </div>\n </af-card>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"af-illustrated-card.js","sourceRoot":"","sources":["../../../src/components/af-illustrated-card/af-illustrated-card.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGzD;;;;;;;;;;;;GAYG;AAOH,MAAM,OAAO,iBAAiB;IAN9B;QAOE;;;WAGG;QACK,UAAK,GAAW,YAAY,CAAC;QAErC;;WAEG;QACK,eAAU,GAAyB,SAAS,CAAC;QAErD;;WAEG;QACK,aAAQ,GAAwB,SAAS,CAAC;KAwCnD;IAtCC,MAAM;QACJ,MAAM,cAAc,GAAG;YACrB,kBAAkB,EAAE,IAAI;YACxB,CAAC,gCAAgC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI;YACzD,CAAC,0BAA0B,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI;SAClD,CAAC;QAEF,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAE,cAAc;gBACxB,gEAAS,KAAK,EAAE,IAAI,CAAC,KAAK;oBAExB,4DAAK,KAAK,EAAC,2BAA2B;wBACpC,6EACE,WAAW,EAAE,CAAC,EACd,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,aAAa,EAAC,MAAM,EACpB,YAAY,EAAC,UAAU;4BAEvB,8DAAa;4BACb,6DAAM,IAAI,EAAC,aAAa;gCACtB,6DAAM,IAAI,EAAC,MAAM,GAAQ,CACpB;4BACP,6DAAM,IAAI,EAAC,SAAS;gCAClB,6DAAM,IAAI,EAAC,SAAS,GAAQ,CACvB,CACc,CACnB;oBAGN,4DAAK,KAAK,EAAC,qCAAqC;wBAC9C,6DAAM,IAAI,EAAC,cAAc,GAAQ,CAC7B,CACE,CACN,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h, Host } from '@stencil/core';\nimport type { Theme } from '../../types';\n\n/**\n * Illustrated Card molecule component that combines a card with an illustration.\n *\n * Uses a theme background with text at top, a button row in the middle, and\n * an illustration from @affinda/illustrations at the bottom.\n *\n * Uses af-card atom internally and af-typography-lockup for text hierarchy.\n *\n * @slot - Heading text content\n * @slot body - Description/body text content\n * @slot buttons - Action buttons (rendered below the description, above the illustration)\n * @slot illustration - Illustration image element\n */\n@Component({\n tag: 'af-illustrated-card',\n styleUrl: 'af-illustrated-card.css',\n shadow: false,\n scoped: true,\n})\nexport class AfIllustratedCard {\n /**\n * Theme variant - sets background color and provides theme context.\n * Defaults to 'mist-green'.\n */\n @Prop() theme?: Theme = 'mist-green';\n\n /**\n * Responsive breakpoint for typography sizing.\n */\n @Prop() breakpoint: 'desktop' | 'mobile' = 'desktop';\n\n /**\n * Card size variant (applies to desktop only).\n */\n @Prop() cardSize: 'default' | 'large' = 'default';\n\n render() {\n const wrapperClasses = {\n 'illustrated-card': true,\n [`illustrated-card--breakpoint-${this.breakpoint}`]: true,\n [`illustrated-card--size-${this.cardSize}`]: true,\n };\n\n return (\n <Host>\n <div class={wrapperClasses}>\n <af-card theme={this.theme}>\n {/* Content area with typography lockup */}\n <div class=\"illustrated-card__content\">\n <af-typography-lockup\n headingSize={3}\n breakpoint={this.breakpoint}\n textAlignment=\"left\"\n buttonLayout=\"vertical\"\n >\n <slot></slot>\n <span slot=\"description\">\n <slot name=\"body\"></slot>\n </span>\n <span slot=\"buttons\">\n <slot name=\"buttons\"></slot>\n </span>\n </af-typography-lockup>\n </div>\n\n {/* Illustration area at bottom */}\n <div class=\"illustrated-card__illustration-area\">\n <slot name=\"illustration\"></slot>\n </div>\n </af-card>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -17,7 +17,7 @@ export class AfImage {
17
17
  this.shape = 'rounded';
18
18
  }
19
19
  render() {
20
- return (h(Host, { key: 'c1d2a3fa4d205e24e5c55e9c84e8ff5b3150a161' }, h("div", { key: '5c77f95ebdfd2792ebfb55accc4ec0ea9da5953a', class: `image-container image-container--${this.shape}` }, h("img", { key: '1c9694ebb590d141e46267bb3217eda2400c5b23', src: this.src, alt: this.alt, class: "image" }), h("div", { key: '2505652d87a23db29d54705b93978f44794837b9', class: "image-border", "aria-hidden": "true" }))));
20
+ return (h(Host, { key: '9e6de616aae4375e3b2e734edd095f392aa8ef1b' }, h("div", { key: '69d0eb9902766ff13f04d85c4737a5d322e63417', class: `image-container image-container--${this.shape}` }, h("img", { key: 'cddfe6dedc57a63318d7a970747cda8641c4f83b', src: this.src, alt: this.alt, class: "image" }), h("div", { key: '23e0a9195e06da984aee8da6edc273a6367a7852', class: "image-border", "aria-hidden": "true" }))));
21
21
  }
22
22
  static get is() { return "af-image"; }
23
23
  static get encapsulation() { return "scoped"; }
@@ -66,7 +66,7 @@ export class AfInPageBanner {
66
66
  return (h("div", { class: "banner__wave-overlay", "aria-hidden": "true" }, h("svg", { viewBox: "0 0 521 323", fill: "none", xmlns: "http://www.w3.org/2000/svg", class: "banner__wave-svg" }, h("path", { d: "M473.775 46.273C443.539 15.92 403.701 -0.631616 361.351 0.0184478H154.183L112.67 67.225H361.893C362.189 67.225 362.533 67.225 362.829 67.225C387.155 67.225 410.004 76.7259 427.289 94.0776C445.017 111.879 454.816 135.682 454.816 161.134C454.816 213.389 412.959 255.843 361.548 255.843H108.041C84.9457 255.843 66.1345 236.742 66.1345 213.289C66.1345 189.837 84.9949 170.435 107.992 169.735H334.957L377.799 102.528H106.859C47.9636 104.029 0 153.683 0 213.289C0 272.895 48.456 323 108.041 323H361.548C449.449 323 521 250.343 521 161.084C521 117.53 504.257 76.7759 473.824 46.2229L473.775 46.273Z", fill: "currentColor" }))));
67
67
  }
68
68
  render() {
69
- return (h(Host, { key: '1f14f0d7df4f632817b7e8c955b8249a5a3d2ce4' }, h("div", { key: '0fc90536d6d5b65912fca02d3c74019bee067133', class: `banner theme-${this.theme}` }, this.showWaveDecoration && this.renderWaveOverlay(), h("div", { key: 'c70ea65d7536efbceb8fc3f2e6d714d56c2d5be9', class: "banner__illustration" }, this.illustrationUrl ? (h("img", { src: this.illustrationUrl, alt: "", class: "banner__illustration-img", loading: "lazy" })) : (h("slot", { name: "illustration" }))), h("div", { key: 'c209db43fd9a559854b73268f7b8a19b7c1a3268', class: "banner__content" }, h("div", { key: '7b1898662500a54e7dbf500646017f43ffe21e23', class: "banner__copy" }, h("h2", { key: '443078b848ee5ca1725ab960fc844e0f5d106ef7', class: "banner__heading" }, h("slot", { key: '10ce17b8014571ec6bc61cbda03b3881f2741215', name: "heading" }, this.heading)), h("div", { key: '3c43d4d4dd4c4c708891fdd3398de996a7b08d04', class: "banner__description" }, h("slot", { key: 'd58a7f5d4bea7dc2e4ce1dee10a99f19753427b4', name: "description" }, this.description))), h("div", { key: 'c10df7f70cb8ac0dd0d5e63e34a6fbc8fef9c62f', class: "banner__buttons" }, h("slot", { key: 'ff5cf411dee854f14fdbecda0bc8aac4b01b4abf', name: "buttons" }, this.primaryButtonText && (h("af-button", { key: 'c8da6aa83a13a9b8a7e892de29b1914aa5ae41c1', href: this.primaryButtonUrl, variant: "primary" }, this.primaryButtonText)), this.secondaryButtonText && (h("af-button", { key: '42b8ba18fa9d15539ab2c80af98da504d8b14013', href: this.secondaryButtonUrl, variant: "secondary" }, this.secondaryButtonText))))))));
69
+ return (h(Host, { key: '6bea21791ecb2e68e63a757f5ecfdaa1f07b728d' }, h("div", { key: '2c5afc83dcdc9917ae0542d81c1de02abfdd90a6', class: `banner theme-${this.theme}` }, this.showWaveDecoration && this.renderWaveOverlay(), h("div", { key: '8c646d4ea9d08a3a1c1bed729d09503cd7257ece', class: "banner__illustration" }, this.illustrationUrl ? (h("img", { src: this.illustrationUrl, alt: "", class: "banner__illustration-img", loading: "lazy" })) : (h("slot", { name: "illustration" }))), h("div", { key: '77afe16ba80d1568869ab4a24dc75a65c49dab90', class: "banner__content" }, h("div", { key: 'dce08d53d206a7ccd358da11d337330dcf269d52', class: "banner__copy" }, h("h2", { key: '626df9e5fcbb345ff1f477191203343db10f2e52', class: "banner__heading" }, h("slot", { key: '5e6daf16162dffb58d9e4c61e91d226ba5fc35e7', name: "heading" }, this.heading)), h("div", { key: 'ef9dab42d2a03f3d7fdf0b8a4aed1bac5f104795', class: "banner__description" }, h("slot", { key: '3a4b3c7c474f00375c6ac49653713dec61f2a6f5', name: "description" }, this.description))), h("div", { key: 'af2f8c614c803b272fcac1ae83cbc3f3de908a4d', class: "banner__buttons" }, h("slot", { key: 'b047769e0807ad1915e28b174ef6122969ab52c6', name: "buttons" }, this.primaryButtonText && (h("af-button", { key: '46d8a79deb045a8ba2baf1625583f181af576157', href: this.primaryButtonUrl, variant: "primary" }, this.primaryButtonText)), this.secondaryButtonText && (h("af-button", { key: 'dde5d455151eac0b5abd2c45e920a1c45155145d', href: this.secondaryButtonUrl, variant: "secondary" }, this.secondaryButtonText))))))));
70
70
  }
71
71
  static get is() { return "af-in-page-banner"; }
72
72
  static get encapsulation() { return "scoped"; }
@@ -86,12 +86,13 @@ export class AfInPageBanner {
86
86
  "type": "string",
87
87
  "mutable": false,
88
88
  "complexType": {
89
- "original": "BannerTheme",
90
- "resolved": "\"inkwell\" | \"mist-green\" | \"soft-clay\" | \"white-ivory\"",
89
+ "original": "Theme",
90
+ "resolved": "\"inkwell\" | \"mist-green\" | \"soft-clay\" | \"white\" | \"white-ivory\"",
91
91
  "references": {
92
- "BannerTheme": {
93
- "location": "global",
94
- "id": "global::BannerTheme"
92
+ "Theme": {
93
+ "location": "import",
94
+ "path": "../../types",
95
+ "id": "src/types.ts::Theme"
95
96
  }
96
97
  }
97
98
  },
@@ -1 +1 @@
1
- {"version":3,"file":"af-in-page-banner.js","sourceRoot":"","sources":["../../../src/components/af-in-page-banner/af-in-page-banner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAIzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAOH,MAAM,OAAO,cAAc;IAN3B;QAOE,qEAAqE;QAC7D,UAAK,GAAgB,YAAY,CAAC;QAE1C,qBAAqB;QACb,YAAO,GAAW,EAAE,CAAC;QAE7B,yBAAyB;QACjB,gBAAW,GAAW,EAAE,CAAC;QAEjC,0BAA0B;QAClB,sBAAiB,GAAW,EAAE,CAAC;QAEvC,yBAAyB;QACjB,qBAAgB,GAAW,GAAG,CAAC;QAEvC,qEAAqE;QAC7D,wBAAmB,GAAW,EAAE,CAAC;QAEzC,2BAA2B;QACnB,uBAAkB,GAAW,GAAG,CAAC;QAEzC;;;WAGG;QACK,oBAAe,GAAW,EAAE,CAAC;QAErC,kDAAkD;QAC1C,uBAAkB,GAAY,IAAI,CAAC;KA4E5C;IA1EC;;;;OAIG;IACK,iBAAiB;QACvB,OAAO,CACL,WAAK,KAAK,EAAC,sBAAsB,iBAAa,MAAM;YAClD,WACE,OAAO,EAAC,aAAa,EACrB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,kBAAkB;gBAExB,YACE,CAAC,EAAC,ilBAAilB,EACnlB,IAAI,EAAC,cAAc,GACnB,CACE,CACF,CACP,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAE,gBAAgB,IAAI,CAAC,KAAK,EAAE;gBAErC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAGpD,4DAAK,KAAK,EAAC,sBAAsB,IAC9B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CACtB,WACE,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAC,EAAE,EACN,KAAK,EAAC,0BAA0B,EAChC,OAAO,EAAC,MAAM,GACd,CACH,CAAC,CAAC,CAAC,CACF,YAAM,IAAI,EAAC,cAAc,GAAQ,CAClC,CACG;gBAGN,4DAAK,KAAK,EAAC,iBAAiB;oBAC1B,4DAAK,KAAK,EAAC,cAAc;wBACvB,2DAAI,KAAK,EAAC,iBAAiB;4BACzB,6DAAM,IAAI,EAAC,SAAS,IAAE,IAAI,CAAC,OAAO,CAAQ,CACvC;wBACL,4DAAK,KAAK,EAAC,qBAAqB;4BAC9B,6DAAM,IAAI,EAAC,aAAa,IAAE,IAAI,CAAC,WAAW,CAAQ,CAC9C,CACF;oBAEN,4DAAK,KAAK,EAAC,iBAAiB;wBAC1B,6DAAM,IAAI,EAAC,SAAS;4BACjB,IAAI,CAAC,iBAAiB,IAAI,CACzB,kEAAW,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAC,SAAS,IACtD,IAAI,CAAC,iBAAiB,CACb,CACb;4BACA,IAAI,CAAC,mBAAmB,IAAI,CAC3B,kEAAW,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,EAAC,WAAW,IAC1D,IAAI,CAAC,mBAAmB,CACf,CACb,CACI,CACH,CACF,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\n\ntype BannerTheme = 'white-ivory' | 'mist-green' | 'soft-clay' | 'inkwell';\n\n/**\n * In-page banner component for call-to-action content.\n * \n * A banner card with illustration, heading, description, and action buttons.\n * Typically placed inside a neutral (white) Section to show off its themed background.\n * \n * The component has its own theme prop to control its background color and styling.\n * \n * **Illustration Usage:**\n * Use `illustrationUrl` to pass an illustration image URL. For theme-matched illustrations,\n * use `getIllustrationUrlByScene()` from `@affinda/illustrations` in your consuming app:\n * \n * ```tsx\n * import { getIllustrationUrlByScene } from '@affinda/illustrations';\n * \n * <InPageBanner\n * theme=\"inkwell\"\n * illustrationUrl={getIllustrationUrlByScene('automate', 'inkwell')}\n * ...\n * />\n * ```\n * \n * Alternatively, use the `illustration` slot for completely custom content.\n *\n * **Slot-based composition (preferred for rich content):**\n * - `heading` — heading markup (overrides the `heading` prop when provided).\n * - `description` — description markup (overrides the `description` prop).\n * - `buttons` — custom button group (overrides the primary/secondary button\n * props; use when you need ghost variants, more than two buttons, or\n * per-button icons).\n * - `illustration` — custom illustration markup.\n *\n * The string props remain supported for simple cases.\n */\n@Component({\n tag: 'af-in-page-banner',\n styleUrl: 'af-in-page-banner.css',\n shadow: false,\n scoped: true,\n})\nexport class AfInPageBanner {\n /** Theme - sets the banner background color and typography colors */\n @Prop() theme: BannerTheme = 'mist-green';\n\n /** Banner heading */\n @Prop() heading: string = '';\n\n /** Banner description */\n @Prop() description: string = '';\n\n /** Primary button text */\n @Prop() primaryButtonText: string = '';\n\n /** Primary button URL */\n @Prop() primaryButtonUrl: string = '#';\n\n /** Secondary button text (optional - if empty, button won't show) */\n @Prop() secondaryButtonText: string = '';\n\n /** Secondary button URL */\n @Prop() secondaryButtonUrl: string = '#';\n\n /** \n * Illustration URL. For theme-matched illustrations, use getIllustrationUrlByScene() \n * from @affinda/illustrations in your app code.\n */\n @Prop() illustrationUrl: string = '';\n\n /** Whether to show the decorative wave overlay */\n @Prop() showWaveDecoration: boolean = true;\n\n /**\n * Renders the decorative wave SVG overlay.\n * Uses the Affinda brand \"infinity loop\" wave pattern.\n * Fill color is controlled via CSS custom properties per theme.\n */\n private renderWaveOverlay() {\n return (\n <div class=\"banner__wave-overlay\" aria-hidden=\"true\">\n <svg \n viewBox=\"0 0 521 323\" \n fill=\"none\" \n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"banner__wave-svg\"\n >\n <path \n d=\"M473.775 46.273C443.539 15.92 403.701 -0.631616 361.351 0.0184478H154.183L112.67 67.225H361.893C362.189 67.225 362.533 67.225 362.829 67.225C387.155 67.225 410.004 76.7259 427.289 94.0776C445.017 111.879 454.816 135.682 454.816 161.134C454.816 213.389 412.959 255.843 361.548 255.843H108.041C84.9457 255.843 66.1345 236.742 66.1345 213.289C66.1345 189.837 84.9949 170.435 107.992 169.735H334.957L377.799 102.528H106.859C47.9636 104.029 0 153.683 0 213.289C0 272.895 48.456 323 108.041 323H361.548C449.449 323 521 250.343 521 161.084C521 117.53 504.257 76.7759 473.824 46.2229L473.775 46.273Z\" \n fill=\"currentColor\"\n />\n </svg>\n </div>\n );\n }\n\n render() {\n return (\n <Host>\n <div class={`banner theme-${this.theme}`}>\n {/* Decorative wave overlay */}\n {this.showWaveDecoration && this.renderWaveOverlay()}\n\n {/* Illustration area */}\n <div class=\"banner__illustration\">\n {this.illustrationUrl ? (\n <img \n src={this.illustrationUrl} \n alt=\"\" \n class=\"banner__illustration-img\" \n loading=\"lazy\"\n />\n ) : (\n <slot name=\"illustration\"></slot>\n )}\n </div>\n\n {/* Content area — slots take precedence over string props. */}\n <div class=\"banner__content\">\n <div class=\"banner__copy\">\n <h2 class=\"banner__heading\">\n <slot name=\"heading\">{this.heading}</slot>\n </h2>\n <div class=\"banner__description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n </div>\n\n <div class=\"banner__buttons\">\n <slot name=\"buttons\">\n {this.primaryButtonText && (\n <af-button href={this.primaryButtonUrl} variant=\"primary\">\n {this.primaryButtonText}\n </af-button>\n )}\n {this.secondaryButtonText && (\n <af-button href={this.secondaryButtonUrl} variant=\"secondary\">\n {this.secondaryButtonText}\n </af-button>\n )}\n </slot>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"af-in-page-banner.js","sourceRoot":"","sources":["../../../src/components/af-in-page-banner/af-in-page-banner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAOH,MAAM,OAAO,cAAc;IAN3B;QAOE,qEAAqE;QAC7D,UAAK,GAAU,YAAY,CAAC;QAEpC,qBAAqB;QACb,YAAO,GAAW,EAAE,CAAC;QAE7B,yBAAyB;QACjB,gBAAW,GAAW,EAAE,CAAC;QAEjC,0BAA0B;QAClB,sBAAiB,GAAW,EAAE,CAAC;QAEvC,yBAAyB;QACjB,qBAAgB,GAAW,GAAG,CAAC;QAEvC,qEAAqE;QAC7D,wBAAmB,GAAW,EAAE,CAAC;QAEzC,2BAA2B;QACnB,uBAAkB,GAAW,GAAG,CAAC;QAEzC;;;WAGG;QACK,oBAAe,GAAW,EAAE,CAAC;QAErC,kDAAkD;QAC1C,uBAAkB,GAAY,IAAI,CAAC;KA4E5C;IA1EC;;;;OAIG;IACK,iBAAiB;QACvB,OAAO,CACL,WAAK,KAAK,EAAC,sBAAsB,iBAAa,MAAM;YAClD,WACE,OAAO,EAAC,aAAa,EACrB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,kBAAkB;gBAExB,YACE,CAAC,EAAC,ilBAAilB,EACnlB,IAAI,EAAC,cAAc,GACnB,CACE,CACF,CACP,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAE,gBAAgB,IAAI,CAAC,KAAK,EAAE;gBAErC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAGpD,4DAAK,KAAK,EAAC,sBAAsB,IAC9B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CACtB,WACE,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAC,EAAE,EACN,KAAK,EAAC,0BAA0B,EAChC,OAAO,EAAC,MAAM,GACd,CACH,CAAC,CAAC,CAAC,CACF,YAAM,IAAI,EAAC,cAAc,GAAQ,CAClC,CACG;gBAGN,4DAAK,KAAK,EAAC,iBAAiB;oBAC1B,4DAAK,KAAK,EAAC,cAAc;wBACvB,2DAAI,KAAK,EAAC,iBAAiB;4BACzB,6DAAM,IAAI,EAAC,SAAS,IAAE,IAAI,CAAC,OAAO,CAAQ,CACvC;wBACL,4DAAK,KAAK,EAAC,qBAAqB;4BAC9B,6DAAM,IAAI,EAAC,aAAa,IAAE,IAAI,CAAC,WAAW,CAAQ,CAC9C,CACF;oBAEN,4DAAK,KAAK,EAAC,iBAAiB;wBAC1B,6DAAM,IAAI,EAAC,SAAS;4BACjB,IAAI,CAAC,iBAAiB,IAAI,CACzB,kEAAW,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAC,SAAS,IACtD,IAAI,CAAC,iBAAiB,CACb,CACb;4BACA,IAAI,CAAC,mBAAmB,IAAI,CAC3B,kEAAW,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,EAAC,WAAW,IAC1D,IAAI,CAAC,mBAAmB,CACf,CACb,CACI,CACH,CACF,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\nimport type { Theme } from '../../types';\n\n/**\n * In-page banner component for call-to-action content.\n * \n * A banner card with illustration, heading, description, and action buttons.\n * Typically placed inside a neutral (white) Section to show off its themed background.\n * \n * The component has its own theme prop to control its background color and styling.\n * \n * **Illustration Usage:**\n * Use `illustrationUrl` to pass an illustration image URL. For theme-matched illustrations,\n * use `getIllustrationUrlByScene()` from `@affinda/illustrations` in your consuming app:\n * \n * ```tsx\n * import { getIllustrationUrlByScene } from '@affinda/illustrations';\n * \n * <InPageBanner\n * theme=\"inkwell\"\n * illustrationUrl={getIllustrationUrlByScene('automate', 'inkwell')}\n * ...\n * />\n * ```\n * \n * Alternatively, use the `illustration` slot for completely custom content.\n *\n * **Slot-based composition (preferred for rich content):**\n * - `heading` — heading markup (overrides the `heading` prop when provided).\n * - `description` — description markup (overrides the `description` prop).\n * - `buttons` — custom button group (overrides the primary/secondary button\n * props; use when you need ghost variants, more than two buttons, or\n * per-button icons).\n * - `illustration` — custom illustration markup.\n *\n * The string props remain supported for simple cases.\n */\n@Component({\n tag: 'af-in-page-banner',\n styleUrl: 'af-in-page-banner.css',\n shadow: false,\n scoped: true,\n})\nexport class AfInPageBanner {\n /** Theme - sets the banner background color and typography colors */\n @Prop() theme: Theme = 'mist-green';\n\n /** Banner heading */\n @Prop() heading: string = '';\n\n /** Banner description */\n @Prop() description: string = '';\n\n /** Primary button text */\n @Prop() primaryButtonText: string = '';\n\n /** Primary button URL */\n @Prop() primaryButtonUrl: string = '#';\n\n /** Secondary button text (optional - if empty, button won't show) */\n @Prop() secondaryButtonText: string = '';\n\n /** Secondary button URL */\n @Prop() secondaryButtonUrl: string = '#';\n\n /** \n * Illustration URL. For theme-matched illustrations, use getIllustrationUrlByScene() \n * from @affinda/illustrations in your app code.\n */\n @Prop() illustrationUrl: string = '';\n\n /** Whether to show the decorative wave overlay */\n @Prop() showWaveDecoration: boolean = true;\n\n /**\n * Renders the decorative wave SVG overlay.\n * Uses the Affinda brand \"infinity loop\" wave pattern.\n * Fill color is controlled via CSS custom properties per theme.\n */\n private renderWaveOverlay() {\n return (\n <div class=\"banner__wave-overlay\" aria-hidden=\"true\">\n <svg \n viewBox=\"0 0 521 323\" \n fill=\"none\" \n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"banner__wave-svg\"\n >\n <path \n d=\"M473.775 46.273C443.539 15.92 403.701 -0.631616 361.351 0.0184478H154.183L112.67 67.225H361.893C362.189 67.225 362.533 67.225 362.829 67.225C387.155 67.225 410.004 76.7259 427.289 94.0776C445.017 111.879 454.816 135.682 454.816 161.134C454.816 213.389 412.959 255.843 361.548 255.843H108.041C84.9457 255.843 66.1345 236.742 66.1345 213.289C66.1345 189.837 84.9949 170.435 107.992 169.735H334.957L377.799 102.528H106.859C47.9636 104.029 0 153.683 0 213.289C0 272.895 48.456 323 108.041 323H361.548C449.449 323 521 250.343 521 161.084C521 117.53 504.257 76.7759 473.824 46.2229L473.775 46.273Z\" \n fill=\"currentColor\"\n />\n </svg>\n </div>\n );\n }\n\n render() {\n return (\n <Host>\n <div class={`banner theme-${this.theme}`}>\n {/* Decorative wave overlay */}\n {this.showWaveDecoration && this.renderWaveOverlay()}\n\n {/* Illustration area */}\n <div class=\"banner__illustration\">\n {this.illustrationUrl ? (\n <img \n src={this.illustrationUrl} \n alt=\"\" \n class=\"banner__illustration-img\" \n loading=\"lazy\"\n />\n ) : (\n <slot name=\"illustration\"></slot>\n )}\n </div>\n\n {/* Content area — slots take precedence over string props. */}\n <div class=\"banner__content\">\n <div class=\"banner__copy\">\n <h2 class=\"banner__heading\">\n <slot name=\"heading\">{this.heading}</slot>\n </h2>\n <div class=\"banner__description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n </div>\n\n <div class=\"banner__buttons\">\n <slot name=\"buttons\">\n {this.primaryButtonText && (\n <af-button href={this.primaryButtonUrl} variant=\"primary\">\n {this.primaryButtonText}\n </af-button>\n )}\n {this.secondaryButtonText && (\n <af-button href={this.secondaryButtonUrl} variant=\"secondary\">\n {this.secondaryButtonText}\n </af-button>\n )}\n </slot>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -49,7 +49,7 @@ export class AfInline {
49
49
  justifyContent: justifyMap[this.justify],
50
50
  flexWrap: this.wrap ? 'wrap' : 'nowrap',
51
51
  };
52
- return (h(Host, { key: '17b13c3b8a5ade7e5d3c990673b2e884b0ae5cb5', style: style }, h("slot", { key: 'ac563668c3e6e26f9a1b730c6edb16cb8cb46498' })));
52
+ return (h(Host, { key: '05c8a9c14341060f3e5f24397770740b09fee85c', style: style }, h("slot", { key: '871efa9e4e74690534375283878c8b0732f4859d' })));
53
53
  }
54
54
  static get is() { return "af-inline"; }
55
55
  static get encapsulation() { return "shadow"; }
@@ -73,8 +73,9 @@ export class AfInline {
73
73
  "resolved": "\"1\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"8\"",
74
74
  "references": {
75
75
  "Gap": {
76
- "location": "global",
77
- "id": "global::Gap"
76
+ "location": "import",
77
+ "path": "../../types",
78
+ "id": "src/types.ts::Gap"
78
79
  }
79
80
  }
80
81
  },
@@ -1 +1 @@
1
- {"version":3,"file":"af-inline.js","sourceRoot":"","sources":["../../../src/components/af-inline/af-inline.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAMzD;;;;;GAKG;AAMH,MAAM,OAAO,QAAQ;IALrB;QAME;;;WAGG;QACK,QAAG,GAAQ,GAAG,CAAC;QAEvB;;WAEG;QACK,UAAK,GAAU,QAAQ,CAAC;QAEhC;;WAEG;QACK,YAAO,GAAY,OAAO,CAAC;QAEnC;;WAEG;QACK,SAAI,GAAY,IAAI,CAAC;KAmC9B;IAjCC,MAAM;QACJ,MAAM,QAAQ,GAA0B;YACtC,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,UAAU;YACf,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,UAAU;SACrB,CAAC;QAEF,MAAM,UAAU,GAA4B;YAC1C,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,UAAU;YACf,OAAO,EAAE,eAAe;YACxB,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,cAAc;SACvB,CAAC;QAEF,MAAM,KAAK,GAAG;YACZ,OAAO,EAAE,aAAa;YACtB,aAAa,EAAE,KAAK;YACpB,GAAG,EAAE,eAAe,IAAI,CAAC,GAAG,GAAG;YAC/B,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAChC,cAAc,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;YACxC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;SACd,CAAC;QAE5B,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAE,KAAK;YAChB,8DAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\n\ntype Gap = '1' | '2' | '3' | '4' | '5' | '6' | '8';\ntype Align = 'start' | 'center' | 'end' | 'stretch' | 'baseline';\ntype Justify = 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';\n\n/**\n * Inline layout component for horizontal inline-flex layouts with gap and optional wrapping.\n * Ideal for button groups, tags, pills, and other inline elements.\n *\n * @slot - Content to layout inline\n */\n@Component({\n tag: 'af-inline',\n styleUrl: 'af-inline.css',\n shadow: true,\n})\nexport class AfInline {\n /**\n * Gap between items using space tokens (1-8).\n * Maps to --space-1 through --space-8 (4px to 32px).\n */\n @Prop() gap: Gap = '2';\n\n /**\n * Align items on the cross axis.\n */\n @Prop() align: Align = 'center';\n\n /**\n * Justify content on the main axis.\n */\n @Prop() justify: Justify = 'start';\n\n /**\n * Whether items should wrap to the next line when they overflow.\n */\n @Prop() wrap: boolean = true;\n\n render() {\n const alignMap: Record<Align, string> = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n stretch: 'stretch',\n baseline: 'baseline',\n };\n\n const justifyMap: Record<Justify, string> = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n between: 'space-between',\n around: 'space-around',\n evenly: 'space-evenly',\n };\n\n const style = {\n display: 'inline-flex',\n flexDirection: 'row',\n gap: `var(--space-${this.gap})`,\n alignItems: alignMap[this.align],\n justifyContent: justifyMap[this.justify],\n flexWrap: this.wrap ? 'wrap' : 'nowrap',\n } as Record<string, string>;\n\n return (\n <Host style={style}>\n <slot></slot>\n </Host>\n );\n }\n}\n\n"]}
1
+ {"version":3,"file":"af-inline.js","sourceRoot":"","sources":["../../../src/components/af-inline/af-inline.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAMzD;;;;;GAKG;AAMH,MAAM,OAAO,QAAQ;IALrB;QAME;;;WAGG;QACK,QAAG,GAAQ,GAAG,CAAC;QAEvB;;WAEG;QACK,UAAK,GAAU,QAAQ,CAAC;QAEhC;;WAEG;QACK,YAAO,GAAY,OAAO,CAAC;QAEnC;;WAEG;QACK,SAAI,GAAY,IAAI,CAAC;KAmC9B;IAjCC,MAAM;QACJ,MAAM,QAAQ,GAA0B;YACtC,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,UAAU;YACf,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,UAAU;SACrB,CAAC;QAEF,MAAM,UAAU,GAA4B;YAC1C,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,UAAU;YACf,OAAO,EAAE,eAAe;YACxB,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,cAAc;SACvB,CAAC;QAEF,MAAM,KAAK,GAAG;YACZ,OAAO,EAAE,aAAa;YACtB,aAAa,EAAE,KAAK;YACpB,GAAG,EAAE,eAAe,IAAI,CAAC,GAAG,GAAG;YAC/B,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAChC,cAAc,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;YACxC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;SACd,CAAC;QAE5B,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAE,KAAK;YAChB,8DAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\nimport type { Gap } from '../../types';\n\ntype Align = 'start' | 'center' | 'end' | 'stretch' | 'baseline';\ntype Justify = 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';\n\n/**\n * Inline layout component for horizontal inline-flex layouts with gap and optional wrapping.\n * Ideal for button groups, tags, pills, and other inline elements.\n *\n * @slot - Content to layout inline\n */\n@Component({\n tag: 'af-inline',\n styleUrl: 'af-inline.css',\n shadow: true,\n})\nexport class AfInline {\n /**\n * Gap between items using space tokens (1-8).\n * Maps to --space-1 through --space-8 (4px to 32px).\n */\n @Prop() gap: Gap = '2';\n\n /**\n * Align items on the cross axis.\n */\n @Prop() align: Align = 'center';\n\n /**\n * Justify content on the main axis.\n */\n @Prop() justify: Justify = 'start';\n\n /**\n * Whether items should wrap to the next line when they overflow.\n */\n @Prop() wrap: boolean = true;\n\n render() {\n const alignMap: Record<Align, string> = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n stretch: 'stretch',\n baseline: 'baseline',\n };\n\n const justifyMap: Record<Justify, string> = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n between: 'space-between',\n around: 'space-around',\n evenly: 'space-evenly',\n };\n\n const style = {\n display: 'inline-flex',\n flexDirection: 'row',\n gap: `var(--space-${this.gap})`,\n alignItems: alignMap[this.align],\n justifyContent: justifyMap[this.justify],\n flexWrap: this.wrap ? 'wrap' : 'nowrap',\n } as Record<string, string>;\n\n return (\n <Host style={style}>\n <slot></slot>\n </Host>\n );\n }\n}\n\n"]}
@@ -4,7 +4,7 @@ import { h, Host } from "@stencil/core";
4
4
  */
5
5
  export class AfLogoWell {
6
6
  render() {
7
- return (h(Host, { key: 'c0896e6345cc862d0cd7105117016a5dc76b3141' }, h("div", { key: 'a754bb9b44319040e9b1bcb03c6440c60c91af25', class: "logo-well" }, h("slot", { key: '8f87dc5de8caba94cc30a529aaa8e4c4426c5e81' }))));
7
+ return (h(Host, { key: 'b3abd933476da0e33ab6fcc4cd2f638fd8d3d69e' }, h("div", { key: '16d17b912cb38663ae6d2f71109a99cc5cb9ab08', class: "logo-well" }, h("slot", { key: '801820bb88b3af3ebb1f9514b2a8f1297b6d033c' }))));
8
8
  }
9
9
  static get is() { return "af-logo-well"; }
10
10
  static get encapsulation() { return "shadow"; }
@@ -71,7 +71,7 @@ export class AfNavAccordion {
71
71
  this.syncItems();
72
72
  }
73
73
  render() {
74
- return (h(Host, { key: '518288d29b17ac7ceb69ce24b37258dffefdd742', class: { [`breakpoint-${this.breakpoint}`]: true, [`mode-${this.mode}`]: true } }, h("div", { key: '6a5e504a7114f3abbc064da71558342f9c45627d', class: "nav-accordion" }, h("slot", { key: '88560460c84396a492d2bc035f2d96c7c30afa58' }))));
74
+ return (h(Host, { key: 'a0c6718b375af88cefb975e997d70a228d1fb9aa', class: { [`breakpoint-${this.breakpoint}`]: true, [`mode-${this.mode}`]: true } }, h("div", { key: '63b1716e6b40f7d73c9609a030b03af55a5db714', class: "nav-accordion" }, h("slot", { key: '48bb056a8e8cf39a47b20b8c54abbc7266f75765' }))));
75
75
  }
76
76
  static get is() { return "af-nav-accordion"; }
77
77
  static get encapsulation() { return "scoped"; }
@@ -84,11 +84,11 @@ export class AfNavAccordionItem {
84
84
  // sub-content to expand. A plain href item with no children is a
85
85
  // direct link and shouldn't show a disclosure affordance.
86
86
  const hasDropdownContent = this.hasContent;
87
- return (h(Host, { key: '6ec460cb9004968c1386dbd4987bdcbab85fc5ee', class: {
87
+ return (h(Host, { key: '514c8d8a02712f76eb9de767f6ab5c171f7cba8a', class: {
88
88
  'is-open': this.open,
89
89
  'is-disabled': this.disabled,
90
90
  [`breakpoint-${this.breakpoint}`]: true
91
- } }, h("div", { key: '8cfae124103bff2dbefee2972080014069346d85', class: "nav-accordion-item" }, this.href ? (h("a", { href: this.href, class: "trigger", "aria-expanded": this.open ? 'true' : 'false', "aria-controls": `content-${this.itemId}` }, h("div", { class: "trigger-content" }, h("slot", { name: "trigger", onSlotchange: this.handleSlotChange }, h("span", { class: "label" }, this.label))), hasDropdownContent && (h("button", { class: "chevron-button", onClick: (e) => { e.preventDefault(); e.stopPropagation(); this.toggle(); }, "aria-label": this.open ? 'Collapse' : 'Expand', type: "button" }, h("div", { class: { 'chevron': true, 'is-open': this.open } }, h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { d: "M6 9l6 6 6-6", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))))))) : (h("button", { class: "trigger", onClick: this.handleTriggerClick, onKeyDown: this.handleKeyDown, "aria-expanded": this.open ? 'true' : 'false', "aria-controls": `content-${this.itemId}`, disabled: this.disabled, type: "button" }, h("div", { class: "trigger-content" }, h("slot", { name: "trigger", onSlotchange: this.handleSlotChange }, h("span", { class: "label" }, this.label))), hasDropdownContent && (h("div", { class: { 'chevron': true, 'is-open': this.open } }, h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { d: "M6 9l6 6 6-6", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))))), h("div", { key: 'd1e430c8bf9bfbed5da2a647352d5166680beaee', id: `content-${this.itemId}`, class: "content-wrapper", style: contentStyle, "aria-hidden": !this.open ? 'true' : 'false' }, h("div", { key: '8fe35fe547bc1658e1cc1fd18b6ded85f4b8ddbc', class: "content", ref: (el) => (this.contentRef = el) }, h("slot", { key: '550b245714af43a08024486dee8f1532624abe03' }))))));
91
+ } }, h("div", { key: 'c8e9e4d3cea27fe1ecdcb629f1525c1e3fb8c02a', class: "nav-accordion-item" }, this.href ? (h("a", { href: this.href, class: "trigger", "aria-expanded": this.open ? 'true' : 'false', "aria-controls": `content-${this.itemId}` }, h("div", { class: "trigger-content" }, h("slot", { name: "trigger", onSlotchange: this.handleSlotChange }, h("span", { class: "label" }, this.label))), hasDropdownContent && (h("button", { class: "chevron-button", onClick: (e) => { e.preventDefault(); e.stopPropagation(); this.toggle(); }, "aria-label": this.open ? 'Collapse' : 'Expand', type: "button" }, h("div", { class: { 'chevron': true, 'is-open': this.open } }, h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { d: "M6 9l6 6 6-6", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))))))) : (h("button", { class: "trigger", onClick: this.handleTriggerClick, onKeyDown: this.handleKeyDown, "aria-expanded": this.open ? 'true' : 'false', "aria-controls": `content-${this.itemId}`, disabled: this.disabled, type: "button" }, h("div", { class: "trigger-content" }, h("slot", { name: "trigger", onSlotchange: this.handleSlotChange }, h("span", { class: "label" }, this.label))), hasDropdownContent && (h("div", { class: { 'chevron': true, 'is-open': this.open } }, h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { d: "M6 9l6 6 6-6", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))))), h("div", { key: '4da5b93689a0dac535dca6233b3c9d2218d333c1', id: `content-${this.itemId}`, class: "content-wrapper", style: contentStyle, "aria-hidden": !this.open ? 'true' : 'false' }, h("div", { key: '103be83255e80feef963f95566cb22c0ab4bb338', class: "content", ref: (el) => (this.contentRef = el) }, h("slot", { key: '2f48b5257f7fdcaf30635dc178ff452cd4a176a0' }))))));
92
92
  }
93
93
  static get is() { return "af-nav-accordion-item"; }
94
94
  static get encapsulation() { return "scoped"; }