@affinda/wc 0.0.14 → 0.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (767) hide show
  1. package/dist/affinda/af-aspect-ratio.entry.esm.js.map +1 -1
  2. package/dist/affinda/af-button.entry.esm.js.map +1 -1
  3. package/dist/affinda/af-card.entry.esm.js.map +1 -1
  4. package/dist/affinda/af-checkbox.entry.esm.js.map +1 -0
  5. package/dist/affinda/af-client-carousel.entry.esm.js.map +1 -1
  6. package/dist/affinda/af-feature-accordion.entry.esm.js.map +1 -1
  7. package/dist/affinda/af-feature-card.entry.esm.js.map +1 -0
  8. package/dist/affinda/af-feature-grid.entry.esm.js.map +1 -0
  9. package/dist/affinda/af-fieldset.entry.esm.js.map +1 -0
  10. package/dist/affinda/af-footer.entry.esm.js.map +1 -1
  11. package/dist/affinda/af-grid-callout.entry.esm.js.map +1 -0
  12. package/dist/affinda/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.esm.js.map +1 -1
  13. package/dist/affinda/af-hero-section.entry.esm.js.map +1 -1
  14. package/dist/affinda/af-icon-box.entry.esm.js.map +1 -0
  15. package/dist/affinda/af-icon-button.entry.esm.js.map +1 -1
  16. package/dist/affinda/af-icon-text.entry.esm.js.map +1 -0
  17. package/dist/affinda/af-icon.entry.esm.js.map +1 -0
  18. package/dist/affinda/af-illustrated-card.entry.esm.js.map +1 -0
  19. package/dist/affinda/af-image.entry.esm.js.map +1 -0
  20. package/dist/affinda/af-in-page-banner.entry.esm.js.map +1 -0
  21. package/dist/affinda/af-input.entry.esm.js.map +1 -0
  22. package/dist/affinda/af-logo-well.entry.esm.js.map +1 -1
  23. package/dist/affinda/af-nav-card.entry.esm.js.map +1 -0
  24. package/dist/affinda/af-nav-menu-nest.entry.esm.js.map +1 -0
  25. package/dist/affinda/af-nav-menu.entry.esm.js.map +1 -0
  26. package/dist/affinda/af-number-badge.entry.esm.js.map +1 -0
  27. package/dist/affinda/af-progress-line.entry.esm.js.map +1 -0
  28. package/dist/affinda/af-radio.entry.esm.js.map +1 -0
  29. package/dist/affinda/af-section.entry.esm.js.map +1 -1
  30. package/dist/affinda/af-split-section.entry.esm.js.map +1 -0
  31. package/dist/affinda/af-switch.entry.esm.js.map +1 -0
  32. package/dist/affinda/af-tab-bar.entry.esm.js.map +1 -0
  33. package/dist/affinda/af-tab.entry.esm.js.map +1 -0
  34. package/dist/affinda/af-tag.entry.esm.js.map +1 -0
  35. package/dist/affinda/af-testimonial-carousel.entry.esm.js.map +1 -1
  36. package/dist/affinda/af-testimonial-stat.entry.esm.js.map +1 -1
  37. package/dist/affinda/af-testimonial.entry.esm.js.map +1 -1
  38. package/dist/affinda/af-text-image-nest.entry.esm.js.map +1 -0
  39. package/dist/affinda/af-text-image.entry.esm.js.map +1 -0
  40. package/dist/affinda/af-textarea.entry.esm.js.map +1 -0
  41. package/dist/affinda/af-typography-lockup.entry.esm.js.map +1 -1
  42. package/dist/affinda/af-video-container.entry.esm.js.map +1 -0
  43. package/dist/affinda/affinda.css +1 -1
  44. package/dist/affinda/affinda.esm.js +1 -1
  45. package/dist/affinda/index.esm.js +1 -1
  46. package/dist/affinda/index.esm.js.map +1 -1
  47. package/dist/affinda/p-0cd160a4.entry.js +2 -0
  48. package/dist/affinda/p-0cd160a4.entry.js.map +1 -0
  49. package/dist/affinda/p-10801ee1.entry.js +2 -0
  50. package/dist/affinda/p-10801ee1.entry.js.map +1 -0
  51. package/dist/affinda/p-1d65fd18.entry.js +2 -0
  52. package/dist/affinda/p-1d65fd18.entry.js.map +1 -0
  53. package/dist/affinda/p-1d9e532f.entry.js +2 -0
  54. package/dist/affinda/p-231ba1d0.entry.js +2 -0
  55. package/dist/affinda/p-231ba1d0.entry.js.map +1 -0
  56. package/dist/affinda/p-2b4dc22c.entry.js +2 -0
  57. package/dist/affinda/p-2b4dc22c.entry.js.map +1 -0
  58. package/dist/affinda/{p-a49dc8ac.entry.js → p-31d4c1a4.entry.js} +2 -2
  59. package/dist/affinda/p-3d3c9f62.entry.js +2 -0
  60. package/dist/affinda/p-3d3c9f62.entry.js.map +1 -0
  61. package/dist/affinda/p-3f691578.entry.js +2 -0
  62. package/dist/affinda/p-3f691578.entry.js.map +1 -0
  63. package/dist/affinda/p-425253ee.entry.js +2 -0
  64. package/dist/affinda/{p-52f7ea33.entry.js.map → p-425253ee.entry.js.map} +1 -1
  65. package/dist/affinda/p-44b25840.entry.js +2 -0
  66. package/dist/affinda/p-44b25840.entry.js.map +1 -0
  67. package/dist/affinda/p-45e1923c.entry.js +2 -0
  68. package/dist/affinda/p-45e1923c.entry.js.map +1 -0
  69. package/dist/affinda/p-52ab3bf0.entry.js +2 -0
  70. package/dist/affinda/p-52ab3bf0.entry.js.map +1 -0
  71. package/dist/affinda/p-53ae16fe.entry.js +2 -0
  72. package/dist/affinda/p-53b5149d.entry.js +2 -0
  73. package/dist/affinda/p-53b5149d.entry.js.map +1 -0
  74. package/dist/affinda/p-57713942.entry.js +2 -0
  75. package/dist/affinda/p-57713942.entry.js.map +1 -0
  76. package/dist/affinda/p-5bbf2c8c.entry.js +2 -0
  77. package/dist/affinda/p-5bbf2c8c.entry.js.map +1 -0
  78. package/dist/affinda/p-697bf0b7.entry.js +2 -0
  79. package/dist/affinda/p-697bf0b7.entry.js.map +1 -0
  80. package/dist/affinda/p-6b2d0ff4.entry.js +2 -0
  81. package/dist/affinda/p-6b2d0ff4.entry.js.map +1 -0
  82. package/dist/affinda/p-71144002.entry.js +2 -0
  83. package/dist/affinda/p-71144002.entry.js.map +1 -0
  84. package/dist/affinda/{p-dec4c4d5.entry.js → p-72f02343.entry.js} +2 -2
  85. package/dist/affinda/p-77bf8a81.entry.js +2 -0
  86. package/dist/affinda/p-77bf8a81.entry.js.map +1 -0
  87. package/dist/affinda/p-7f20fbe0.entry.js +2 -0
  88. package/dist/affinda/p-7f20fbe0.entry.js.map +1 -0
  89. package/dist/affinda/p-81571029.entry.js +2 -0
  90. package/dist/affinda/p-81571029.entry.js.map +1 -0
  91. package/dist/affinda/p-85a78bcf.entry.js +2 -0
  92. package/dist/affinda/p-85a78bcf.entry.js.map +1 -0
  93. package/dist/affinda/p-861f4f57.entry.js +2 -0
  94. package/dist/affinda/p-861f4f57.entry.js.map +1 -0
  95. package/dist/affinda/p-864778d0.entry.js +2 -0
  96. package/dist/affinda/p-864778d0.entry.js.map +1 -0
  97. package/dist/affinda/p-8ea22b5d.entry.js +2 -0
  98. package/dist/affinda/p-8ea22b5d.entry.js.map +1 -0
  99. package/dist/affinda/{p-97f9f774.entry.js → p-96eac3af.entry.js} +2 -2
  100. package/dist/affinda/p-98901734.entry.js +2 -0
  101. package/dist/affinda/p-98901734.entry.js.map +1 -0
  102. package/dist/affinda/p-9f470d8b.entry.js +2 -0
  103. package/dist/affinda/p-9f470d8b.entry.js.map +1 -0
  104. package/dist/affinda/p-BmU_CFQ4.js +3 -0
  105. package/dist/affinda/p-BmU_CFQ4.js.map +1 -0
  106. package/dist/affinda/p-a36abb83.entry.js +2 -0
  107. package/dist/affinda/{p-bf4543ff.entry.js.map → p-a36abb83.entry.js.map} +1 -1
  108. package/dist/affinda/p-a4e4eb4d.entry.js +2 -0
  109. package/dist/affinda/{p-d3b2ab0e.entry.js.map → p-a4e4eb4d.entry.js.map} +1 -1
  110. package/dist/affinda/p-a6365e94.entry.js +2 -0
  111. package/dist/affinda/p-a6365e94.entry.js.map +1 -0
  112. package/dist/affinda/p-aaa28806.entry.js +2 -0
  113. package/dist/affinda/p-aaa28806.entry.js.map +1 -0
  114. package/dist/affinda/p-acbbe39a.entry.js +2 -0
  115. package/dist/affinda/{p-ce89c4f1.entry.js.map → p-acbbe39a.entry.js.map} +1 -1
  116. package/dist/affinda/p-b17735c9.entry.js +2 -0
  117. package/dist/affinda/p-b17735c9.entry.js.map +1 -0
  118. package/dist/affinda/p-b3b0ed0c.entry.js +2 -0
  119. package/dist/affinda/p-b3b0ed0c.entry.js.map +1 -0
  120. package/dist/affinda/p-be049760.entry.js +2 -0
  121. package/dist/affinda/p-be049760.entry.js.map +1 -0
  122. package/dist/affinda/p-c0ee2420.entry.js +2 -0
  123. package/dist/affinda/p-c0ee2420.entry.js.map +1 -0
  124. package/dist/affinda/{p-3a9646e6.entry.js → p-c11088fa.entry.js} +2 -2
  125. package/dist/affinda/p-c298b370.entry.js +2 -0
  126. package/dist/affinda/p-c298b370.entry.js.map +1 -0
  127. package/dist/affinda/p-c3e31251.entry.js +2 -0
  128. package/dist/affinda/p-c3e31251.entry.js.map +1 -0
  129. package/dist/affinda/p-ce3356f1.entry.js +2 -0
  130. package/dist/affinda/p-ce3356f1.entry.js.map +1 -0
  131. package/dist/affinda/p-df148383.entry.js +2 -0
  132. package/dist/affinda/{p-07990b1f.entry.js.map → p-df148383.entry.js.map} +1 -1
  133. package/dist/affinda/{p-f8ac0120.entry.js → p-e5af21c2.entry.js} +2 -2
  134. package/dist/affinda/p-e5d9913c.entry.js +2 -0
  135. package/dist/affinda/p-e5d9913c.entry.js.map +1 -0
  136. package/dist/affinda/p-ea06c83b.entry.js +2 -0
  137. package/dist/affinda/p-ea06c83b.entry.js.map +1 -0
  138. package/dist/affinda/p-f45b0060.entry.js +2 -0
  139. package/dist/affinda/{p-050f98cd.entry.js.map → p-f45b0060.entry.js.map} +1 -1
  140. package/dist/cjs/af-aspect-ratio.cjs.entry.js +2 -2
  141. package/dist/cjs/af-aspect-ratio.entry.cjs.js.map +1 -1
  142. package/dist/cjs/af-button-group.cjs.entry.js +2 -2
  143. package/dist/cjs/af-button.cjs.entry.js +25 -12
  144. package/dist/cjs/af-button.entry.cjs.js.map +1 -1
  145. package/dist/cjs/af-card.cjs.entry.js +17 -7
  146. package/dist/cjs/af-card.entry.cjs.js.map +1 -1
  147. package/dist/cjs/af-checkbox.cjs.entry.js +58 -0
  148. package/dist/cjs/af-checkbox.entry.cjs.js.map +1 -0
  149. package/dist/cjs/af-client-carousel.cjs.entry.js +5 -7
  150. package/dist/cjs/af-client-carousel.entry.cjs.js.map +1 -1
  151. package/dist/cjs/af-color-swatch.cjs.entry.js +1 -1
  152. package/dist/cjs/af-contact-item.cjs.entry.js +2 -2
  153. package/dist/cjs/af-container.cjs.entry.js +1 -1
  154. package/dist/cjs/af-feature-accordion.cjs.entry.js +4 -4
  155. package/dist/cjs/af-feature-accordion.entry.cjs.js.map +1 -1
  156. package/dist/cjs/af-feature-card.cjs.entry.js +59 -0
  157. package/dist/cjs/af-feature-card.entry.cjs.js.map +1 -0
  158. package/dist/cjs/af-feature-grid.cjs.entry.js +93 -0
  159. package/dist/cjs/af-feature-grid.entry.cjs.js.map +1 -0
  160. package/dist/cjs/af-fieldset.cjs.entry.js +37 -0
  161. package/dist/cjs/af-fieldset.entry.cjs.js.map +1 -0
  162. package/dist/cjs/af-footer-column.cjs.entry.js +2 -2
  163. package/dist/cjs/af-footer-link.cjs.entry.js +2 -2
  164. package/dist/cjs/af-footer.cjs.entry.js +3 -3
  165. package/dist/cjs/af-footer.entry.cjs.js.map +1 -1
  166. package/dist/cjs/af-grid-callout.cjs.entry.js +51 -0
  167. package/dist/cjs/af-grid-callout.entry.cjs.js.map +1 -0
  168. package/dist/cjs/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.cjs.js.map +1 -1
  169. package/dist/cjs/af-heading_5.cjs.entry.js +69 -20
  170. package/dist/cjs/af-hero-section.cjs.entry.js +11 -5
  171. package/dist/cjs/af-hero-section.entry.cjs.js.map +1 -1
  172. package/dist/cjs/af-icon-box.cjs.entry.js +30 -0
  173. package/dist/cjs/af-icon-box.entry.cjs.js.map +1 -0
  174. package/dist/cjs/af-icon-button.cjs.entry.js +6 -3
  175. package/dist/cjs/af-icon-button.entry.cjs.js.map +1 -1
  176. package/dist/cjs/af-icon-text.cjs.entry.js +36 -0
  177. package/dist/cjs/af-icon-text.entry.cjs.js.map +1 -0
  178. package/dist/cjs/af-icon.cjs.entry.js +352 -0
  179. package/dist/cjs/af-icon.entry.cjs.js.map +1 -0
  180. package/dist/cjs/af-illustrated-card.cjs.entry.js +36 -0
  181. package/dist/cjs/af-illustrated-card.entry.cjs.js.map +1 -0
  182. package/dist/cjs/af-image.cjs.entry.js +18 -0
  183. package/dist/cjs/af-image.entry.cjs.js.map +1 -0
  184. package/dist/cjs/af-in-page-banner.cjs.entry.js +47 -0
  185. package/dist/cjs/af-in-page-banner.entry.cjs.js.map +1 -0
  186. package/dist/cjs/af-input.cjs.entry.js +104 -0
  187. package/dist/cjs/af-input.entry.cjs.js.map +1 -0
  188. package/dist/cjs/af-logo-well.cjs.entry.js +3 -3
  189. package/dist/cjs/af-logo-well.entry.cjs.js.map +1 -1
  190. package/dist/cjs/af-nav-card.cjs.entry.js +37 -0
  191. package/dist/cjs/af-nav-card.entry.cjs.js.map +1 -0
  192. package/dist/cjs/af-nav-menu-nest.cjs.entry.js +43 -0
  193. package/dist/cjs/af-nav-menu-nest.entry.cjs.js.map +1 -0
  194. package/dist/cjs/af-nav-menu.cjs.entry.js +41 -0
  195. package/dist/cjs/af-nav-menu.entry.cjs.js.map +1 -0
  196. package/dist/cjs/af-number-badge.cjs.entry.js +42 -0
  197. package/dist/cjs/af-number-badge.entry.cjs.js.map +1 -0
  198. package/dist/cjs/af-progress-line.cjs.entry.js +33 -0
  199. package/dist/cjs/af-progress-line.entry.cjs.js.map +1 -0
  200. package/dist/cjs/af-radio.cjs.entry.js +43 -0
  201. package/dist/cjs/af-radio.entry.cjs.js.map +1 -0
  202. package/dist/cjs/af-section.cjs.entry.js +6 -6
  203. package/dist/cjs/af-section.entry.cjs.js.map +1 -1
  204. package/dist/cjs/af-social-link.cjs.entry.js +2 -2
  205. package/dist/cjs/af-split-section.cjs.entry.js +41 -0
  206. package/dist/cjs/af-split-section.entry.cjs.js.map +1 -0
  207. package/dist/cjs/af-switch.cjs.entry.js +48 -0
  208. package/dist/cjs/af-switch.entry.cjs.js.map +1 -0
  209. package/dist/cjs/af-tab-bar.cjs.entry.js +88 -0
  210. package/dist/cjs/af-tab-bar.entry.cjs.js.map +1 -0
  211. package/dist/cjs/af-tab.cjs.entry.js +64 -0
  212. package/dist/cjs/af-tab.entry.cjs.js.map +1 -0
  213. package/dist/cjs/af-tag.cjs.entry.js +37 -0
  214. package/dist/cjs/af-tag.entry.cjs.js.map +1 -0
  215. package/dist/cjs/af-testimonial-carousel.cjs.entry.js +27 -15
  216. package/dist/cjs/af-testimonial-carousel.entry.cjs.js.map +1 -1
  217. package/dist/cjs/af-testimonial-stat.cjs.entry.js +3 -3
  218. package/dist/cjs/af-testimonial-stat.entry.cjs.js.map +1 -1
  219. package/dist/cjs/af-testimonial.cjs.entry.js +27 -3
  220. package/dist/cjs/af-testimonial.entry.cjs.js.map +1 -1
  221. package/dist/cjs/af-text-image-nest.cjs.entry.js +30 -0
  222. package/dist/cjs/af-text-image-nest.entry.cjs.js.map +1 -0
  223. package/dist/cjs/af-text-image.cjs.entry.js +63 -0
  224. package/dist/cjs/af-text-image.entry.cjs.js.map +1 -0
  225. package/dist/cjs/af-textarea.cjs.entry.js +93 -0
  226. package/dist/cjs/af-textarea.entry.cjs.js.map +1 -0
  227. package/dist/cjs/af-typography-lockup.cjs.entry.js +7 -7
  228. package/dist/cjs/af-typography-lockup.entry.cjs.js.map +1 -1
  229. package/dist/cjs/af-video-container.cjs.entry.js +35 -0
  230. package/dist/cjs/af-video-container.entry.cjs.js.map +1 -0
  231. package/dist/cjs/affinda.cjs.js +2 -2
  232. package/dist/cjs/{index-DfEVhbS6.js → index-ybEiHT0b.js} +130 -6
  233. package/dist/cjs/index-ybEiHT0b.js.map +1 -0
  234. package/dist/cjs/index.cjs.js +23 -1
  235. package/dist/cjs/index.cjs.js.map +1 -1
  236. package/dist/cjs/loader.cjs.js +2 -2
  237. package/dist/collection/assets/backgrounds/wave-overlay-inkwell.svg +3 -0
  238. package/dist/collection/assets/backgrounds/wave-overlay-mist-green.svg +3 -0
  239. package/dist/collection/assets/backgrounds/wave-overlay-soft-clay.svg +3 -0
  240. package/dist/collection/assets/backgrounds/wave-overlay-white-ivory.svg +3 -0
  241. package/dist/collection/assets/logo-affinda.svg +19 -0
  242. package/dist/collection/collection-manifest.json +28 -2
  243. package/dist/collection/components/af-aspect-ratio/af-aspect-ratio.css +2 -0
  244. package/dist/collection/components/af-button/af-button.css +177 -64
  245. package/dist/collection/components/af-button/af-button.js +50 -42
  246. package/dist/collection/components/af-button/af-button.js.map +1 -1
  247. package/dist/collection/components/af-button-group/af-button-group.js +1 -1
  248. package/dist/collection/components/af-card/af-card.css +96 -64
  249. package/dist/collection/components/af-card/af-card.js +32 -33
  250. package/dist/collection/components/af-card/af-card.js.map +1 -1
  251. package/dist/collection/components/af-checkbox/af-checkbox.css +96 -0
  252. package/dist/collection/components/af-checkbox/af-checkbox.js +186 -0
  253. package/dist/collection/components/af-checkbox/af-checkbox.js.map +1 -0
  254. package/dist/collection/components/af-client-carousel/af-client-carousel.css +77 -32
  255. package/dist/collection/components/af-client-carousel/af-client-carousel.js +21 -33
  256. package/dist/collection/components/af-client-carousel/af-client-carousel.js.map +1 -1
  257. package/dist/collection/components/af-contact-item/af-contact-item.js +1 -1
  258. package/dist/collection/components/af-feature-accordion/af-feature-accordion.css +21 -35
  259. package/dist/collection/components/af-feature-accordion/af-feature-accordion.js +15 -5
  260. package/dist/collection/components/af-feature-accordion/af-feature-accordion.js.map +1 -1
  261. package/dist/collection/components/af-feature-card/af-feature-card.css +219 -0
  262. package/dist/collection/components/af-feature-card/af-feature-card.js +199 -0
  263. package/dist/collection/components/af-feature-card/af-feature-card.js.map +1 -0
  264. package/dist/collection/components/af-feature-grid/af-feature-grid.css +119 -0
  265. package/dist/collection/components/af-feature-grid/af-feature-grid.js +156 -0
  266. package/dist/collection/components/af-feature-grid/af-feature-grid.js.map +1 -0
  267. package/dist/collection/components/af-fieldset/af-fieldset.css +61 -0
  268. package/dist/collection/components/af-fieldset/af-fieldset.js +109 -0
  269. package/dist/collection/components/af-fieldset/af-fieldset.js.map +1 -0
  270. package/dist/collection/components/af-footer/af-footer.css +1 -1
  271. package/dist/collection/components/af-footer/af-footer.js +1 -1
  272. package/dist/collection/components/af-footer-column/af-footer-column.js +1 -1
  273. package/dist/collection/components/af-footer-link/af-footer-link.js +1 -1
  274. package/dist/collection/components/af-grid-callout/af-grid-callout.css +191 -0
  275. package/dist/collection/components/af-grid-callout/af-grid-callout.js +191 -0
  276. package/dist/collection/components/af-grid-callout/af-grid-callout.js.map +1 -0
  277. package/dist/collection/components/af-heading/af-heading.css +25 -33
  278. package/dist/collection/components/af-heading/af-heading.js +8 -26
  279. package/dist/collection/components/af-heading/af-heading.js.map +1 -1
  280. package/dist/collection/components/af-hero-section/af-hero-section.css +118 -12
  281. package/dist/collection/components/af-hero-section/af-hero-section.js +102 -10
  282. package/dist/collection/components/af-hero-section/af-hero-section.js.map +1 -1
  283. package/dist/collection/components/af-icon/af-icon.css +28 -0
  284. package/dist/collection/components/af-icon/af-icon.js +116 -0
  285. package/dist/collection/components/af-icon/af-icon.js.map +1 -0
  286. package/dist/collection/components/af-icon-box/af-icon-box.css +36 -0
  287. package/dist/collection/components/af-icon-box/af-icon-box.js +97 -0
  288. package/dist/collection/components/af-icon-box/af-icon-box.js.map +1 -0
  289. package/dist/collection/components/af-icon-button/af-icon-button.css +42 -54
  290. package/dist/collection/components/af-icon-button/af-icon-button.js +8 -5
  291. package/dist/collection/components/af-icon-button/af-icon-button.js.map +1 -1
  292. package/dist/collection/components/af-icon-text/af-icon-text.css +43 -0
  293. package/dist/collection/components/af-icon-text/af-icon-text.js +150 -0
  294. package/dist/collection/components/af-icon-text/af-icon-text.js.map +1 -0
  295. package/dist/collection/components/af-illustrated-card/af-illustrated-card.css +99 -0
  296. package/dist/collection/components/af-illustrated-card/af-illustrated-card.js +115 -0
  297. package/dist/collection/components/af-illustrated-card/af-illustrated-card.js.map +1 -0
  298. package/dist/collection/components/af-image/af-image.css +27 -0
  299. package/dist/collection/components/af-image/af-image.js +65 -0
  300. package/dist/collection/components/af-image/af-image.js.map +1 -0
  301. package/dist/collection/components/af-in-page-banner/af-in-page-banner.css +379 -0
  302. package/dist/collection/components/af-in-page-banner/af-in-page-banner.js +266 -0
  303. package/dist/collection/components/af-in-page-banner/af-in-page-banner.js.map +1 -0
  304. package/dist/collection/components/af-input/af-input.css +246 -0
  305. package/dist/collection/components/af-input/af-input.js +527 -0
  306. package/dist/collection/components/af-input/af-input.js.map +1 -0
  307. package/dist/collection/components/af-logo/af-logo.css +4 -3
  308. package/dist/collection/components/af-logo/af-logo.js +1 -1
  309. package/dist/collection/components/af-logo/af-logo.js.map +1 -1
  310. package/dist/collection/components/af-logo-well/af-logo-well.css +15 -4
  311. package/dist/collection/components/af-logo-well/af-logo-well.js +1 -1
  312. package/dist/collection/components/af-nav-card/af-nav-card.css +70 -0
  313. package/dist/collection/components/af-nav-card/af-nav-card.js +138 -0
  314. package/dist/collection/components/af-nav-card/af-nav-card.js.map +1 -0
  315. package/dist/collection/components/af-nav-item/af-nav-item.css +161 -28
  316. package/dist/collection/components/af-nav-item/af-nav-item.js +27 -0
  317. package/dist/collection/components/af-nav-item/af-nav-item.js.map +1 -1
  318. package/dist/collection/components/af-nav-menu/af-nav-menu.css +91 -0
  319. package/dist/collection/components/af-nav-menu/af-nav-menu.js +131 -0
  320. package/dist/collection/components/af-nav-menu/af-nav-menu.js.map +1 -0
  321. package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.css +79 -0
  322. package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js +129 -0
  323. package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js.map +1 -0
  324. package/dist/collection/components/af-navbar/af-navbar.css +91 -8
  325. package/dist/collection/components/af-navbar/af-navbar.js +113 -3
  326. package/dist/collection/components/af-navbar/af-navbar.js.map +1 -1
  327. package/dist/collection/components/af-number-badge/af-number-badge.css +30 -0
  328. package/dist/collection/components/af-number-badge/af-number-badge.js +131 -0
  329. package/dist/collection/components/af-number-badge/af-number-badge.js.map +1 -0
  330. package/dist/collection/components/af-progress-line/af-progress-line.css +44 -0
  331. package/dist/collection/components/af-progress-line/af-progress-line.js +86 -0
  332. package/dist/collection/components/af-progress-line/af-progress-line.js.map +1 -0
  333. package/dist/collection/components/af-radio/af-radio.css +97 -0
  334. package/dist/collection/components/af-radio/af-radio.js +150 -0
  335. package/dist/collection/components/af-radio/af-radio.js.map +1 -0
  336. package/dist/collection/components/af-section/af-section.css +230 -24
  337. package/dist/collection/components/af-section/af-section.js +11 -10
  338. package/dist/collection/components/af-section/af-section.js.map +1 -1
  339. package/dist/collection/components/af-social-link/af-social-link.js +1 -1
  340. package/dist/collection/components/af-split-section/af-split-section.css +46 -0
  341. package/dist/collection/components/af-split-section/af-split-section.js +145 -0
  342. package/dist/collection/components/af-split-section/af-split-section.js.map +1 -0
  343. package/dist/collection/components/af-switch/af-switch.css +104 -0
  344. package/dist/collection/components/af-switch/af-switch.js +155 -0
  345. package/dist/collection/components/af-switch/af-switch.js.map +1 -0
  346. package/dist/collection/components/af-tab/af-tab.css +182 -0
  347. package/dist/collection/components/af-tab/af-tab.js +251 -0
  348. package/dist/collection/components/af-tab/af-tab.js.map +1 -0
  349. package/dist/collection/components/af-tab-bar/af-tab-bar.css +87 -0
  350. package/dist/collection/components/af-tab-bar/af-tab-bar.js +171 -0
  351. package/dist/collection/components/af-tab-bar/af-tab-bar.js.map +1 -0
  352. package/dist/collection/components/af-tag/af-tag.css +92 -0
  353. package/dist/collection/components/af-tag/af-tag.js +126 -0
  354. package/dist/collection/components/af-tag/af-tag.js.map +1 -0
  355. package/dist/collection/components/af-testimonial/af-testimonial.css +30 -46
  356. package/dist/collection/components/af-testimonial/af-testimonial.js +118 -1
  357. package/dist/collection/components/af-testimonial/af-testimonial.js.map +1 -1
  358. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.css +6 -66
  359. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js +48 -13
  360. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js.map +1 -1
  361. package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.css +9 -16
  362. package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js +1 -1
  363. package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js.map +1 -1
  364. package/dist/collection/components/af-text/af-text.css +13 -36
  365. package/dist/collection/components/af-text/af-text.js +10 -28
  366. package/dist/collection/components/af-text/af-text.js.map +1 -1
  367. package/dist/collection/components/af-text-image/af-text-image.css +228 -0
  368. package/dist/collection/components/af-text-image/af-text-image.js +173 -0
  369. package/dist/collection/components/af-text-image/af-text-image.js.map +1 -0
  370. package/dist/collection/components/af-text-image-nest/af-text-image-nest.css +110 -0
  371. package/dist/collection/components/af-text-image-nest/af-text-image-nest.js +71 -0
  372. package/dist/collection/components/af-text-image-nest/af-text-image-nest.js.map +1 -0
  373. package/dist/collection/components/af-textarea/af-textarea.css +175 -0
  374. package/dist/collection/components/af-textarea/af-textarea.js +443 -0
  375. package/dist/collection/components/af-textarea/af-textarea.js.map +1 -0
  376. package/dist/collection/components/af-typography-lockup/af-typography-lockup.css +126 -40
  377. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js +5 -5
  378. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js.map +1 -1
  379. package/dist/collection/components/af-video-container/af-video-container.css +102 -0
  380. package/dist/collection/components/af-video-container/af-video-container.js +142 -0
  381. package/dist/collection/components/af-video-container/af-video-container.js.map +1 -0
  382. package/dist/collection/components.js +11 -0
  383. package/dist/collection/components.js.map +1 -1
  384. package/dist/components/af-aspect-ratio.js +1 -1
  385. package/dist/components/af-button-group.js +1 -1
  386. package/dist/components/af-button.js +1 -1
  387. package/dist/components/af-card.js +1 -39
  388. package/dist/components/af-card.js.map +1 -1
  389. package/dist/components/{af-cta-section.d.ts → af-checkbox.d.ts} +4 -4
  390. package/dist/components/af-checkbox.js +9 -0
  391. package/dist/components/af-checkbox.js.map +1 -0
  392. package/dist/components/af-client-carousel.js +6 -9
  393. package/dist/components/af-client-carousel.js.map +1 -1
  394. package/dist/components/af-color-swatch.js +1 -1
  395. package/dist/components/af-contact-item.js +2 -2
  396. package/dist/components/af-container.js +1 -1
  397. package/dist/components/af-feature-accordion.js +4 -4
  398. package/dist/components/af-feature-accordion.js.map +1 -1
  399. package/dist/components/af-feature-card.d.ts +11 -0
  400. package/dist/components/af-feature-card.js +9 -0
  401. package/dist/components/af-feature-card.js.map +1 -0
  402. package/dist/components/af-feature-grid.d.ts +11 -0
  403. package/dist/components/af-feature-grid.js +124 -0
  404. package/dist/components/af-feature-grid.js.map +1 -0
  405. package/dist/components/af-fieldset.d.ts +11 -0
  406. package/dist/components/af-fieldset.js +9 -0
  407. package/dist/components/af-fieldset.js.map +1 -0
  408. package/dist/components/af-footer-column.js +2 -2
  409. package/dist/components/af-footer-link.js +2 -2
  410. package/dist/components/af-footer.js +3 -3
  411. package/dist/components/af-footer.js.map +1 -1
  412. package/dist/components/af-grid-callout.d.ts +11 -0
  413. package/dist/components/af-grid-callout.js +82 -0
  414. package/dist/components/af-grid-callout.js.map +1 -0
  415. package/dist/components/af-heading.js +1 -1
  416. package/dist/components/af-hero-section.js +25 -9
  417. package/dist/components/af-hero-section.js.map +1 -1
  418. package/dist/components/af-icon-box.d.ts +11 -0
  419. package/dist/components/af-icon-box.js +9 -0
  420. package/dist/components/af-icon-box.js.map +1 -0
  421. package/dist/components/af-icon-button.js +1 -1
  422. package/dist/components/af-icon-text.d.ts +11 -0
  423. package/dist/components/af-icon-text.js +78 -0
  424. package/dist/components/af-icon-text.js.map +1 -0
  425. package/dist/components/af-icon.d.ts +11 -0
  426. package/dist/components/af-icon.js +9 -0
  427. package/dist/components/af-icon.js.map +1 -0
  428. package/dist/components/af-illustrated-card.d.ts +11 -0
  429. package/dist/components/af-illustrated-card.js +9 -0
  430. package/dist/components/af-illustrated-card.js.map +1 -0
  431. package/dist/components/af-image.d.ts +11 -0
  432. package/dist/components/af-image.js +9 -0
  433. package/dist/components/af-image.js.map +1 -0
  434. package/dist/components/af-in-page-banner.d.ts +11 -0
  435. package/dist/components/af-in-page-banner.js +82 -0
  436. package/dist/components/af-in-page-banner.js.map +1 -0
  437. package/dist/components/af-input.d.ts +11 -0
  438. package/dist/components/af-input.js +9 -0
  439. package/dist/components/af-input.js.map +1 -0
  440. package/dist/components/af-logo-well.js +3 -3
  441. package/dist/components/af-logo-well.js.map +1 -1
  442. package/dist/components/af-logo.js +1 -1
  443. package/dist/components/af-nav-card.d.ts +11 -0
  444. package/dist/components/af-nav-card.js +63 -0
  445. package/dist/components/af-nav-card.js.map +1 -0
  446. package/dist/components/af-nav-item.js +1 -1
  447. package/dist/components/af-nav-menu-nest.d.ts +11 -0
  448. package/dist/components/af-nav-menu-nest.js +67 -0
  449. package/dist/components/af-nav-menu-nest.js.map +1 -0
  450. package/dist/components/af-nav-menu.d.ts +11 -0
  451. package/dist/components/af-nav-menu.js +66 -0
  452. package/dist/components/af-nav-menu.js.map +1 -0
  453. package/dist/components/af-navbar.js +1 -1
  454. package/dist/components/af-number-badge.d.ts +11 -0
  455. package/dist/components/af-number-badge.js +66 -0
  456. package/dist/components/af-number-badge.js.map +1 -0
  457. package/dist/components/af-progress-line.d.ts +11 -0
  458. package/dist/components/af-progress-line.js +9 -0
  459. package/dist/components/af-progress-line.js.map +1 -0
  460. package/dist/components/af-radio.d.ts +11 -0
  461. package/dist/components/af-radio.js +9 -0
  462. package/dist/components/af-radio.js.map +1 -0
  463. package/dist/components/af-section.js +8 -8
  464. package/dist/components/af-section.js.map +1 -1
  465. package/dist/components/af-social-link.js +2 -2
  466. package/dist/components/af-split-section.d.ts +11 -0
  467. package/dist/components/af-split-section.js +71 -0
  468. package/dist/components/af-split-section.js.map +1 -0
  469. package/dist/components/af-switch.d.ts +11 -0
  470. package/dist/components/af-switch.js +9 -0
  471. package/dist/components/af-switch.js.map +1 -0
  472. package/dist/components/af-tab-bar.d.ts +11 -0
  473. package/dist/components/af-tab-bar.js +9 -0
  474. package/dist/components/af-tab-bar.js.map +1 -0
  475. package/dist/components/af-tab.d.ts +11 -0
  476. package/dist/components/af-tab.js +9 -0
  477. package/dist/components/af-tab.js.map +1 -0
  478. package/dist/components/af-tag.d.ts +11 -0
  479. package/dist/components/af-tag.js +9 -0
  480. package/dist/components/af-tag.js.map +1 -0
  481. package/dist/components/af-testimonial-carousel.js +35 -17
  482. package/dist/components/af-testimonial-carousel.js.map +1 -1
  483. package/dist/components/af-testimonial-stat.js +16 -4
  484. package/dist/components/af-testimonial-stat.js.map +1 -1
  485. package/dist/components/af-testimonial.js +56 -5
  486. package/dist/components/af-testimonial.js.map +1 -1
  487. package/dist/components/af-text-image-nest.d.ts +11 -0
  488. package/dist/components/af-text-image-nest.js +51 -0
  489. package/dist/components/af-text-image-nest.js.map +1 -0
  490. package/dist/components/af-text-image.d.ts +11 -0
  491. package/dist/components/af-text-image.js +94 -0
  492. package/dist/components/af-text-image.js.map +1 -0
  493. package/dist/components/af-text.js +1 -1
  494. package/dist/components/af-textarea.d.ts +11 -0
  495. package/dist/components/af-textarea.js +9 -0
  496. package/dist/components/af-textarea.js.map +1 -0
  497. package/dist/components/af-typography-lockup.js +1 -1
  498. package/dist/components/af-video-container.d.ts +11 -0
  499. package/dist/components/af-video-container.js +70 -0
  500. package/dist/components/af-video-container.js.map +1 -0
  501. package/dist/components/index.js +24 -13
  502. package/dist/components/index.js.map +1 -1
  503. package/dist/components/{p-BBivIwbE.js → p-6uEhsUaO.js} +3 -3
  504. package/dist/components/{p-BBivIwbE.js.map → p-6uEhsUaO.js.map} +1 -1
  505. package/dist/components/{p-PLXzXWgX.js → p-BHKA-yEm.js} +4 -4
  506. package/dist/components/p-BHKA-yEm.js.map +1 -0
  507. package/dist/components/p-BMp8QbY-.js +68 -0
  508. package/dist/components/p-BMp8QbY-.js.map +1 -0
  509. package/dist/components/p-BRN73McC.js +59 -0
  510. package/dist/components/p-BRN73McC.js.map +1 -0
  511. package/dist/components/p-BRsO61_R.js +58 -0
  512. package/dist/components/p-BRsO61_R.js.map +1 -0
  513. package/dist/components/p-BXZ7aJQf.js +372 -0
  514. package/dist/components/p-BXZ7aJQf.js.map +1 -0
  515. package/dist/components/p-Bh4YP9vE.js +74 -0
  516. package/dist/components/p-Bh4YP9vE.js.map +1 -0
  517. package/dist/components/p-Br0VERLB.js +81 -0
  518. package/dist/components/p-Br0VERLB.js.map +1 -0
  519. package/dist/components/{p-7a3XpKXs.js → p-ByHIHg3l.js} +4 -4
  520. package/dist/components/{p-7a3XpKXs.js.map → p-ByHIHg3l.js.map} +1 -1
  521. package/dist/components/p-C0f6y_zg.js +94 -0
  522. package/dist/components/p-C0f6y_zg.js.map +1 -0
  523. package/dist/components/p-CCAq3Zj6.js +68 -0
  524. package/dist/components/p-CCAq3Zj6.js.map +1 -0
  525. package/dist/components/p-CZyCImor.js +127 -0
  526. package/dist/components/p-CZyCImor.js.map +1 -0
  527. package/dist/components/p-C_M8AOaj.js +65 -0
  528. package/dist/components/p-C_M8AOaj.js.map +1 -0
  529. package/dist/components/p-Cqp0DdgH.js +58 -0
  530. package/dist/components/p-Cqp0DdgH.js.map +1 -0
  531. package/dist/components/{p-Dt4Fpr3O.js → p-CxngDK-N.js} +122 -8
  532. package/dist/components/p-CxngDK-N.js.map +1 -0
  533. package/dist/components/{p-BkEmrXbw.js → p-D3UZ60qM.js} +3 -3
  534. package/dist/components/{p-BkEmrXbw.js.map → p-D3UZ60qM.js.map} +1 -1
  535. package/dist/components/p-D99aXp3U.js +35 -0
  536. package/dist/components/p-D99aXp3U.js.map +1 -0
  537. package/dist/components/p-DBnL9UHx.js +91 -0
  538. package/dist/components/p-DBnL9UHx.js.map +1 -0
  539. package/dist/components/p-DOkvrcIE.js +50 -0
  540. package/dist/components/p-DOkvrcIE.js.map +1 -0
  541. package/dist/components/p-DW5DrJlQ.js +70 -0
  542. package/dist/components/p-DW5DrJlQ.js.map +1 -0
  543. package/dist/components/p-DZ-qivXD.js +55 -0
  544. package/dist/components/p-DZ-qivXD.js.map +1 -0
  545. package/dist/components/p-DhdRcSve.js +89 -0
  546. package/dist/components/p-DhdRcSve.js.map +1 -0
  547. package/dist/components/p-Dvi1lz3x.js +53 -0
  548. package/dist/components/p-Dvi1lz3x.js.map +1 -0
  549. package/dist/components/p-DzkSL2bi.js +141 -0
  550. package/dist/components/p-DzkSL2bi.js.map +1 -0
  551. package/dist/components/p-JepBVz99.js +71 -0
  552. package/dist/components/p-JepBVz99.js.map +1 -0
  553. package/dist/components/p-_bQXTXUb.js +98 -0
  554. package/dist/components/p-_bQXTXUb.js.map +1 -0
  555. package/dist/components/p-l95vl6T1.js +108 -0
  556. package/dist/components/p-l95vl6T1.js.map +1 -0
  557. package/dist/components/p-wwnR-hlX.js +52 -0
  558. package/dist/components/p-wwnR-hlX.js.map +1 -0
  559. package/dist/components/p-xDRMXxWJ.js +37 -0
  560. package/dist/components/p-xDRMXxWJ.js.map +1 -0
  561. package/dist/esm/af-aspect-ratio.entry.js +2 -2
  562. package/dist/esm/af-aspect-ratio.entry.js.map +1 -1
  563. package/dist/esm/af-button-group.entry.js +2 -2
  564. package/dist/esm/af-button.entry.js +25 -12
  565. package/dist/esm/af-button.entry.js.map +1 -1
  566. package/dist/esm/af-card.entry.js +17 -7
  567. package/dist/esm/af-card.entry.js.map +1 -1
  568. package/dist/esm/af-checkbox.entry.js +56 -0
  569. package/dist/esm/af-checkbox.entry.js.map +1 -0
  570. package/dist/esm/af-client-carousel.entry.js +5 -7
  571. package/dist/esm/af-client-carousel.entry.js.map +1 -1
  572. package/dist/esm/af-color-swatch.entry.js +1 -1
  573. package/dist/esm/af-contact-item.entry.js +2 -2
  574. package/dist/esm/af-container.entry.js +1 -1
  575. package/dist/esm/af-feature-accordion.entry.js +4 -4
  576. package/dist/esm/af-feature-accordion.entry.js.map +1 -1
  577. package/dist/esm/af-feature-card.entry.js +57 -0
  578. package/dist/esm/af-feature-card.entry.js.map +1 -0
  579. package/dist/esm/af-feature-grid.entry.js +91 -0
  580. package/dist/esm/af-feature-grid.entry.js.map +1 -0
  581. package/dist/esm/af-fieldset.entry.js +35 -0
  582. package/dist/esm/af-fieldset.entry.js.map +1 -0
  583. package/dist/esm/af-footer-column.entry.js +2 -2
  584. package/dist/esm/af-footer-link.entry.js +2 -2
  585. package/dist/esm/af-footer.entry.js +3 -3
  586. package/dist/esm/af-footer.entry.js.map +1 -1
  587. package/dist/esm/af-grid-callout.entry.js +49 -0
  588. package/dist/esm/af-grid-callout.entry.js.map +1 -0
  589. package/dist/esm/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.js.map +1 -1
  590. package/dist/esm/af-heading_5.entry.js +69 -20
  591. package/dist/esm/af-hero-section.entry.js +11 -5
  592. package/dist/esm/af-hero-section.entry.js.map +1 -1
  593. package/dist/esm/af-icon-box.entry.js +28 -0
  594. package/dist/esm/af-icon-box.entry.js.map +1 -0
  595. package/dist/esm/af-icon-button.entry.js +6 -3
  596. package/dist/esm/af-icon-button.entry.js.map +1 -1
  597. package/dist/esm/af-icon-text.entry.js +34 -0
  598. package/dist/esm/af-icon-text.entry.js.map +1 -0
  599. package/dist/esm/af-icon.entry.js +349 -0
  600. package/dist/esm/af-icon.entry.js.map +1 -0
  601. package/dist/esm/af-illustrated-card.entry.js +34 -0
  602. package/dist/esm/af-illustrated-card.entry.js.map +1 -0
  603. package/dist/esm/af-image.entry.js +16 -0
  604. package/dist/esm/af-image.entry.js.map +1 -0
  605. package/dist/esm/af-in-page-banner.entry.js +45 -0
  606. package/dist/esm/af-in-page-banner.entry.js.map +1 -0
  607. package/dist/esm/af-input.entry.js +102 -0
  608. package/dist/esm/af-input.entry.js.map +1 -0
  609. package/dist/esm/af-logo-well.entry.js +3 -3
  610. package/dist/esm/af-logo-well.entry.js.map +1 -1
  611. package/dist/esm/af-nav-card.entry.js +35 -0
  612. package/dist/esm/af-nav-card.entry.js.map +1 -0
  613. package/dist/esm/af-nav-menu-nest.entry.js +41 -0
  614. package/dist/esm/af-nav-menu-nest.entry.js.map +1 -0
  615. package/dist/esm/af-nav-menu.entry.js +39 -0
  616. package/dist/esm/af-nav-menu.entry.js.map +1 -0
  617. package/dist/esm/af-number-badge.entry.js +40 -0
  618. package/dist/esm/af-number-badge.entry.js.map +1 -0
  619. package/dist/esm/af-progress-line.entry.js +31 -0
  620. package/dist/esm/af-progress-line.entry.js.map +1 -0
  621. package/dist/esm/af-radio.entry.js +41 -0
  622. package/dist/esm/af-radio.entry.js.map +1 -0
  623. package/dist/esm/af-section.entry.js +6 -6
  624. package/dist/esm/af-section.entry.js.map +1 -1
  625. package/dist/esm/af-social-link.entry.js +2 -2
  626. package/dist/esm/af-split-section.entry.js +39 -0
  627. package/dist/esm/af-split-section.entry.js.map +1 -0
  628. package/dist/esm/af-switch.entry.js +46 -0
  629. package/dist/esm/af-switch.entry.js.map +1 -0
  630. package/dist/esm/af-tab-bar.entry.js +86 -0
  631. package/dist/esm/af-tab-bar.entry.js.map +1 -0
  632. package/dist/esm/af-tab.entry.js +62 -0
  633. package/dist/esm/af-tab.entry.js.map +1 -0
  634. package/dist/esm/af-tag.entry.js +35 -0
  635. package/dist/esm/af-tag.entry.js.map +1 -0
  636. package/dist/esm/af-testimonial-carousel.entry.js +27 -15
  637. package/dist/esm/af-testimonial-carousel.entry.js.map +1 -1
  638. package/dist/esm/af-testimonial-stat.entry.js +3 -3
  639. package/dist/esm/af-testimonial-stat.entry.js.map +1 -1
  640. package/dist/esm/af-testimonial.entry.js +27 -3
  641. package/dist/esm/af-testimonial.entry.js.map +1 -1
  642. package/dist/esm/af-text-image-nest.entry.js +28 -0
  643. package/dist/esm/af-text-image-nest.entry.js.map +1 -0
  644. package/dist/esm/af-text-image.entry.js +61 -0
  645. package/dist/esm/af-text-image.entry.js.map +1 -0
  646. package/dist/esm/af-textarea.entry.js +91 -0
  647. package/dist/esm/af-textarea.entry.js.map +1 -0
  648. package/dist/esm/af-typography-lockup.entry.js +7 -7
  649. package/dist/esm/af-typography-lockup.entry.js.map +1 -1
  650. package/dist/esm/af-video-container.entry.js +33 -0
  651. package/dist/esm/af-video-container.entry.js.map +1 -0
  652. package/dist/esm/affinda.js +3 -3
  653. package/dist/esm/{index-DI7b0bCy.js → index-BmU_CFQ4.js} +130 -7
  654. package/dist/esm/index-BmU_CFQ4.js.map +1 -0
  655. package/dist/esm/index.js +12 -1
  656. package/dist/esm/index.js.map +1 -1
  657. package/dist/esm/loader.js +3 -3
  658. package/dist/types/components/af-button/af-button.d.ts +22 -9
  659. package/dist/types/components/af-card/af-card.d.ts +15 -8
  660. package/dist/types/components/af-checkbox/af-checkbox.d.ts +40 -0
  661. package/dist/types/components/af-client-carousel/af-client-carousel.d.ts +10 -5
  662. package/dist/types/components/af-feature-accordion/af-feature-accordion.d.ts +13 -3
  663. package/dist/types/components/af-feature-card/af-feature-card.d.ts +49 -0
  664. package/dist/types/components/af-feature-grid/af-feature-grid.d.ts +32 -0
  665. package/dist/types/components/af-fieldset/af-fieldset.d.ts +23 -0
  666. package/dist/types/components/af-grid-callout/af-grid-callout.d.ts +57 -0
  667. package/dist/types/components/af-heading/af-heading.d.ts +5 -2
  668. package/dist/types/components/af-hero-section/af-hero-section.d.ts +18 -3
  669. package/dist/types/components/af-icon/af-icon.d.ts +28 -0
  670. package/dist/types/components/af-icon-box/af-icon-box.d.ts +27 -0
  671. package/dist/types/components/af-icon-button/af-icon-button.d.ts +5 -2
  672. package/dist/types/components/af-icon-text/af-icon-text.d.ts +44 -0
  673. package/dist/types/components/af-illustrated-card/af-illustrated-card.d.ts +28 -0
  674. package/dist/types/components/af-image/af-image.d.ts +15 -0
  675. package/dist/types/components/af-in-page-banner/af-in-page-banner.d.ts +56 -0
  676. package/dist/types/components/af-input/af-input.d.ts +110 -0
  677. package/dist/types/components/af-nav-card/af-nav-card.d.ts +34 -0
  678. package/dist/types/components/af-nav-item/af-nav-item.d.ts +6 -0
  679. package/dist/types/components/af-nav-menu/af-nav-menu.d.ts +28 -0
  680. package/dist/types/components/af-nav-menu-nest/af-nav-menu-nest.d.ts +42 -0
  681. package/dist/types/components/af-navbar/af-navbar.d.ts +31 -1
  682. package/dist/types/components/af-number-badge/af-number-badge.d.ts +29 -0
  683. package/dist/types/components/af-progress-line/af-progress-line.d.ts +18 -0
  684. package/dist/types/components/af-radio/af-radio.d.ts +33 -0
  685. package/dist/types/components/af-section/af-section.d.ts +4 -3
  686. package/dist/types/components/af-split-section/af-split-section.d.ts +20 -0
  687. package/dist/types/components/af-switch/af-switch.d.ts +32 -0
  688. package/dist/types/components/af-tab/af-tab.d.ts +61 -0
  689. package/dist/types/components/af-tab-bar/af-tab-bar.d.ts +43 -0
  690. package/dist/types/components/af-tag/af-tag.d.ts +33 -0
  691. package/dist/types/components/af-testimonial/af-testimonial.d.ts +23 -0
  692. package/dist/types/components/af-testimonial-carousel/af-testimonial-carousel.d.ts +17 -0
  693. package/dist/types/components/af-text/af-text.d.ts +6 -3
  694. package/dist/types/components/af-text-image/af-text-image.d.ts +30 -0
  695. package/dist/types/components/af-text-image-nest/af-text-image-nest.d.ts +21 -0
  696. package/dist/types/components/af-textarea/af-textarea.d.ts +92 -0
  697. package/dist/types/components/af-video-container/af-video-container.d.ts +45 -0
  698. package/dist/types/components.d.ts +3414 -638
  699. package/package.json +7 -6
  700. package/dist/affinda/af-cta-section.entry.esm.js.map +0 -1
  701. package/dist/affinda/p-050f98cd.entry.js +0 -2
  702. package/dist/affinda/p-07990b1f.entry.js +0 -2
  703. package/dist/affinda/p-4a39ddec.entry.js +0 -2
  704. package/dist/affinda/p-4a39ddec.entry.js.map +0 -1
  705. package/dist/affinda/p-52f7ea33.entry.js +0 -2
  706. package/dist/affinda/p-924e6def.entry.js +0 -2
  707. package/dist/affinda/p-924e6def.entry.js.map +0 -1
  708. package/dist/affinda/p-954963fa.entry.js +0 -2
  709. package/dist/affinda/p-954963fa.entry.js.map +0 -1
  710. package/dist/affinda/p-DI7b0bCy.js +0 -3
  711. package/dist/affinda/p-DI7b0bCy.js.map +0 -1
  712. package/dist/affinda/p-ac7efb48.entry.js +0 -2
  713. package/dist/affinda/p-ac7efb48.entry.js.map +0 -1
  714. package/dist/affinda/p-b67bbaf7.entry.js +0 -2
  715. package/dist/affinda/p-b67bbaf7.entry.js.map +0 -1
  716. package/dist/affinda/p-b6885a9a.entry.js +0 -2
  717. package/dist/affinda/p-b6885a9a.entry.js.map +0 -1
  718. package/dist/affinda/p-b7c63852.entry.js +0 -2
  719. package/dist/affinda/p-b7c63852.entry.js.map +0 -1
  720. package/dist/affinda/p-b7efbfff.entry.js +0 -2
  721. package/dist/affinda/p-b7efbfff.entry.js.map +0 -1
  722. package/dist/affinda/p-bf4543ff.entry.js +0 -2
  723. package/dist/affinda/p-c2b6199e.entry.js +0 -2
  724. package/dist/affinda/p-c2b6199e.entry.js.map +0 -1
  725. package/dist/affinda/p-c5aba33f.entry.js +0 -2
  726. package/dist/affinda/p-ce89c4f1.entry.js +0 -2
  727. package/dist/affinda/p-d3b2ab0e.entry.js +0 -2
  728. package/dist/affinda/p-de52b175.entry.js +0 -2
  729. package/dist/affinda/p-e367e42b.entry.js +0 -2
  730. package/dist/affinda/p-e367e42b.entry.js.map +0 -1
  731. package/dist/cjs/af-cta-section.cjs.entry.js +0 -32
  732. package/dist/cjs/af-cta-section.entry.cjs.js.map +0 -1
  733. package/dist/cjs/index-DfEVhbS6.js.map +0 -1
  734. package/dist/collection/components/af-cta-section/af-cta-section.css +0 -175
  735. package/dist/collection/components/af-cta-section/af-cta-section.js +0 -183
  736. package/dist/collection/components/af-cta-section/af-cta-section.js.map +0 -1
  737. package/dist/components/af-cta-section.js +0 -59
  738. package/dist/components/af-cta-section.js.map +0 -1
  739. package/dist/components/p-BKGrl8ua.js +0 -77
  740. package/dist/components/p-BKGrl8ua.js.map +0 -1
  741. package/dist/components/p-BTEblSAo.js +0 -63
  742. package/dist/components/p-BTEblSAo.js.map +0 -1
  743. package/dist/components/p-BekWfVfB.js +0 -66
  744. package/dist/components/p-BekWfVfB.js.map +0 -1
  745. package/dist/components/p-Bg7dSc4D.js +0 -54
  746. package/dist/components/p-Bg7dSc4D.js.map +0 -1
  747. package/dist/components/p-D4s4u7tL.js +0 -35
  748. package/dist/components/p-D4s4u7tL.js.map +0 -1
  749. package/dist/components/p-DqOwXTsH.js +0 -68
  750. package/dist/components/p-DqOwXTsH.js.map +0 -1
  751. package/dist/components/p-Dt4Fpr3O.js.map +0 -1
  752. package/dist/components/p-PLXzXWgX.js.map +0 -1
  753. package/dist/components/p-Thu9mUEn.js +0 -41
  754. package/dist/components/p-Thu9mUEn.js.map +0 -1
  755. package/dist/components/p-emB0l5gm.js +0 -68
  756. package/dist/components/p-emB0l5gm.js.map +0 -1
  757. package/dist/esm/af-cta-section.entry.js +0 -30
  758. package/dist/esm/af-cta-section.entry.js.map +0 -1
  759. package/dist/esm/index-DI7b0bCy.js.map +0 -1
  760. package/dist/types/components/af-cta-section/af-cta-section.d.ts +0 -21
  761. /package/dist/affinda/{p-de52b175.entry.js.map → p-1d9e532f.entry.js.map} +0 -0
  762. /package/dist/affinda/{p-a49dc8ac.entry.js.map → p-31d4c1a4.entry.js.map} +0 -0
  763. /package/dist/affinda/{p-c5aba33f.entry.js.map → p-53ae16fe.entry.js.map} +0 -0
  764. /package/dist/affinda/{p-dec4c4d5.entry.js.map → p-72f02343.entry.js.map} +0 -0
  765. /package/dist/affinda/{p-97f9f774.entry.js.map → p-96eac3af.entry.js.map} +0 -0
  766. /package/dist/affinda/{p-3a9646e6.entry.js.map → p-c11088fa.entry.js.map} +0 -0
  767. /package/dist/affinda/{p-f8ac0120.entry.js.map → p-e5af21c2.entry.js.map} +0 -0
