@affinda/wc 0.0.23 → 0.0.24

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 (348) hide show
  1. package/dist/affinda/affinda.esm.js +1 -1
  2. package/dist/affinda/p-04a096ee.entry.js +1 -0
  3. package/dist/affinda/{p-20fe557e.entry.js → p-0c408447.entry.js} +1 -1
  4. package/dist/affinda/{p-0ae3495c.entry.js → p-1d94a137.entry.js} +1 -1
  5. package/dist/affinda/p-1f51e065.entry.js +1 -0
  6. package/dist/affinda/{p-d9cfea73.entry.js → p-21b7ea67.entry.js} +1 -1
  7. package/dist/affinda/p-26362b90.entry.js +1 -0
  8. package/dist/affinda/{p-8742f8fe.entry.js → p-29fd5654.entry.js} +1 -1
  9. package/dist/affinda/p-2e1df315.entry.js +1 -0
  10. package/dist/affinda/{p-404f2cea.entry.js → p-39967eba.entry.js} +1 -1
  11. package/dist/affinda/{p-00a226ba.entry.js → p-3b4fb1a5.entry.js} +1 -1
  12. package/dist/affinda/p-40456eb5.entry.js +1 -0
  13. package/dist/affinda/{p-854f6a9e.entry.js → p-416836f3.entry.js} +1 -1
  14. package/dist/affinda/p-43c24797.entry.js +1 -0
  15. package/dist/affinda/{p-f825b81f.entry.js → p-45d62b98.entry.js} +1 -1
  16. package/dist/affinda/{p-26a60b00.entry.js → p-470b9a06.entry.js} +1 -1
  17. package/dist/affinda/p-4758f89c.entry.js +1 -0
  18. package/dist/affinda/{p-8c394de2.entry.js → p-4844d749.entry.js} +1 -1
  19. package/dist/affinda/p-4c362739.entry.js +1 -0
  20. package/dist/affinda/p-5636afa9.entry.js +1 -0
  21. package/dist/affinda/p-6059b95e.entry.js +1 -0
  22. package/dist/affinda/p-60cf2a82.entry.js +1 -0
  23. package/dist/affinda/p-65207722.entry.js +1 -0
  24. package/dist/affinda/{p-7ed6ee6a.entry.js → p-66dd6356.entry.js} +1 -1
  25. package/dist/affinda/{p-6c99b2bb.entry.js → p-678cb08c.entry.js} +1 -1
  26. package/dist/affinda/p-6c10d037.entry.js +1 -0
  27. package/dist/affinda/p-6d43ed06.entry.js +1 -0
  28. package/dist/affinda/p-6dc635ec.entry.js +1 -0
  29. package/dist/affinda/p-6f5d8680.entry.js +1 -0
  30. package/dist/affinda/p-7bc1ed79.entry.js +1 -0
  31. package/dist/affinda/{p-2d4c1202.entry.js → p-7c4f05a7.entry.js} +1 -1
  32. package/dist/affinda/p-821c1522.entry.js +1 -0
  33. package/dist/affinda/{p-81de8fbd.entry.js → p-8c34efbb.entry.js} +1 -1
  34. package/dist/affinda/p-9405394d.entry.js +1 -0
  35. package/dist/affinda/p-ad71a40c.entry.js +1 -0
  36. package/dist/affinda/{p-468d16b1.entry.js → p-b0babcae.entry.js} +1 -1
  37. package/dist/affinda/p-b435de99.entry.js +1 -0
  38. package/dist/affinda/{p-e61dfb97.entry.js → p-b563bb90.entry.js} +1 -1
  39. package/dist/affinda/{p-f79781ff.entry.js → p-c1cb8ef8.entry.js} +1 -1
  40. package/dist/affinda/{p-9018ddec.entry.js → p-c1df7855.entry.js} +1 -1
  41. package/dist/affinda/p-c83e8184.entry.js +1 -0
  42. package/dist/affinda/p-d3d9eac1.entry.js +1 -0
  43. package/dist/affinda/p-d3e3653e.entry.js +1 -0
  44. package/dist/affinda/{p-589a860a.entry.js → p-da9d1f7d.entry.js} +1 -1
  45. package/dist/affinda/{p-289cb56f.entry.js → p-dce846f2.entry.js} +1 -1
  46. package/dist/affinda/p-ddd41c87.entry.js +1 -0
  47. package/dist/affinda/{p-0264279f.entry.js → p-e169a37b.entry.js} +1 -1
  48. package/dist/affinda/p-e91ef47c.entry.js +1 -0
  49. package/dist/affinda/{p-b9f58a18.entry.js → p-fb01c4e0.entry.js} +1 -1
  50. package/dist/cjs/af-accordion-item.cjs.entry.js +27 -1
  51. package/dist/cjs/af-accordion.cjs.entry.js +1 -1
  52. package/dist/cjs/af-button.cjs.entry.js +4 -5
  53. package/dist/cjs/af-card.cjs.entry.js +2 -2
  54. package/dist/cjs/af-center.cjs.entry.js +1 -1
  55. package/dist/cjs/af-client-carousel.cjs.entry.js +30 -2
  56. package/dist/cjs/af-contact-item.cjs.entry.js +1 -1
  57. package/dist/cjs/af-container.cjs.entry.js +1 -1
  58. package/dist/cjs/af-divider.cjs.entry.js +1 -1
  59. package/dist/cjs/af-feature-accordion.cjs.entry.js +2 -2
  60. package/dist/cjs/af-feature-grid.cjs.entry.js +2 -2
  61. package/dist/cjs/af-footer-column.cjs.entry.js +1 -1
  62. package/dist/cjs/af-footer-link.cjs.entry.js +1 -1
  63. package/dist/cjs/af-footer.cjs.entry.js +2 -2
  64. package/dist/cjs/af-grid.cjs.entry.js +3 -3
  65. package/dist/cjs/af-heading_5.cjs.entry.js +42 -14
  66. package/dist/cjs/af-icon-box.cjs.entry.js +1 -1
  67. package/dist/cjs/af-icon-button.cjs.entry.js +1 -1
  68. package/dist/cjs/af-icon-text.cjs.entry.js +1 -1
  69. package/dist/cjs/af-illustrated-card.cjs.entry.js +1 -1
  70. package/dist/cjs/af-image.cjs.entry.js +2 -12
  71. package/dist/cjs/af-in-page-banner.cjs.entry.js +2 -2
  72. package/dist/cjs/af-inline.cjs.entry.js +1 -1
  73. package/dist/cjs/af-logo-well.cjs.entry.js +1 -1
  74. package/dist/cjs/af-nav-accordion-item.cjs.entry.js +17 -2
  75. package/dist/cjs/af-nav-accordion.cjs.entry.js +1 -1
  76. package/dist/cjs/af-nav-menu-nest.cjs.entry.js +2 -2
  77. package/dist/cjs/af-nav-menu.cjs.entry.js +1 -1
  78. package/dist/cjs/af-number-badge.cjs.entry.js +1 -1
  79. package/dist/cjs/af-progress-line.cjs.entry.js +2 -2
  80. package/dist/cjs/af-section.cjs.entry.js +3 -3
  81. package/dist/cjs/af-show.cjs.entry.js +2 -2
  82. package/dist/cjs/af-social-link.cjs.entry.js +1 -1
  83. package/dist/cjs/af-spacer.cjs.entry.js +1 -1
  84. package/dist/cjs/af-split-section.cjs.entry.js +2 -2
  85. package/dist/cjs/af-stack.cjs.entry.js +1 -1
  86. package/dist/cjs/af-stepper-step.cjs.entry.js +1 -1
  87. package/dist/cjs/af-stepper.cjs.entry.js +1 -1
  88. package/dist/cjs/af-tag.cjs.entry.js +8 -7
  89. package/dist/cjs/af-testimonial-carousel.cjs.entry.js +2 -2
  90. package/dist/cjs/af-testimonial-stat.cjs.entry.js +1 -1
  91. package/dist/cjs/af-testimonial.cjs.entry.js +3 -3
  92. package/dist/cjs/af-text-image-nest.cjs.entry.js +1 -1
  93. package/dist/cjs/af-text-image.cjs.entry.js +2 -1
  94. package/dist/cjs/af-theme-override.cjs.entry.js +2 -2
  95. package/dist/cjs/af-typography-lockup.cjs.entry.js +28 -3
  96. package/dist/cjs/af-video-container.cjs.entry.js +1 -1
  97. package/dist/cjs/af-visually-hidden.cjs.entry.js +1 -1
  98. package/dist/cjs/affinda.cjs.js +1 -1
  99. package/dist/cjs/loader.cjs.js +1 -1
  100. package/dist/collection/components/af-accordion/af-accordion.js +1 -1
  101. package/dist/collection/components/af-accordion-item/af-accordion-item.js +27 -1
  102. package/dist/collection/components/af-button/af-button.css +24 -24
  103. package/dist/collection/components/af-button/af-button.js +9 -10
  104. package/dist/collection/components/af-card/af-card.css +2 -2
  105. package/dist/collection/components/af-card/af-card.js +1 -1
  106. package/dist/collection/components/af-center/af-center.js +1 -1
  107. package/dist/collection/components/af-client-carousel/af-client-carousel.css +17 -2
  108. package/dist/collection/components/af-client-carousel/af-client-carousel.js +41 -5
  109. package/dist/collection/components/af-contact-item/af-contact-item.js +1 -1
  110. package/dist/collection/components/af-container/af-container.css +6 -11
  111. package/dist/collection/components/af-divider/af-divider.js +1 -1
  112. package/dist/collection/components/af-feature-accordion/af-feature-accordion.css +2 -0
  113. package/dist/collection/components/af-feature-accordion/af-feature-accordion.js +2 -2
  114. package/dist/collection/components/af-feature-card/af-feature-card.css +1 -0
  115. package/dist/collection/components/af-feature-grid/af-feature-grid.css +6 -4
  116. package/dist/collection/components/af-feature-grid/af-feature-grid.js +1 -1
  117. package/dist/collection/components/af-footer/af-footer.css +11 -4
  118. package/dist/collection/components/af-footer/af-footer.js +1 -1
  119. package/dist/collection/components/af-footer-column/af-footer-column.js +1 -1
  120. package/dist/collection/components/af-footer-link/af-footer-link.js +1 -1
  121. package/dist/collection/components/af-grid/af-grid.css +5 -2
  122. package/dist/collection/components/af-grid/af-grid.js +2 -2
  123. package/dist/collection/components/af-grid-callout/af-grid-callout.css +2 -0
  124. package/dist/collection/components/af-heading/af-heading.css +19 -32
  125. package/dist/collection/components/af-icon-box/af-icon-box.js +1 -1
  126. package/dist/collection/components/af-icon-button/af-icon-button.css +2 -2
  127. package/dist/collection/components/af-icon-text/af-icon-text.css +1 -0
  128. package/dist/collection/components/af-icon-text/af-icon-text.js +3 -3
  129. package/dist/collection/components/af-illustrated-card/af-illustrated-card.js +3 -4
  130. package/dist/collection/components/af-image/af-image.css +4 -21
  131. package/dist/collection/components/af-image/af-image.js +1 -33
  132. package/dist/collection/components/af-in-page-banner/af-in-page-banner.css +3 -3
  133. package/dist/collection/components/af-in-page-banner/af-in-page-banner.js +1 -11
  134. package/dist/collection/components/af-inline/af-inline.js +1 -1
  135. package/dist/collection/components/af-logo-well/af-logo-well.css +1 -0
  136. package/dist/collection/components/af-logo-well/af-logo-well.js +1 -1
  137. package/dist/collection/components/af-nav-accordion/af-nav-accordion.js +1 -1
  138. package/dist/collection/components/af-nav-accordion-item/af-nav-accordion-item.js +19 -4
  139. package/dist/collection/components/af-nav-item/af-nav-item.css +5 -8
  140. package/dist/collection/components/af-nav-item/af-nav-item.js +31 -4
  141. package/dist/collection/components/af-nav-menu/af-nav-menu.js +1 -1
  142. package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.css +25 -1
  143. package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js +1 -1
  144. package/dist/collection/components/af-navbar/af-navbar.css +30 -14
  145. package/dist/collection/components/af-navbar/af-navbar.js +15 -7
  146. package/dist/collection/components/af-number-badge/af-number-badge.js +1 -1
  147. package/dist/collection/components/af-progress-line/af-progress-line.js +2 -2
  148. package/dist/collection/components/af-section/af-section.css +15 -15
  149. package/dist/collection/components/af-section/af-section.js +2 -2
  150. package/dist/collection/components/af-show/af-show.css +4 -4
  151. package/dist/collection/components/af-show/af-show.js +1 -1
  152. package/dist/collection/components/af-social-link/af-social-link.js +1 -1
  153. package/dist/collection/components/af-spacer/af-spacer.js +1 -1
  154. package/dist/collection/components/af-split-section/af-split-section.css +1 -0
  155. package/dist/collection/components/af-split-section/af-split-section.js +2 -2
  156. package/dist/collection/components/af-stack/af-stack.js +1 -1
  157. package/dist/collection/components/af-stepper/af-stepper.css +1 -0
  158. package/dist/collection/components/af-stepper/af-stepper.js +1 -1
  159. package/dist/collection/components/af-stepper-step/af-stepper-step.css +1 -0
  160. package/dist/collection/components/af-stepper-step/af-stepper-step.js +1 -1
  161. package/dist/collection/components/af-tag/af-tag.css +21 -41
  162. package/dist/collection/components/af-tag/af-tag.js +13 -16
  163. package/dist/collection/components/af-testimonial/af-testimonial.css +24 -29
  164. package/dist/collection/components/af-testimonial/af-testimonial.js +6 -14
  165. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.css +8 -0
  166. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js +1 -1
  167. package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js +1 -1
  168. package/dist/collection/components/af-text-image/af-text-image.css +10 -0
  169. package/dist/collection/components/af-text-image/af-text-image.js +4 -3
  170. package/dist/collection/components/af-text-image-nest/af-text-image-nest.css +1 -0
  171. package/dist/collection/components/af-text-image-nest/af-text-image-nest.js +1 -1
  172. package/dist/collection/components/af-theme-override/af-theme-override.css +15 -15
  173. package/dist/collection/components/af-theme-override/af-theme-override.js +1 -1
  174. package/dist/collection/components/af-typography-lockup/af-typography-lockup.css +4 -22
  175. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js +49 -3
  176. package/dist/collection/components/af-video-container/af-video-container.css +1 -0
  177. package/dist/collection/components/af-video-container/af-video-container.js +1 -1
  178. package/dist/collection/components/af-visually-hidden/af-visually-hidden.js +1 -1
  179. package/dist/components/af-accordion-item.js +1 -1
  180. package/dist/components/af-accordion.js +1 -1
  181. package/dist/components/af-button.js +1 -1
  182. package/dist/components/af-card.js +1 -1
  183. package/dist/components/af-center.js +1 -1
  184. package/dist/components/af-client-carousel.js +1 -1
  185. package/dist/components/af-contact-item.js +1 -1
  186. package/dist/components/af-container.js +1 -1
  187. package/dist/components/af-divider.js +1 -1
  188. package/dist/components/af-feature-accordion.js +1 -1
  189. package/dist/components/af-feature-card.js +1 -1
  190. package/dist/components/af-feature-grid.js +1 -1
  191. package/dist/components/af-footer-column.js +1 -1
  192. package/dist/components/af-footer-link.js +1 -1
  193. package/dist/components/af-footer.js +1 -1
  194. package/dist/components/af-grid-callout.js +1 -1
  195. package/dist/components/af-grid.js +1 -1
  196. package/dist/components/af-heading.js +1 -1
  197. package/dist/components/af-icon-box.js +1 -1
  198. package/dist/components/af-icon-button.js +1 -1
  199. package/dist/components/af-icon-text.js +1 -1
  200. package/dist/components/af-illustrated-card.js +1 -1
  201. package/dist/components/af-image.js +1 -1
  202. package/dist/components/af-in-page-banner.js +1 -1
  203. package/dist/components/af-inline.js +1 -1
  204. package/dist/components/af-logo-well.js +1 -1
  205. package/dist/components/af-nav-accordion-item.js +1 -1
  206. package/dist/components/af-nav-accordion.js +1 -1
  207. package/dist/components/af-nav-item.js +1 -1
  208. package/dist/components/af-nav-menu-nest.js +1 -1
  209. package/dist/components/af-nav-menu.js +1 -1
  210. package/dist/components/af-navbar.js +1 -1
  211. package/dist/components/af-number-badge.js +1 -1
  212. package/dist/components/af-progress-line.js +1 -1
  213. package/dist/components/af-section.js +1 -1
  214. package/dist/components/af-show.js +1 -1
  215. package/dist/components/af-social-link.js +1 -1
  216. package/dist/components/af-spacer.js +1 -1
  217. package/dist/components/af-split-section.js +1 -1
  218. package/dist/components/af-stack.js +1 -1
  219. package/dist/components/af-stepper-step.js +1 -1
  220. package/dist/components/af-stepper.js +1 -1
  221. package/dist/components/af-tag.js +1 -1
  222. package/dist/components/af-testimonial-carousel.js +1 -1
  223. package/dist/components/af-testimonial-stat.js +1 -1
  224. package/dist/components/af-testimonial.js +1 -1
  225. package/dist/components/af-text-image-nest.js +1 -1
  226. package/dist/components/af-text-image.js +1 -1
  227. package/dist/components/af-theme-override.js +1 -1
  228. package/dist/components/af-typography-lockup.js +1 -1
  229. package/dist/components/af-video-container.js +1 -1
  230. package/dist/components/af-visually-hidden.js +1 -1
  231. package/dist/components/index.js +1 -1
  232. package/dist/components/p-2f5xVWwF.js +1 -0
  233. package/dist/components/{p-DPujlxcb.js → p-B7-0t_dL.js} +1 -1
  234. package/dist/components/p-B7lJGMfD.js +1 -0
  235. package/dist/components/p-BAJW_4SY.js +1 -0
  236. package/dist/components/{p-9SgEr6QK.js → p-BE3eM0xx.js} +1 -1
  237. package/dist/components/p-BMwWkh8F.js +1 -0
  238. package/dist/components/p-BvLGR36l.js +1 -0
  239. package/dist/components/p-C5_nFNYV.js +1 -0
  240. package/dist/components/p-CB_hDYLo.js +1 -0
  241. package/dist/components/p-CRW9bpXa.js +1 -0
  242. package/dist/components/p-Cv9-Wbu_.js +1 -0
  243. package/dist/components/p-CwPFdy8d.js +1 -0
  244. package/dist/components/p-oawfHsaK.js +1 -0
  245. package/dist/components/p-wM1k9Wi7.js +1 -0
  246. package/dist/esm/af-accordion-item.entry.js +27 -1
  247. package/dist/esm/af-accordion.entry.js +1 -1
  248. package/dist/esm/af-button.entry.js +4 -5
  249. package/dist/esm/af-card.entry.js +2 -2
  250. package/dist/esm/af-center.entry.js +1 -1
  251. package/dist/esm/af-client-carousel.entry.js +31 -3
  252. package/dist/esm/af-contact-item.entry.js +1 -1
  253. package/dist/esm/af-container.entry.js +1 -1
  254. package/dist/esm/af-divider.entry.js +1 -1
  255. package/dist/esm/af-feature-accordion.entry.js +2 -2
  256. package/dist/esm/af-feature-grid.entry.js +2 -2
  257. package/dist/esm/af-footer-column.entry.js +1 -1
  258. package/dist/esm/af-footer-link.entry.js +1 -1
  259. package/dist/esm/af-footer.entry.js +2 -2
  260. package/dist/esm/af-grid.entry.js +3 -3
  261. package/dist/esm/af-heading_5.entry.js +42 -14
  262. package/dist/esm/af-icon-box.entry.js +1 -1
  263. package/dist/esm/af-icon-button.entry.js +1 -1
  264. package/dist/esm/af-icon-text.entry.js +1 -1
  265. package/dist/esm/af-illustrated-card.entry.js +1 -1
  266. package/dist/esm/af-image.entry.js +2 -12
  267. package/dist/esm/af-in-page-banner.entry.js +2 -2
  268. package/dist/esm/af-inline.entry.js +1 -1
  269. package/dist/esm/af-logo-well.entry.js +1 -1
  270. package/dist/esm/af-nav-accordion-item.entry.js +17 -2
  271. package/dist/esm/af-nav-accordion.entry.js +1 -1
  272. package/dist/esm/af-nav-menu-nest.entry.js +2 -2
  273. package/dist/esm/af-nav-menu.entry.js +1 -1
  274. package/dist/esm/af-number-badge.entry.js +1 -1
  275. package/dist/esm/af-progress-line.entry.js +2 -2
  276. package/dist/esm/af-section.entry.js +3 -3
  277. package/dist/esm/af-show.entry.js +2 -2
  278. package/dist/esm/af-social-link.entry.js +1 -1
  279. package/dist/esm/af-spacer.entry.js +1 -1
  280. package/dist/esm/af-split-section.entry.js +2 -2
  281. package/dist/esm/af-stack.entry.js +1 -1
  282. package/dist/esm/af-stepper-step.entry.js +1 -1
  283. package/dist/esm/af-stepper.entry.js +1 -1
  284. package/dist/esm/af-tag.entry.js +8 -7
  285. package/dist/esm/af-testimonial-carousel.entry.js +2 -2
  286. package/dist/esm/af-testimonial-stat.entry.js +1 -1
  287. package/dist/esm/af-testimonial.entry.js +3 -3
  288. package/dist/esm/af-text-image-nest.entry.js +1 -1
  289. package/dist/esm/af-text-image.entry.js +2 -1
  290. package/dist/esm/af-theme-override.entry.js +2 -2
  291. package/dist/esm/af-typography-lockup.entry.js +29 -4
  292. package/dist/esm/af-video-container.entry.js +1 -1
  293. package/dist/esm/af-visually-hidden.entry.js +1 -1
  294. package/dist/esm/affinda.js +1 -1
  295. package/dist/esm/loader.js +1 -1
  296. package/dist/types/components/af-button/af-button.d.ts +5 -6
  297. package/dist/types/components/af-client-carousel/af-client-carousel.d.ts +26 -3
  298. package/dist/types/components/af-icon-text/af-icon-text.d.ts +2 -2
  299. package/dist/types/components/af-illustrated-card/af-illustrated-card.d.ts +2 -3
  300. package/dist/types/components/af-image/af-image.d.ts +0 -10
  301. package/dist/types/components/af-in-page-banner/af-in-page-banner.d.ts +0 -10
  302. package/dist/types/components/af-nav-accordion-item/af-nav-accordion-item.d.ts +9 -0
  303. package/dist/types/components/af-nav-item/af-nav-item.d.ts +14 -0
  304. package/dist/types/components/af-navbar/af-navbar.d.ts +9 -1
  305. package/dist/types/components/af-tag/af-tag.d.ts +7 -10
  306. package/dist/types/components/af-testimonial/af-testimonial.d.ts +2 -11
  307. package/dist/types/components/af-text-image/af-text-image.d.ts +2 -1
  308. package/dist/types/components/af-typography-lockup/af-typography-lockup.d.ts +26 -1
  309. package/dist/types/components.d.ts +180 -115
  310. package/package.json +1 -1
  311. package/dist/affinda/p-09184969.entry.js +0 -1
  312. package/dist/affinda/p-0c6b7f0b.entry.js +0 -1
  313. package/dist/affinda/p-14c85efd.entry.js +0 -1
  314. package/dist/affinda/p-1d72e1dd.entry.js +0 -1
  315. package/dist/affinda/p-2c0c94c5.entry.js +0 -1
  316. package/dist/affinda/p-2ce405df.entry.js +0 -1
  317. package/dist/affinda/p-2f1e0c44.entry.js +0 -1
  318. package/dist/affinda/p-3899a278.entry.js +0 -1
  319. package/dist/affinda/p-46efe4e4.entry.js +0 -1
  320. package/dist/affinda/p-63e86a14.entry.js +0 -1
  321. package/dist/affinda/p-9fea6229.entry.js +0 -1
  322. package/dist/affinda/p-a5f7d3d6.entry.js +0 -1
  323. package/dist/affinda/p-a8af25d5.entry.js +0 -1
  324. package/dist/affinda/p-af9e25ea.entry.js +0 -1
  325. package/dist/affinda/p-bd3f81fc.entry.js +0 -1
  326. package/dist/affinda/p-ca14e17a.entry.js +0 -1
  327. package/dist/affinda/p-cb889d6b.entry.js +0 -1
  328. package/dist/affinda/p-cbf0911b.entry.js +0 -1
  329. package/dist/affinda/p-d7129564.entry.js +0 -1
  330. package/dist/affinda/p-df7b1b09.entry.js +0 -1
  331. package/dist/affinda/p-e0915179.entry.js +0 -1
  332. package/dist/affinda/p-e3cd6671.entry.js +0 -1
  333. package/dist/affinda/p-e6b4761c.entry.js +0 -1
  334. package/dist/affinda/p-ef754e65.entry.js +0 -1
  335. package/dist/affinda/p-f3d5d1be.entry.js +0 -1
  336. package/dist/affinda/p-ffdd2c30.entry.js +0 -1
  337. package/dist/components/p-B6I3yxMd.js +0 -1
  338. package/dist/components/p-BUFbtjxU.js +0 -1
  339. package/dist/components/p-BeVM-2kH.js +0 -1
  340. package/dist/components/p-BlfywPKX.js +0 -1
  341. package/dist/components/p-BzH2LxRQ.js +0 -1
  342. package/dist/components/p-CHNaDIj5.js +0 -1
  343. package/dist/components/p-CSGAhCLK.js +0 -1
  344. package/dist/components/p-CTcar4TG.js +0 -1
  345. package/dist/components/p-DOJEJFNa.js +0 -1
  346. package/dist/components/p-UTiuvQaz.js +0 -1
  347. package/dist/components/p-tB2jS8S_.js +0 -1
  348. package/dist/components/p-tF59ipRp.js +0 -1