@@ -0,0 +1,51 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-ybEiHT0b.js');
4
+
5
+ const afGridCalloutCss = ".sc-af-grid-callout-h{display:block;width:100%}.grid-callout.sc-af-grid-callout{display:flex;width:100%;gap:40px;align-items:stretch}.grid-callout__image-container.sc-af-grid-callout{flex:0 0 auto;width:45%;min-height:400px;position:relative;overflow:hidden}.grid-callout--image-left.sc-af-grid-callout .grid-callout__image-container.sc-af-grid-callout{border-radius:0 4000px 4000px 0;margin-left:calc(-1 * var(--container-padding, 80px))}.grid-callout--image-right.sc-af-grid-callout .grid-callout__image-container.sc-af-grid-callout{border-radius:4000px 0 0 4000px;margin-right:calc(-1 * var(--container-padding, 80px))}.grid-callout__image.sc-af-grid-callout{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.grid-callout__content.sc-af-grid-callout{flex:1;display:flex;flex-direction:column;gap:48px;padding:40px 0}.grid-callout--image-left.sc-af-grid-callout .grid-callout__content.sc-af-grid-callout{padding-left:40px}.grid-callout--image-right.sc-af-grid-callout .grid-callout__content.sc-af-grid-callout{padding-right:40px}.grid-callout--no-image.sc-af-grid-callout{flex-direction:column}.grid-callout--no-image.sc-af-grid-callout .grid-callout__content.sc-af-grid-callout{padding:0}.grid-callout__heading.sc-af-grid-callout{max-width:840px}.grid-callout__items.sc-af-grid-callout{display:grid;gap:40px;width:100%}.grid-callout__items--cols-2.sc-af-grid-callout{grid-template-columns:repeat(2, 1fr)}.grid-callout__items--cols-3.sc-af-grid-callout{grid-template-columns:repeat(3, 1fr)}.grid-callout__items--cols-4.sc-af-grid-callout{grid-template-columns:repeat(4, 1fr)}.grid-callout__cta.sc-af-grid-callout{display:flex;gap:12px;flex-wrap:wrap}.grid-callout__cta.sc-af-grid-callout:empty{display:none}@media (max-width: 1024px){.grid-callout.sc-af-grid-callout{gap:32px}.grid-callout__image-container.sc-af-grid-callout{width:40%}.grid-callout__content.sc-af-grid-callout{gap:40px}.grid-callout__items--cols-3.sc-af-grid-callout,.grid-callout__items--cols-4.sc-af-grid-callout{grid-template-columns:repeat(2, 1fr)}.grid-callout__items.sc-af-grid-callout{gap:32px}}@media (max-width: 768px){.grid-callout.sc-af-grid-callout{flex-direction:column;gap:32px}.grid-callout__image-container.sc-af-grid-callout{width:calc(100% + 2 * var(--container-padding, 20px));min-height:280px;margin-left:calc(-1 * var(--container-padding, 20px));margin-right:calc(-1 * var(--container-padding, 20px));border-radius:0}.grid-callout--image-left.sc-af-grid-callout .grid-callout__image-container.sc-af-grid-callout,.grid-callout--image-right.sc-af-grid-callout .grid-callout__image-container.sc-af-grid-callout{border-radius:0;margin-left:calc(-1 * var(--container-padding, 20px));margin-right:calc(-1 * var(--container-padding, 20px))}.grid-callout__content.sc-af-grid-callout{padding:0;gap:32px}.grid-callout--image-left.sc-af-grid-callout .grid-callout__content.sc-af-grid-callout,.grid-callout--image-right.sc-af-grid-callout .grid-callout__content.sc-af-grid-callout{padding-left:0;padding-right:0}.grid-callout__items.sc-af-grid-callout{grid-template-columns:1fr;gap:32px}.grid-callout__items--cols-2.sc-af-grid-callout,.grid-callout__items--cols-3.sc-af-grid-callout,.grid-callout__items--cols-4.sc-af-grid-callout{grid-template-columns:1fr}}";
6
+
7
+ const AfGridCallout = class {
8
+ constructor(hostRef) {
9
+ index.registerInstance(this, hostRef);
10
+ /**
11
+ * Alt text for the image (required for accessibility when imageSrc is provided)
12
+ */
13
+ this.imageAlt = '';
14
+ /**
15
+ * Position of the image relative to the content
16
+ */
17
+ this.imagePosition = 'left';
18
+ /**
19
+ * Number of columns for the IconText grid on desktop
20
+ */
21
+ this.columns = 2;
22
+ /**
23
+ * Heading size for the main title
24
+ */
25
+ this.headingSize = 2;
26
+ }
27
+ render() {
28
+ const hasImage = !!this.imageSrc;
29
+ const containerClasses = {
30
+ 'grid-callout': true,
31
+ 'grid-callout--has-image': hasImage,
32
+ 'grid-callout--no-image': !hasImage,
33
+ [`grid-callout--image-${this.imagePosition}`]: hasImage,
34
+ };
35
+ const gridClasses = {
36
+ 'grid-callout__items': true,
37
+ [`grid-callout__items--cols-${this.columns}`]: true,
38
+ };
39
+ const renderImage = () => {
40
+ if (!hasImage)
41
+ return null;
42
+ return (index.h("div", { class: "grid-callout__image-container" }, index.h("img", { src: this.imageSrc, alt: this.imageAlt, class: "grid-callout__image" })));
43
+ };
44
+ const renderContent = () => (index.h("div", { class: "grid-callout__content" }, index.h("af-typography-lockup", { headingSize: this.headingSize, textAlignment: "left", buttonAlignment: "vertical", class: "grid-callout__heading" }, index.h("slot", null), index.h("span", { slot: "description" }, index.h("slot", { name: "description" }))), index.h("div", { class: gridClasses }, index.h("slot", { name: "items" })), index.h("div", { class: "grid-callout__cta" }, index.h("slot", { name: "cta" }))));
45
+ return (index.h(index.Host, null, index.h("div", { class: containerClasses }, this.imagePosition === 'left' && renderImage(), renderContent(), this.imagePosition === 'right' && renderImage())));
46
+ }
47
+ };
48
+ AfGridCallout.style = afGridCalloutCss;
49
+
50
+ exports.af_grid_callout = AfGridCallout;
51
+ //# sourceMappingURL=af-grid-callout.entry.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"af-grid-callout.entry.cjs.js","sources":["src/components/af-grid-callout/af-grid-callout.css?tag=af-grid-callout&encapsulation=scoped","src/components/af-grid-callout/af-grid-callout.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n.grid-callout {\n display: flex;\n width: 100%;\n gap: 40px;\n align-items: stretch;\n}\n\n/* ==========================================================================\n Image Container - Pill shape with rounded right edge\n ========================================================================== */\n\n.grid-callout__image-container {\n flex: 0 0 auto;\n width: 45%;\n min-height: 400px;\n position: relative;\n overflow: hidden;\n}\n\n/* Left position - rounded on right side */\n.grid-callout--image-left .grid-callout__image-container {\n border-radius: 0 4000px 4000px 0;\n margin-left: calc(-1 * var(--container-padding, 80px));\n}\n\n/* Right position - rounded on left side */\n.grid-callout--image-right .grid-callout__image-container {\n border-radius: 4000px 0 0 4000px;\n margin-right: calc(-1 * var(--container-padding, 80px));\n}\n\n.grid-callout__image {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n/* ==========================================================================\n Content Area\n ========================================================================== */\n\n.grid-callout__content {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 48px;\n padding: 40px 0;\n}\n\n/* Add left padding when image is on left */\n.grid-callout--image-left .grid-callout__content {\n padding-left: 40px;\n}\n\n/* Add right padding when image is on right */\n.grid-callout--image-right .grid-callout__content {\n padding-right: 40px;\n}\n\n/* No image layout - full width content */\n.grid-callout--no-image {\n flex-direction: column;\n}\n\n.grid-callout--no-image .grid-callout__content {\n padding: 0;\n}\n\n.grid-callout__heading {\n max-width: 840px;\n}\n\n/* ==========================================================================\n Items Grid\n ========================================================================== */\n\n.grid-callout__items {\n display: grid;\n gap: 40px;\n width: 100%;\n}\n\n.grid-callout__items--cols-2 {\n grid-template-columns: repeat(2, 1fr);\n}\n\n.grid-callout__items--cols-3 {\n grid-template-columns: repeat(3, 1fr);\n}\n\n.grid-callout__items--cols-4 {\n grid-template-columns: repeat(4, 1fr);\n}\n\n/* ==========================================================================\n CTA Area\n ========================================================================== */\n\n.grid-callout__cta {\n display: flex;\n gap: 12px;\n flex-wrap: wrap;\n}\n\n.grid-callout__cta:empty {\n display: none;\n}\n\n/* ==========================================================================\n Responsive - Tablet\n ========================================================================== */\n\n@media (max-width: 1024px) {\n .grid-callout {\n gap: 32px;\n }\n\n .grid-callout__image-container {\n width: 40%;\n }\n\n .grid-callout__content {\n gap: 40px;\n }\n\n .grid-callout__items--cols-3,\n .grid-callout__items--cols-4 {\n grid-template-columns: repeat(2, 1fr);\n }\n\n .grid-callout__items {\n gap: 32px;\n }\n}\n\n/* ==========================================================================\n Responsive - Mobile\n ========================================================================== */\n\n@media (max-width: 768px) {\n .grid-callout {\n flex-direction: column;\n gap: 32px;\n }\n\n .grid-callout__image-container {\n width: calc(100% + 2 * var(--container-padding, 20px));\n min-height: 280px;\n margin-left: calc(-1 * var(--container-padding, 20px));\n margin-right: calc(-1 * var(--container-padding, 20px));\n border-radius: 0;\n }\n\n /* Reset rounded corners on mobile */\n .grid-callout--image-left .grid-callout__image-container,\n .grid-callout--image-right .grid-callout__image-container {\n border-radius: 0;\n margin-left: calc(-1 * var(--container-padding, 20px));\n margin-right: calc(-1 * var(--container-padding, 20px));\n }\n\n .grid-callout__content {\n padding: 0;\n gap: 32px;\n }\n\n .grid-callout--image-left .grid-callout__content,\n .grid-callout--image-right .grid-callout__content {\n padding-left: 0;\n padding-right: 0;\n }\n\n .grid-callout__items {\n grid-template-columns: 1fr;\n gap: 32px;\n }\n\n .grid-callout__items--cols-2,\n .grid-callout__items--cols-3,\n .grid-callout__items--cols-4 {\n grid-template-columns: 1fr;\n }\n}\n\n","import { Component, h, Prop, Host } from '@stencil/core';\n\n/**\n * GridCallout organism - a marketing section combining an optional pill-shaped image \n * with a grid of IconText feature items.\n * \n * Composes:\n * - Pill-shaped image container (optional)\n * - Heading via af-typography-lockup\n * - Grid of af-icon-text items\n * - Optional CTA button\n * \n * Inherits theme colors from parent af-section via CSS custom properties.\n * \n * @slot - Main heading text\n * @slot description - Optional description/subheading text\n * @slot items - IconText components for the feature grid\n * @slot cta - CTA button(s) at the bottom\n * \n * @example\n * ```html\n * <af-section theme=\"mist-green\">\n * <af-grid-callout image-src=\"/team.jpg\" image-alt=\"Team photo\">\n * Affinda blends AI and engineering\n * <span slot=\"description\">Optional description text.</span>\n * \n * <af-icon-text slot=\"items\" icon=\"settings\">\n * Feature One\n * <span slot=\"description\">Feature description.</span>\n * </af-icon-text>\n * \n * <af-button slot=\"cta\" variant=\"primary\">Learn more</af-button>\n * </af-grid-callout>\n * </af-section>\n * ```\n */\n@Component({\n tag: 'af-grid-callout',\n styleUrl: 'af-grid-callout.css',\n shadow: false,\n scoped: true,\n})\nexport class AfGridCallout {\n /**\n * Image source URL for the pill-shaped image\n */\n @Prop() imageSrc?: string;\n\n /**\n * Alt text for the image (required for accessibility when imageSrc is provided)\n */\n @Prop() imageAlt: string = '';\n\n /**\n * Position of the image relative to the content\n */\n @Prop() imagePosition: 'left' | 'right' = 'left';\n\n /**\n * Number of columns for the IconText grid on desktop\n */\n @Prop() columns: 2 | 3 | 4 = 2;\n\n /**\n * Heading size for the main title\n */\n @Prop() headingSize: 1 | 2 | 3 | 4 | 5 = 2;\n\n render() {\n const hasImage = !!this.imageSrc;\n \n const containerClasses = {\n 'grid-callout': true,\n 'grid-callout--has-image': hasImage,\n 'grid-callout--no-image': !hasImage,\n [`grid-callout--image-${this.imagePosition}`]: hasImage,\n };\n\n const gridClasses = {\n 'grid-callout__items': true,\n [`grid-callout__items--cols-${this.columns}`]: true,\n };\n\n const renderImage = () => {\n if (!hasImage) return null;\n \n return (\n <div class=\"grid-callout__image-container\">\n <img \n src={this.imageSrc} \n alt={this.imageAlt}\n class=\"grid-callout__image\"\n />\n </div>\n );\n };\n\n const renderContent = () => (\n <div class=\"grid-callout__content\">\n <af-typography-lockup\n headingSize={this.headingSize}\n textAlignment=\"left\"\n buttonAlignment=\"vertical\"\n class=\"grid-callout__heading\"\n >\n <slot></slot>\n <span slot=\"description\">\n <slot name=\"description\"></slot>\n </span>\n </af-typography-lockup>\n\n <div class={gridClasses}>\n <slot name=\"items\"></slot>\n </div>\n\n <div class=\"grid-callout__cta\">\n <slot name=\"cta\"></slot>\n </div>\n </div>\n );\n\n return (\n <Host>\n <div class={containerClasses}>\n {this.imagePosition === 'left' && renderImage()}\n {renderContent()}\n {this.imagePosition === 'right' && renderImage()}\n </div>\n </Host>\n );\n }\n}\n\n"],"names":["h","Host"],"mappings":";;;;AAAA,MAAM,gBAAgB,GAAG,wrGAAwrG;;MC0CpsG,aAAa,GAAA,MAAA;AAN1B,IAAA,WAAA,CAAA,OAAA,EAAA;;AAYE;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAW,EAAE;AAE7B;;AAEG;AACK,QAAA,IAAa,CAAA,aAAA,GAAqB,MAAM;AAEhD;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAc,CAAC;AAE9B;;AAEG;AACK,QAAA,IAAW,CAAA,WAAA,GAAsB,CAAC;AAiE3C;IA/DC,MAAM,GAAA;AACJ,QAAA,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ;AAEhC,QAAA,MAAM,gBAAgB,GAAG;AACvB,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,yBAAyB,EAAE,QAAQ;YACnC,wBAAwB,EAAE,CAAC,QAAQ;AACnC,YAAA,CAAC,uBAAuB,IAAI,CAAC,aAAa,CAAE,CAAA,GAAG,QAAQ;SACxD;AAED,QAAA,MAAM,WAAW,GAAG;AAClB,YAAA,qBAAqB,EAAE,IAAI;AAC3B,YAAA,CAAC,6BAA6B,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,IAAI;SACpD;QAED,MAAM,WAAW,GAAG,MAAK;AACvB,YAAA,IAAI,CAAC,QAAQ;AAAE,gBAAA,OAAO,IAAI;AAE1B,YAAA,QACEA,OAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,+BAA+B,EAAA,EACxCA,OAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,KAAK,EAAC,qBAAqB,EAC3B,CAAA,CACE;AAEV,SAAC;QAED,MAAM,aAAa,GAAG,OACpBA,OAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,uBAAuB,EAAA,EAChCA,OAAA,CAAA,sBAAA,EAAA,EACE,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,aAAa,EAAC,MAAM,EACpB,eAAe,EAAC,UAAU,EAC1B,KAAK,EAAC,uBAAuB,EAAA,EAE7BA,OAAa,CAAA,MAAA,EAAA,IAAA,CAAA,EACbA,OAAM,CAAA,MAAA,EAAA,EAAA,IAAI,EAAC,aAAa,EAAA,EACtBA,OAAA,CAAA,MAAA,EAAA,EAAM,IAAI,EAAC,aAAa,EAAA,CAAQ,CAC3B,CACc,EAEvBA,OAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,WAAW,EAAA,EACrBA,OAAA,CAAA,MAAA,EAAA,EAAM,IAAI,EAAC,OAAO,EAAA,CAAQ,CACtB,EAENA,OAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,mBAAmB,EAAA,EAC5BA,OAAA,CAAA,MAAA,EAAA,EAAM,IAAI,EAAC,KAAK,GAAQ,CACpB,CACF,CACP;AAED,QAAA,QACEA,QAACC,UAAI,EAAA,IAAA,EACHD,OAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,gBAAgB,EAAA,EACzB,IAAI,CAAC,aAAa,KAAK,MAAM,IAAI,WAAW,EAAE,EAC9C,aAAa,EAAE,EACf,IAAI,CAAC,aAAa,KAAK,OAAO,IAAI,WAAW,EAAE,CAC5C,CACD;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.cjs.js","sources":["src/components/af-heading/af-heading.css?tag=af-heading&encapsulation=shadow","src/components/af-heading/af-heading.tsx","src/components/af-text/af-text.css?tag=af-text&encapsulation=shadow","src/components/af-text/af-text.tsx","src/components/af-nav-item/af-nav-item.css?tag=af-nav-item&encapsulation=shadow","src/components/af-nav-item/af-nav-item.tsx","src/components/af-navbar/af-navbar.css?tag=af-navbar&encapsulation=shadow","src/components/af-navbar/af-navbar.tsx","src/components/af-logo/af-logo.css?tag=af-logo&encapsulation=shadow","src/components/af-logo/af-logo.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.heading {\n margin: 0;\n padding: 0;\n font-family: 'NeuSans', 'Inter', 'Segoe UI', system-ui, sans-serif;\n font-weight: 400;\n color: var(--colour-typography-heading-primary, #14343b);\n letter-spacing: -0.02em;\n}\n\n/* Alignment */\n.align-left {\n text-align: left;\n}\n\n.align-center {\n text-align: center;\n}\n\n.align-right {\n text-align: right;\n}\n\n/* Theme variants */\n.theme-dark {\n color: var(--colour-brand-mist-green, #C6D5D1);\n}\n\n.theme-light {\n color: var(--colour-typography-heading-primary, #14343b);\n}\n\n/* Heading XL */\n.level-xl {\n font-size: 50px;\n line-height: 1;\n}\n\n@media (min-width: 768px) {\n .level-xl {\n font-size: 80px;\n }\n}\n\n/* Heading 1 */\n.level-1 {\n font-size: 38px;\n line-height: 1;\n}\n\n@media (min-width: 768px) {\n .level-1 {\n font-size: 56px;\n }\n}\n\n/* Heading 2 */\n.level-2 {\n font-size: 32px;\n line-height: 1;\n}\n\n@media (min-width: 768px) {\n .level-2 {\n font-size: 44px;\n }\n}\n\n/* Heading 3 */\n.level-3 {\n font-size: 25px;\n line-height: 1;\n}\n\n@media (min-width: 768px) {\n .level-3 {\n font-size: 34px;\n }\n}\n\n/* Heading 4 */\n.level-4 {\n font-size: 20px;\n line-height: 1.1;\n}\n\n@media (min-width: 768px) {\n .level-4 {\n font-size: 24px;\n line-height: 1.2;\n }\n}\n\n/* Heading 5 */\n.level-5 {\n font-size: 18px;\n line-height: 1.1;\n}\n\n@media (min-width: 768px) {\n .level-5 {\n font-size: 20px;\n line-height: 1.2;\n }\n}\n","import { Component, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'af-heading',\n styleUrl: 'af-heading.css',\n shadow: true\n})\nexport class AfHeading {\n /** Heading level */\n @Prop() level: 'xl' | '1' | '2' | '3' | '4' | '5' = '1';\n\n /** Visual alignment */\n @Prop() align: 'left' | 'center' | 'right' = 'left';\n \n /** Theme for dark backgrounds */\n @Prop() theme: 'light' | 'dark' = 'light';\n\n private getHeadingTag() {\n // Map display levels to semantic HTML tags\n const tagMap: Record<string, string> = {\n 'xl': 'h1',\n '1': 'h1',\n '2': 'h2',\n '3': 'h3',\n '4': 'h4',\n '5': 'h5'\n };\n return tagMap[this.level] || 'h1';\n }\n\n render() {\n const Tag = this.getHeadingTag() as any;\n\n return (\n <Tag\n class={{\n 'heading': true,\n [`level-${this.level}`]: true,\n [`align-${this.align}`]: true,\n [`theme-${this.theme}`]: true\n }}\n part=\"base\"\n >\n <slot />\n </Tag>\n );\n }\n}\n",":host {\n display: block;\n}\n\n.text {\n margin: 0;\n padding: 0;\n font-family: 'NeuSans', 'Inter', 'Segoe UI', system-ui, sans-serif;\n font-weight: 400;\n color: var(--colour-typography-body-default, #14343b);\n letter-spacing: 0;\n}\n\n/* Alignment */\n.align-left {\n text-align: left;\n}\n\n.align-center {\n text-align: center;\n}\n\n.align-right {\n text-align: right;\n}\n\n/* Theme variants */\n.theme-dark {\n color: var(--colour-brand-mist-green, #C6D5D1);\n}\n\n.theme-light {\n color: var(--colour-typography-body-default, #14343b);\n}\n\n/* Body variants */\n.variant-xlarge {\n font-size: 22px;\n line-height: 28px;\n}\n\n.variant-large {\n font-size: 18px;\n line-height: 26px;\n}\n\n.variant-medium {\n font-size: 16px;\n line-height: 24px;\n}\n\n.variant-small {\n font-size: 14px;\n line-height: 20px;\n}\n\n/* Label variants - use NeuSans Book */\n.variant-label-button {\n font-family: 'NeuSans', 'Inter', 'Segoe UI', system-ui, sans-serif;\n font-weight: 500;\n font-size: 17px;\n line-height: 20px;\n}\n\n.variant-label-tag {\n font-family: 'NeuSans', 'Inter', 'Segoe UI', system-ui, sans-serif;\n font-weight: 500;\n font-size: 14px;\n line-height: 1;\n}\n","import { Component, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'af-text',\n styleUrl: 'af-text.css',\n shadow: true\n})\nexport class AfText {\n /** Text variant */\n @Prop() variant: 'xlarge' | 'large' | 'medium' | 'small' | 'label-button' | 'label-tag' = 'medium';\n\n /** Visual alignment */\n @Prop() align: 'left' | 'center' | 'right' = 'left';\n\n /** Semantic element to render */\n @Prop() as: 'p' | 'span' | 'div' | 'label' = 'p';\n \n /** Theme for dark backgrounds */\n @Prop() theme: 'light' | 'dark' = 'light';\n\n render() {\n const Tag = this.as as any;\n\n return (\n <Tag\n class={{\n 'text': true,\n [`variant-${this.variant}`]: true,\n [`align-${this.align}`]: true,\n [`theme-${this.theme}`]: true\n }}\n part=\"base\"\n >\n <slot />\n </Tag>\n );\n }\n}\n",":host {\n display: inline-block;\n}\n\n.nav-link {\n text-decoration: none;\n color: inherit;\n display: block;\n}\n\n.nav-item {\n display: flex;\n align-items: center;\n gap: 8px;\n box-sizing: border-box;\n cursor: pointer;\n}\n\n/* Primary hierarchy - bold main navigation */\n.hierarchy-primary {\n padding: 12px;\n justify-content: center;\n}\n\n.hierarchy-primary .label-container {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n gap: 10px;\n}\n\n/* Primary variant 01 - darker */\n.hierarchy-primary.variant-01 {\n font-family: var(--typography-headingfont, 'NeuSans', 'Inter', system-ui, sans-serif);\n font-size: 16px;\n font-weight: var(--font-weight-book, 500);\n line-height: 20px;\n color: var(--colour-typography-nav-item-primary, #14343b);\n}\n\n/* Primary variant 02 - lighter for light backgrounds */\n.hierarchy-primary.variant-02 {\n font-family: var(--typography-bodyfont, 'Helvetica', 'Inter', system-ui, sans-serif);\n font-size: 16px;\n font-weight: var(--font-weight-regular, 400);\n line-height: 20px;\n color: var(--colour-typography-nav-item-secondary, #2b484f);\n}\n\n/* Hover state for primary variant-01 (dark backgrounds) - underline */\n.hierarchy-primary.variant-01:hover .label-container {\n border-bottom: 1px solid currentColor;\n}\n\n/* Active state for primary variant-01 - thicker border */\n.hierarchy-primary.variant-01.active .label-container {\n border-bottom: 2px solid #8a7049;\n}\n\n/* Hover and active states for variant-02 (light backgrounds) - no border */\n.hierarchy-primary.variant-02:hover {\n background-color: rgba(20, 52, 59, 0.04);\n border-radius: 8px;\n}\n\n.hierarchy-primary.variant-02.active {\n background-color: rgba(20, 52, 59, 0.08);\n border-radius: 8px;\n}\n\n/* Secondary hierarchy - smaller sub-navigation */\n.hierarchy-secondary {\n padding: 4px 0;\n}\n\n.hierarchy-secondary .label-container {\n display: flex;\n align-items: center;\n flex: 1;\n min-height: 24px;\n gap: 8px;\n}\n\n/* Secondary variant 01 - medium weight */\n.hierarchy-secondary.variant-01 {\n font-family: 'NeuSans', 'Inter', system-ui, sans-serif;\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n color: #14343b;\n}\n\n/* Secondary variant 02 - regular weight */\n.hierarchy-secondary.variant-02 {\n font-family: 'NeuSans', 'Inter', system-ui, sans-serif;\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n color: #2b484f;\n}\n\n/* Hover state for secondary - underline text */\n.hierarchy-secondary:hover ::slotted(*) {\n text-decoration: underline;\n}\n\n/* Mobile styles */\n@media (max-width: 767px) {\n .hierarchy-primary {\n padding: 20px 12px;\n border-bottom: 1px solid #e8eeed;\n width: 100%;\n }\n\n .hierarchy-primary .label-container {\n flex: 1;\n justify-content: flex-start;\n }\n\n .hierarchy-primary.variant-01 {\n font-size: 20px;\n line-height: 1.1;\n letter-spacing: -0.4px;\n }\n\n .hierarchy-primary.variant-02 {\n font-size: 20px;\n line-height: 1.1;\n letter-spacing: -0.4px;\n color: #60767b;\n }\n}\n\n/* Icon sizing */\n::slotted([slot=\"icon-left\"]),\n::slotted([slot=\"icon-right\"]) {\n width: 24px;\n height: 24px;\n flex-shrink: 0;\n}\n\n.hierarchy-secondary ::slotted([slot=\"icon-right\"]) {\n width: 20px;\n height: 20px;\n}\n","import { Component, h, Prop, Host } from '@stencil/core';\n\n/**\n * A generic navigation item component that can be used in navigation bars, menus, and sidebars.\n * Supports multiple hierarchy levels, variants, and states (active, hover).\n */\n@Component({\n tag: 'af-nav-item',\n styleUrl: 'af-nav-item.css',\n shadow: true\n})\nexport class AfNavItem {\n /**\n * Visual hierarchy level of the navigation item\n * - 'primary': Bold, main navigation (larger text, prominent styling)\n * - 'secondary': Lighter, sub-navigation (smaller text, subtle styling)\n */\n @Prop() hierarchy: 'primary' | 'secondary' = 'primary';\n\n /**\n * Visual variant within the hierarchy level\n * - '01': Darker/more prominent styling\n * - '02': Lighter/more subtle styling\n */\n @Prop() variant: '01' | '02' = '01';\n\n /**\n * URL to navigate to when clicked\n */\n @Prop() href?: string;\n\n /**\n * Whether this nav item is currently active/selected\n */\n @Prop() active: boolean = false;\n\n render() {\n const classes = {\n 'nav-item': true,\n [`hierarchy-${this.hierarchy}`]: true,\n [`variant-${this.variant}`]: true,\n 'active': this.active\n };\n\n const content = (\n <div class={classes}>\n <slot name=\"icon-left\"></slot>\n <div class=\"label-container\">\n <slot></slot>\n </div>\n <slot name=\"icon-right\"></slot>\n </div>\n );\n\n if (this.href) {\n return (\n <Host>\n <a href={this.href} class=\"nav-link\">\n {content}\n </a>\n </Host>\n );\n }\n\n return <Host>{content}</Host>;\n }\n}\n",":host {\n display: block;\n width: 100%;\n position: absolute;\n top: 32px;\n left: 0;\n right: 0;\n z-index: 10;\n}\n\n.navbar-container {\n padding: 0 80px;\n box-sizing: border-box;\n position: relative;\n}\n\n.navbar {\n background: var(--colour-background-white, #ffffff);\n border-radius: 9999px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 8px 8px 40px;\n box-sizing: border-box;\n flex-wrap: nowrap; /* Prevent wrapping */\n}\n\n/* Left section */\n.navbar-left {\n display: flex;\n align-items: center;\n gap: 32px;\n flex-shrink: 0;\n}\n\n.logo {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n/* Mobile menu toggle button */\n.mobile-menu-toggle {\n display: none;\n background: none;\n border: none;\n padding: 8px;\n cursor: pointer;\n color: var(--colour-brand-inkwell, #14343b);\n margin-left: auto;\n}\n\n.mobile-menu-toggle svg {\n display: block;\n}\n\n.nav-links {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: nowrap;\n}\n\n/* Right section */\n.navbar-right {\n display: flex;\n align-items: center;\n gap: 20px;\n flex-shrink: 0;\n}\n\n.nav-actions {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.nav-button {\n display: flex;\n align-items: center;\n}\n\n/* \n * Breakpoint 1: Hide \"Talk to us\" and \"Log in\" (nav-actions) \n * This happens first as the viewport gets narrower\n * Matches affinda.com behavior at ~1100px\n */\n@media (max-width: 1099px) {\n .nav-actions {\n display: none;\n }\n \n .navbar-right {\n gap: 0;\n }\n}\n\n/* Tablet adjustments */\n@media (max-width: 1024px) {\n .navbar-container {\n padding: 24px 40px 0;\n }\n\n .navbar-left {\n gap: 24px;\n }\n\n .nav-links {\n gap: 4px;\n }\n}\n\n/* \n * Breakpoint 2: Switch to hamburger menu\n * Matches affinda.com behavior at 991px\n */\n@media (max-width: 991px) {\n .navbar-container {\n padding: 16px 16px 0;\n }\n\n .navbar {\n padding: 8px 16px;\n flex-direction: column;\n border-radius: 16px;\n gap: 0;\n flex-wrap: wrap; /* Allow wrapping in mobile menu */\n }\n\n .navbar-left {\n width: 100%;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n gap: 16px;\n }\n\n /* Show hamburger button on mobile */\n .mobile-menu-toggle {\n display: flex;\n }\n\n /* Hide nav links by default on mobile */\n .nav-links {\n display: none;\n width: 100%;\n flex-direction: column;\n align-items: stretch;\n gap: 0;\n margin-top: 16px;\n flex-wrap: wrap;\n }\n\n /* Show nav links when menu is open */\n .nav-links.mobile-open {\n display: flex;\n }\n\n /* Hide right section by default on mobile */\n .navbar-right {\n display: none;\n width: 100%;\n flex-direction: column;\n gap: 12px;\n align-items: stretch;\n margin-top: 16px;\n }\n\n /* Show right section when menu is open */\n .navbar-right.mobile-open {\n display: flex;\n }\n\n /* Show nav-actions again in mobile menu */\n .nav-actions {\n display: flex;\n width: 100%;\n flex-direction: column;\n align-items: stretch;\n gap: 0;\n }\n\n .nav-button {\n width: 100%;\n }\n}\n","import { Component, State, h, Host } from '@stencil/core';\n\n/**\n * A full-width navigation bar component that provides the main site navigation.\n * Features a pill-shaped container with logo, navigation links, and action buttons.\n * Includes mobile hamburger menu.\n */\n@Component({\n tag: 'af-navbar',\n styleUrl: 'af-navbar.css',\n shadow: true\n})\nexport class AfNavbar {\n @State() mobileMenuOpen: boolean = false;\n\n private toggleMobileMenu = () => {\n this.mobileMenuOpen = !this.mobileMenuOpen;\n };\n\n render() {\n return (\n <Host>\n <nav class=\"navbar-container\">\n <div class=\"navbar\">\n {/* Left section: Logo + Nav Links */}\n <div class=\"navbar-left\">\n <div class=\"logo\">\n <slot name=\"logo\"></slot>\n </div>\n \n {/* Hamburger menu button - mobile only */}\n <button \n class=\"mobile-menu-toggle\"\n onClick={this.toggleMobileMenu}\n aria-label=\"Toggle navigation menu\"\n aria-expanded={this.mobileMenuOpen ? 'true' : 'false'}\n >\n {this.mobileMenuOpen ? (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\">\n <path d=\"M18 6L6 18M6 6l12 12\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n ) : (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\">\n <path d=\"M3 12h18M3 6h18M3 18h18\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n )}\n </button>\n \n <div class={`nav-links ${this.mobileMenuOpen ? 'mobile-open' : ''}`}>\n <slot name=\"start\"></slot>\n </div>\n </div>\n\n {/* Right section: Actions + Button */}\n <div class={`navbar-right ${this.mobileMenuOpen ? 'mobile-open' : ''}`}>\n <div class=\"nav-actions\">\n <slot name=\"end\"></slot>\n </div>\n <div class=\"nav-button\">\n <slot name=\"button\"></slot>\n </div>\n </div>\n </div>\n </nav>\n </Host>\n );\n }\n}\n",":host {\n display: inline-block;\n}\n\n.logo-img {\n display: block;\n height: 22px;\n width: 141px;\n object-fit: contain;\n}\n","import { Component, h, Host } from '@stencil/core';\n\n/**\n * Affinda logo component\n */\n@Component({\n tag: 'af-logo',\n styleUrl: 'af-logo.css',\n shadow: true\n})\nexport class AfLogo {\n render() {\n return (\n <Host>\n <img\n src=\"https://www.figma.com/api/mcp/asset/2cfec484-7ba9-4258-94f3-ef4d0ba1e8fe\"\n alt=\"Affinda\"\n class=\"logo-img\"\n />\n </Host>\n );\n }\n}\n"],"names":["h","Host"],"mappings":";;;;AAAA,MAAM,YAAY,GAAG,w+BAAw+B;;MCOh/B,SAAS,GAAA,MAAA;AALtB,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAOU,QAAA,IAAK,CAAA,KAAA,GAAuC,GAAG;;AAG/C,QAAA,IAAK,CAAA,KAAA,GAAgC,MAAM;;AAG3C,QAAA,IAAK,CAAA,KAAA,GAAqB,OAAO;AAgC1C;IA9BS,aAAa,GAAA;;AAEnB,QAAA,MAAM,MAAM,GAA2B;AACrC,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,GAAG,EAAE,IAAI;AACT,YAAA,GAAG,EAAE,IAAI;AACT,YAAA,GAAG,EAAE,IAAI;AACT,YAAA,GAAG,EAAE,IAAI;AACT,YAAA,GAAG,EAAE;SACN;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI;;IAGnC,MAAM,GAAA;AACJ,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,EAAS;QAEvC,QACEA,OAAA,CAAC,GAAG,EAAA,EAAA,GAAA,EAAA,0CAAA,EACF,KAAK,EAAE;AACL,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,CAAC,SAAS,IAAI,CAAC,KAAK,CAAE,CAAA,GAAG,IAAI;AAC7B,gBAAA,CAAC,SAAS,IAAI,CAAC,KAAK,CAAE,CAAA,GAAG,IAAI;AAC7B,gBAAA,CAAC,SAAS,IAAI,CAAC,KAAK,CAAE,CAAA,GAAG;AAC1B,aAAA,EACD,IAAI,EAAC,MAAM,EAAA,EAEXA,OAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACJ;;;;;AC5CZ,MAAM,SAAS,GAAG,q2BAAq2B;;MCO12B,MAAM,GAAA,MAAA;AALnB,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAOU,QAAA,IAAO,CAAA,OAAA,GAA2E,QAAQ;;AAG1F,QAAA,IAAK,CAAA,KAAA,GAAgC,MAAM;;AAG3C,QAAA,IAAE,CAAA,EAAA,GAAmC,GAAG;;AAGxC,QAAA,IAAK,CAAA,KAAA,GAAqB,OAAO;AAmB1C;IAjBC,MAAM,GAAA;AACJ,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,EAAS;QAE1B,QACEA,OAAA,CAAC,GAAG,EAAA,EAAA,GAAA,EAAA,0CAAA,EACF,KAAK,EAAE;AACL,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,CAAC,WAAW,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,IAAI;AACjC,gBAAA,CAAC,SAAS,IAAI,CAAC,KAAK,CAAE,CAAA,GAAG,IAAI;AAC7B,gBAAA,CAAC,SAAS,IAAI,CAAC,KAAK,CAAE,CAAA,GAAG;AAC1B,aAAA,EACD,IAAI,EAAC,MAAM,EAAA,EAEXA,OAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACJ;;;;;AClCZ,MAAM,YAAY,GAAG,2rEAA2rE;;MCWnsE,SAAS,GAAA,MAAA;AALtB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAME;;;;AAIG;AACK,QAAA,IAAS,CAAA,SAAA,GAA4B,SAAS;AAEtD;;;;AAIG;AACK,QAAA,IAAO,CAAA,OAAA,GAAgB,IAAI;AAOnC;;AAEG;AACK,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK;AAgChC;IA9BC,MAAM,GAAA;AACJ,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,CAAC,aAAa,IAAI,CAAC,SAAS,CAAE,CAAA,GAAG,IAAI;AACrC,YAAA,CAAC,WAAW,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,IAAI;YACjC,QAAQ,EAAE,IAAI,CAAC;SAChB;QAED,MAAM,OAAO,IACXA,OAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,OAAO,EAAA,EACjBA,OAAM,CAAA,MAAA,EAAA,EAAA,IAAI,EAAC,WAAW,EAAQ,CAAA,EAC9BA,OAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,iBAAiB,EAAA,EAC1BA,OAAA,CAAA,MAAA,EAAA,IAAA,CAAa,CACT,EACNA,OAAA,CAAA,MAAA,EAAA,EAAM,IAAI,EAAC,YAAY,EAAQ,CAAA,CAC3B,CACP;AAED,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,QACEA,QAACC,UAAI,EAAA,IAAA,EACHD,OAAA,CAAA,GAAA,EAAA,EAAG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAC,UAAU,EACjC,EAAA,OAAO,CACN,CACC;;QAIX,OAAOA,OAAC,CAAAC,UAAI,EAAE,IAAA,EAAA,OAAO,CAAQ;;;;;AChEjC,MAAM,WAAW,GAAG,ivDAAivD;;MCYxvD,QAAQ,GAAA,MAAA;AALrB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAMW,QAAA,IAAc,CAAA,cAAA,GAAY,KAAK;AAEhC,QAAA,IAAgB,CAAA,gBAAA,GAAG,MAAK;AAC9B,YAAA,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc;AAC5C,SAAC;AAkDF;IAhDC,MAAM,GAAA;AACJ,QAAA,QACED,QAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACHD,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,kBAAkB,EAAA,EAC3BA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,QAAQ,EAAA,EAEjBA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,aAAa,EAAA,EACtBA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,MAAM,EAAA,EACfA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,MAAM,EAAA,CAAQ,CACrB,EAGNA,OACE,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,oBAAoB,EAC1B,OAAO,EAAE,IAAI,CAAC,gBAAgB,EACnB,YAAA,EAAA,wBAAwB,mBACpB,IAAI,CAAC,cAAc,GAAG,MAAM,GAAG,OAAO,EAEpD,EAAA,IAAI,CAAC,cAAc,IAClBA,iBAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAA,EAC/EA,OAAA,CAAA,MAAA,EAAA,EAAM,CAAC,EAAC,sBAAsB,EAAA,cAAA,EAAc,GAAG,EAAgB,gBAAA,EAAA,OAAO,EAAiB,iBAAA,EAAA,OAAO,GAAE,CAC5F,KAENA,OAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAA,EAC/EA,OAAA,CAAA,MAAA,EAAA,EAAM,CAAC,EAAC,yBAAyB,EAAA,cAAA,EAAc,GAAG,EAAA,gBAAA,EAAgB,OAAO,EAAA,iBAAA,EAAiB,OAAO,EAAA,CAAE,CAC/F,CACP,CACM,EAETA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,CAAA,UAAA,EAAa,IAAI,CAAC,cAAc,GAAG,aAAa,GAAG,EAAE,CAAA,CAAE,EAAA,EACjEA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,OAAO,EAAA,CAAQ,CACtB,CACF,EAGNA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,CAAgB,aAAA,EAAA,IAAI,CAAC,cAAc,GAAG,aAAa,GAAG,EAAE,CAAA,CAAE,EAAA,EACpEA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,aAAa,EAAA,EACtBA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,KAAK,EAAA,CAAQ,CACpB,EACNA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,YAAY,EAAA,EACrBA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EAAQ,CAAA,CACvB,CACF,CACF,CACF,CACD;;;;;AChEb,MAAM,SAAS,GAAG,gGAAgG;;MCUrG,MAAM,GAAA,MAAA;;;;IACjB,MAAM,GAAA;AACJ,QAAA,QACEA,QAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACHD,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,GAAG,EAAC,0EAA0E,EAC9E,GAAG,EAAC,SAAS,EACb,KAAK,EAAC,UAAU,EAChB,CAAA,CACG;;;;;;;;;;;"}
1
+ {"version":3,"file":"af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.cjs.js","sources":["src/components/af-heading/af-heading.css?tag=af-heading&encapsulation=shadow","src/components/af-heading/af-heading.tsx","src/components/af-text/af-text.css?tag=af-text&encapsulation=shadow","src/components/af-text/af-text.tsx","src/components/af-nav-item/af-nav-item.css?tag=af-nav-item&encapsulation=shadow","src/components/af-nav-item/af-nav-item.tsx","src/components/af-navbar/af-navbar.css?tag=af-navbar&encapsulation=shadow","src/components/af-navbar/af-navbar.tsx","src/components/af-logo/af-logo.css?tag=af-logo&encapsulation=shadow","src/components/af-logo/af-logo.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.heading {\n margin: 0;\n padding: 0;\n font-family: var(--typography-headingfont, 'NeuSans', Arial, sans-serif);\n font-weight: var(--font-weight-regular, 400);\n /* Inherit color from theme context via CSS custom property */\n color: var(--af-typography-heading-primary, var(--colour-brand-inkwell, #14343b));\n letter-spacing: var(--letter-spacing-heading, -0.02em);\n}\n\n/* Alignment */\n.align-left {\n text-align: left;\n}\n\n.align-center {\n text-align: center;\n}\n\n.align-right {\n text-align: right;\n}\n\n/* Heading XL */\n.level-xl {\n font-size: var(--font-size-heading-xl-mobile, 50px);\n line-height: var(--line-height-heading-tight, 1);\n}\n\n@media (min-width: 768px) {\n .level-xl {\n font-size: var(--font-size-heading-xl-desktop, 80px);\n }\n}\n\n/* Heading 1 */\n.level-1 {\n font-size: var(--font-size-heading-1-mobile, 38px);\n line-height: var(--line-height-heading-tight, 1);\n}\n\n@media (min-width: 768px) {\n .level-1 {\n font-size: var(--font-size-heading-1-desktop, 56px);\n }\n}\n\n/* Heading 2 */\n.level-2 {\n font-size: var(--font-size-heading-2-mobile, 32px);\n line-height: var(--line-height-heading-tight, 1);\n}\n\n@media (min-width: 768px) {\n .level-2 {\n font-size: var(--font-size-heading-2-desktop, 44px);\n }\n}\n\n/* Heading 3 */\n.level-3 {\n font-size: var(--font-size-heading-3-mobile, 25px);\n line-height: var(--line-height-heading-tight, 1);\n}\n\n@media (min-width: 768px) {\n .level-3 {\n font-size: var(--font-size-heading-3-desktop, 34px);\n }\n}\n\n/* Heading 4 */\n.level-4 {\n font-size: var(--font-size-heading-4-mobile, 20px);\n line-height: var(--line-height-heading-normal, 1.1);\n}\n\n@media (min-width: 768px) {\n .level-4 {\n font-size: var(--font-size-heading-4-desktop, 24px);\n line-height: var(--line-height-heading-relaxed, 1.2);\n }\n}\n\n/* Heading 5 */\n.level-5 {\n font-size: var(--font-size-heading-5-mobile, 18px);\n line-height: var(--line-height-heading-normal, 1.1);\n}\n\n@media (min-width: 768px) {\n .level-5 {\n font-size: var(--font-size-heading-5-desktop, 20px);\n line-height: var(--line-height-heading-relaxed, 1.2);\n }\n}\n","import { Component, h, Prop } from '@stencil/core';\n\n/**\n * Heading component that inherits color from theme context.\n * Color is determined by the parent theme (af-section, af-hero-section, etc.)\n * via CSS custom properties.\n */\n@Component({\n tag: 'af-heading',\n styleUrl: 'af-heading.css',\n shadow: true\n})\nexport class AfHeading {\n /** Heading level */\n @Prop() level: 'xl' | '1' | '2' | '3' | '4' | '5' = '1';\n\n /** Visual alignment */\n @Prop() align: 'left' | 'center' | 'right' = 'left';\n\n private getHeadingTag() {\n // Map display levels to semantic HTML tags\n const tagMap: Record<string, string> = {\n 'xl': 'h1',\n '1': 'h1',\n '2': 'h2',\n '3': 'h3',\n '4': 'h4',\n '5': 'h5'\n };\n return tagMap[this.level] || 'h1';\n }\n\n render() {\n const Tag = this.getHeadingTag() as any;\n\n return (\n <Tag\n class={{\n 'heading': true,\n [`level-${this.level}`]: true,\n [`align-${this.align}`]: true\n }}\n part=\"base\"\n >\n <slot />\n </Tag>\n );\n }\n}\n",":host {\n display: block;\n}\n\n.text {\n margin: 0;\n padding: 0;\n font-family: var(--typography-bodyfont, 'NeuSans', Arial, sans-serif);\n font-weight: var(--font-weight-regular, 400);\n /* Inherit color from theme context via CSS custom property */\n color: var(--af-typography-body-default, var(--colour-inkwell-400, #2b484f));\n letter-spacing: var(--letter-spacing-body, 0);\n}\n\n/* Alignment */\n.align-left {\n text-align: left;\n}\n\n.align-center {\n text-align: center;\n}\n\n.align-right {\n text-align: right;\n}\n\n/* Body variants */\n.variant-xlarge {\n font-size: var(--font-size-body-xlarge, 22px);\n line-height: var(--line-height-body-xlarge, 28px);\n}\n\n.variant-large {\n font-size: var(--font-size-body-large, 18px);\n line-height: var(--line-height-body-large, 26px);\n}\n\n.variant-medium {\n font-size: var(--font-size-body-medium, 16px);\n line-height: var(--line-height-body-medium, 24px);\n}\n\n.variant-small {\n font-size: var(--font-size-body-small, 14px);\n line-height: var(--line-height-body-small, 20px);\n}\n","import { Component, h, Prop } from '@stencil/core';\n\n/**\n * Text/body component that inherits color from theme context.\n * Color is determined by the parent theme (af-section, af-hero-section, etc.)\n * via CSS custom properties.\n */\n@Component({\n tag: 'af-text',\n styleUrl: 'af-text.css',\n shadow: true\n})\nexport class AfText {\n /** Text variant */\n @Prop() variant: 'xlarge' | 'large' | 'medium' | 'small' = 'medium';\n\n /** Visual alignment */\n @Prop() align: 'left' | 'center' | 'right' = 'left';\n\n /** Semantic element to render */\n @Prop() as: 'p' | 'span' | 'div' | 'label' = 'p';\n\n render() {\n const Tag = this.as as any;\n\n return (\n <Tag\n class={{\n 'text': true,\n [`variant-${this.variant}`]: true,\n [`align-${this.align}`]: true\n }}\n part=\"base\"\n >\n <slot />\n </Tag>\n );\n }\n}\n",":host {\n display: inline-block;\n}\n\n.nav-link {\n text-decoration: none;\n color: inherit;\n display: block;\n}\n\n.nav-item {\n display: flex;\n align-items: center;\n gap: 8px;\n box-sizing: border-box;\n cursor: pointer;\n}\n\n/* Primary hierarchy - bold main navigation */\n.hierarchy-primary {\n padding: 12px;\n justify-content: center;\n}\n\n.hierarchy-primary .label-container {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n gap: 10px;\n}\n\n/* Primary variant 01 - darker */\n.hierarchy-primary.variant-01 {\n font-family: var(--typography-headingfont, 'NeuSans', 'Inter', system-ui, sans-serif);\n font-size: 16px;\n font-weight: var(--font-weight-book, 500);\n line-height: 20px;\n color: var(--colour-typography-nav-item-primary, #14343b);\n}\n\n/* Add transparent border to prevent layout shift on hover */\n.hierarchy-primary.variant-01 .label-container {\n border-bottom: 1px solid transparent;\n}\n\n/* Primary variant 02 - lighter for light backgrounds */\n.hierarchy-primary.variant-02 {\n font-family: var(--typography-bodyfont, 'Helvetica', 'Inter', system-ui, sans-serif);\n font-size: 16px;\n font-weight: var(--font-weight-regular, 400);\n line-height: 20px;\n color: var(--colour-typography-nav-item-secondary, #2b484f);\n}\n\n/* Hover state for primary variant-01 - show underline */\n.hierarchy-primary.variant-01:hover .label-container {\n border-bottom-color: currentColor;\n}\n\n/* Active state for primary variant-01 - thicker border */\n.hierarchy-primary.variant-01.active .label-container {\n border-bottom: 2px solid var(--colour-background-border-active, #8a7049);\n /* Adjust margin to prevent shift from 1px to 2px border */\n margin-bottom: -1px;\n}\n\n/* Hover and active states for variant-02 (light backgrounds) - no border */\n.hierarchy-primary.variant-02:hover {\n background-color: rgba(20, 52, 59, 0.04);\n border-radius: 8px;\n}\n\n.hierarchy-primary.variant-02.active {\n background-color: rgba(20, 52, 59, 0.08);\n border-radius: 8px;\n}\n\n/* Secondary hierarchy - smaller sub-navigation */\n.hierarchy-secondary {\n padding: 4px 0;\n}\n\n.hierarchy-secondary .label-container {\n display: flex;\n align-items: center;\n flex: 1;\n min-height: 24px;\n gap: 10px;\n}\n\n/* Secondary variant 01 - medium weight */\n.hierarchy-secondary.variant-01 {\n font-family: var(--typography-headingfont, 'NeuSans', 'Inter', system-ui, sans-serif);\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n color: var(--colour-typography-body-dark, #14343b);\n}\n\n/* Secondary variant 02 - regular weight */\n.hierarchy-secondary.variant-02 {\n font-family: var(--typography-bodyfont, 'NeuSans', 'Inter', system-ui, sans-serif);\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n color: var(--colour-typography-body-default, #2b484f);\n}\n\n/* Hover state for secondary - underline text */\n.hierarchy-secondary:hover .label-container {\n text-decoration: underline;\n}\n\n/* Focus states for accessibility */\n.nav-item:focus-within {\n outline: 2px solid var(--colour-background-border-active, #8a7049);\n outline-offset: 2px;\n border-radius: 4px;\n}\n\n/* Remove default focus outline on link */\n.nav-link:focus {\n outline: none;\n}\n\n.nav-link:focus-visible + .nav-item,\n:host(:focus-visible) .nav-item {\n outline: 2px solid var(--colour-background-border-active, #8a7049);\n outline-offset: 2px;\n border-radius: 4px;\n}\n\n/* Mobile breakpoint styles - explicit via prop */\n.hierarchy-primary.breakpoint-mobile {\n padding: 20px 12px;\n border-bottom: 1px solid var(--colour-background-border-subtle, #e8eeed);\n width: 100%;\n justify-content: flex-start;\n}\n\n.hierarchy-primary.breakpoint-mobile .label-container {\n flex: 1;\n justify-content: flex-start;\n}\n\n.hierarchy-primary.variant-01.breakpoint-mobile {\n font-size: 20px;\n line-height: 1.1;\n letter-spacing: -0.4px;\n}\n\n.hierarchy-primary.variant-02.breakpoint-mobile {\n font-size: 20px;\n line-height: 1.1;\n letter-spacing: -0.4px;\n color: var(--colour-typography-body-subtle, #60767b);\n}\n\n/* Mobile breakpoint for secondary hierarchy */\n.hierarchy-secondary.breakpoint-mobile {\n padding: 2px 0;\n height: 40px;\n}\n\n.hierarchy-secondary.breakpoint-mobile .label-container {\n min-height: 24px;\n}\n\n/* Mobile removes the hover underline effect */\n.hierarchy-primary.breakpoint-mobile.variant-01 .label-container {\n border-bottom-color: transparent;\n}\n\n.hierarchy-primary.breakpoint-mobile.variant-01:hover .label-container {\n border-bottom-color: transparent;\n}\n\n.hierarchy-primary.breakpoint-mobile.variant-01.active .label-container {\n border-bottom-color: transparent;\n margin-bottom: 0;\n}\n\n/* Icon sizing and styling */\n::slotted([slot=\"icon-left\"]),\n::slotted([slot=\"icon-right\"]) {\n width: 24px;\n height: 24px;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: transform 0.2s ease;\n}\n\n/* Icon color inheritance for primary hierarchy */\n.hierarchy-primary.variant-01 ::slotted([slot=\"icon-left\"]),\n.hierarchy-primary.variant-01 ::slotted([slot=\"icon-right\"]) {\n color: var(--colour-typography-nav-item-primary, #14343b);\n}\n\n.hierarchy-primary.variant-02 ::slotted([slot=\"icon-left\"]),\n.hierarchy-primary.variant-02 ::slotted([slot=\"icon-right\"]) {\n color: var(--colour-typography-nav-item-secondary, #2b484f);\n}\n\n/* Icon rotation on hover for desktop primary with dropdown indicator */\n.hierarchy-primary.variant-01.breakpoint-desktop:hover ::slotted([slot=\"icon-right\"]),\n.hierarchy-primary.variant-01.breakpoint-desktop.active ::slotted([slot=\"icon-right\"]) {\n transform: rotate(180deg);\n}\n\n/* Icon rotation on active for mobile primary with dropdown indicator */\n.hierarchy-primary.breakpoint-mobile.active ::slotted([slot=\"icon-right\"]) {\n transform: rotate(180deg);\n}\n\n/* Secondary hierarchy - smaller icons */\n.hierarchy-secondary ::slotted([slot=\"icon-right\"]) {\n width: 20px;\n height: 20px;\n}\n\n/* Icon color inheritance for secondary hierarchy */\n.hierarchy-secondary.variant-01 ::slotted([slot=\"icon-right\"]) {\n color: var(--colour-typography-body-dark, #14343b);\n}\n\n.hierarchy-secondary.variant-02 ::slotted([slot=\"icon-right\"]) {\n color: var(--colour-typography-body-default, #2b484f);\n}\n\n/* Fallback media query for when breakpoint prop is not set */\n@media (max-width: 991px) {\n :host([breakpoint=\"auto\"]) .hierarchy-primary,\n :host(:not([breakpoint])) .hierarchy-primary {\n padding: 20px 12px;\n border-bottom: 1px solid var(--colour-background-border-subtle, #e8eeed);\n width: 100%;\n }\n\n :host([breakpoint=\"auto\"]) .hierarchy-primary .label-container,\n :host(:not([breakpoint])) .hierarchy-primary .label-container {\n flex: 1;\n justify-content: flex-start;\n }\n\n :host([breakpoint=\"auto\"]) .hierarchy-primary.variant-01,\n :host(:not([breakpoint])) .hierarchy-primary.variant-01 {\n font-size: 20px;\n line-height: 1.1;\n letter-spacing: -0.4px;\n }\n\n :host([breakpoint=\"auto\"]) .hierarchy-primary.variant-02,\n :host(:not([breakpoint])) .hierarchy-primary.variant-02 {\n font-size: 20px;\n line-height: 1.1;\n letter-spacing: -0.4px;\n color: var(--colour-typography-body-subtle, #60767b);\n }\n\n /* Icon rotation on active for auto/responsive breakpoint */\n :host([breakpoint=\"auto\"]) .hierarchy-primary.active ::slotted([slot=\"icon-right\"]),\n :host(:not([breakpoint])) .hierarchy-primary.active ::slotted([slot=\"icon-right\"]) {\n transform: rotate(180deg);\n }\n\n /* Disable desktop hover rotation in mobile view */\n :host([breakpoint=\"auto\"]) .hierarchy-primary:hover ::slotted([slot=\"icon-right\"]),\n :host(:not([breakpoint])) .hierarchy-primary:hover ::slotted([slot=\"icon-right\"]) {\n transform: none;\n }\n\n :host([breakpoint=\"auto\"]) .hierarchy-primary.active:hover ::slotted([slot=\"icon-right\"]),\n :host(:not([breakpoint])) .hierarchy-primary.active:hover ::slotted([slot=\"icon-right\"]) {\n transform: rotate(180deg);\n }\n}\n","import { Component, h, Prop, Host } from '@stencil/core';\n\n/**\n * A generic navigation item component that can be used in navigation bars, menus, and sidebars.\n * Supports multiple hierarchy levels, variants, and states (active, hover).\n */\n@Component({\n tag: 'af-nav-item',\n styleUrl: 'af-nav-item.css',\n shadow: true\n})\nexport class AfNavItem {\n /**\n * Visual hierarchy level of the navigation item\n * - 'primary': Bold, main navigation (larger text, prominent styling)\n * - 'secondary': Lighter, sub-navigation (smaller text, subtle styling)\n */\n @Prop() hierarchy: 'primary' | 'secondary' = 'primary';\n\n /**\n * Visual variant within the hierarchy level\n * - '01': Darker/more prominent styling\n * - '02': Lighter/more subtle styling\n */\n @Prop() variant: '01' | '02' = '01';\n\n /**\n * Breakpoint variant for responsive styling\n * - 'desktop': Desktop-specific styles\n * - 'mobile': Mobile-specific styles (larger text, different spacing)\n */\n @Prop() breakpoint: 'desktop' | 'mobile' = 'desktop';\n\n /**\n * URL to navigate to when clicked\n */\n @Prop() href?: string;\n\n /**\n * Whether this nav item is currently active/selected\n */\n @Prop() active: boolean = false;\n\n render() {\n const classes = {\n 'nav-item': true,\n [`hierarchy-${this.hierarchy}`]: true,\n [`variant-${this.variant}`]: true,\n [`breakpoint-${this.breakpoint}`]: true,\n 'active': this.active\n };\n\n const content = (\n <div class={classes}>\n <slot name=\"icon-left\"></slot>\n <div class=\"label-container\">\n <slot></slot>\n </div>\n <slot name=\"icon-right\"></slot>\n </div>\n );\n\n if (this.href) {\n return (\n <Host>\n <a href={this.href} class=\"nav-link\">\n {content}\n </a>\n </Host>\n );\n }\n\n return <Host>{content}</Host>;\n }\n}\n",":host {\n display: block;\n width: 100%;\n}\n\n/* Spacer element that sits in normal document flow to prevent content overlap */\n.navbar-spacer {\n height: 100px; /* Accounts for navbar height + top margin */\n}\n\n/* Theme variants for spacer background - matches section themes */\n.navbar-spacer.theme-white {\n background-color: var(--colour-brand-white, #FFFFFF);\n}\n\n.navbar-spacer.theme-inkwell {\n background-color: var(--colour-brand-inkwell, #14343B);\n}\n\n.navbar-spacer.theme-mist-green {\n background-color: var(--colour-brand-mist-green, #C6D5D1);\n}\n\n.navbar-spacer.theme-soft-clay {\n background-color: var(--colour-softclay-400, #c0ab8d);\n}\n\n/* Sticky navbar that floats above the spacer */\n.navbar-container {\n position: fixed;\n top: 32px;\n left: 0;\n right: 0;\n z-index: 10;\n padding: 0 80px;\n box-sizing: border-box;\n}\n\n.navbar {\n background: var(--colour-background-white, #ffffff);\n border-radius: 9999px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 8px 8px 40px;\n box-sizing: border-box;\n flex-wrap: nowrap; /* Prevent wrapping */\n}\n\n/* Left section */\n.navbar-left {\n display: flex;\n align-items: center;\n gap: 32px;\n flex-shrink: 0;\n}\n\n.logo {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n/* Mobile menu toggle button */\n.mobile-menu-toggle {\n display: none;\n background: none;\n border: none;\n padding: 8px;\n cursor: pointer;\n color: var(--colour-brand-inkwell, #14343b);\n margin-left: auto;\n}\n\n.mobile-menu-toggle svg {\n display: block;\n}\n\n.nav-links {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: nowrap;\n}\n\n/* Right section */\n.navbar-right {\n display: flex;\n align-items: center;\n gap: 20px;\n}\n\n.nav-actions {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.nav-button {\n display: flex;\n align-items: center;\n}\n\n/* Dropdown container */\n.dropdown-container {\n position: absolute;\n top: 108px;\n left: 0;\n right: 0;\n padding: 0 80px;\n pointer-events: none;\n opacity: 0;\n transform: translateY(-8px);\n transition: opacity 0.2s ease, transform 0.2s ease;\n}\n\n.dropdown-container.is-open {\n pointer-events: auto;\n opacity: 1;\n transform: translateY(0);\n}\n\n.dropdown-panel {\n background: var(--colour-background-base, #ffffff);\n border-radius: 32px;\n overflow: hidden;\n box-shadow: 0 4px 24px rgba(20, 52, 59, 0.12);\n}\n\n/* Hide empty dropdown slots */\n.dropdown-panel:empty {\n display: none;\n}\n\n/* Mobile dropdowns container */\n.mobile-dropdowns {\n display: none;\n}\n\n/* \n * Breakpoint 1: Hide \"Talk to us\" and \"Log in\" (nav-actions) \n * This happens first as the viewport gets narrower\n * Matches affinda.com behavior at ~1100px\n */\n@media (max-width: 1099px) {\n .nav-actions {\n display: none;\n }\n \n .navbar-right {\n gap: 0;\n }\n}\n\n/* Tablet adjustments */\n@media (max-width: 1024px) {\n .navbar-spacer {\n height: 88px;\n }\n\n .navbar-container {\n top: 24px;\n padding: 0 40px;\n }\n\n .navbar-left {\n gap: 24px;\n }\n\n .nav-links {\n gap: 4px;\n }\n\n .dropdown-container {\n padding: 0 40px;\n }\n}\n\n/* \n * Breakpoint 2: Switch to hamburger menu\n * Matches affinda.com behavior at 991px\n */\n@media (max-width: 991px) {\n .navbar-spacer {\n height: 72px;\n }\n\n .navbar-container {\n top: 16px;\n padding: 0 16px;\n }\n\n .navbar {\n padding: 8px 16px;\n flex-direction: column;\n border-radius: 16px;\n gap: 0;\n flex-wrap: wrap; /* Allow wrapping in mobile menu */\n }\n\n .navbar-left {\n width: 100%;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n gap: 16px;\n }\n\n /* Show hamburger button on mobile */\n .mobile-menu-toggle {\n display: flex;\n }\n\n /* Hide nav links by default on mobile */\n .nav-links {\n display: none;\n width: 100%;\n flex-direction: column;\n align-items: stretch;\n gap: 0;\n margin-top: 16px;\n flex-wrap: wrap;\n }\n\n /* Show nav links when menu is open */\n .nav-links.mobile-open {\n display: flex;\n }\n\n /* Hide right section by default on mobile */\n .navbar-right {\n display: none;\n width: 100%;\n flex-direction: column;\n gap: 12px;\n align-items: stretch;\n margin-top: 16px;\n }\n\n /* Show right section when menu is open */\n .navbar-right.mobile-open {\n display: flex;\n }\n\n /* Show nav-actions again in mobile menu */\n .nav-actions {\n display: flex;\n width: 100%;\n flex-direction: column;\n align-items: stretch;\n gap: 0;\n }\n\n .nav-button {\n width: 100%;\n }\n\n /* Hide desktop dropdown on mobile */\n .dropdown-container {\n display: none;\n }\n\n /* Show mobile dropdowns */\n .mobile-dropdowns {\n display: block;\n padding: 0 16px;\n margin-top: 8px;\n }\n}\n","import { Component, State, h, Host, Prop, Element, Listen } from '@stencil/core';\n\n/**\n * A full-width navigation bar component that provides the main site navigation.\n * Features a pill-shaped container with logo, navigation links, and action buttons.\n * Includes mobile hamburger menu and support for mega-menu dropdowns.\n * \n * The logo slot can be used to provide a custom logo. If no logo is provided,\n * the default Affinda logo will be displayed.\n */\n@Component({\n tag: 'af-navbar',\n styleUrl: 'af-navbar.css',\n shadow: true\n})\nexport class AfNavbar {\n @Element() el!: HTMLElement;\n\n @State() mobileMenuOpen: boolean = false;\n \n /** The currently open dropdown identifier (null if none open) */\n @State() activeDropdown: string | null = null;\n\n /** Whether to show the default Affinda logo when no logo slot content is provided */\n @Prop() showDefaultLogo: boolean = true;\n\n /** Theme for the spacer background - should match the section below the navbar */\n @Prop() theme?: 'white' | 'inkwell' | 'mist-green' | 'soft-clay';\n\n private toggleMobileMenu = () => {\n this.mobileMenuOpen = !this.mobileMenuOpen;\n // Close any open dropdown when toggling mobile menu\n this.activeDropdown = null;\n };\n\n /**\n * Opens a dropdown by its identifier\n */\n private openDropdown = (dropdownId: string) => {\n this.activeDropdown = dropdownId;\n };\n\n /**\n * Closes the currently open dropdown\n */\n private closeDropdown = () => {\n this.activeDropdown = null;\n };\n\n /**\n * Toggles a dropdown by its identifier\n */\n private toggleDropdown = (dropdownId: string) => {\n if (this.activeDropdown === dropdownId) {\n this.activeDropdown = null;\n } else {\n this.activeDropdown = dropdownId;\n }\n };\n\n /**\n * Handle clicks outside the navbar to close dropdowns\n */\n @Listen('click', { target: 'document' })\n handleDocumentClick(event: MouseEvent) {\n const path = event.composedPath();\n if (!path.includes(this.el)) {\n this.closeDropdown();\n }\n }\n\n /**\n * Handle escape key to close dropdowns\n */\n @Listen('keydown', { target: 'document' })\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n this.closeDropdown();\n }\n }\n\n render() {\n const hasDropdown = this.activeDropdown !== null;\n\n return (\n <Host class={{ 'has-dropdown-open': hasDropdown }}>\n {/* Spacer element to prevent content from being hidden behind sticky navbar */}\n <div class={`navbar-spacer${this.theme ? ` theme-${this.theme}` : ''}`}></div>\n \n <nav class=\"navbar-container\">\n <div class=\"navbar\">\n {/* Left section: Logo + Nav Links */}\n <div class=\"navbar-left\">\n <div class=\"logo\">\n <slot name=\"logo\">\n {/* Default Affinda logo if no slot content provided */}\n {this.showDefaultLogo && <af-logo></af-logo>}\n </slot>\n </div>\n \n {/* Hamburger menu button - mobile only */}\n <button \n class=\"mobile-menu-toggle\"\n onClick={this.toggleMobileMenu}\n aria-label=\"Toggle navigation menu\"\n aria-expanded={this.mobileMenuOpen ? 'true' : 'false'}\n >\n {this.mobileMenuOpen ? (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\">\n <path d=\"M18 6L6 18M6 6l12 12\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n ) : (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\">\n <path d=\"M3 12h18M3 6h18M3 18h18\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n )}\n </button>\n \n <div class={`nav-links ${this.mobileMenuOpen ? 'mobile-open' : ''}`}>\n <slot name=\"start\"></slot>\n </div>\n </div>\n\n {/* Right section: Actions + Button */}\n <div class={`navbar-right ${this.mobileMenuOpen ? 'mobile-open' : ''}`}>\n <div class=\"nav-actions\">\n <slot name=\"end\"></slot>\n </div>\n <div class=\"nav-button\">\n <slot name=\"button\"></slot>\n </div>\n </div>\n </div>\n\n {/* Dropdown panel container */}\n <div class={`dropdown-container ${hasDropdown ? 'is-open' : ''}`}>\n <div class=\"dropdown-panel\">\n <slot name=\"dropdown-solutions\"></slot>\n <slot name=\"dropdown-pricing\"></slot>\n <slot name=\"dropdown-resources\"></slot>\n <slot name=\"dropdown\"></slot>\n </div>\n </div>\n </nav>\n\n {/* Mobile menu dropdown slots */}\n {this.mobileMenuOpen && (\n <div class=\"mobile-dropdowns\">\n <slot name=\"mobile-menu\"></slot>\n </div>\n )}\n </Host>\n );\n }\n}\n",":host {\n display: inline-block;\n color: var(--colour-brand-inkwell, #14343b);\n}\n\n.logo-svg {\n display: block;\n /* Maintain aspect ratio based on viewBox (9290:1432 ≈ 6.49:1) */\n width: auto;\n height: 22px;\n}\n","import { Component, h, Host } from '@stencil/core';\n\n/**\n * Affinda logo component\n */\n@Component({\n tag: 'af-logo',\n styleUrl: 'af-logo.css',\n shadow: true\n})\nexport class AfLogo {\n render() {\n return (\n <Host>\n <svg \n class=\"logo-svg\" \n viewBox=\"0 0 9290 1432\" \n aria-label=\"Affinda\"\n role=\"img\"\n >\n <path \n fill=\"currentColor\" \n d=\"M1691.17,452.11c-107.93-107.48-250.13-166.09-401.3-163.79h-739.51l-148.18,237.98h892.96c86.83,0,168.39,33.64,230.09,95.09,63.28,63.04,98.26,147.32,98.26,237.45,0,185.03-149.41,335.36-332.92,335.36H385.66c-82.44,0-149.59-67.64-149.59-150.68s67.32-151.75,149.41-154.23h810.17l152.93-237.98H381.44C171.21,656.62,0,832.45,0,1043.52s172.97,388.48,385.66,388.48h904.91c313.76,0,569.17-257.28,569.17-573.34,0-154.22-59.76-298.53-168.4-406.72l-.17.18Z\"\n />\n <path \n fill=\"currentColor\" \n d=\"M3265.12,353.81c-21.8-16.16-44.47-30.56-68.02-42.85-75.76-39.69-161-59.89-253.45-59.89-159.6,0-297.92,58.13-411.29,172.82-113.02,114.33-170.49,253.96-170.49,415.01s56.77,304.89,168.73,419.58c112.49,115.21,250.29,173.52,409.35,173.52,89.47,0,173.31-18.97,249.06-56.38,26.19-12.99,51.68-28.1,76.11-45.49v89.05h268.39V276.36h-268.39v77.45ZM3232.07,1013.47c-27.24,48.65-65.38,86.24-116.35,114.87-51.85,29.15-105.11,43.38-162.58,43.38s-107.92-14.05-157.31-43.21c-49.57-28.98-87.88-68.85-117.59-121.53-29.88-53.04-44.29-106.79-44.29-164.39s14.41-111.88,43.94-164.21c29.18-51.99,67.32-91.15,116.36-119.6,49.21-28.63,101.41-42.5,159.94-42.5,90.87,0,165.04,30.56,226.73,93.61,62.23,63.4,92.46,140.68,92.46,236.22,0,63.05-13.54,117.67-41.13,167.02l-.18.35Z\"\n />\n <path fill=\"currentColor\" d=\"M5569.92,278.96h-269.66v1143.74h269.66V278.96Z\"/>\n <path \n fill=\"currentColor\" \n d=\"M6504.78,328.74c-68.7-45.4-148.11-68.37-235.78-68.37s-163.57,19.96-235.61,59.36c-21.61,11.84-42.69,25.44-63.07,40.81v-89.22h-270.22v1151.2h270.22v-436.03c0-154.94,8.78-223.14,15.81-252.11,15.64-61.13,47.44-110.95,96.81-152.65,47.96-40.28,100.49-59.89,160.58-59.89,51.13,0,89.96,11.13,118.95,34.28,28.81,22.79,48.14,58.13,59.56,109.18,4.56,18.37,12.12,70.14,12.12,211.83v545.57h270.21v-583.02c0-146.29-15.28-253.17-46.56-326.67-32.67-76.85-84.33-138.69-153.2-184.27h.18Z\"\n />\n <path \n fill=\"currentColor\" \n d=\"M7728.49,355.19c-21.79-16.14-44.46-30.52-68.02-42.8-75.75-39.64-161-59.81-253.45-59.81-159.59,0-297.92,58.06-411.28,172.6-113.02,114.19-170.49,253.63-170.49,414.48s56.77,304.68,168.73,419.04c112.49,115.07,250.29,173.3,409.35,173.3,89.47,0,173.3-18.94,249.06-56.3,26.19-12.98,51.67-28.07,76.1-45.43v90.68h268.39V0h-268.39v355.37-.17ZM7695.45,1014.01c-27.24,48.59-65.38,86.13-116.36,114.72-51.85,29.11-104.93,43.32-162.58,43.32s-107.92-14.03-157.31-43.15c-49.56-28.94-87.88-68.76-117.58-121.38-29.88-52.97-44.29-106.64-44.29-164.18s14.41-111.73,43.94-164c29.17-51.92,67.32-91.03,116.35-119.45,49.22-28.59,101.42-42.45,159.95-42.45,90.87,0,165.04,30.52,226.73,93.49,62.22,63.32,92.45,140.5,92.45,235.92,0,62.97-13.53,117.52-41.12,166.81l-.18.35Z\"\n />\n <path \n fill=\"currentColor\" \n d=\"M9021.01,277.76v76.05c-21.79-16.16-44.47-30.56-68.02-42.85-75.75-39.69-161-59.89-253.45-59.89-159.59,0-297.92,58.13-411.29,172.82-113.01,114.33-170.48,253.96-170.48,415.01s56.77,304.89,168.73,419.58c112.49,115.21,250.28,173.52,409.35,173.52,89.46,0,173.3-18.97,249.06-56.38,26.19-12.99,51.67-28.1,76.1-45.49v89.05h268.39V277.76h-268.39ZM8987.97,1013.47c-27.25,48.65-65.39,86.24-116.36,114.87-51.85,29.15-105.1,43.38-162.58,43.38s-107.92-14.05-157.3-43.21c-49.57-28.98-87.89-68.85-117.59-121.53-29.88-53.04-44.29-106.79-44.29-164.39s14.41-111.88,43.94-164.21c29.17-51.99,67.31-91.15,116.35-119.6,49.22-28.63,101.42-42.5,159.95-42.5,90.87,0,165.04,30.56,226.73,93.61,62.22,63.4,92.45,140.68,92.45,236.22,0,63.05-13.53,117.67-41.13,167.02l-.17.35Z\"\n />\n <path fill=\"currentColor\" d=\"M3927.32,519.82c0-140.11,112.99-241.01,251.96-241.01h302.69V0h-302.69c-284.39,0-515.59,233.28-515.59,519.82v902.88h263.81v-445.28h431.9v-265.98h-431.9v-191.62h-.18Z\"/>\n <path fill=\"currentColor\" d=\"M4745.61,519.82c0-140.11,112.99-241.01,251.95-241.01h302.7V0h-302.7c-284.38,0-515.59,233.28-515.59,519.82v902.88h263.82v-445.28h431.89v-265.98h-431.89v-191.62h-.18Z\"/>\n </svg>\n </Host>\n );\n }\n}\n"],"names":["h","Host"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DfEVhbS6.js');
3
+ var index = require('./index-ybEiHT0b.js');
4
4
 
5
- const afHeadingCss = ":host{display:block}.heading{margin:0;padding:0;font-family:'NeuSans', 'Inter', 'Segoe UI', system-ui, sans-serif;font-weight:400;color:var(--colour-typography-heading-primary, #14343b);letter-spacing:-0.02em}.align-left{text-align:left}.align-center{text-align:center}.align-right{text-align:right}.theme-dark{color:var(--colour-brand-mist-green, #C6D5D1)}.theme-light{color:var(--colour-typography-heading-primary, #14343b)}.level-xl{font-size:50px;line-height:1}@media (min-width: 768px){.level-xl{font-size:80px}}.level-1{font-size:38px;line-height:1}@media (min-width: 768px){.level-1{font-size:56px}}.level-2{font-size:32px;line-height:1}@media (min-width: 768px){.level-2{font-size:44px}}.level-3{font-size:25px;line-height:1}@media (min-width: 768px){.level-3{font-size:34px}}.level-4{font-size:20px;line-height:1.1}@media (min-width: 768px){.level-4{font-size:24px;line-height:1.2}}.level-5{font-size:18px;line-height:1.1}@media (min-width: 768px){.level-5{font-size:20px;line-height:1.2}}";
5
+ const afHeadingCss = ":host{display:block}.heading{margin:0;padding:0;font-family:var(--typography-headingfont, 'NeuSans', Arial, sans-serif);font-weight:var(--font-weight-regular, 400);color:var(--af-typography-heading-primary, var(--colour-brand-inkwell, #14343b));letter-spacing:var(--letter-spacing-heading, -0.02em)}.align-left{text-align:left}.align-center{text-align:center}.align-right{text-align:right}.level-xl{font-size:var(--font-size-heading-xl-mobile, 50px);line-height:var(--line-height-heading-tight, 1)}@media (min-width: 768px){.level-xl{font-size:var(--font-size-heading-xl-desktop, 80px)}}.level-1{font-size:var(--font-size-heading-1-mobile, 38px);line-height:var(--line-height-heading-tight, 1)}@media (min-width: 768px){.level-1{font-size:var(--font-size-heading-1-desktop, 56px)}}.level-2{font-size:var(--font-size-heading-2-mobile, 32px);line-height:var(--line-height-heading-tight, 1)}@media (min-width: 768px){.level-2{font-size:var(--font-size-heading-2-desktop, 44px)}}.level-3{font-size:var(--font-size-heading-3-mobile, 25px);line-height:var(--line-height-heading-tight, 1)}@media (min-width: 768px){.level-3{font-size:var(--font-size-heading-3-desktop, 34px)}}.level-4{font-size:var(--font-size-heading-4-mobile, 20px);line-height:var(--line-height-heading-normal, 1.1)}@media (min-width: 768px){.level-4{font-size:var(--font-size-heading-4-desktop, 24px);line-height:var(--line-height-heading-relaxed, 1.2)}}.level-5{font-size:var(--font-size-heading-5-mobile, 18px);line-height:var(--line-height-heading-normal, 1.1)}@media (min-width: 768px){.level-5{font-size:var(--font-size-heading-5-desktop, 20px);line-height:var(--line-height-heading-relaxed, 1.2)}}";
6
6
 
7
7
  const AfHeading = class {
8
8
  constructor(hostRef) {
@@ -11,8 +11,6 @@ const AfHeading = class {
11
11
  this.level = '1';
12
12
  /** Visual alignment */
13
13
  this.align = 'left';
14
- /** Theme for dark backgrounds */
15
- this.theme = 'light';
16
14
  }
17
15
  getHeadingTag() {
18
16
  // Map display levels to semantic HTML tags
@@ -28,17 +26,16 @@ const AfHeading = class {
28
26
  }
29
27
  render() {
30
28
  const Tag = this.getHeadingTag();
31
- return (index.h(Tag, { key: '2cc4b5d43b85fbc8251d61e822deb22641f69683', class: {
29
+ return (index.h(Tag, { key: '05bfc95960c7546b642fde77e0cc4018817c4241', class: {
32
30
  'heading': true,
33
31
  [`level-${this.level}`]: true,
34
- [`align-${this.align}`]: true,
35
- [`theme-${this.theme}`]: true
36
- }, part: "base" }, index.h("slot", { key: '0ac282842c61ec6c16929574a5ffd6530aab9759' })));
32
+ [`align-${this.align}`]: true
33
+ }, part: "base" }, index.h("slot", { key: '9ebf0b011f26063a1835dfe157d0d485a30a5a0b' })));
37
34
  }
38
35
  };
39
36
  AfHeading.style = afHeadingCss;
40
37
 
41
- const afTextCss = ":host{display:block}.text{margin:0;padding:0;font-family:'NeuSans', 'Inter', 'Segoe UI', system-ui, sans-serif;font-weight:400;color:var(--colour-typography-body-default, #14343b);letter-spacing:0}.align-left{text-align:left}.align-center{text-align:center}.align-right{text-align:right}.theme-dark{color:var(--colour-brand-mist-green, #C6D5D1)}.theme-light{color:var(--colour-typography-body-default, #14343b)}.variant-xlarge{font-size:22px;line-height:28px}.variant-large{font-size:18px;line-height:26px}.variant-medium{font-size:16px;line-height:24px}.variant-small{font-size:14px;line-height:20px}.variant-label-button{font-family:'NeuSans', 'Inter', 'Segoe UI', system-ui, sans-serif;font-weight:500;font-size:17px;line-height:20px}.variant-label-tag{font-family:'NeuSans', 'Inter', 'Segoe UI', system-ui, sans-serif;font-weight:500;font-size:14px;line-height:1}";
38
+ const afTextCss = ":host{display:block}.text{margin:0;padding:0;font-family:var(--typography-bodyfont, 'NeuSans', Arial, sans-serif);font-weight:var(--font-weight-regular, 400);color:var(--af-typography-body-default, var(--colour-inkwell-400, #2b484f));letter-spacing:var(--letter-spacing-body, 0)}.align-left{text-align:left}.align-center{text-align:center}.align-right{text-align:right}.variant-xlarge{font-size:var(--font-size-body-xlarge, 22px);line-height:var(--line-height-body-xlarge, 28px)}.variant-large{font-size:var(--font-size-body-large, 18px);line-height:var(--line-height-body-large, 26px)}.variant-medium{font-size:var(--font-size-body-medium, 16px);line-height:var(--line-height-body-medium, 24px)}.variant-small{font-size:var(--font-size-body-small, 14px);line-height:var(--line-height-body-small, 20px)}";
42
39
 
43
40
  const AfText = class {
44
41
  constructor(hostRef) {
@@ -49,22 +46,19 @@ const AfText = class {
49
46
  this.align = 'left';
50
47
  /** Semantic element to render */
51
48
  this.as = 'p';
52
- /** Theme for dark backgrounds */
53
- this.theme = 'light';
54
49
  }
55
50
  render() {
56
51
  const Tag = this.as;
57
- return (index.h(Tag, { key: 'd24094cc876bf871972eb35651c2c145d135722f', class: {
52
+ return (index.h(Tag, { key: '824ada09e3f1b9eff027c758087e8369f4de5daa', class: {
58
53
  'text': true,
59
54
  [`variant-${this.variant}`]: true,
60
- [`align-${this.align}`]: true,
61
- [`theme-${this.theme}`]: true
62
- }, part: "base" }, index.h("slot", { key: 'bb1f690d3b11f76d926da7bc7655fbce9df9973c' })));
55
+ [`align-${this.align}`]: true
56
+ }, part: "base" }, index.h("slot", { key: '3c9762436be40ed4920db1dea3a38561e275848e' })));
63
57
  }
64
58
  };
65
59
  AfText.style = afTextCss;
66
60
 
67
- const afNavItemCss = ":host{display:inline-block}.nav-link{text-decoration:none;color:inherit;display:block}.nav-item{display:flex;align-items:center;gap:8px;box-sizing:border-box;cursor:pointer}.hierarchy-primary{padding:12px;justify-content:center}.hierarchy-primary .label-container{display:flex;align-items:center;justify-content:center;height:24px;gap:10px}.hierarchy-primary.variant-01{font-family:var(--typography-headingfont, 'NeuSans', 'Inter', system-ui, sans-serif);font-size:16px;font-weight:var(--font-weight-book, 500);line-height:20px;color:var(--colour-typography-nav-item-primary, #14343b)}.hierarchy-primary.variant-02{font-family:var(--typography-bodyfont, 'Helvetica', 'Inter', system-ui, sans-serif);font-size:16px;font-weight:var(--font-weight-regular, 400);line-height:20px;color:var(--colour-typography-nav-item-secondary, #2b484f)}.hierarchy-primary.variant-01:hover .label-container{border-bottom:1px solid currentColor}.hierarchy-primary.variant-01.active .label-container{border-bottom:2px solid #8a7049}.hierarchy-primary.variant-02:hover{background-color:rgba(20, 52, 59, 0.04);border-radius:8px}.hierarchy-primary.variant-02.active{background-color:rgba(20, 52, 59, 0.08);border-radius:8px}.hierarchy-secondary{padding:4px 0}.hierarchy-secondary .label-container{display:flex;align-items:center;flex:1;min-height:24px;gap:8px}.hierarchy-secondary.variant-01{font-family:'NeuSans', 'Inter', system-ui, sans-serif;font-size:14px;font-weight:500;line-height:20px;color:#14343b}.hierarchy-secondary.variant-02{font-family:'NeuSans', 'Inter', system-ui, sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#2b484f}.hierarchy-secondary:hover ::slotted(*){text-decoration:underline}@media (max-width: 767px){.hierarchy-primary{padding:20px 12px;border-bottom:1px solid #e8eeed;width:100%}.hierarchy-primary .label-container{flex:1;justify-content:flex-start}.hierarchy-primary.variant-01{font-size:20px;line-height:1.1;letter-spacing:-0.4px}.hierarchy-primary.variant-02{font-size:20px;line-height:1.1;letter-spacing:-0.4px;color:#60767b}}::slotted([slot=\"icon-left\"]),::slotted([slot=\"icon-right\"]){width:24px;height:24px;flex-shrink:0}.hierarchy-secondary ::slotted([slot=\"icon-right\"]){width:20px;height:20px}";
61
+ const afNavItemCss = ":host{display:inline-block}.nav-link{text-decoration:none;color:inherit;display:block}.nav-item{display:flex;align-items:center;gap:8px;box-sizing:border-box;cursor:pointer}.hierarchy-primary{padding:12px;justify-content:center}.hierarchy-primary .label-container{display:flex;align-items:center;justify-content:center;height:24px;gap:10px}.hierarchy-primary.variant-01{font-family:var(--typography-headingfont, 'NeuSans', 'Inter', system-ui, sans-serif);font-size:16px;font-weight:var(--font-weight-book, 500);line-height:20px;color:var(--colour-typography-nav-item-primary, #14343b)}.hierarchy-primary.variant-01 .label-container{border-bottom:1px solid transparent}.hierarchy-primary.variant-02{font-family:var(--typography-bodyfont, 'Helvetica', 'Inter', system-ui, sans-serif);font-size:16px;font-weight:var(--font-weight-regular, 400);line-height:20px;color:var(--colour-typography-nav-item-secondary, #2b484f)}.hierarchy-primary.variant-01:hover .label-container{border-bottom-color:currentColor}.hierarchy-primary.variant-01.active .label-container{border-bottom:2px solid var(--colour-background-border-active, #8a7049);margin-bottom:-1px}.hierarchy-primary.variant-02:hover{background-color:rgba(20, 52, 59, 0.04);border-radius:8px}.hierarchy-primary.variant-02.active{background-color:rgba(20, 52, 59, 0.08);border-radius:8px}.hierarchy-secondary{padding:4px 0}.hierarchy-secondary .label-container{display:flex;align-items:center;flex:1;min-height:24px;gap:10px}.hierarchy-secondary.variant-01{font-family:var(--typography-headingfont, 'NeuSans', 'Inter', system-ui, sans-serif);font-size:14px;font-weight:500;line-height:20px;color:var(--colour-typography-body-dark, #14343b)}.hierarchy-secondary.variant-02{font-family:var(--typography-bodyfont, 'NeuSans', 'Inter', system-ui, sans-serif);font-size:14px;font-weight:400;line-height:20px;color:var(--colour-typography-body-default, #2b484f)}.hierarchy-secondary:hover .label-container{text-decoration:underline}.nav-item:focus-within{outline:2px solid var(--colour-background-border-active, #8a7049);outline-offset:2px;border-radius:4px}.nav-link:focus{outline:none}.nav-link:focus-visible+.nav-item,:host(:focus-visible) .nav-item{outline:2px solid var(--colour-background-border-active, #8a7049);outline-offset:2px;border-radius:4px}.hierarchy-primary.breakpoint-mobile{padding:20px 12px;border-bottom:1px solid var(--colour-background-border-subtle, #e8eeed);width:100%;justify-content:flex-start}.hierarchy-primary.breakpoint-mobile .label-container{flex:1;justify-content:flex-start}.hierarchy-primary.variant-01.breakpoint-mobile{font-size:20px;line-height:1.1;letter-spacing:-0.4px}.hierarchy-primary.variant-02.breakpoint-mobile{font-size:20px;line-height:1.1;letter-spacing:-0.4px;color:var(--colour-typography-body-subtle, #60767b)}.hierarchy-secondary.breakpoint-mobile{padding:2px 0;height:40px}.hierarchy-secondary.breakpoint-mobile .label-container{min-height:24px}.hierarchy-primary.breakpoint-mobile.variant-01 .label-container{border-bottom-color:transparent}.hierarchy-primary.breakpoint-mobile.variant-01:hover .label-container{border-bottom-color:transparent}.hierarchy-primary.breakpoint-mobile.variant-01.active .label-container{border-bottom-color:transparent;margin-bottom:0}::slotted([slot=\"icon-left\"]),::slotted([slot=\"icon-right\"]){width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:transform 0.2s ease}.hierarchy-primary.variant-01 ::slotted([slot=\"icon-left\"]),.hierarchy-primary.variant-01 ::slotted([slot=\"icon-right\"]){color:var(--colour-typography-nav-item-primary, #14343b)}.hierarchy-primary.variant-02 ::slotted([slot=\"icon-left\"]),.hierarchy-primary.variant-02 ::slotted([slot=\"icon-right\"]){color:var(--colour-typography-nav-item-secondary, #2b484f)}.hierarchy-primary.variant-01.breakpoint-desktop:hover ::slotted([slot=\"icon-right\"]),.hierarchy-primary.variant-01.breakpoint-desktop.active ::slotted([slot=\"icon-right\"]){transform:rotate(180deg)}.hierarchy-primary.breakpoint-mobile.active ::slotted([slot=\"icon-right\"]){transform:rotate(180deg)}.hierarchy-secondary ::slotted([slot=\"icon-right\"]){width:20px;height:20px}.hierarchy-secondary.variant-01 ::slotted([slot=\"icon-right\"]){color:var(--colour-typography-body-dark, #14343b)}.hierarchy-secondary.variant-02 ::slotted([slot=\"icon-right\"]){color:var(--colour-typography-body-default, #2b484f)}@media (max-width: 991px){:host([breakpoint=\"auto\"]) .hierarchy-primary,:host(:not([breakpoint])) .hierarchy-primary{padding:20px 12px;border-bottom:1px solid var(--colour-background-border-subtle, #e8eeed);width:100%}:host([breakpoint=\"auto\"]) .hierarchy-primary .label-container,:host(:not([breakpoint])) .hierarchy-primary .label-container{flex:1;justify-content:flex-start}:host([breakpoint=\"auto\"]) .hierarchy-primary.variant-01,:host(:not([breakpoint])) .hierarchy-primary.variant-01{font-size:20px;line-height:1.1;letter-spacing:-0.4px}:host([breakpoint=\"auto\"]) .hierarchy-primary.variant-02,:host(:not([breakpoint])) .hierarchy-primary.variant-02{font-size:20px;line-height:1.1;letter-spacing:-0.4px;color:var(--colour-typography-body-subtle, #60767b)}:host([breakpoint=\"auto\"]) .hierarchy-primary.active ::slotted([slot=\"icon-right\"]),:host(:not([breakpoint])) .hierarchy-primary.active ::slotted([slot=\"icon-right\"]){transform:rotate(180deg)}:host([breakpoint=\"auto\"]) .hierarchy-primary:hover ::slotted([slot=\"icon-right\"]),:host(:not([breakpoint])) .hierarchy-primary:hover ::slotted([slot=\"icon-right\"]){transform:none}:host([breakpoint=\"auto\"]) .hierarchy-primary.active:hover ::slotted([slot=\"icon-right\"]),:host(:not([breakpoint])) .hierarchy-primary.active:hover ::slotted([slot=\"icon-right\"]){transform:rotate(180deg)}}";
68
62
 
69
63
  const AfNavItem = class {
70
64
  constructor(hostRef) {
@@ -81,6 +75,12 @@ const AfNavItem = class {
81
75
  * - '02': Lighter/more subtle styling
82
76
  */
83
77
  this.variant = '01';
78
+ /**
79
+ * Breakpoint variant for responsive styling
80
+ * - 'desktop': Desktop-specific styles
81
+ * - 'mobile': Mobile-specific styles (larger text, different spacing)
82
+ */
83
+ this.breakpoint = 'desktop';
84
84
  /**
85
85
  * Whether this nav item is currently active/selected
86
86
  */
@@ -91,6 +91,7 @@ const AfNavItem = class {
91
91
  'nav-item': true,
92
92
  [`hierarchy-${this.hierarchy}`]: true,
93
93
  [`variant-${this.variant}`]: true,
94
+ [`breakpoint-${this.breakpoint}`]: true,
94
95
  'active': this.active
95
96
  };
96
97
  const content = (index.h("div", { class: classes }, index.h("slot", { name: "icon-left" }), index.h("div", { class: "label-container" }, index.h("slot", null)), index.h("slot", { name: "icon-right" })));
@@ -102,30 +103,78 @@ const AfNavItem = class {
102
103
  };
103
104
  AfNavItem.style = afNavItemCss;
104
105
 
105
- const afNavbarCss = ":host{display:block;width:100%;position:absolute;top:32px;left:0;right:0;z-index:10}.navbar-container{padding:0 80px;box-sizing:border-box;position:relative}.navbar{background:var(--colour-background-white, #ffffff);border-radius:9999px;display:flex;align-items:center;justify-content:space-between;padding:8px 8px 8px 40px;box-sizing:border-box;flex-wrap:nowrap;}.navbar-left{display:flex;align-items:center;gap:32px;flex-shrink:0}.logo{display:flex;align-items:center;flex-shrink:0}.mobile-menu-toggle{display:none;background:none;border:none;padding:8px;cursor:pointer;color:var(--colour-brand-inkwell, #14343b);margin-left:auto}.mobile-menu-toggle svg{display:block}.nav-links{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.navbar-right{display:flex;align-items:center;gap:20px;flex-shrink:0}.nav-actions{display:flex;align-items:center;gap:12px}.nav-button{display:flex;align-items:center}@media (max-width: 1099px){.nav-actions{display:none}.navbar-right{gap:0}}@media (max-width: 1024px){.navbar-container{padding:24px 40px 0}.navbar-left{gap:24px}.nav-links{gap:4px}}@media (max-width: 991px){.navbar-container{padding:16px 16px 0}.navbar{padding:8px 16px;flex-direction:column;border-radius:16px;gap:0;flex-wrap:wrap;}.navbar-left{width:100%;flex-direction:row;justify-content:space-between;align-items:center;gap:16px}.mobile-menu-toggle{display:flex}.nav-links{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;margin-top:16px;flex-wrap:wrap}.nav-links.mobile-open{display:flex}.navbar-right{display:none;width:100%;flex-direction:column;gap:12px;align-items:stretch;margin-top:16px}.navbar-right.mobile-open{display:flex}.nav-actions{display:flex;width:100%;flex-direction:column;align-items:stretch;gap:0}.nav-button{width:100%}}";
106
+ const afNavbarCss = ":host{display:block;width:100%}.navbar-spacer{height:100px;}.navbar-spacer.theme-white{background-color:var(--colour-brand-white, #FFFFFF)}.navbar-spacer.theme-inkwell{background-color:var(--colour-brand-inkwell, #14343B)}.navbar-spacer.theme-mist-green{background-color:var(--colour-brand-mist-green, #C6D5D1)}.navbar-spacer.theme-soft-clay{background-color:var(--colour-softclay-400, #c0ab8d)}.navbar-container{position:fixed;top:32px;left:0;right:0;z-index:10;padding:0 80px;box-sizing:border-box}.navbar{background:var(--colour-background-white, #ffffff);border-radius:9999px;display:flex;align-items:center;justify-content:space-between;padding:8px 8px 8px 40px;box-sizing:border-box;flex-wrap:nowrap;}.navbar-left{display:flex;align-items:center;gap:32px;flex-shrink:0}.logo{display:flex;align-items:center;flex-shrink:0}.mobile-menu-toggle{display:none;background:none;border:none;padding:8px;cursor:pointer;color:var(--colour-brand-inkwell, #14343b);margin-left:auto}.mobile-menu-toggle svg{display:block}.nav-links{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.navbar-right{display:flex;align-items:center;gap:20px}.nav-actions{display:flex;align-items:center;gap:12px}.nav-button{display:flex;align-items:center}.dropdown-container{position:absolute;top:108px;left:0;right:0;padding:0 80px;pointer-events:none;opacity:0;transform:translateY(-8px);transition:opacity 0.2s ease, transform 0.2s ease}.dropdown-container.is-open{pointer-events:auto;opacity:1;transform:translateY(0)}.dropdown-panel{background:var(--colour-background-base, #ffffff);border-radius:32px;overflow:hidden;box-shadow:0 4px 24px rgba(20, 52, 59, 0.12)}.dropdown-panel:empty{display:none}.mobile-dropdowns{display:none}@media (max-width: 1099px){.nav-actions{display:none}.navbar-right{gap:0}}@media (max-width: 1024px){.navbar-spacer{height:88px}.navbar-container{top:24px;padding:0 40px}.navbar-left{gap:24px}.nav-links{gap:4px}.dropdown-container{padding:0 40px}}@media (max-width: 991px){.navbar-spacer{height:72px}.navbar-container{top:16px;padding:0 16px}.navbar{padding:8px 16px;flex-direction:column;border-radius:16px;gap:0;flex-wrap:wrap;}.navbar-left{width:100%;flex-direction:row;justify-content:space-between;align-items:center;gap:16px}.mobile-menu-toggle{display:flex}.nav-links{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;margin-top:16px;flex-wrap:wrap}.nav-links.mobile-open{display:flex}.navbar-right{display:none;width:100%;flex-direction:column;gap:12px;align-items:stretch;margin-top:16px}.navbar-right.mobile-open{display:flex}.nav-actions{display:flex;width:100%;flex-direction:column;align-items:stretch;gap:0}.nav-button{width:100%}.dropdown-container{display:none}.mobile-dropdowns{display:block;padding:0 16px;margin-top:8px}}";
106
107
 
107
108
  const AfNavbar = class {
108
109
  constructor(hostRef) {
109
110
  index.registerInstance(this, hostRef);
110
111
  this.mobileMenuOpen = false;
112
+ /** The currently open dropdown identifier (null if none open) */
113
+ this.activeDropdown = null;
114
+ /** Whether to show the default Affinda logo when no logo slot content is provided */
115
+ this.showDefaultLogo = true;
111
116
  this.toggleMobileMenu = () => {
112
117
  this.mobileMenuOpen = !this.mobileMenuOpen;
118
+ // Close any open dropdown when toggling mobile menu
119
+ this.activeDropdown = null;
120
+ };
121
+ /**
122
+ * Opens a dropdown by its identifier
123
+ */
124
+ this.openDropdown = (dropdownId) => {
125
+ this.activeDropdown = dropdownId;
126
+ };
127
+ /**
128
+ * Closes the currently open dropdown
129
+ */
130
+ this.closeDropdown = () => {
131
+ this.activeDropdown = null;
113
132
  };
133
+ /**
134
+ * Toggles a dropdown by its identifier
135
+ */
136
+ this.toggleDropdown = (dropdownId) => {
137
+ if (this.activeDropdown === dropdownId) {
138
+ this.activeDropdown = null;
139
+ }
140
+ else {
141
+ this.activeDropdown = dropdownId;
142
+ }
143
+ };
144
+ }
145
+ /**
146
+ * Handle clicks outside the navbar to close dropdowns
147
+ */
148
+ handleDocumentClick(event) {
149
+ const path = event.composedPath();
150
+ if (!path.includes(this.el)) {
151
+ this.closeDropdown();
152
+ }
153
+ }
154
+ /**
155
+ * Handle escape key to close dropdowns
156
+ */
157
+ handleKeyDown(event) {
158
+ if (event.key === 'Escape') {
159
+ this.closeDropdown();
160
+ }
114
161
  }
115
162
  render() {
116
- return (index.h(index.Host, { key: '305d9415a3c14b2dc352588171d4677f4be4a1af' }, index.h("nav", { key: 'c509365f0056b0f26d8e3aea98acda04d29d4387', class: "navbar-container" }, index.h("div", { key: '722fd37a76e7367f0e7cd22729f711e8164b9d60', class: "navbar" }, index.h("div", { key: 'e0e8d341394b30f4badf5062b899123d691123a1', class: "navbar-left" }, index.h("div", { key: '145ab6a0ff46f0e21b429b8e2d881404d1d6c24c', class: "logo" }, index.h("slot", { key: '447d9abfa74c008afac07d3d0386b26ef292ec23', name: "logo" })), index.h("button", { key: '1f3e5512ea1ab6ca5b6a3a1455a9ff9fa9a2c8e3', class: "mobile-menu-toggle", onClick: this.toggleMobileMenu, "aria-label": "Toggle navigation menu", "aria-expanded": this.mobileMenuOpen ? 'true' : 'false' }, this.mobileMenuOpen ? (index.h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, index.h("path", { d: "M18 6L6 18M6 6l12 12", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))) : (index.h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, index.h("path", { d: "M3 12h18M3 6h18M3 18h18", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))), index.h("div", { key: '277226e4c433ad4377810c1e3e894b0d9de11b05', class: `nav-links ${this.mobileMenuOpen ? 'mobile-open' : ''}` }, index.h("slot", { key: 'f95617e99651d0e2a4fa28a08fbe5452a8f95aa3', name: "start" }))), index.h("div", { key: 'ad7b9cf31ce290303df0af868e369bc79983fff4', class: `navbar-right ${this.mobileMenuOpen ? 'mobile-open' : ''}` }, index.h("div", { key: '817c73031c45579ec13da6d53bfe1753bcd1e0ef', class: "nav-actions" }, index.h("slot", { key: 'e18d0c55b346722784640c37bbb5e5fe05fec5c0', name: "end" })), index.h("div", { key: '296dd2c84f0a59c54741b40a6333cfff5ec7d200', class: "nav-button" }, index.h("slot", { key: 'd94063758598f14888587d93b5b299f593b2cd31', name: "button" })))))));
163
+ const hasDropdown = this.activeDropdown !== null;
164
+ return (index.h(index.Host, { key: '56ca144ca11afcaeb86bbdbab52aee47c8a4e8db', class: { 'has-dropdown-open': hasDropdown } }, index.h("div", { key: '8ccc05b735246db5ca63ee2ad4546dbafda8c949', class: `navbar-spacer${this.theme ? ` theme-${this.theme}` : ''}` }), index.h("nav", { key: '10d422e2fb0ae5c227522813da2f3f788e144074', class: "navbar-container" }, index.h("div", { key: 'b7062b1ead44808b1df54776c34833e7d710cc8e', class: "navbar" }, index.h("div", { key: 'fd88961f3744b8f38a27541d19ba59bd3b50a537', class: "navbar-left" }, index.h("div", { key: '1747708e1970b53acca93f8f1e902aadf99b094e', class: "logo" }, index.h("slot", { key: '30cd58a1cb5419f84044b8ff31b5646c916648a9', name: "logo" }, this.showDefaultLogo && index.h("af-logo", { key: 'df1ae72b0689352b823499e5d01e39166077fcfe' }))), index.h("button", { key: '93c3d9c6a21cfb056958f81b774b373acd9b3565', class: "mobile-menu-toggle", onClick: this.toggleMobileMenu, "aria-label": "Toggle navigation menu", "aria-expanded": this.mobileMenuOpen ? 'true' : 'false' }, this.mobileMenuOpen ? (index.h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, index.h("path", { d: "M18 6L6 18M6 6l12 12", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))) : (index.h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, index.h("path", { d: "M3 12h18M3 6h18M3 18h18", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))), index.h("div", { key: '3fd2c86dc4c90818d5c9227f2b8a86af7b4e9759', class: `nav-links ${this.mobileMenuOpen ? 'mobile-open' : ''}` }, index.h("slot", { key: 'c65a49fc343293508a5112f0aa41aa04c3fc2062', name: "start" }))), index.h("div", { key: 'c0e23ee412e251b927db5557b30d44ea356db74a', class: `navbar-right ${this.mobileMenuOpen ? 'mobile-open' : ''}` }, index.h("div", { key: 'b770b0a10f9f01c7314464dd1a8925b92190b394', class: "nav-actions" }, index.h("slot", { key: '597e24b9a726a7b050640f17d13c4082e643ed68', name: "end" })), index.h("div", { key: '15930743487c7719ea81df36ecbdf349a44faa32', class: "nav-button" }, index.h("slot", { key: '445dd032e53ab524cee0c55e2183f9062b9f2ee0', name: "button" })))), index.h("div", { key: '462113ba1fd1465baae3eb06d8a0a6153b3879f7', class: `dropdown-container ${hasDropdown ? 'is-open' : ''}` }, index.h("div", { key: 'f88a39284ae6bb4596b9d5bb50e300b301714445', class: "dropdown-panel" }, index.h("slot", { key: '7b0e453d4f87c1e50b0557f72c16a77362825eb5', name: "dropdown-solutions" }), index.h("slot", { key: 'd4988f12dadfa08037d93adf8199cb82ae87fde3', name: "dropdown-pricing" }), index.h("slot", { key: 'ac7fee5d8cc9eae53a4ac2974f833869e5df3921', name: "dropdown-resources" }), index.h("slot", { key: 'c32254e0fa9b96f1d56a03430141c3d5854e5099', name: "dropdown" })))), this.mobileMenuOpen && (index.h("div", { key: 'a50c1ca35d99949f619960898fcb2e37211f5445', class: "mobile-dropdowns" }, index.h("slot", { key: '2539233c4536572946776249f40bfaa993939213', name: "mobile-menu" })))));
117
165
  }
166
+ get el() { return index.getElement(this); }
118
167
  };
119
168
  AfNavbar.style = afNavbarCss;
120
169
 
121
- const afLogoCss = ":host{display:inline-block}.logo-img{display:block;height:22px;width:141px;object-fit:contain}";
170
+ const afLogoCss = ":host{display:inline-block;color:var(--colour-brand-inkwell, #14343b)}.logo-svg{display:block;width:auto;height:22px}";
122
171
 
123
172
  const AfLogo = class {
124
173
  constructor(hostRef) {
125
174
  index.registerInstance(this, hostRef);
126
175
  }
127
176
  render() {
128
- return (index.h(index.Host, { key: '6e7a2dd46fa7143bdac4dee8d7146649ff3c7f57' }, index.h("img", { key: '03fb48e53218c6207927f9337851e3d39c5ca4a7', src: "https://www.figma.com/api/mcp/asset/2cfec484-7ba9-4258-94f3-ef4d0ba1e8fe", alt: "Affinda", class: "logo-img" })));
177
+ return (index.h(index.Host, { key: '6e315eac8e083807fb987237502d1bdaa06a579c' }, index.h("svg", { key: 'a837202d331f867eecd017d388d952cdbd09c0b0', class: "logo-svg", viewBox: "0 0 9290 1432", "aria-label": "Affinda", role: "img" }, index.h("path", { key: '425b4957d10c5427134caa67834ea5f306d23d14', fill: "currentColor", d: "M1691.17,452.11c-107.93-107.48-250.13-166.09-401.3-163.79h-739.51l-148.18,237.98h892.96c86.83,0,168.39,33.64,230.09,95.09,63.28,63.04,98.26,147.32,98.26,237.45,0,185.03-149.41,335.36-332.92,335.36H385.66c-82.44,0-149.59-67.64-149.59-150.68s67.32-151.75,149.41-154.23h810.17l152.93-237.98H381.44C171.21,656.62,0,832.45,0,1043.52s172.97,388.48,385.66,388.48h904.91c313.76,0,569.17-257.28,569.17-573.34,0-154.22-59.76-298.53-168.4-406.72l-.17.18Z" }), index.h("path", { key: '3dbe122502fce7882967a8a77a04b38e61a9d30f', fill: "currentColor", d: "M3265.12,353.81c-21.8-16.16-44.47-30.56-68.02-42.85-75.76-39.69-161-59.89-253.45-59.89-159.6,0-297.92,58.13-411.29,172.82-113.02,114.33-170.49,253.96-170.49,415.01s56.77,304.89,168.73,419.58c112.49,115.21,250.29,173.52,409.35,173.52,89.47,0,173.31-18.97,249.06-56.38,26.19-12.99,51.68-28.1,76.11-45.49v89.05h268.39V276.36h-268.39v77.45ZM3232.07,1013.47c-27.24,48.65-65.38,86.24-116.35,114.87-51.85,29.15-105.11,43.38-162.58,43.38s-107.92-14.05-157.31-43.21c-49.57-28.98-87.88-68.85-117.59-121.53-29.88-53.04-44.29-106.79-44.29-164.39s14.41-111.88,43.94-164.21c29.18-51.99,67.32-91.15,116.36-119.6,49.21-28.63,101.41-42.5,159.94-42.5,90.87,0,165.04,30.56,226.73,93.61,62.23,63.4,92.46,140.68,92.46,236.22,0,63.05-13.54,117.67-41.13,167.02l-.18.35Z" }), index.h("path", { key: 'e0f15cb4025c3fadcc740fc8f4b47e240f4497c3', fill: "currentColor", d: "M5569.92,278.96h-269.66v1143.74h269.66V278.96Z" }), index.h("path", { key: 'b7054c3fe019f0c42e8d56338c6034d9843a4a05', fill: "currentColor", d: "M6504.78,328.74c-68.7-45.4-148.11-68.37-235.78-68.37s-163.57,19.96-235.61,59.36c-21.61,11.84-42.69,25.44-63.07,40.81v-89.22h-270.22v1151.2h270.22v-436.03c0-154.94,8.78-223.14,15.81-252.11,15.64-61.13,47.44-110.95,96.81-152.65,47.96-40.28,100.49-59.89,160.58-59.89,51.13,0,89.96,11.13,118.95,34.28,28.81,22.79,48.14,58.13,59.56,109.18,4.56,18.37,12.12,70.14,12.12,211.83v545.57h270.21v-583.02c0-146.29-15.28-253.17-46.56-326.67-32.67-76.85-84.33-138.69-153.2-184.27h.18Z" }), index.h("path", { key: 'abb1e667124d30d807c41ab1cd446c4568990a18', fill: "currentColor", d: "M7728.49,355.19c-21.79-16.14-44.46-30.52-68.02-42.8-75.75-39.64-161-59.81-253.45-59.81-159.59,0-297.92,58.06-411.28,172.6-113.02,114.19-170.49,253.63-170.49,414.48s56.77,304.68,168.73,419.04c112.49,115.07,250.29,173.3,409.35,173.3,89.47,0,173.3-18.94,249.06-56.3,26.19-12.98,51.67-28.07,76.1-45.43v90.68h268.39V0h-268.39v355.37-.17ZM7695.45,1014.01c-27.24,48.59-65.38,86.13-116.36,114.72-51.85,29.11-104.93,43.32-162.58,43.32s-107.92-14.03-157.31-43.15c-49.56-28.94-87.88-68.76-117.58-121.38-29.88-52.97-44.29-106.64-44.29-164.18s14.41-111.73,43.94-164c29.17-51.92,67.32-91.03,116.35-119.45,49.22-28.59,101.42-42.45,159.95-42.45,90.87,0,165.04,30.52,226.73,93.49,62.22,63.32,92.45,140.5,92.45,235.92,0,62.97-13.53,117.52-41.12,166.81l-.18.35Z" }), index.h("path", { key: '8cd032a3cb346e1e2bf41b33a8c888d366a9c634', fill: "currentColor", d: "M9021.01,277.76v76.05c-21.79-16.16-44.47-30.56-68.02-42.85-75.75-39.69-161-59.89-253.45-59.89-159.59,0-297.92,58.13-411.29,172.82-113.01,114.33-170.48,253.96-170.48,415.01s56.77,304.89,168.73,419.58c112.49,115.21,250.28,173.52,409.35,173.52,89.46,0,173.3-18.97,249.06-56.38,26.19-12.99,51.67-28.1,76.1-45.49v89.05h268.39V277.76h-268.39ZM8987.97,1013.47c-27.25,48.65-65.39,86.24-116.36,114.87-51.85,29.15-105.1,43.38-162.58,43.38s-107.92-14.05-157.3-43.21c-49.57-28.98-87.89-68.85-117.59-121.53-29.88-53.04-44.29-106.79-44.29-164.39s14.41-111.88,43.94-164.21c29.17-51.99,67.31-91.15,116.35-119.6,49.22-28.63,101.42-42.5,159.95-42.5,90.87,0,165.04,30.56,226.73,93.61,62.22,63.4,92.45,140.68,92.45,236.22,0,63.05-13.53,117.67-41.13,167.02l-.17.35Z" }), index.h("path", { key: '3087e75a044032e2bf6ff1a49f78d18adb3a0688', fill: "currentColor", d: "M3927.32,519.82c0-140.11,112.99-241.01,251.96-241.01h302.69V0h-302.69c-284.39,0-515.59,233.28-515.59,519.82v902.88h263.81v-445.28h431.9v-265.98h-431.9v-191.62h-.18Z" }), index.h("path", { key: '3118ef825a1bc7640b1a49abddc5f0b6f1743bf0', fill: "currentColor", d: "M4745.61,519.82c0-140.11,112.99-241.01,251.95-241.01h302.7V0h-302.7c-284.38,0-515.59,233.28-515.59,519.82v902.88h263.82v-445.28h431.89v-265.98h-431.89v-191.62h-.18Z" }))));
129
178
  }
130
179
  };
131
180
  AfLogo.style = afLogoCss;
@@ -1,21 +1,27 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DfEVhbS6.js');
3
+ var index = require('./index-ybEiHT0b.js');
4
4
 
5
- const afHeroSectionCss = ".sc-af-hero-section-h{display:block;width:100%}.hero-section.sc-af-hero-section{width:100%;padding-top:clamp(6rem, 12vh, 8rem);padding-bottom:clamp(3rem, 8vh, 5rem);display:flex;align-items:center;justify-content:center;margin-top:0;position:relative;z-index:1;overflow:hidden}.variant-light.sc-af-hero-section{background-color:var(--colour-background-white, #FFFFFF)}.variant-dark.sc-af-hero-section{background-color:var(--colour-brand-inkwell, #14343B)}.variant-dark.sc-af-hero-section af-heading.sc-af-hero-section,.variant-dark.sc-af-hero-section af-text.sc-af-hero-section{--typography-heading-primary:var(--colour-brand-mist-green, #C6D5D1);--typography-body-default:var(--colour-brand-mist-green, #C6D5D1)}.hero-decoration.sc-af-hero-section{position:absolute;inset:0;pointer-events:none;z-index:0;height:0;width:0;overflow:visible}.hero-decoration.sc-af-hero-section-s>*,.hero-decoration .sc-af-hero-section-s>*{position:absolute !important;bottom:-440px;right:-1200px;width:1250px;height:820px;opacity:0.5}.hero-content.sc-af-hero-section{text-align:center;max-width:1000px;margin:0 auto;position:relative;z-index:1}@media (max-width: 768px){.hero-section.sc-af-hero-section{padding:3rem 1.5rem 2.5rem}}";
5
+ const afHeroSectionCss = ".sc-af-hero-section-h{display:block;width:100%}.hero-section.sc-af-hero-section{width:100%;padding-top:clamp(6rem, 12vh, 8rem);padding-bottom:clamp(3rem, 8vh, 5rem);display:flex;align-items:center;justify-content:center;margin-top:0;position:relative;z-index:1;overflow:hidden}.theme-white.sc-af-hero-section{background-color:var(--colour-brand-white, #FFFFFF);--af-typography-heading-primary:var(--colour-brand-inkwell, #14343b);--af-typography-heading-secondary:var(--colour-brand-soft-clay, #b09670);--af-typography-body-dark:var(--colour-brand-inkwell, #14343b);--af-typography-body-default:var(--colour-inkwell-400, #2b484f);--af-typography-body-subtle:var(--colour-inkwell-350, #60767b);--af-button-primary-text:var(--colour-brand-inkwell, #14343b);--af-button-primary-icon:var(--colour-brand-inkwell, #14343b);--af-button-primary-bg:var(--colour-brand-ice, #a6fffb);--af-button-primary-bg-hover:var(--colour-ice-600, #95e6e2);--af-button-primary-stroke:var(--colour-brand-inkwell, #14343b);--af-button-secondary-text:var(--colour-brand-inkwell, #14343b);--af-button-secondary-icon:var(--colour-brand-inkwell, #14343b);--af-button-secondary-bg:transparent;--af-button-secondary-bg-hover:rgba(255, 255, 255, 0.08);--af-button-secondary-stroke:var(--colour-brand-inkwell, #14343b);--af-button-tertiary-text:var(--colour-brand-inkwell, #14343b);--af-button-tertiary-icon:var(--colour-brand-inkwell, #14343b)}.theme-inkwell.sc-af-hero-section{background-color:var(--colour-brand-inkwell, #14343B);--af-typography-heading-primary:var(--colour-brand-mist-green, #c6d5d1);--af-typography-heading-secondary:var(--colour-brand-white, #ffffff);--af-typography-body-dark:var(--colour-brand-white, #ffffff);--af-typography-body-default:var(--colour-inkwell-100, #d0d6d8);--af-typography-body-subtle:var(--colour-inkwell-200, #a1aeb1);--af-button-primary-text:var(--colour-brand-inkwell, #14343b);--af-button-primary-icon:var(--colour-brand-inkwell, #14343b);--af-button-primary-bg:var(--colour-brand-ice, #a6fffb);--af-button-primary-bg-hover:var(--colour-ice-600, #95e6e2);--af-button-primary-stroke:var(--colour-brand-inkwell, #14343b);--af-button-secondary-text:var(--colour-brand-white, #ffffff);--af-button-secondary-icon:var(--colour-brand-white, #ffffff);--af-button-secondary-bg:transparent;--af-button-secondary-bg-hover:rgba(0, 0, 0, 0.08);--af-button-secondary-stroke:var(--colour-brand-white, #ffffff);--af-button-tertiary-text:var(--colour-brand-white, #ffffff);--af-button-tertiary-icon:var(--colour-brand-white, #ffffff)}.theme-mist-green.sc-af-hero-section{background-color:var(--colour-brand-mist-green, #C6D5D1);--af-typography-heading-primary:var(--colour-brand-inkwell, #14343b);--af-typography-heading-secondary:var(--colour-brand-soft-clay, #b09670);--af-typography-body-dark:var(--colour-brand-inkwell, #14343b);--af-typography-body-default:var(--colour-inkwell-400, #2b484f);--af-typography-body-subtle:var(--colour-inkwell-350, #60767b);--af-button-primary-text:var(--colour-brand-inkwell, #14343b);--af-button-primary-icon:var(--colour-brand-inkwell, #14343b);--af-button-primary-bg:var(--colour-brand-ice, #a6fffb);--af-button-primary-bg-hover:var(--colour-ice-600, #95e6e2);--af-button-primary-stroke:var(--colour-brand-inkwell, #14343b);--af-button-secondary-text:var(--colour-brand-inkwell, #14343b);--af-button-secondary-icon:var(--colour-brand-inkwell, #14343b);--af-button-secondary-bg:transparent;--af-button-secondary-bg-hover:rgba(0, 0, 0, 0.08);--af-button-secondary-stroke:var(--colour-brand-inkwell, #14343b);--af-button-tertiary-text:var(--colour-brand-inkwell, #14343b);--af-button-tertiary-icon:var(--colour-brand-inkwell, #14343b)}.theme-soft-clay.sc-af-hero-section{background-color:var(--colour-softclay-400, #c0ab8d);--af-typography-heading-primary:var(--colour-brand-inkwell, #14343b);--af-typography-heading-secondary:var(--colour-brand-ivory-paper, #fff9ee);--af-typography-body-dark:var(--colour-brand-inkwell, #14343b);--af-typography-body-default:var(--colour-inkwell-400, #2b484f);--af-typography-body-subtle:var(--colour-inkwell-350, #60767b);--af-button-primary-text:var(--colour-brand-inkwell, #14343b);--af-button-primary-icon:var(--colour-brand-inkwell, #14343b);--af-button-primary-bg:var(--colour-brand-ice, #a6fffb);--af-button-primary-bg-hover:var(--colour-ice-600, #95e6e2);--af-button-primary-stroke:var(--colour-brand-inkwell, #14343b);--af-button-secondary-text:var(--colour-brand-inkwell, #14343b);--af-button-secondary-icon:var(--colour-brand-inkwell, #14343b);--af-button-secondary-bg:transparent;--af-button-secondary-bg-hover:rgba(0, 0, 0, 0.08);--af-button-secondary-stroke:var(--colour-brand-inkwell, #14343b);--af-button-tertiary-text:var(--colour-brand-inkwell, #14343b);--af-button-tertiary-icon:var(--colour-brand-inkwell, #14343b)}.hero-decoration.sc-af-hero-section{position:absolute;inset:0;pointer-events:none;z-index:0;height:0;width:0;overflow:visible}.hero-decoration.sc-af-hero-section-s>*,.hero-decoration .sc-af-hero-section-s>*{position:absolute !important;bottom:-440px;right:-1200px;width:1250px;height:820px;opacity:0.5}.hero-content.sc-af-hero-section{max-width:1000px;margin:0 auto;position:relative;z-index:1}@media (max-width: 768px){.hero-section.sc-af-hero-section{padding:3rem 1.5rem 2.5rem}}";
6
6
 
7
7
  const AfHeroSection = class {
8
8
  constructor(hostRef) {
9
9
  index.registerInstance(this, hostRef);
10
- /** Hero variant */
11
- this.variant = 'dark';
10
+ /** Theme - sets background color and provides theme context to children */
11
+ this.theme = 'inkwell';
12
12
  /** Show decorative paperclip */
13
13
  this.withDecoration = false;
14
14
  /** Minimum height */
15
15
  this.minHeight = '60vh';
16
+ /** Heading size for the typography lockup (1-5, where 1 is largest) */
17
+ this.headingSize = 1;
18
+ /** Text alignment for the typography lockup */
19
+ this.textAlignment = 'center';
20
+ /** Button alignment - horizontal places buttons inline, vertical stacks them */
21
+ this.buttonAlignment = 'horizontal';
16
22
  }
17
23
  render() {
18
- return (index.h(index.Host, { key: '04cc80eabba2deec11fb704a10f22e4fc78beb05' }, index.h("div", { key: 'fa2cba909c39a1387ebcdf2be6fd710ef1b66db7', class: `hero-section variant-${this.variant}`, style: { minHeight: this.minHeight } }, this.withDecoration && (index.h("div", { key: '27a340cd2601be24e820129939a0e9fc8b03edd7', class: "hero-decoration" }, index.h("slot", { key: 'ae480ef5001db618c3f939c1c8e2e87dac40819f', name: "decoration" }))), index.h("af-container", { key: '9a6be795a98100430b5fdaa39912a465989936b6' }, index.h("div", { key: '4ce12e860ba8f00c180d2a124b8295a3877962c2', class: "hero-content" }, index.h("slot", { key: '36965812bbece59614f08927266b12f28e4501ce' }))))));
24
+ return (index.h(index.Host, { key: '478e5359018d24bf6bce587711b3c35b951739a1' }, index.h("div", { key: '546fda1797f5f823bf420ef1372d1638dd329aa5', class: `hero-section theme-${this.theme}`, style: { minHeight: this.minHeight } }, this.withDecoration && (index.h("div", { key: 'da2db2c51444ff67f5d4d37e20004572c5f1da20', class: "hero-decoration" }, index.h("slot", { key: '71de6018d16c4f67c4c4dcd97cdb4d3e3c630afe', name: "decoration" }))), index.h("af-container", { key: 'c5f8da09f7b86776ea4df223e1e1c95f4502b468' }, index.h("div", { key: '4a9f69af1143cdfe53d70787332929a44d42e32a', class: "hero-content" }, index.h("af-typography-lockup", { key: 'b1c810fd26dfd2ce5603be6b22d1704eaea3fc40', headingSize: this.headingSize, textAlignment: this.textAlignment, buttonAlignment: this.buttonAlignment, maxWidth: this.maxWidth }, index.h("slot", { key: 'da9f749476bc343fd224552c313f0df41629d4dd', name: "heading" }), index.h("span", { key: '29118e86cc44446c73a12f43ff9ea3f4f798cc47', slot: "description" }, index.h("slot", { key: '0a8f7fafb3dc47fa01304867163c66f4fa676672', name: "description" })), index.h("span", { key: '7f5a08600946d7a0a2093bc9319198fd4a97cc32', slot: "buttons" }, index.h("slot", { key: 'd835dab6f8506520fb060647281e99c274bbd2d0', name: "buttons" }))))))));
19
25
  }
20
26
  };
21
27
  AfHeroSection.style = afHeroSectionCss;
@@ -1 +1 @@
1
- {"version":3,"file":"af-hero-section.entry.cjs.js","sources":["src/components/af-hero-section/af-hero-section.css?tag=af-hero-section&encapsulation=scoped","src/components/af-hero-section/af-hero-section.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n.hero-section {\n width: 100%;\n padding-top: clamp(6rem, 12vh, 8rem);\n padding-bottom: clamp(3rem, 8vh, 5rem);\n display: flex;\n align-items: center;\n justify-content: center;\n margin-top: 0;\n position: relative;\n z-index: 1;\n overflow: hidden;\n}\n\n/* Light variant */\n.variant-light {\n background-color: var(--colour-background-white, #FFFFFF);\n}\n\n/* Dark variant */\n.variant-dark {\n background-color: var(--colour-brand-inkwell, #14343B);\n}\n\n/* Set theme colors on dark backgrounds */\n.variant-dark af-heading,\n.variant-dark af-text {\n --typography-heading-primary: var(--colour-brand-mist-green, #C6D5D1);\n --typography-body-default: var(--colour-brand-mist-green, #C6D5D1);\n}\n\n.hero-decoration {\n position: absolute;\n inset: 0;\n pointer-events: none;\n z-index: 0;\n height: 0;\n width: 0;\n overflow: visible;\n}\n\n.hero-decoration ::slotted(*) {\n position: absolute !important;\n bottom: -440px;\n right: -1200px;\n width: 1250px;\n height: 820px;\n opacity: 0.5;\n}\n\n.hero-content {\n text-align: center;\n max-width: 1000px;\n margin: 0 auto;\n position: relative;\n z-index: 1;\n}\n\n/* Mobile adjustments */\n@media (max-width: 768px) {\n .hero-section {\n padding: 3rem 1.5rem 2.5rem;\n }\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Hero section component for marketing pages\n */\n@Component({\n tag: 'af-hero-section',\n styleUrl: 'af-hero-section.css',\n shadow: false,\n scoped: true,\n})\nexport class AfHeroSection {\n /** Hero variant */\n @Prop() variant: 'light' | 'dark' = 'dark';\n \n /** Show decorative paperclip */\n @Prop() withDecoration: boolean = false;\n \n /** Minimum height */\n @Prop() minHeight: string = '60vh';\n\n render() {\n return (\n <Host>\n <div class={`hero-section variant-${this.variant}`} style={{ minHeight: this.minHeight }}>\n {this.withDecoration && (\n <div class=\"hero-decoration\">\n <slot name=\"decoration\"></slot>\n </div>\n )}\n <af-container>\n <div class=\"hero-content\">\n <slot></slot>\n </div>\n </af-container>\n </div>\n </Host>\n );\n }\n}\n\n"],"names":["h","Host"],"mappings":";;;;AAAA,MAAM,gBAAgB,GAAG,8rCAA8rC;;MCW1sC,aAAa,GAAA,MAAA;AAN1B,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAQU,QAAA,IAAO,CAAA,OAAA,GAAqB,MAAM;;AAGlC,QAAA,IAAc,CAAA,cAAA,GAAY,KAAK;;AAG/B,QAAA,IAAS,CAAA,SAAA,GAAW,MAAM;AAoBnC;IAlBC,MAAM,GAAA;QACJ,QACEA,QAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACHD,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,CAAA,qBAAA,EAAwB,IAAI,CAAC,OAAO,CAAA,CAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EAAA,EACrF,IAAI,CAAC,cAAc,KAClBA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,iBAAiB,EAAA,EAC1BA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,YAAY,EAAA,CAAQ,CAC3B,CACP,EACDA,OAAA,CAAA,cAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACEA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,cAAc,EAAA,EACvBA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,CACO,CACX,CACD;;;;;;;"}
1
+ {"version":3,"file":"af-hero-section.entry.cjs.js","sources":["src/components/af-hero-section/af-hero-section.css?tag=af-hero-section&encapsulation=scoped","src/components/af-hero-section/af-hero-section.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n.hero-section {\n width: 100%;\n padding-top: clamp(6rem, 12vh, 8rem);\n padding-bottom: clamp(3rem, 8vh, 5rem);\n display: flex;\n align-items: center;\n justify-content: center;\n margin-top: 0;\n position: relative;\n z-index: 1;\n overflow: hidden;\n}\n\n/* ==========================================================================\n Theme Variants\n Each theme sets background color and CSS custom properties for children.\n ========================================================================== */\n\n/* WHITE THEME */\n.theme-white {\n background-color: var(--colour-brand-white, #FFFFFF);\n \n /* Typography tokens */\n --af-typography-heading-primary: var(--colour-brand-inkwell, #14343b);\n --af-typography-heading-secondary: var(--colour-brand-soft-clay, #b09670);\n --af-typography-body-dark: var(--colour-brand-inkwell, #14343b);\n --af-typography-body-default: var(--colour-inkwell-400, #2b484f);\n --af-typography-body-subtle: var(--colour-inkwell-350, #60767b);\n \n /* Button - Primary */\n --af-button-primary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-bg: var(--colour-brand-ice, #a6fffb);\n --af-button-primary-bg-hover: var(--colour-ice-600, #95e6e2);\n --af-button-primary-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Secondary */\n --af-button-secondary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-bg: transparent;\n --af-button-secondary-bg-hover: rgba(255, 255, 255, 0.08);\n --af-button-secondary-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Tertiary */\n --af-button-tertiary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-tertiary-icon: var(--colour-brand-inkwell, #14343b);\n}\n\n/* INKWELL THEME (Dark) */\n.theme-inkwell {\n background-color: var(--colour-brand-inkwell, #14343B);\n \n /* Typography tokens */\n --af-typography-heading-primary: var(--colour-brand-mist-green, #c6d5d1);\n --af-typography-heading-secondary: var(--colour-brand-white, #ffffff);\n --af-typography-body-dark: var(--colour-brand-white, #ffffff);\n --af-typography-body-default: var(--colour-inkwell-100, #d0d6d8);\n --af-typography-body-subtle: var(--colour-inkwell-200, #a1aeb1);\n \n /* Button - Primary */\n --af-button-primary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-bg: var(--colour-brand-ice, #a6fffb);\n --af-button-primary-bg-hover: var(--colour-ice-600, #95e6e2);\n --af-button-primary-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Secondary */\n --af-button-secondary-text: var(--colour-brand-white, #ffffff);\n --af-button-secondary-icon: var(--colour-brand-white, #ffffff);\n --af-button-secondary-bg: transparent;\n --af-button-secondary-bg-hover: rgba(0, 0, 0, 0.08);\n --af-button-secondary-stroke: var(--colour-brand-white, #ffffff);\n \n /* Button - Tertiary */\n --af-button-tertiary-text: var(--colour-brand-white, #ffffff);\n --af-button-tertiary-icon: var(--colour-brand-white, #ffffff);\n}\n\n/* MIST-GREEN THEME */\n.theme-mist-green {\n background-color: var(--colour-brand-mist-green, #C6D5D1);\n \n /* Typography tokens */\n --af-typography-heading-primary: var(--colour-brand-inkwell, #14343b);\n --af-typography-heading-secondary: var(--colour-brand-soft-clay, #b09670);\n --af-typography-body-dark: var(--colour-brand-inkwell, #14343b);\n --af-typography-body-default: var(--colour-inkwell-400, #2b484f);\n --af-typography-body-subtle: var(--colour-inkwell-350, #60767b);\n \n /* Button - Primary */\n --af-button-primary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-bg: var(--colour-brand-ice, #a6fffb);\n --af-button-primary-bg-hover: var(--colour-ice-600, #95e6e2);\n --af-button-primary-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Secondary */\n --af-button-secondary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-bg: transparent;\n --af-button-secondary-bg-hover: rgba(0, 0, 0, 0.08);\n --af-button-secondary-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Tertiary */\n --af-button-tertiary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-tertiary-icon: var(--colour-brand-inkwell, #14343b);\n}\n\n/* SOFT-CLAY THEME */\n.theme-soft-clay {\n background-color: var(--colour-softclay-400, #c0ab8d);\n \n /* Typography tokens */\n --af-typography-heading-primary: var(--colour-brand-inkwell, #14343b);\n --af-typography-heading-secondary: var(--colour-brand-ivory-paper, #fff9ee);\n --af-typography-body-dark: var(--colour-brand-inkwell, #14343b);\n --af-typography-body-default: var(--colour-inkwell-400, #2b484f);\n --af-typography-body-subtle: var(--colour-inkwell-350, #60767b);\n \n /* Button - Primary */\n --af-button-primary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-bg: var(--colour-brand-ice, #a6fffb);\n --af-button-primary-bg-hover: var(--colour-ice-600, #95e6e2);\n --af-button-primary-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Secondary */\n --af-button-secondary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-bg: transparent;\n --af-button-secondary-bg-hover: rgba(0, 0, 0, 0.08);\n --af-button-secondary-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Tertiary */\n --af-button-tertiary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-tertiary-icon: var(--colour-brand-inkwell, #14343b);\n}\n\n.hero-decoration {\n position: absolute;\n inset: 0;\n pointer-events: none;\n z-index: 0;\n height: 0;\n width: 0;\n overflow: visible;\n}\n\n.hero-decoration ::slotted(*) {\n position: absolute !important;\n bottom: -440px;\n right: -1200px;\n width: 1250px;\n height: 820px;\n opacity: 0.5;\n}\n\n.hero-content {\n max-width: 1000px;\n margin: 0 auto;\n position: relative;\n z-index: 1;\n}\n\n/* Mobile adjustments */\n@media (max-width: 768px) {\n .hero-section {\n padding: 3rem 1.5rem 2.5rem;\n }\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Hero section component for marketing pages.\n * Uses TypographyLockup internally to handle heading, description, and button layout.\n * Sets theme context for all child components via CSS custom properties.\n * \n * @slot heading - The main heading content (typically an af-heading)\n * @slot description - Description text below the heading (typically af-text)\n * @slot buttons - Call-to-action buttons (typically af-button-group or individual af-buttons)\n * @slot decoration - Optional decorative element (e.g., PaperclipDecoration)\n */\n@Component({\n tag: 'af-hero-section',\n styleUrl: 'af-hero-section.css',\n shadow: false,\n scoped: true,\n})\nexport class AfHeroSection {\n /** Theme - sets background color and provides theme context to children */\n @Prop() theme: 'white' | 'inkwell' | 'mist-green' | 'soft-clay' = 'inkwell';\n \n /** Show decorative paperclip */\n @Prop() withDecoration: boolean = false;\n \n /** Minimum height */\n @Prop() minHeight: string = '60vh';\n\n /** Heading size for the typography lockup (1-5, where 1 is largest) */\n @Prop() headingSize: 1 | 2 | 3 | 4 | 5 = 1;\n\n /** Text alignment for the typography lockup */\n @Prop() textAlignment: 'left' | 'center' = 'center';\n\n /** Button alignment - horizontal places buttons inline, vertical stacks them */\n @Prop() buttonAlignment: 'horizontal' | 'vertical' = 'horizontal';\n\n /** Maximum width for the copy section (in pixels) */\n @Prop() maxWidth?: number;\n\n render() {\n return (\n <Host>\n <div class={`hero-section theme-${this.theme}`} style={{ minHeight: this.minHeight }}>\n {this.withDecoration && (\n <div class=\"hero-decoration\">\n <slot name=\"decoration\"></slot>\n </div>\n )}\n <af-container>\n <div class=\"hero-content\">\n <af-typography-lockup\n headingSize={this.headingSize}\n textAlignment={this.textAlignment}\n buttonAlignment={this.buttonAlignment}\n maxWidth={this.maxWidth}\n >\n <slot name=\"heading\"></slot>\n <span slot=\"description\">\n <slot name=\"description\"></slot>\n </span>\n <span slot=\"buttons\">\n <slot name=\"buttons\"></slot>\n </span>\n </af-typography-lockup>\n </div>\n </af-container>\n </div>\n </Host>\n );\n }\n}\n"],"names":["h","Host"],"mappings":";;;;AAAA,MAAM,gBAAgB,GAAG,sqKAAsqK;;MCkBlrK,aAAa,GAAA,MAAA;AAN1B,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAQU,QAAA,IAAK,CAAA,KAAA,GAAqD,SAAS;;AAGnE,QAAA,IAAc,CAAA,cAAA,GAAY,KAAK;;AAG/B,QAAA,IAAS,CAAA,SAAA,GAAW,MAAM;;AAG1B,QAAA,IAAW,CAAA,WAAA,GAAsB,CAAC;;AAGlC,QAAA,IAAa,CAAA,aAAA,GAAsB,QAAQ;;AAG3C,QAAA,IAAe,CAAA,eAAA,GAA8B,YAAY;AAoClE;IA/BC,MAAM,GAAA;QACJ,QACEA,QAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACHD,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,CAAA,mBAAA,EAAsB,IAAI,CAAC,KAAK,CAAE,CAAA,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EAAA,EACjF,IAAI,CAAC,cAAc,KAClBA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,iBAAiB,EAAA,EAC1BA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,YAAY,EAAA,CAAQ,CAC3B,CACP,EACDA,OAAA,CAAA,cAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACEA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,cAAc,EAAA,EACvBA,OACE,CAAA,sBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,eAAe,EAAE,IAAI,CAAC,eAAe,EACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAA,EAEvBA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,SAAS,EAAQ,CAAA,EAC5BA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,aAAa,EAAA,EACtBA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,aAAa,EAAA,CAAQ,CAC3B,EACPA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,SAAS,EAAA,EAClBA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,SAAS,EAAQ,CAAA,CACvB,CACc,CACnB,CACO,CACX,CACD;;;;;;;"}
@@ -0,0 +1,30 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-ybEiHT0b.js');
4
+
5
+ const afIconBoxCss = ".sc-af-icon-box-h{display:inline-block}.icon-box.sc-af-icon-box{display:inline-flex;align-items:center;justify-content:center;border-radius:16px;background-color:var(--af-background-contrast, var(--colour-brand-mist-green, #c6d5d1));color:var(--af-background-icon-default, var(--colour-brand-inkwell, #14343b));flex-shrink:0}.icon-box--size-small.sc-af-icon-box{width:48px;height:48px;padding:14px;border-radius:12px}.icon-box--size-default.sc-af-icon-box{width:64px;height:64px;padding:12px;border-radius:16px}.icon-box--size-large.sc-af-icon-box{width:80px;height:80px;padding:16px;border-radius:20px}";
6
+
7
+ const AfIconBox = class {
8
+ constructor(hostRef) {
9
+ index.registerInstance(this, hostRef);
10
+ /**
11
+ * Size variant of the icon box
12
+ * - 'small': 48px container, 20px icon
13
+ * - 'default': 64px container, 40px icon
14
+ * - 'large': 80px container, 48px icon
15
+ */
16
+ this.size = 'default';
17
+ }
18
+ render() {
19
+ const containerClasses = {
20
+ 'icon-box': true,
21
+ [`icon-box--size-${this.size}`]: true,
22
+ };
23
+ const iconSize = this.size === 'small' ? 20 : this.size === 'large' ? 48 : 40;
24
+ return (index.h(index.Host, { key: 'f98a89d393a98dbb00fe8f3d47c22e18392015c9' }, index.h("div", { key: '5f899eafc9b55126f495ba5ac60e768454bde2c9', class: containerClasses }, index.h("af-icon", { key: '1be5097838ffb99ac6b127d3848327bbe24f6e7e', name: this.icon, size: iconSize }))));
25
+ }
26
+ };
27
+ AfIconBox.style = afIconBoxCss;
28
+
29
+ exports.af_icon_box = AfIconBox;
30
+ //# sourceMappingURL=af-icon-box.entry.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"af-icon-box.entry.cjs.js","sources":["src/components/af-icon-box/af-icon-box.css?tag=af-icon-box&encapsulation=scoped","src/components/af-icon-box/af-icon-box.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n.icon-box {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 16px;\n background-color: var(--af-background-contrast, var(--colour-brand-mist-green, #c6d5d1));\n color: var(--af-background-icon-default, var(--colour-brand-inkwell, #14343b));\n flex-shrink: 0;\n}\n\n/* Size variants */\n.icon-box--size-small {\n width: 48px;\n height: 48px;\n padding: 14px;\n border-radius: 12px;\n}\n\n.icon-box--size-default {\n width: 64px;\n height: 64px;\n padding: 12px;\n border-radius: 16px;\n}\n\n.icon-box--size-large {\n width: 80px;\n height: 80px;\n padding: 16px;\n border-radius: 20px;\n}\n\n","import { Component, h, Prop, Host } from '@stencil/core';\nimport type { IconName } from '@affinda/icons';\n\n/**\n * IconBox atom - a themed container for displaying an icon with a rounded background.\n * \n * Inherits theme colors from parent Section via CSS custom properties:\n * - Background uses `--af-background-contrast`\n * - Icon color uses `--af-background-icon-default`\n * \n * @example\n * ```html\n * <af-icon-box icon=\"settings\" size=\"default\"></af-icon-box>\n * ```\n */\n@Component({\n tag: 'af-icon-box',\n styleUrl: 'af-icon-box.css',\n shadow: false,\n scoped: true,\n})\nexport class AfIconBox {\n /**\n * The name of the icon to display (from @affinda/icons)\n */\n @Prop() icon!: IconName;\n\n /**\n * Size variant of the icon box\n * - 'small': 48px container, 20px icon\n * - 'default': 64px container, 40px icon\n * - 'large': 80px container, 48px icon\n */\n @Prop() size: 'small' | 'default' | 'large' = 'default';\n\n render() {\n const containerClasses = {\n 'icon-box': true,\n [`icon-box--size-${this.size}`]: true,\n };\n\n const iconSize = this.size === 'small' ? 20 : this.size === 'large' ? 48 : 40;\n\n return (\n <Host>\n <div class={containerClasses}>\n <af-icon name={this.icon} size={iconSize}></af-icon>\n </div>\n </Host>\n );\n }\n}\n\n"],"names":["h","Host"],"mappings":";;;;AAAA,MAAM,YAAY,GAAG,6lBAA6lB;;MCqBrmB,SAAS,GAAA,MAAA;AANtB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAYE;;;;;AAKG;AACK,QAAA,IAAI,CAAA,IAAA,GAAkC,SAAS;AAkBxD;IAhBC,MAAM,GAAA;AACJ,QAAA,MAAM,gBAAgB,GAAG;AACvB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;SACtC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,GAAG,EAAE,GAAG,EAAE;QAE7E,QACEA,QAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACHD,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,gBAAgB,EAAA,EAC1BA,OAAA,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAS,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAA,CAAY,CAChD,CACD;;;;;;;"}