@@ -71,7 +71,7 @@ export class AfNavAccordion {
71
71
  this.syncItems();
72
72
  }
73
73
  render() {
74
- return (h(Host, { key: 'ffb96d7b9f49689a0d35cb54beaead039ca286f7', class: { [`breakpoint-${this.breakpoint}`]: true, [`mode-${this.mode}`]: true } }, h("div", { key: 'fd20f9141c3cef43992756234531998900562e22', class: "nav-accordion" }, h("slot", { key: 'ea11fb80a9700b8ce5c661e31251add479692011' }))));
74
+ return (h(Host, { key: '9764092415b6f501cdbf38649e00d172bbbf8e12', class: { [`breakpoint-${this.breakpoint}`]: true, [`mode-${this.mode}`]: true } }, h("div", { key: 'c8dbefa2fcffc74ade77432b4a97e0decbc15823', class: "nav-accordion" }, h("slot", { key: '688c01dc567713e5e1040b766f32f8d1a67b8d0f' }))));
75
75
  }
76
76
  static get is() { return "af-nav-accordion"; }
77
77
  static get encapsulation() { return "scoped"; }
@@ -22,6 +22,7 @@ export class AfNavAccordionItem {
22
22
  this.breakpoint = 'mobile';
23
23
  this.contentHeight = 0;
24
24
  this.hasTriggerSlot = false;
25
+ this.hasContent = false;
25
26
  this.handleTriggerClick = (event) => {
26
27
  // If it's a link, let it navigate (unless they clicked the chevron specifically)
27
28
  if (this.href) {
@@ -46,6 +47,16 @@ export class AfNavAccordionItem {
46
47
  this.measureContent();
47
48
  }
48
49
  }
50
+ /**
51
+ * Detect whether the host has any default-slot children — i.e. whether
52
+ * this item expands to reveal a sub-menu, or is just a simple link.
53
+ * We check in componentWillLoad (before render) because after render
54
+ * Stencil has appended its own output to the host and this.el.children
55
+ * would include that.
56
+ */
57
+ componentWillLoad() {
58
+ this.hasContent = Array.from(this.el.children).some((child) => !child.hasAttribute('slot'));
59
+ }
49
60
  componentDidLoad() {
50
61
  if (this.open) {
51
62
  this.measureContent();
@@ -69,12 +80,15 @@ export class AfNavAccordionItem {
69
80
  const contentStyle = {
70
81
  maxHeight: this.open ? `${this.contentHeight}px` : '0px'
71
82
  };
72
- const hasDropdownContent = true; // Assume content is always present for accordion items
73
- return (h(Host, { key: 'd0d5a77a9cf697837b850c72e4d6a59d2b9ec7cd', class: {
83
+ // Only render the chevron toggle when this item actually has
84
+ // sub-content to expand. A plain href item with no children is a
85
+ // direct link and shouldn't show a disclosure affordance.
86
+ const hasDropdownContent = this.hasContent;
87
+ return (h(Host, { key: '959165c0c1ba72e3e3e33956862a47a9e080ce91', class: {
74
88
  'is-open': this.open,
75
89
  'is-disabled': this.disabled,
76
90
  [`breakpoint-${this.breakpoint}`]: true
77
- } }, h("div", { key: '42289d70de54e228b73cb45b8ca0e15510fd917d', class: "nav-accordion-item" }, this.href ? (h("a", { href: this.href, class: "trigger", "aria-expanded": this.open ? 'true' : 'false', "aria-controls": `content-${this.itemId}` }, h("div", { class: "trigger-content" }, h("slot", { name: "trigger", onSlotchange: this.handleSlotChange }, h("span", { class: "label" }, this.label))), hasDropdownContent && (h("button", { class: "chevron-button", onClick: (e) => { e.preventDefault(); e.stopPropagation(); this.toggle(); }, "aria-label": this.open ? 'Collapse' : 'Expand', type: "button" }, h("div", { class: { 'chevron': true, 'is-open': this.open } }, h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { d: "M6 9l6 6 6-6", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))))))) : (h("button", { class: "trigger", onClick: this.handleTriggerClick, onKeyDown: this.handleKeyDown, "aria-expanded": this.open ? 'true' : 'false', "aria-controls": `content-${this.itemId}`, disabled: this.disabled, type: "button" }, h("div", { class: "trigger-content" }, h("slot", { name: "trigger", onSlotchange: this.handleSlotChange }, h("span", { class: "label" }, this.label))), h("div", { class: { 'chevron': true, 'is-open': this.open } }, h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { d: "M6 9l6 6 6-6", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))))), h("div", { key: '20489f3802a9d702e06779ffd047a6adcb0eb880', id: `content-${this.itemId}`, class: "content-wrapper", style: contentStyle, "aria-hidden": !this.open ? 'true' : 'false' }, h("div", { key: '39d7e3a3f3f544db582a91510bb5c721660861c8', class: "content", ref: (el) => (this.contentRef = el) }, h("slot", { key: 'b8f7e2c89facfe9a65225b6f16b1188ab979f4b8' }))))));
91
+ } }, h("div", { key: '7edc90a2480aa453ca8407acf31c6af8c44bc9ab', class: "nav-accordion-item" }, this.href ? (h("a", { href: this.href, class: "trigger", "aria-expanded": this.open ? 'true' : 'false', "aria-controls": `content-${this.itemId}` }, h("div", { class: "trigger-content" }, h("slot", { name: "trigger", onSlotchange: this.handleSlotChange }, h("span", { class: "label" }, this.label))), hasDropdownContent && (h("button", { class: "chevron-button", onClick: (e) => { e.preventDefault(); e.stopPropagation(); this.toggle(); }, "aria-label": this.open ? 'Collapse' : 'Expand', type: "button" }, h("div", { class: { 'chevron': true, 'is-open': this.open } }, h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { d: "M6 9l6 6 6-6", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))))))) : (h("button", { class: "trigger", onClick: this.handleTriggerClick, onKeyDown: this.handleKeyDown, "aria-expanded": this.open ? 'true' : 'false', "aria-controls": `content-${this.itemId}`, disabled: this.disabled, type: "button" }, h("div", { class: "trigger-content" }, h("slot", { name: "trigger", onSlotchange: this.handleSlotChange }, h("span", { class: "label" }, this.label))), hasDropdownContent && (h("div", { class: { 'chevron': true, 'is-open': this.open } }, h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { d: "M6 9l6 6 6-6", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))))), h("div", { key: '826855c6ca16a807c1f4dec417c771c8bbdc0966', id: `content-${this.itemId}`, class: "content-wrapper", style: contentStyle, "aria-hidden": !this.open ? 'true' : 'false' }, h("div", { key: '9a614290248120ad48b7658fbeecb8d4e83e53db', class: "content", ref: (el) => (this.contentRef = el) }, h("slot", { key: 'dd22fe45b6ad6f7a7c39b1a0a1055421b7b80a51' }))))));
78
92
  }
79
93
  static get is() { return "af-nav-accordion-item"; }
80
94
  static get encapsulation() { return "scoped"; }
@@ -212,7 +226,8 @@ export class AfNavAccordionItem {
212
226
  static get states() {
213
227
  return {
214
228
  "contentHeight": {},
215
- "hasTriggerSlot": {}
229
+ "hasTriggerSlot": {},
230
+ "hasContent": {}
216
231
  };
217
232
  }
218
233
  static get events() {
@@ -210,13 +210,9 @@
210
210
  color: var(--af-nav-item-secondary, var(--af-typography-body-default, #2b484f));
211
211
  }
212
212
 
213
- /* Icon rotation on hover for desktop primary with dropdown indicator */
214
- .hierarchy-primary.variant-01.breakpoint-desktop:hover ::slotted([slot="icon-right"]),
215
- .hierarchy-primary.variant-01.breakpoint-desktop.active ::slotted([slot="icon-right"]) {
216
- transform: rotate(180deg);
217
- }
218
-
219
- /* Icon rotation on active for mobile primary with dropdown indicator */
213
+ /* Icon rotation on active for mobile primary with dropdown indicator.
214
+ Desktop chevrons stay static — rotating on hover/active felt fidgety
215
+ and the open/closed state is already clear from the dropdown panel. */
220
216
  .hierarchy-primary.breakpoint-mobile.active ::slotted([slot="icon-right"]) {
221
217
  transform: rotate(180deg);
222
218
  }
@@ -237,7 +233,8 @@
237
233
  }
238
234
 
239
235
  /* Fallback media query for when breakpoint prop is not set */
240
- @media (max-width: 991px) {
236
+ /* tablet */
237
+ @media (max-width: 1023px) {
241
238
  :host([breakpoint="auto"]) .hierarchy-primary,
242
239
  :host(:not([breakpoint])) .hierarchy-primary {
243
240
  padding: 20px 12px;
@@ -2,6 +2,13 @@ import { h, Host } from "@stencil/core";
2
2
  /**
3
3
  * A generic navigation item component that can be used in navigation bars, menus, and sidebars.
4
4
  * Supports multiple hierarchy levels, variants, and states (active, hover).
5
+ *
6
+ * **Dropdown trigger a11y:** when the host carries a `data-dropdown="id"`
7
+ * attribute and has no `href`, the inner wrapper is promoted to
8
+ * `role="button"` with `tabindex="0"` and keyboard activation (Enter/Space),
9
+ * so keyboard users can open the matching dropdown panel just like a
10
+ * pointer click. The companion `af-navbar` keeps `aria-expanded` on the
11
+ * host in sync with the active dropdown.
5
12
  */
6
13
  export class AfNavItem {
7
14
  constructor() {
@@ -27,6 +34,17 @@ export class AfNavItem {
27
34
  * Whether this nav item is currently active/selected
28
35
  */
29
36
  this.active = false;
37
+ /**
38
+ * Promote Enter and Space on a focused trigger into a synthetic click
39
+ * so the surrounding af-navbar (which listens on click) treats the
40
+ * keyboard activation identically to a pointer click.
41
+ */
42
+ this.handleTriggerKeyDown = (event) => {
43
+ if (event.key === 'Enter' || event.key === ' ' || event.key === 'Spacebar') {
44
+ event.preventDefault();
45
+ this.el.click();
46
+ }
47
+ };
30
48
  }
31
49
  render() {
32
50
  const classes = {
@@ -34,13 +52,21 @@ export class AfNavItem {
34
52
  [`hierarchy-${this.hierarchy}`]: true,
35
53
  [`variant-${this.variant}`]: true,
36
54
  [`breakpoint-${this.breakpoint}`]: true,
37
- 'active': this.active
55
+ 'active': this.active,
38
56
  };
39
- const content = (h("div", { class: classes }, h("slot", { name: "icon-left" }), h("div", { class: "label-container" }, h("slot", null)), h("slot", { name: "icon-right" })));
57
+ const innerContent = [
58
+ h("slot", { name: "icon-left" }),
59
+ h("div", { class: "label-container" }, h("slot", null)),
60
+ h("slot", { name: "icon-right" }),
61
+ ];
40
62
  if (this.href) {
41
- return (h(Host, null, h("a", { href: this.href, class: "nav-link" }, content)));
63
+ return (h(Host, null, h("a", { href: this.href, class: "nav-link" }, h("div", { class: classes }, innerContent))));
64
+ }
65
+ const isDropdownTrigger = this.el.hasAttribute('data-dropdown');
66
+ if (isDropdownTrigger) {
67
+ return (h(Host, null, h("div", { class: classes, role: "button", tabindex: 0, "aria-haspopup": "menu", onKeyDown: this.handleTriggerKeyDown }, innerContent)));
42
68
  }
43
- return h(Host, null, content);
69
+ return h(Host, null, h("div", { class: classes }, innerContent));
44
70
  }
45
71
  static get is() { return "af-nav-item"; }
46
72
  static get encapsulation() { return "scoped"; }
@@ -157,4 +183,5 @@ export class AfNavItem {
157
183
  }
158
184
  };
159
185
  }
186
+ static get elementRef() { return "el"; }
160
187
  }
@@ -30,7 +30,7 @@ export class AfNavMenu {
30
30
  'has-border': this.showBorder,
31
31
  'card-style': this.cardStyle
32
32
  };
33
- return (h(Host, { key: '6f7e20f1aa44b4b624411a4eb035a25d864632e6' }, h("div", { key: 'd3ac164858b0b6330e659baf660fc1d5de15f6da', class: classes }, this.heading && (h("div", { key: 'eb44abd861273745f894c2ccd16108458bb30837', class: "menu-header" }, h("h3", { key: 'c903ebe2ab7fa5aebf6a83b9559ab6ccae32a396', class: "menu-heading" }, this.heading))), h("div", { key: '606abd19e501a5962cd907da1afcbf697e0aad6c', class: "menu-items" }, h("slot", { key: 'a9399b33983fb425bad9ed5ae4a534c9aadd8884' })))));
33
+ return (h(Host, { key: '11f883b5cc420ee5cb99c723cc492b7346c3761d' }, h("div", { key: 'c3261a46a80fcbbdbfc3d82ee43e4cb31f6de4d8', class: classes }, this.heading && (h("div", { key: 'fd6f90c2bc9f34ef30efc22b49eb36bd6fd7ae52', class: "menu-header" }, h("h3", { key: '5e80c33bdd36dcc23d3445fd92af76f69f28a7c8', class: "menu-heading" }, this.heading))), h("div", { key: '6b62d13e30422c7f331350ec39ab2429f5a50294', class: "menu-items" }, h("slot", { key: '49740ab88d6c957395b902f98526b60353af4be5' })))));
34
34
  }
35
35
  static get is() { return "af-nav-menu"; }
36
36
  static get encapsulation() { return "scoped"; }
@@ -36,8 +36,13 @@
36
36
  margin-top: 16px;
37
37
  }
38
38
 
39
- /* Slotted NavMenu in columns - add border and spacing */
39
+ /* Slotted NavMenu in columns - equal-width flex items with border and
40
+ * spacing. `flex: 1 1 0` gives every column the same width regardless of
41
+ * content; `min-width: 0` lets the content wrap within its column rather
42
+ * than forcing the whole row to grow. */
40
43
  .nav-menu-nest.breakpoint-desktop .menu-columns ::slotted(af-nav-menu) {
44
+ flex: 1 1 0;
45
+ min-width: 0;
41
46
  border-right: 1px solid var(--af-background-border-subtle, #e8eeed);
42
47
  padding-right: 32px;
43
48
  padding-top: 16px;
@@ -55,6 +60,25 @@
55
60
  padding-right: 32px;
56
61
  }
57
62
 
63
+ /* Tighter layout in the 992–1199px band where the desktop nav is still
64
+ * shown but horizontal room is limited — reduces gap/padding so the
65
+ * four-column layout doesn't read as cramped. */
66
+ @media (max-width: 1199px) {
67
+ .nav-menu-nest.breakpoint-desktop .menu-columns {
68
+ gap: 20px;
69
+ padding: 20px 0 24px 24px;
70
+ }
71
+ .nav-menu-nest.breakpoint-desktop .menu-sidebar {
72
+ padding: 20px 24px 24px 20px;
73
+ }
74
+ .nav-menu-nest.breakpoint-desktop .menu-columns ::slotted(af-nav-menu) {
75
+ padding-right: 20px;
76
+ }
77
+ :host([show-sidebar-border]) .nav-menu-nest.breakpoint-desktop .menu-columns ::slotted(af-nav-menu:last-of-type) {
78
+ padding-right: 20px;
79
+ }
80
+ }
81
+
58
82
  /* Mobile layout */
59
83
  .nav-menu-nest.breakpoint-mobile {
60
84
  flex-direction: column;
@@ -48,7 +48,7 @@ export class AfNavMenuNest {
48
48
  [`type-${this.type}`]: true,
49
49
  [`breakpoint-${this.breakpoint}`]: true
50
50
  };
51
- return (h(Host, { key: '3d7ca814a3fbd4c435d6bb998303b4d1c8efbe24' }, h("div", { key: 'df70f98501743e2b6965add93d5ae864172ebab8', class: classes }, h("div", { key: '62cca1b06b0526c697724aa03337045e80e9f496', class: "menu-columns" }, h("slot", { key: 'febdb583fd0bd016a00dadf37a2e694a36ab2c83' })), h("div", { key: 'e70fb1c00cfe2cd6bc346c9b88eaffe360c5aee6', class: "menu-sidebar" }, h("slot", { key: '2f5425aeaf2be2ea14f880288472f7a88a8ac8b7', name: "sidebar" })))));
51
+ return (h(Host, { key: '8b256672578e162c65c1dd83b735f3fd8af8bb56' }, h("div", { key: '1f009f9f0986790e3b330eec97fa5e9f63604108', class: classes }, h("div", { key: 'db3540b0259d8474093e1d31c51e7ae1311700c0', class: "menu-columns" }, h("slot", { key: '06c90ac9305b96d64bc86fcf16ba639db31c4d08' })), h("div", { key: '5ad8cb59dd4c88c6dadf38aac88df6697541ad52', class: "menu-sidebar" }, h("slot", { key: '98a73cb259c755fa1efc70294772abf89d233581', name: "sidebar" })))));
52
52
  }
53
53
  static get is() { return "af-nav-menu-nest"; }
54
54
  static get encapsulation() { return "scoped"; }
@@ -28,11 +28,15 @@
28
28
  /* Sticky navbar that floats above the spacer */
29
29
  .navbar-container {
30
30
  position: fixed;
31
- top: 32px;
31
+ /* Add safe-area-inset-top so the pill drops below the iOS notch / status bar
32
+ when the page uses viewport-fit=cover. Falls back to the original 32px. */
33
+ top: max(32px, env(safe-area-inset-top));
32
34
  left: 0;
33
35
  right: 0;
34
36
  z-index: 10;
35
- padding: 0 80px;
37
+ /* Horizontal padding honours safe-area-inset-left/right for landscape on
38
+ notched devices; the inset is added on top of the existing 80px gutter. */
39
+ padding: 0 calc(80px + env(safe-area-inset-right)) 0 calc(80px + env(safe-area-inset-left));
36
40
  box-sizing: border-box;
37
41
  }
38
42
 
@@ -101,13 +105,19 @@
101
105
  align-items: center;
102
106
  }
103
107
 
104
- /* Dropdown container */
108
+ /* Dropdown container. The container's top is raised 8px into what
109
+ was previously a blank gap between the nav pill and the panel, and
110
+ that 8px is absorbed as container top-padding — so the visible panel
111
+ stays put, but the hoverable region is now continuous between the
112
+ nav pill and the dropdown. Without this, the mouse crosses an
113
+ un-hovered strip on its way from trigger to panel and the navbar's
114
+ mouseleave handler fires a close. */
105
115
  .dropdown-container {
106
116
  position: absolute;
107
- top: 108px;
117
+ top: 100px;
108
118
  left: 0;
109
119
  right: 0;
110
- padding: 0 80px;
120
+ padding: 8px 80px 0;
111
121
  pointer-events: none;
112
122
  opacity: 0;
113
123
  transform: translateY(-8px);
@@ -142,7 +152,13 @@
142
152
  bottom: 0;
143
153
  background: var(--colour-background-base, #ffffff);
144
154
  z-index: 9;
145
- padding: 100px 16px 24px 16px;
155
+ /* Full-viewport drawer: pad the top below the notch, the bottom above the
156
+ home indicator, and the sides away from landscape edge cutouts. */
157
+ padding:
158
+ max(100px, calc(100px + env(safe-area-inset-top)))
159
+ calc(16px + env(safe-area-inset-right))
160
+ max(24px, env(safe-area-inset-bottom))
161
+ calc(16px + env(safe-area-inset-left));
146
162
  overflow-y: auto;
147
163
  opacity: 0;
148
164
  pointer-events: none;
@@ -199,8 +215,8 @@
199
215
  }
200
216
 
201
217
  .navbar-container {
202
- top: 24px;
203
- padding: 0 40px;
218
+ top: max(24px, env(safe-area-inset-top));
219
+ padding: 0 calc(40px + env(safe-area-inset-right)) 0 calc(40px + env(safe-area-inset-left));
204
220
  }
205
221
 
206
222
  .navbar-left {
@@ -226,8 +242,8 @@
226
242
  }
227
243
 
228
244
  .navbar-container {
229
- top: 16px;
230
- padding: 0 16px;
245
+ top: max(16px, env(safe-area-inset-top));
246
+ padding: 0 calc(16px + env(safe-area-inset-right)) 0 calc(16px + env(safe-area-inset-left));
231
247
  z-index: 11; /* Above mobile menu panel */
232
248
  }
233
249
 
@@ -277,7 +293,7 @@
277
293
 
278
294
  /* Mobile menu panel adjustments */
279
295
  .mobile-menu-panel {
280
- padding-top: 88px; /* Accounts for navbar height */
296
+ padding-top: max(88px, calc(88px + env(safe-area-inset-top))); /* Accounts for navbar height + notch */
281
297
  }
282
298
 
283
299
  .mobile-button-container {
@@ -303,8 +319,8 @@
303
319
  }
304
320
 
305
321
  :host([force-mobile]) .navbar-container {
306
- top: 16px;
307
- padding: 0 16px;
322
+ top: max(16px, env(safe-area-inset-top));
323
+ padding: 0 calc(16px + env(safe-area-inset-right)) 0 calc(16px + env(safe-area-inset-left));
308
324
  z-index: 11;
309
325
  }
310
326
 
@@ -353,7 +369,7 @@
353
369
  }
354
370
 
355
371
  :host([force-mobile]) .mobile-menu-panel {
356
- padding-top: 88px;
372
+ padding-top: max(88px, calc(88px + env(safe-area-inset-top)));
357
373
  }
358
374
 
359
375
  :host([force-mobile]) .mobile-menu-panel.is-open {
@@ -72,6 +72,7 @@ export class AfNavbar {
72
72
  event.preventDefault();
73
73
  event.stopPropagation();
74
74
  this.cancelScheduledClose();
75
+ this.lastActiveTrigger = trigger;
75
76
  this.toggleDropdown(id);
76
77
  }
77
78
  /**
@@ -89,6 +90,7 @@ export class AfNavbar {
89
90
  return;
90
91
  }
91
92
  this.cancelScheduledClose();
93
+ this.lastActiveTrigger = trigger;
92
94
  this.openDropdown(id);
93
95
  }
94
96
  /**
@@ -102,11 +104,12 @@ export class AfNavbar {
102
104
  this.cancelScheduledClose();
103
105
  }
104
106
  scheduleClose() {
107
+ // Close immediately on mouseleave. The css change in af-navbar.css
108
+ // bridges the former 8px dead-zone between the nav pill and the
109
+ // dropdown panel into a single hoverable region, so there's no
110
+ // longer a mid-transit mouseleave to swallow with a debounce.
105
111
  this.cancelScheduledClose();
106
- this.closeTimer = window.setTimeout(() => {
107
- this.closeDropdown();
108
- this.closeTimer = undefined;
109
- }, 150);
112
+ this.closeDropdown();
110
113
  }
111
114
  cancelScheduledClose() {
112
115
  if (this.closeTimer !== undefined) {
@@ -149,19 +152,24 @@ export class AfNavbar {
149
152
  trigger.setAttribute('data-active', '');
150
153
  else
151
154
  trigger.removeAttribute('data-active');
155
+ trigger.setAttribute('aria-expanded', active ? 'true' : 'false');
152
156
  });
153
157
  }
154
158
  /**
155
- * Handle escape key to close dropdowns
159
+ * Handle escape key to close dropdowns. If a dropdown is open, restore
160
+ * focus to the trigger that opened it so keyboard users don't lose
161
+ * their place in the tab order.
156
162
  */
157
163
  handleKeyDown(event) {
158
- if (event.key === 'Escape') {
164
+ if (event.key === 'Escape' && this.activeDropdown !== null) {
165
+ const toFocus = this.lastActiveTrigger;
159
166
  this.closeDropdown();
167
+ toFocus?.focus?.();
160
168
  }
161
169
  }
162
170
  render() {
163
171
  const hasDropdown = this.activeDropdown !== null;
164
- return (h(Host, { key: 'c32c831816370318e96e3718771e3d7548b409d1', class: { 'has-dropdown-open': hasDropdown } }, h("div", { key: 'aa9f76febd84bb572d0caef2a12e6c81c812bc3c', class: `navbar-spacer${this.theme ? ` theme-${this.theme}` : ''}` }), h("nav", { key: '11c9fe9f56bd29e332c8dbff90869f01fb68b230', class: "navbar-container" }, h("div", { key: '86ca618d8132e093f9ed24bdf3b69d6529e027e2', class: "navbar theme-white" }, h("div", { key: 'c0f70dd6b6886420c0ccda203d9d7888542f4ff3', class: "navbar-left" }, h("div", { key: 'f57a4cd8ca86fc8ab30c399db2dde7f6db1a2d1c', class: "logo" }, h("slot", { key: '77ce3ded3ba51f7de8c9ad9630a7d465ed226b34', name: "logo" }, this.showDefaultLogo && h("af-logo", { key: 'c76ed4086ee57847b7d9408d494ca8a8da81455d' }))), h("button", { key: '893ebd73a54f246b930fa96b8410ce57a09fd4cc', class: "mobile-menu-toggle", onClick: this.toggleMobileMenu, "aria-label": "Toggle navigation menu", "aria-expanded": this.mobileMenuOpen ? 'true' : 'false' }, this.mobileMenuOpen ? (h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { d: "M18 6L6 18M6 6l12 12", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))) : (h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { d: "M3 12h18M3 6h18M3 18h18", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("div", { key: '9a2031b367353199ed38c72d6a3b4296b0a84869', class: `nav-links ${this.mobileMenuOpen ? 'mobile-open' : ''}` }, h("slot", { key: 'c3e7c3839b3ff3759cb6278e90959645ff4d1c12', name: "start" }))), h("div", { key: '58a188b798e04d417d73e729f1841a2565a32b3c', class: `navbar-right ${this.mobileMenuOpen ? 'mobile-open' : ''}` }, h("div", { key: '9223aee05e3fc4cd8c1ca459a2f622cc0201fd39', class: "nav-actions" }, h("slot", { key: '2298ad190f85124b269bf6018002a00fee5d2ecf', name: "end" })), h("div", { key: 'd70b2c15cb13298a917d8e4d9fafc4269da90cd1', class: "nav-button" }, h("slot", { key: '07680f4f58fef0406974f7bf413f11a0ecb3007f', name: "button" })))), h("div", { key: 'f78f9df13daf98a055885e26494a34e59881f76c', class: `dropdown-container ${hasDropdown ? 'is-open' : ''}` }, h("div", { key: 'dee249523881e2053c95dea7403554d548da77df', class: "dropdown-panel theme-white" }, h("slot", { key: '69fb3e2188069cdc1bf0c867f075345cce22c68b', name: "dropdowns" })))), h("div", { key: '4c5a00f98c52e06909813bfae898606e42004a47', class: `mobile-menu-panel theme-white ${this.mobileMenuOpen ? 'is-open' : ''}` }, h("div", { key: 'f568518c415a9d77f6a24cafb5b9e369470cc471', class: "mobile-button-container" }, h("slot", { key: '750a88950c3156e36e49c5143f67f074a14b962f', name: "mobile-button" }, h("slot", { key: 'fa461eb88d7b84bd133b1e2dfcad0e9c2987c12b', name: "button" }))), h("div", { key: 'bb39d0a53c7031fcdb5996909fc1cf17c9b9776f', class: "mobile-menu-content" }, h("slot", { key: 'ed175d7e3dad99a852fd63437635e4ea22c24b48', name: "mobile-menu" })))));
172
+ return (h(Host, { key: 'c92f2eb42ee2a82970d6d0173a2a2f06749519c4', class: { 'has-dropdown-open': hasDropdown } }, h("div", { key: 'c395ed813e5e0a2ee40005492d750c45ade71b52', class: `navbar-spacer${this.theme ? ` theme-${this.theme}` : ''}` }), h("nav", { key: '172a9748e455a0eed9d0c403eec9264174330c52', class: "navbar-container" }, h("div", { key: '1208708b75f9a1c5f48c3301e2288553f85de763', class: "navbar theme-white" }, h("div", { key: '4aeea43bcf455af574450195bdc2612728609c8f', class: "navbar-left" }, h("div", { key: '833f39108ba12057f952b10cd082c2c96a2f0f0d', class: "logo" }, h("slot", { key: 'acd75c0ce9ed06ed0ca25347c90c3048851ec247', name: "logo" }, this.showDefaultLogo && h("af-logo", { key: '03efa58fd39bc47901749d0e573313b9cb5e62ec' }))), h("button", { key: '6cbeadaf552bed6ff5ea5b237173908446a67409', class: "mobile-menu-toggle", onClick: this.toggleMobileMenu, "aria-label": "Toggle navigation menu", "aria-expanded": this.mobileMenuOpen ? 'true' : 'false' }, this.mobileMenuOpen ? (h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { d: "M18 6L6 18M6 6l12 12", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))) : (h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { d: "M3 12h18M3 6h18M3 18h18", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("div", { key: 'a9a2adecf1cbbc99d2f40067fcc911d9bccd7a6f', class: `nav-links ${this.mobileMenuOpen ? 'mobile-open' : ''}` }, h("slot", { key: '379e4561319583d8c06f7326b9e496f5c9e53563', name: "start" }))), h("div", { key: 'd81e54abc11534835c87c6d035bd3c6d1f532557', class: `navbar-right ${this.mobileMenuOpen ? 'mobile-open' : ''}` }, h("div", { key: 'e5e2b70ccf406e11d061cd178876ee939e028f76', class: "nav-actions" }, h("slot", { key: '3b268fd03cb76a820d7d0a17a08752eb2c92ba6e', name: "end" })), h("div", { key: 'b8320a6e68a3a63b2ea9864691a910879295f65f', class: "nav-button" }, h("slot", { key: 'c8d021843b572c57eb79162e8129bdea98503938', name: "button" })))), h("div", { key: 'a84301f02c46413d795aaa531ae7300d1a872957', class: `dropdown-container ${hasDropdown ? 'is-open' : ''}` }, h("div", { key: '86231e59e9e35b2b1d766ec51f5e72fbe0788882', class: "dropdown-panel theme-white" }, h("slot", { key: 'e57c57fc13dc9fd7194ac92063c1ddb1bd5d078f', name: "dropdowns" })))), h("div", { key: 'dd1ee04b61f0882a73e2254dee676cc94b4db63d', class: `mobile-menu-panel theme-white ${this.mobileMenuOpen ? 'is-open' : ''}` }, h("div", { key: '0fa91c6f29a2cdbd3a67788194f9dc0c7eb9d0e5', class: "mobile-button-container" }, h("slot", { key: 'f6766b2ca0001ad68ea47b3d2ba661a663612019', name: "mobile-button" }, h("slot", { key: 'efd0c11aeabf2cdc147317e98cb3429bd14ad31c', name: "button" }))), h("div", { key: '9d4d65978dfe70c22383e77fbc57c9889433b58b', class: "mobile-menu-content" }, h("slot", { key: '7be698d9e1460cc780a5df9f80b919c932af00a5', name: "mobile-menu" })))));
165
173
  }
166
174
  static get is() { return "af-navbar"; }
167
175
  static get encapsulation() { return "scoped"; }
@@ -34,7 +34,7 @@ export class AfNumberBadge {
34
34
  height: `${this.size}px`,
35
35
  fontSize: `${fontSize}px`,
36
36
  };
37
- return (h(Host, { key: '7ab56ba9abbba16278f5bf0b59649bc7011d4778', role: "img", "aria-label": `Number ${this.number}${isInCircle ? ' badge' : ''}` }, h("span", { key: '402e3fea84e76f66d631a79bc789134cc7fae8c2', class: {
37
+ return (h(Host, { key: '9966db4536a1ce0b5e35a65aa63ea5c0771e8a9a', role: "img", "aria-label": `Number ${this.number}${isInCircle ? ' badge' : ''}` }, h("span", { key: 'a963bb7feea690d898228a3a0d076e079994cdf4', class: {
38
38
  'badge': true,
39
39
  [`variant-${this.variant}`]: true,
40
40
  }, style: badgeStyle }, this.number)));
@@ -21,10 +21,10 @@ export class AfProgressLine {
21
21
  // Clamp progress between 0 and 1
22
22
  const clampedProgress = Math.max(0, Math.min(1, this.progress));
23
23
  const progressPercent = clampedProgress * 100;
24
- return (h(Host, { key: 'e831de02f8d1263448cf0441085cee677230374e' }, h("div", { key: '57eec77244c1f0c2a1a763d04b22751651069dbc', class: {
24
+ return (h(Host, { key: '9a6fac61d82f79f36a4cb60e929e96449de232a8' }, h("div", { key: '1d535263ab6274466280caebcaf52052adfbb4b5', class: {
25
25
  'progress-line': true,
26
26
  [`progress-line--${this.orientation}`]: true,
27
- }, role: "progressbar", "aria-valuenow": Math.round(progressPercent), "aria-valuemin": 0, "aria-valuemax": 100 }, h("div", { key: '9b3229746fef82f644953a189959c109104be511', class: "progress-line__background" }), h("div", { key: '0f5ec3a4a51b350b3b9cb26ea446167a40ce4ae4', class: "progress-line__active", style: { width: `${progressPercent}%` } }))));
27
+ }, role: "progressbar", "aria-valuenow": Math.round(progressPercent), "aria-valuemin": 0, "aria-valuemax": 100 }, h("div", { key: '6f479550cd91f8c4f5a256546ed80a09498d6bba', class: "progress-line__background" }), h("div", { key: 'b0f6e719cdede111f7a15651d9f5289456dbddf4', class: "progress-line__active", style: { width: `${progressPercent}%` } }))));
28
28
  }
29
29
  static get is() { return "af-progress-line"; }
30
30
  static get encapsulation() { return "scoped"; }
@@ -74,9 +74,9 @@
74
74
  --af-button-secondary-stroke: var(--colour-brand-inkwell, #14343b);
75
75
 
76
76
  /* Button - Tertiary */
77
- --af-button-ghost-text: var(--colour-brand-inkwell, #14343b);
78
- --af-button-ghost-icon: var(--colour-brand-inkwell, #14343b);
79
- --af-button-ghost-stroke: var(--colour-brand-soft-clay, #B09670);
77
+ --af-button-tertiary-text: var(--colour-brand-inkwell, #14343b);
78
+ --af-button-tertiary-icon: var(--colour-brand-inkwell, #14343b);
79
+ --af-button-tertiary-stroke: var(--colour-brand-soft-clay, #B09670);
80
80
 
81
81
  /* Input tokens */
82
82
  --af-input-label: var(--af-typography-body-dark);
@@ -148,9 +148,9 @@
148
148
  --af-button-secondary-stroke: var(--colour-brand-white, #ffffff);
149
149
 
150
150
  /* Button - Tertiary */
151
- --af-button-ghost-text: var(--colour-brand-white, #ffffff);
152
- --af-button-ghost-icon: var(--colour-brand-white, #ffffff);
153
- --af-button-ghost-stroke: var(--colour-brand-ice, #A6FFFB);
151
+ --af-button-tertiary-text: var(--colour-brand-white, #ffffff);
152
+ --af-button-tertiary-icon: var(--colour-brand-white, #ffffff);
153
+ --af-button-tertiary-stroke: var(--colour-brand-ice, #A6FFFB);
154
154
 
155
155
  /* Input tokens */
156
156
  --af-input-label: var(--af-typography-body-dark);
@@ -222,9 +222,9 @@
222
222
  --af-button-secondary-stroke: var(--colour-brand-inkwell, #14343b);
223
223
 
224
224
  /* Button - Tertiary */
225
- --af-button-ghost-text: var(--colour-brand-inkwell, #14343b);
226
- --af-button-ghost-icon: var(--colour-brand-inkwell, #14343b);
227
- --af-button-ghost-stroke: var(--colour-brand-soft-clay, #B09670);
225
+ --af-button-tertiary-text: var(--colour-brand-inkwell, #14343b);
226
+ --af-button-tertiary-icon: var(--colour-brand-inkwell, #14343b);
227
+ --af-button-tertiary-stroke: var(--colour-brand-soft-clay, #B09670);
228
228
 
229
229
  /* Input tokens */
230
230
  --af-input-label: var(--af-typography-body-dark);
@@ -296,9 +296,9 @@
296
296
  --af-button-secondary-stroke: var(--colour-brand-inkwell, #14343b);
297
297
 
298
298
  /* Button - Tertiary */
299
- --af-button-ghost-text: var(--colour-brand-inkwell, #14343b);
300
- --af-button-ghost-icon: var(--colour-brand-inkwell, #14343b);
301
- --af-button-ghost-stroke: var(--colour-brand-inkwell, #14343b);
299
+ --af-button-tertiary-text: var(--colour-brand-inkwell, #14343b);
300
+ --af-button-tertiary-icon: var(--colour-brand-inkwell, #14343b);
301
+ --af-button-tertiary-stroke: var(--colour-brand-inkwell, #14343b);
302
302
 
303
303
  /* Input tokens */
304
304
  --af-input-label: var(--af-typography-body-dark);
@@ -370,9 +370,9 @@
370
370
  --af-button-secondary-stroke: var(--colour-brand-inkwell, #14343b);
371
371
 
372
372
  /* Button - Tertiary */
373
- --af-button-ghost-text: var(--colour-brand-inkwell, #14343b);
374
- --af-button-ghost-icon: var(--colour-brand-inkwell, #14343b);
375
- --af-button-ghost-stroke: var(--colour-brand-soft-clay, #b09670);
373
+ --af-button-tertiary-text: var(--colour-brand-inkwell, #14343b);
374
+ --af-button-tertiary-icon: var(--colour-brand-inkwell, #14343b);
375
+ --af-button-tertiary-stroke: var(--colour-brand-soft-clay, #b09670);
376
376
 
377
377
  /* Input tokens */
378
378
  --af-input-label: var(--af-typography-body-dark);
@@ -13,8 +13,8 @@ export class AfSection {
13
13
  this.container = true;
14
14
  }
15
15
  render() {
16
- const content = h("slot", { key: 'a67ae3c0d94b8b4024ae3cb7c5c0e4f916e1f309' });
17
- return (h(Host, { key: 'dcdea86aa5b6ce4e3cfe951a90fb441f8a16f7e4' }, h("div", { key: '478836c1570fe89c73405651e03828104a6c069f', class: `section padding-${this.padding} theme-${this.theme}` }, this.container ? (h("af-container", null, content)) : content)));
16
+ const content = h("slot", { key: 'ae8f8342af2711fb23030adbd27d08ce89578ecb' });
17
+ return (h(Host, { key: 'bc6fba7cc81e35662dfb68621021136065b6e198' }, h("div", { key: '46d1700bb966cafb88a78ecc750d558b16942e79', class: `section padding-${this.padding} theme-${this.theme}` }, this.container ? (h("af-container", null, content)) : content)));
18
18
  }
19
19
  static get is() { return "af-section"; }
20
20
  static get encapsulation() { return "scoped"; }
@@ -7,11 +7,11 @@
7
7
  }
8
8
 
9
9
  /* Show above breakpoints (hidden below) */
10
- /* sm: 375px */
10
+ /* sm: 480px (small) */
11
11
  :host(.show-above-sm) {
12
12
  display: none;
13
13
  }
14
- @media (min-width: 375px) {
14
+ @media (min-width: 480px) {
15
15
  :host(.show-above-sm) {
16
16
  display: contents;
17
17
  }
@@ -48,8 +48,8 @@
48
48
  }
49
49
 
50
50
  /* Show below breakpoints (hidden at or above) */
51
- /* sm: 375px */
52
- @media (min-width: 375px) {
51
+ /* sm: 480px (small) */
52
+ @media (min-width: 480px) {
53
53
  :host(.show-below-sm) {
54
54
  display: none;
55
55
  }
@@ -18,7 +18,7 @@ export class AfShow {
18
18
  [`show-above-${this.above}`]: !!this.above,
19
19
  [`show-below-${this.below}`]: !!this.below,
20
20
  };
21
- return (h(Host, { key: 'f1325c8342cdd48103996664aa410ba6da9c6566', class: classes }, h("slot", { key: '0ce4cacaa80ef10104549af9fa9068ea7d28a406' })));
21
+ return (h(Host, { key: 'b88e3f6dedeb0a8cc4f69b3c9915a4fb0a115df7', class: classes }, h("slot", { key: '55f89874b70bbcc636e615556f11e99baeafad73' })));
22
22
  }
23
23
  static get is() { return "af-show"; }
24
24
  static get encapsulation() { return "shadow"; }
@@ -29,7 +29,7 @@ export class AfSocialLink {
29
29
  }
30
30
  }
31
31
  render() {
32
- return (h(Host, { key: '1637b2b00bf3808ad48979fde1248a6baae16d50' }, h("a", { key: '57cec6aa80ee7cedccdd03ac40f4931c6012bb48', href: this.href, target: "_blank", rel: "noopener noreferrer", class: "social-link", "aria-label": this.label }, this.renderIcon())));
32
+ return (h(Host, { key: 'd8875f8b62e560cd11e71f6c6b2baf219aef96d2' }, h("a", { key: 'a6e5c064945372150306b6aeb294b13659b565f4', href: this.href, target: "_blank", rel: "noopener noreferrer", class: "social-link", "aria-label": this.label }, this.renderIcon())));
33
33
  }
34
34
  static get is() { return "af-social-link"; }
35
35
  static get encapsulation() { return "scoped"; }
@@ -34,7 +34,7 @@ export class AfSpacer {
34
34
  style.height = sizeValue;
35
35
  }
36
36
  }
37
- return h(Host, { key: '17bd07b1aeb2346f614d3cf5c663f545622a82af', style: style, "aria-hidden": "true" });
37
+ return h(Host, { key: 'e3d8bff163b92ef7caf5802947556444ce2f1a48', style: style, "aria-hidden": "true" });
38
38
  }
39
39
  static get is() { return "af-spacer"; }
40
40
  static get encapsulation() { return "shadow"; }
@@ -35,6 +35,7 @@
35
35
  Mobile Adjustments
36
36
  ========================================================================== */
37
37
 
38
+ /* mobile-only */
38
39
  @media (max-width: 768px) {
39
40
  .padding-tight {
40
41
  padding: 32px 0;
@@ -26,14 +26,14 @@ export class AfSplitSection {
26
26
  this.container = true;
27
27
  }
28
28
  render() {
29
- const content = h("slot", { key: 'bb153079c8b48a5f2a8bb093f3344f1ed58448f0' });
29
+ const content = h("slot", { key: 'bc307598c8f20de642f691d1bd02269cbd34738c' });
30
30
  // Create the split background using CSS gradient
31
31
  const topColor = themeColors[this.topTheme];
32
32
  const bottomColor = themeColors[this.bottomTheme];
33
33
  const backgroundStyle = {
34
34
  background: `linear-gradient(to bottom, ${topColor} 0%, ${topColor} 50%, ${bottomColor} 50%, ${bottomColor} 100%)`
35
35
  };
36
- return (h(Host, { key: 'ec4824dfd25f5e9122d7cfd4ad4df8768b949028' }, h("div", { key: '4de289849c8cb6cb7b70446fe6c4b8ca0f5ae648', class: `split-section padding-${this.padding} top-theme-${this.topTheme}`, style: backgroundStyle }, this.container ? (h("af-container", null, content)) : content)));
36
+ return (h(Host, { key: 'd96957b3dc7f8daea9f3480269fde7116c587461' }, h("div", { key: 'f274ae8e50c5b1fa9f59b54a1bce3dbb5408a77b', class: `split-section padding-${this.padding} top-theme-${this.topTheme}`, style: backgroundStyle }, this.container ? (h("af-container", null, content)) : content)));
37
37
  }
38
38
  static get is() { return "af-split-section"; }
39
39
  static get encapsulation() { return "scoped"; }
@@ -55,7 +55,7 @@ export class AfStack {
55
55
  justifyContent: justifyMap[this.justify],
56
56
  flexWrap: this.wrap ? 'wrap' : 'nowrap',
57
57
  };
58
- return (h(Host, { key: '8762617789ee74b277ccc75e01a11e0722d46d71', style: style }, h("slot", { key: '81cacfb758661b513d8e16db5d23a9a14c1d5c16' })));
58
+ return (h(Host, { key: '72e0cbdd57b5f300e1957549d225f72ae4cdc2d2', style: style }, h("slot", { key: '9f71bea28b78fa1fcb414e5f3e2b9f9e68d7962d' })));
59
59
  }
60
60
  static get is() { return "af-stack"; }
61
61
  static get encapsulation() { return "shadow"; }
@@ -38,6 +38,7 @@
38
38
  z-index: 0;
39
39
  }
40
40
 
41
+ /* ≤ mobile */
41
42
  @media (max-width: 767px) {
42
43
  .stepper--horizontal {
43
44
  flex-direction: column;
@@ -40,7 +40,7 @@ export class AfStepper {
40
40
  });
41
41
  }
42
42
  render() {
43
- return (h(Host, { key: '857011a248f8c9adc46c3a1c69b55cd33f0f7b36', class: `stepper stepper--${this.orientation}` }, h("div", { key: '5654c1431e991475429e1594832509236dc1a3ba', class: "stepper__connector", "aria-hidden": "true" }), h("slot", { key: '23293d2c3cc463a714f1acdfad2a3fb6e1d3cf0a' })));
43
+ return (h(Host, { key: 'a9c2328058c0495bbec34d3a08deb0375e2f6dae', class: `stepper stepper--${this.orientation}` }, h("div", { key: '91fb9864b86a9c2b44e84db1356099ebf5d119f3', class: "stepper__connector", "aria-hidden": "true" }), h("slot", { key: '680bf938f006e4696882aa55f7ca6fa02bcf4db4' })));
44
44
  }
45
45
  static get is() { return "af-stepper"; }
46
46
  static get encapsulation() { return "scoped"; }
@@ -71,6 +71,7 @@
71
71
  margin-bottom: 0;
72
72
  }
73
73
 
74
+ /* ≤ mobile */
74
75
  @media (max-width: 767px) {
75
76
  :host {
76
77
  flex-direction: row;