@affinda/wc 0.0.17 → 0.0.18

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 (675) hide show
  1. package/dist/affinda/af-accordion-item.entry.esm.js.map +1 -0
  2. package/dist/affinda/af-accordion.entry.esm.js.map +1 -0
  3. package/dist/affinda/af-button.entry.esm.js.map +1 -1
  4. package/dist/affinda/af-card.entry.esm.js.map +1 -1
  5. package/dist/affinda/af-center.entry.esm.js.map +1 -0
  6. package/dist/affinda/af-checkbox.entry.esm.js.map +1 -1
  7. package/dist/affinda/af-divider.entry.esm.js.map +1 -0
  8. package/dist/affinda/af-fieldset.entry.esm.js.map +1 -1
  9. package/dist/affinda/af-grid.entry.esm.js.map +1 -0
  10. package/dist/affinda/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.esm.js.map +1 -1
  11. package/dist/affinda/af-inline.entry.esm.js.map +1 -0
  12. package/dist/affinda/af-input.entry.esm.js.map +1 -1
  13. package/dist/affinda/af-nav-accordion-item.entry.esm.js.map +1 -0
  14. package/dist/affinda/af-nav-accordion.entry.esm.js.map +1 -0
  15. package/dist/affinda/af-nav-card.entry.esm.js.map +1 -1
  16. package/dist/affinda/af-nav-menu-nest.entry.esm.js.map +1 -1
  17. package/dist/affinda/af-nav-menu.entry.esm.js.map +1 -1
  18. package/dist/affinda/af-radio.entry.esm.js.map +1 -1
  19. package/dist/affinda/af-section.entry.esm.js.map +1 -1
  20. package/dist/affinda/af-show.entry.esm.js.map +1 -0
  21. package/dist/affinda/af-spacer.entry.esm.js.map +1 -0
  22. package/dist/affinda/af-split-section.entry.esm.js.map +1 -1
  23. package/dist/affinda/af-stack.entry.esm.js.map +1 -0
  24. package/dist/affinda/af-switch.entry.esm.js.map +1 -1
  25. package/dist/affinda/af-textarea.entry.esm.js.map +1 -1
  26. package/dist/affinda/af-theme-override.entry.esm.js.map +1 -0
  27. package/dist/affinda/af-typography-lockup.entry.esm.js.map +1 -1
  28. package/dist/affinda/af-visually-hidden.entry.esm.js.map +1 -0
  29. package/dist/affinda/affinda.esm.js +1 -1
  30. package/dist/affinda/index.esm.js +1 -1
  31. package/dist/affinda/{p-acbbe39a.entry.js → p-01993cc8.entry.js} +2 -2
  32. package/dist/affinda/p-02830771.entry.js +2 -0
  33. package/dist/affinda/p-02830771.entry.js.map +1 -0
  34. package/dist/affinda/{p-a4e4eb4d.entry.js → p-04de9a0a.entry.js} +2 -2
  35. package/dist/affinda/{p-a6365e94.entry.js → p-080cf84f.entry.js} +2 -2
  36. package/dist/affinda/{p-b3b0ed0c.entry.js → p-0b5bc045.entry.js} +2 -2
  37. package/dist/affinda/{p-864778d0.entry.js → p-0d97a3c5.entry.js} +2 -2
  38. package/dist/affinda/{p-2b4dc22c.entry.js → p-16f808d5.entry.js} +2 -2
  39. package/dist/affinda/{p-52ab3bf0.entry.js → p-19eb7cb9.entry.js} +2 -2
  40. package/dist/affinda/p-1c32cfcb.entry.js +2 -0
  41. package/dist/affinda/p-1c32cfcb.entry.js.map +1 -0
  42. package/dist/affinda/p-266af3e1.entry.js +2 -0
  43. package/dist/affinda/p-266af3e1.entry.js.map +1 -0
  44. package/dist/affinda/p-288c2656.entry.js +2 -0
  45. package/dist/affinda/p-288c2656.entry.js.map +1 -0
  46. package/dist/affinda/p-2e5e4960.entry.js +2 -0
  47. package/dist/affinda/p-2e5e4960.entry.js.map +1 -0
  48. package/dist/affinda/{p-1d65fd18.entry.js → p-2e750d43.entry.js} +2 -2
  49. package/dist/affinda/p-302d0cf7.entry.js +2 -0
  50. package/dist/affinda/{p-231ba1d0.entry.js.map → p-302d0cf7.entry.js.map} +1 -1
  51. package/dist/affinda/{p-861f4f57.entry.js → p-331f9627.entry.js} +2 -2
  52. package/dist/affinda/p-389a6246.entry.js +2 -0
  53. package/dist/affinda/{p-7f20fbe0.entry.js.map → p-389a6246.entry.js.map} +1 -1
  54. package/dist/affinda/{p-77bf8a81.entry.js → p-3d2fb635.entry.js} +2 -2
  55. package/dist/affinda/{p-e5af21c2.entry.js → p-3e16bb11.entry.js} +2 -2
  56. package/dist/affinda/p-4c5f92a9.entry.js +2 -0
  57. package/dist/affinda/{p-ea06c83b.entry.js.map → p-4c5f92a9.entry.js.map} +1 -1
  58. package/dist/affinda/p-544b7c9c.entry.js +2 -0
  59. package/dist/affinda/p-544b7c9c.entry.js.map +1 -0
  60. package/dist/affinda/p-57eae3cd.entry.js +2 -0
  61. package/dist/affinda/{p-c3e31251.entry.js.map → p-57eae3cd.entry.js.map} +1 -1
  62. package/dist/affinda/p-6294b6d1.entry.js +2 -0
  63. package/dist/affinda/p-6294b6d1.entry.js.map +1 -0
  64. package/dist/affinda/{p-f45b0060.entry.js → p-63314e14.entry.js} +2 -2
  65. package/dist/affinda/{p-45e1923c.entry.js → p-68f1f661.entry.js} +2 -2
  66. package/dist/affinda/{p-b17735c9.entry.js → p-6af1634a.entry.js} +2 -2
  67. package/dist/affinda/p-6b92463e.entry.js +2 -0
  68. package/dist/affinda/{p-697bf0b7.entry.js.map → p-6b92463e.entry.js.map} +1 -1
  69. package/dist/affinda/p-709271d1.entry.js +2 -0
  70. package/dist/affinda/p-709271d1.entry.js.map +1 -0
  71. package/dist/affinda/{p-8ea22b5d.entry.js → p-7792cd53.entry.js} +2 -2
  72. package/dist/affinda/{p-85a78bcf.entry.js → p-8f24dfe3.entry.js} +2 -2
  73. package/dist/affinda/p-8f528f9d.entry.js +2 -0
  74. package/dist/affinda/p-8f528f9d.entry.js.map +1 -0
  75. package/dist/affinda/{p-44b25840.entry.js → p-920e6d30.entry.js} +2 -2
  76. package/dist/affinda/{p-10801ee1.entry.js → p-96df0106.entry.js} +2 -2
  77. package/dist/affinda/p-9de05d1d.entry.js +2 -0
  78. package/dist/affinda/p-9de05d1d.entry.js.map +1 -0
  79. package/dist/affinda/{p-a36abb83.entry.js → p-9e21b6c1.entry.js} +2 -2
  80. package/dist/affinda/{p-BmU_CFQ4.js → p-B0LVveHp.js} +3 -3
  81. package/dist/affinda/p-B0LVveHp.js.map +1 -0
  82. package/dist/affinda/{p-c11088fa.entry.js → p-a2c71cad.entry.js} +2 -2
  83. package/dist/affinda/p-a6402689.entry.js +2 -0
  84. package/dist/affinda/{p-be049760.entry.js.map → p-a6402689.entry.js.map} +1 -1
  85. package/dist/affinda/p-a7574570.entry.js +2 -0
  86. package/dist/affinda/{p-98901734.entry.js.map → p-a7574570.entry.js.map} +1 -1
  87. package/dist/affinda/p-a942522f.entry.js +2 -0
  88. package/dist/affinda/{p-c0ee2420.entry.js.map → p-a942522f.entry.js.map} +1 -1
  89. package/dist/affinda/{p-96eac3af.entry.js → p-adacb8c4.entry.js} +2 -2
  90. package/dist/affinda/p-af25dad7.entry.js +2 -0
  91. package/dist/affinda/{p-ce3356f1.entry.js.map → p-af25dad7.entry.js.map} +1 -1
  92. package/dist/affinda/p-b0d668d0.entry.js +2 -0
  93. package/dist/affinda/p-b0d668d0.entry.js.map +1 -0
  94. package/dist/affinda/{p-e5d9913c.entry.js → p-b10103f4.entry.js} +2 -2
  95. package/dist/affinda/p-b2338fab.entry.js +2 -0
  96. package/dist/affinda/{p-c298b370.entry.js.map → p-b2338fab.entry.js.map} +1 -1
  97. package/dist/affinda/p-b56e9e2d.entry.js +2 -0
  98. package/dist/affinda/p-b56e9e2d.entry.js.map +1 -0
  99. package/dist/affinda/{p-1d9e532f.entry.js → p-bd7170d7.entry.js} +2 -2
  100. package/dist/affinda/p-c72cfcbd.entry.js +2 -0
  101. package/dist/affinda/p-c72cfcbd.entry.js.map +1 -0
  102. package/dist/affinda/p-c74481bd.entry.js +2 -0
  103. package/dist/affinda/p-c74481bd.entry.js.map +1 -0
  104. package/dist/affinda/{p-0cd160a4.entry.js → p-cc4e73dc.entry.js} +2 -2
  105. package/dist/affinda/p-d47a77e2.entry.js +2 -0
  106. package/dist/affinda/p-d47a77e2.entry.js.map +1 -0
  107. package/dist/affinda/{p-3d3c9f62.entry.js → p-d51c4b1b.entry.js} +2 -2
  108. package/dist/affinda/p-d6e55455.entry.js +2 -0
  109. package/dist/affinda/{p-81571029.entry.js → p-d90366f6.entry.js} +2 -2
  110. package/dist/affinda/{p-31d4c1a4.entry.js → p-db9249e4.entry.js} +2 -2
  111. package/dist/affinda/p-e156a8bb.entry.js +2 -0
  112. package/dist/affinda/p-e156a8bb.entry.js.map +1 -0
  113. package/dist/affinda/{p-5bbf2c8c.entry.js → p-e305c2b7.entry.js} +2 -2
  114. package/dist/affinda/{p-71144002.entry.js → p-e7d8d909.entry.js} +2 -2
  115. package/dist/affinda/p-e9bc1739.entry.js +2 -0
  116. package/dist/affinda/p-e9bc1739.entry.js.map +1 -0
  117. package/dist/affinda/{p-425253ee.entry.js → p-f7a13cd3.entry.js} +2 -2
  118. package/dist/affinda/p-f9e7cf8f.entry.js +2 -0
  119. package/dist/affinda/p-f9e7cf8f.entry.js.map +1 -0
  120. package/dist/affinda/p-fd772813.entry.js +2 -0
  121. package/dist/affinda/p-fefe9597.entry.js +2 -0
  122. package/dist/cjs/af-accordion-item.cjs.entry.js +105 -0
  123. package/dist/cjs/af-accordion-item.entry.cjs.js.map +1 -0
  124. package/dist/cjs/af-accordion.cjs.entry.js +102 -0
  125. package/dist/cjs/af-accordion.entry.cjs.js.map +1 -0
  126. package/dist/cjs/af-aspect-ratio.cjs.entry.js +1 -1
  127. package/dist/cjs/af-button-group.cjs.entry.js +2 -2
  128. package/dist/cjs/af-button.cjs.entry.js +1 -1
  129. package/dist/cjs/af-button.entry.cjs.js.map +1 -1
  130. package/dist/cjs/af-card.cjs.entry.js +3 -3
  131. package/dist/cjs/af-card.entry.cjs.js.map +1 -1
  132. package/dist/cjs/af-center.cjs.entry.js +42 -0
  133. package/dist/cjs/af-center.entry.cjs.js.map +1 -0
  134. package/dist/cjs/af-checkbox.cjs.entry.js +3 -3
  135. package/dist/cjs/af-checkbox.entry.cjs.js.map +1 -1
  136. package/dist/cjs/af-client-carousel.cjs.entry.js +2 -2
  137. package/dist/cjs/af-color-swatch.cjs.entry.js +1 -1
  138. package/dist/cjs/af-contact-item.cjs.entry.js +2 -2
  139. package/dist/cjs/af-container.cjs.entry.js +1 -1
  140. package/dist/cjs/af-divider.cjs.entry.js +43 -0
  141. package/dist/cjs/af-divider.entry.cjs.js.map +1 -0
  142. package/dist/cjs/af-feature-accordion.cjs.entry.js +3 -3
  143. package/dist/cjs/af-feature-card.cjs.entry.js +1 -1
  144. package/dist/cjs/af-feature-grid.cjs.entry.js +2 -2
  145. package/dist/cjs/af-fieldset.cjs.entry.js +3 -3
  146. package/dist/cjs/af-fieldset.entry.cjs.js.map +1 -1
  147. package/dist/cjs/af-footer-column.cjs.entry.js +2 -2
  148. package/dist/cjs/af-footer-link.cjs.entry.js +2 -2
  149. package/dist/cjs/af-footer.cjs.entry.js +2 -2
  150. package/dist/cjs/af-grid-callout.cjs.entry.js +1 -1
  151. package/dist/cjs/af-grid.cjs.entry.js +44 -0
  152. package/dist/cjs/af-grid.entry.cjs.js.map +1 -0
  153. package/dist/cjs/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.cjs.js.map +1 -1
  154. package/dist/cjs/af-heading_5.cjs.entry.js +17 -17
  155. package/dist/cjs/af-icon-box.cjs.entry.js +2 -2
  156. package/dist/cjs/af-icon-button.cjs.entry.js +1 -1
  157. package/dist/cjs/af-icon-text.cjs.entry.js +2 -2
  158. package/dist/cjs/af-icon.cjs.entry.js +1 -1
  159. package/dist/cjs/af-illustrated-card.cjs.entry.js +2 -2
  160. package/dist/cjs/af-image.cjs.entry.js +2 -2
  161. package/dist/cjs/af-in-page-banner.cjs.entry.js +2 -2
  162. package/dist/cjs/af-inline.cjs.entry.js +58 -0
  163. package/dist/cjs/af-inline.entry.cjs.js.map +1 -0
  164. package/dist/cjs/af-input.cjs.entry.js +3 -3
  165. package/dist/cjs/af-input.entry.cjs.js.map +1 -1
  166. package/dist/cjs/af-logo-well.cjs.entry.js +2 -2
  167. package/dist/cjs/af-nav-accordion-item.cjs.entry.js +86 -0
  168. package/dist/cjs/af-nav-accordion-item.entry.cjs.js.map +1 -0
  169. package/dist/cjs/af-nav-accordion.cjs.entry.js +82 -0
  170. package/dist/cjs/af-nav-accordion.entry.cjs.js.map +1 -0
  171. package/dist/cjs/af-nav-card.cjs.entry.js +2 -2
  172. package/dist/cjs/af-nav-card.entry.cjs.js.map +1 -1
  173. package/dist/cjs/af-nav-menu-nest.cjs.entry.js +4 -3
  174. package/dist/cjs/af-nav-menu-nest.entry.cjs.js.map +1 -1
  175. package/dist/cjs/af-nav-menu.cjs.entry.js +3 -3
  176. package/dist/cjs/af-nav-menu.entry.cjs.js.map +1 -1
  177. package/dist/cjs/af-number-badge.cjs.entry.js +2 -2
  178. package/dist/cjs/af-progress-line.cjs.entry.js +3 -3
  179. package/dist/cjs/af-radio.cjs.entry.js +15 -6
  180. package/dist/cjs/af-radio.entry.cjs.js.map +1 -1
  181. package/dist/cjs/af-section.cjs.entry.js +4 -4
  182. package/dist/cjs/af-section.entry.cjs.js.map +1 -1
  183. package/dist/cjs/af-show.cjs.entry.js +23 -0
  184. package/dist/cjs/af-show.entry.cjs.js.map +1 -0
  185. package/dist/cjs/af-social-link.cjs.entry.js +2 -2
  186. package/dist/cjs/af-spacer.cjs.entry.js +45 -0
  187. package/dist/cjs/af-spacer.entry.cjs.js.map +1 -0
  188. package/dist/cjs/af-split-section.cjs.entry.js +4 -4
  189. package/dist/cjs/af-split-section.entry.cjs.js.map +1 -1
  190. package/dist/cjs/af-stack.cjs.entry.js +64 -0
  191. package/dist/cjs/af-stack.entry.cjs.js.map +1 -0
  192. package/dist/cjs/af-switch.cjs.entry.js +3 -3
  193. package/dist/cjs/af-switch.entry.cjs.js.map +1 -1
  194. package/dist/cjs/af-tab-bar.cjs.entry.js +2 -2
  195. package/dist/cjs/af-tab.cjs.entry.js +2 -2
  196. package/dist/cjs/af-tag.cjs.entry.js +3 -3
  197. package/dist/cjs/af-testimonial-carousel.cjs.entry.js +2 -2
  198. package/dist/cjs/af-testimonial-stat.cjs.entry.js +2 -2
  199. package/dist/cjs/af-testimonial.cjs.entry.js +3 -3
  200. package/dist/cjs/af-text-image-nest.cjs.entry.js +2 -2
  201. package/dist/cjs/af-text-image.cjs.entry.js +1 -1
  202. package/dist/cjs/af-textarea.cjs.entry.js +3 -3
  203. package/dist/cjs/af-textarea.entry.cjs.js.map +1 -1
  204. package/dist/cjs/af-theme-override.cjs.entry.js +23 -0
  205. package/dist/cjs/af-theme-override.entry.cjs.js.map +1 -0
  206. package/dist/cjs/af-typography-lockup.cjs.entry.js +22 -9
  207. package/dist/cjs/af-typography-lockup.entry.cjs.js.map +1 -1
  208. package/dist/cjs/af-video-container.cjs.entry.js +2 -2
  209. package/dist/cjs/af-visually-hidden.cjs.entry.js +23 -0
  210. package/dist/cjs/af-visually-hidden.entry.cjs.js.map +1 -0
  211. package/dist/cjs/affinda.cjs.js +2 -2
  212. package/dist/cjs/{index-ybEiHT0b.js → index-n-fnurTP.js} +19 -2
  213. package/dist/cjs/index-n-fnurTP.js.map +1 -0
  214. package/dist/cjs/index.cjs.js +1 -1
  215. package/dist/cjs/loader.cjs.js +2 -2
  216. package/dist/collection/collection-manifest.json +14 -2
  217. package/dist/collection/components/af-accordion/af-accordion.css +21 -0
  218. package/dist/collection/components/af-accordion/af-accordion.js +207 -0
  219. package/dist/collection/components/af-accordion/af-accordion.js.map +1 -0
  220. package/dist/collection/components/af-accordion-item/af-accordion-item.css +86 -0
  221. package/dist/collection/components/af-accordion-item/af-accordion-item.js +224 -0
  222. package/dist/collection/components/af-accordion-item/af-accordion-item.js.map +1 -0
  223. package/dist/collection/components/af-button/af-button.js +1 -1
  224. package/dist/collection/components/af-button/af-button.js.map +1 -1
  225. package/dist/collection/components/af-button-group/af-button-group.js +1 -1
  226. package/dist/collection/components/af-card/af-card.css +11 -0
  227. package/dist/collection/components/af-card/af-card.js +1 -1
  228. package/dist/collection/components/af-center/af-center.css +9 -0
  229. package/dist/collection/components/af-center/af-center.js +119 -0
  230. package/dist/collection/components/af-center/af-center.js.map +1 -0
  231. package/dist/collection/components/af-checkbox/af-checkbox.css +31 -18
  232. package/dist/collection/components/af-checkbox/af-checkbox.js +1 -1
  233. package/dist/collection/components/af-client-carousel/af-client-carousel.js +1 -1
  234. package/dist/collection/components/af-contact-item/af-contact-item.js +1 -1
  235. package/dist/collection/components/af-divider/af-divider.css +25 -0
  236. package/dist/collection/components/af-divider/af-divider.js +104 -0
  237. package/dist/collection/components/af-divider/af-divider.js.map +1 -0
  238. package/dist/collection/components/af-feature-accordion/af-feature-accordion.js +2 -2
  239. package/dist/collection/components/af-feature-grid/af-feature-grid.js +1 -1
  240. package/dist/collection/components/af-fieldset/af-fieldset.css +2 -1
  241. package/dist/collection/components/af-fieldset/af-fieldset.js +1 -1
  242. package/dist/collection/components/af-footer/af-footer.js +1 -1
  243. package/dist/collection/components/af-footer-column/af-footer-column.js +1 -1
  244. package/dist/collection/components/af-footer-link/af-footer-link.js +1 -1
  245. package/dist/collection/components/af-grid/af-grid.css +37 -0
  246. package/dist/collection/components/af-grid/af-grid.js +204 -0
  247. package/dist/collection/components/af-grid/af-grid.js.map +1 -0
  248. package/dist/collection/components/af-heading/af-heading.css +5 -1
  249. package/dist/collection/components/af-heading/af-heading.js +9 -9
  250. package/dist/collection/components/af-heading/af-heading.js.map +1 -1
  251. package/dist/collection/components/af-icon/af-icon.js +1 -1
  252. package/dist/collection/components/af-icon-box/af-icon-box.js +2 -2
  253. package/dist/collection/components/af-icon-text/af-icon-text.js +2 -2
  254. package/dist/collection/components/af-illustrated-card/af-illustrated-card.js +1 -1
  255. package/dist/collection/components/af-image/af-image.js +1 -1
  256. package/dist/collection/components/af-in-page-banner/af-in-page-banner.js +1 -1
  257. package/dist/collection/components/af-inline/af-inline.css +9 -0
  258. package/dist/collection/components/af-inline/af-inline.js +166 -0
  259. package/dist/collection/components/af-inline/af-inline.js.map +1 -0
  260. package/dist/collection/components/af-input/af-input.css +25 -25
  261. package/dist/collection/components/af-input/af-input.js +1 -1
  262. package/dist/collection/components/af-logo/af-logo.css +1 -1
  263. package/dist/collection/components/af-logo/af-logo.js +1 -1
  264. package/dist/collection/components/af-logo-well/af-logo-well.js +1 -1
  265. package/dist/collection/components/af-nav-accordion/af-nav-accordion.css +21 -0
  266. package/dist/collection/components/af-nav-accordion/af-nav-accordion.js +185 -0
  267. package/dist/collection/components/af-nav-accordion/af-nav-accordion.js.map +1 -0
  268. package/dist/collection/components/af-nav-accordion-item/af-nav-accordion-item.css +146 -0
  269. package/dist/collection/components/af-nav-accordion-item/af-nav-accordion-item.js +265 -0
  270. package/dist/collection/components/af-nav-accordion-item/af-nav-accordion-item.js.map +1 -0
  271. package/dist/collection/components/af-nav-card/af-nav-card.js +1 -1
  272. package/dist/collection/components/af-nav-card/af-nav-card.js.map +1 -1
  273. package/dist/collection/components/af-nav-item/af-nav-item.css +21 -15
  274. package/dist/collection/components/af-nav-item/af-nav-item.js +2 -2
  275. package/dist/collection/components/af-nav-item/af-nav-item.js.map +1 -1
  276. package/dist/collection/components/af-nav-menu/af-nav-menu.css +4 -4
  277. package/dist/collection/components/af-nav-menu/af-nav-menu.js +2 -2
  278. package/dist/collection/components/af-nav-menu/af-nav-menu.js.map +1 -1
  279. package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.css +5 -5
  280. package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js +3 -2
  281. package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js.map +1 -1
  282. package/dist/collection/components/af-navbar/af-navbar.css +144 -46
  283. package/dist/collection/components/af-navbar/af-navbar.js +36 -2
  284. package/dist/collection/components/af-navbar/af-navbar.js.map +1 -1
  285. package/dist/collection/components/af-number-badge/af-number-badge.js +1 -1
  286. package/dist/collection/components/af-progress-line/af-progress-line.js +2 -2
  287. package/dist/collection/components/af-radio/af-radio.css +35 -18
  288. package/dist/collection/components/af-radio/af-radio.js +17 -7
  289. package/dist/collection/components/af-radio/af-radio.js.map +1 -1
  290. package/dist/collection/components/af-section/af-section.css +139 -0
  291. package/dist/collection/components/af-section/af-section.js +4 -4
  292. package/dist/collection/components/af-section/af-section.js.map +1 -1
  293. package/dist/collection/components/af-show/af-show.css +78 -0
  294. package/dist/collection/components/af-show/af-show.js +88 -0
  295. package/dist/collection/components/af-show/af-show.js.map +1 -0
  296. package/dist/collection/components/af-social-link/af-social-link.js +1 -1
  297. package/dist/collection/components/af-spacer/af-spacer.css +10 -0
  298. package/dist/collection/components/af-spacer/af-spacer.js +120 -0
  299. package/dist/collection/components/af-spacer/af-spacer.js.map +1 -0
  300. package/dist/collection/components/af-split-section/af-split-section.css +4 -0
  301. package/dist/collection/components/af-split-section/af-split-section.js +4 -4
  302. package/dist/collection/components/af-split-section/af-split-section.js.map +1 -1
  303. package/dist/collection/components/af-stack/af-stack.css +9 -0
  304. package/dist/collection/components/af-stack/af-stack.js +197 -0
  305. package/dist/collection/components/af-stack/af-stack.js.map +1 -0
  306. package/dist/collection/components/af-switch/af-switch.css +15 -9
  307. package/dist/collection/components/af-switch/af-switch.js +1 -1
  308. package/dist/collection/components/af-tab/af-tab.js +1 -1
  309. package/dist/collection/components/af-tab-bar/af-tab-bar.js +1 -1
  310. package/dist/collection/components/af-tag/af-tag.js +2 -2
  311. package/dist/collection/components/af-testimonial/af-testimonial.js +2 -2
  312. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js +1 -1
  313. package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js +1 -1
  314. package/dist/collection/components/af-text/af-text.css +2 -0
  315. package/dist/collection/components/af-text/af-text.js +8 -11
  316. package/dist/collection/components/af-text/af-text.js.map +1 -1
  317. package/dist/collection/components/af-text-image-nest/af-text-image-nest.js +1 -1
  318. package/dist/collection/components/af-textarea/af-textarea.css +22 -21
  319. package/dist/collection/components/af-textarea/af-textarea.js +1 -1
  320. package/dist/collection/components/af-theme-override/af-theme-override.css +376 -0
  321. package/dist/collection/components/af-theme-override/af-theme-override.js +60 -0
  322. package/dist/collection/components/af-theme-override/af-theme-override.js.map +1 -0
  323. package/dist/collection/components/af-typography-lockup/af-typography-lockup.css +57 -20
  324. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js +104 -14
  325. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js.map +1 -1
  326. package/dist/collection/components/af-video-container/af-video-container.js +1 -1
  327. package/dist/collection/components/af-visually-hidden/af-visually-hidden.css +23 -0
  328. package/dist/collection/components/af-visually-hidden/af-visually-hidden.js +57 -0
  329. package/dist/collection/components/af-visually-hidden/af-visually-hidden.js.map +1 -0
  330. package/dist/components/af-accordion-item.d.ts +11 -0
  331. package/dist/components/af-accordion-item.js +133 -0
  332. package/dist/components/af-accordion-item.js.map +1 -0
  333. package/dist/components/{af-hero-section.d.ts → af-accordion.d.ts} +4 -4
  334. package/dist/components/af-accordion.js +128 -0
  335. package/dist/components/af-accordion.js.map +1 -0
  336. package/dist/components/af-button-group.js +1 -1
  337. package/dist/components/af-card.js +1 -1
  338. package/dist/components/af-center.d.ts +11 -0
  339. package/dist/components/af-center.js +66 -0
  340. package/dist/components/af-center.js.map +1 -0
  341. package/dist/components/af-checkbox.js +1 -1
  342. package/dist/components/af-client-carousel.js +1 -1
  343. package/dist/components/af-contact-item.js +1 -1
  344. package/dist/components/af-divider.d.ts +11 -0
  345. package/dist/components/af-divider.js +66 -0
  346. package/dist/components/af-divider.js.map +1 -0
  347. package/dist/components/af-feature-accordion.js +2 -2
  348. package/dist/components/af-feature-card.js +1 -1
  349. package/dist/components/af-feature-grid.js +2 -2
  350. package/dist/components/af-fieldset.js +1 -1
  351. package/dist/components/af-footer-column.js +1 -1
  352. package/dist/components/af-footer-link.js +1 -1
  353. package/dist/components/af-footer.js +1 -1
  354. package/dist/components/af-grid-callout.js +1 -1
  355. package/dist/components/af-grid.d.ts +11 -0
  356. package/dist/components/af-grid.js +71 -0
  357. package/dist/components/af-grid.js.map +1 -0
  358. package/dist/components/af-heading.js +1 -1
  359. package/dist/components/af-icon-box.js +1 -1
  360. package/dist/components/af-icon-text.js +3 -3
  361. package/dist/components/af-illustrated-card.js +1 -1
  362. package/dist/components/af-image.js +1 -1
  363. package/dist/components/af-in-page-banner.js +1 -1
  364. package/dist/components/af-inline.d.ts +11 -0
  365. package/dist/components/af-inline.js +83 -0
  366. package/dist/components/af-inline.js.map +1 -0
  367. package/dist/components/af-input.js +1 -1
  368. package/dist/components/af-logo-well.js +1 -1
  369. package/dist/components/af-logo.js +1 -1
  370. package/dist/components/af-nav-accordion-item.d.ts +11 -0
  371. package/dist/components/af-nav-accordion-item.js +117 -0
  372. package/dist/components/af-nav-accordion-item.js.map +1 -0
  373. package/dist/components/af-nav-accordion.d.ts +11 -0
  374. package/dist/components/af-nav-accordion.js +106 -0
  375. package/dist/components/af-nav-accordion.js.map +1 -0
  376. package/dist/components/af-nav-card.js +2 -3
  377. package/dist/components/af-nav-card.js.map +1 -1
  378. package/dist/components/af-nav-item.js +1 -1
  379. package/dist/components/af-nav-menu-nest.js +4 -4
  380. package/dist/components/af-nav-menu-nest.js.map +1 -1
  381. package/dist/components/af-nav-menu.js +3 -4
  382. package/dist/components/af-nav-menu.js.map +1 -1
  383. package/dist/components/af-navbar.js +1 -1
  384. package/dist/components/af-number-badge.js +1 -1
  385. package/dist/components/af-progress-line.js +1 -1
  386. package/dist/components/af-radio.js +1 -1
  387. package/dist/components/af-section.js +3 -3
  388. package/dist/components/af-section.js.map +1 -1
  389. package/dist/components/af-show.d.ts +11 -0
  390. package/dist/components/af-show.js +46 -0
  391. package/dist/components/af-show.js.map +1 -0
  392. package/dist/components/af-social-link.js +1 -1
  393. package/dist/components/af-spacer.d.ts +11 -0
  394. package/dist/components/af-spacer.js +69 -0
  395. package/dist/components/af-spacer.js.map +1 -0
  396. package/dist/components/af-split-section.js +3 -3
  397. package/dist/components/af-split-section.js.map +1 -1
  398. package/dist/components/af-stack.d.ts +11 -0
  399. package/dist/components/af-stack.js +90 -0
  400. package/dist/components/af-stack.js.map +1 -0
  401. package/dist/components/af-switch.js +1 -1
  402. package/dist/components/af-tab-bar.js +1 -1
  403. package/dist/components/af-tab.js +1 -1
  404. package/dist/components/af-tag.js +1 -1
  405. package/dist/components/af-testimonial-carousel.js +2 -2
  406. package/dist/components/af-testimonial-stat.js +3 -3
  407. package/dist/components/af-testimonial.js +3 -3
  408. package/dist/components/af-text-image-nest.js +1 -1
  409. package/dist/components/af-text-image.js +1 -1
  410. package/dist/components/af-text.js +1 -1
  411. package/dist/components/af-textarea.js +1 -1
  412. package/dist/components/af-theme-override.d.ts +11 -0
  413. package/dist/components/af-theme-override.js +44 -0
  414. package/dist/components/af-theme-override.js.map +1 -0
  415. package/dist/components/af-typography-lockup.js +1 -1
  416. package/dist/components/af-video-container.js +1 -1
  417. package/dist/components/af-visually-hidden.d.ts +11 -0
  418. package/dist/components/af-visually-hidden.js +45 -0
  419. package/dist/components/af-visually-hidden.js.map +1 -0
  420. package/dist/components/index.js +18 -18
  421. package/dist/components/p-BBVslKpK.js +59 -0
  422. package/dist/components/p-BBVslKpK.js.map +1 -0
  423. package/dist/components/{p-C0f6y_zg.js → p-BQz_OQzK.js} +4 -4
  424. package/dist/components/{p-C0f6y_zg.js.map → p-BQz_OQzK.js.map} +1 -1
  425. package/dist/components/{p-DZ-qivXD.js → p-BUoRUEpQ.js} +3 -3
  426. package/dist/components/{p-DZ-qivXD.js.map → p-BUoRUEpQ.js.map} +1 -1
  427. package/dist/components/{p-Cqp0DdgH.js → p-Bi5ytUXg.js} +4 -4
  428. package/dist/components/{p-Cqp0DdgH.js.map → p-Bi5ytUXg.js.map} +1 -1
  429. package/dist/components/{p-xDRMXxWJ.js → p-BvIMp8pz.js} +3 -3
  430. package/dist/components/{p-xDRMXxWJ.js.map → p-BvIMp8pz.js.map} +1 -1
  431. package/dist/components/{p-Dvi1lz3x.js → p-C8_mFdv5.js} +4 -4
  432. package/dist/components/{p-Dvi1lz3x.js.map → p-C8_mFdv5.js.map} +1 -1
  433. package/dist/components/{p-ByHIHg3l.js → p-CAYG3IzP.js} +3 -3
  434. package/dist/components/{p-ByHIHg3l.js.map → p-CAYG3IzP.js.map} +1 -1
  435. package/dist/components/{p-D99aXp3U.js → p-CLmCtN_R.js} +4 -4
  436. package/dist/components/p-CLmCtN_R.js.map +1 -0
  437. package/dist/components/p-CUSad8vm.js +74 -0
  438. package/dist/components/p-CUSad8vm.js.map +1 -0
  439. package/dist/components/p-ChgW4Hec.js +100 -0
  440. package/dist/components/p-ChgW4Hec.js.map +1 -0
  441. package/dist/components/{p-CCAq3Zj6.js → p-CnNV1GZE.js} +5 -5
  442. package/dist/components/{p-CCAq3Zj6.js.map → p-CnNV1GZE.js.map} +1 -1
  443. package/dist/components/p-CxngDK-N.js.map +1 -1
  444. package/dist/components/{p-wwnR-hlX.js → p-D66k2SSB.js} +4 -4
  445. package/dist/components/{p-wwnR-hlX.js.map → p-D66k2SSB.js.map} +1 -1
  446. package/dist/components/p-DBnL9UHx.js.map +1 -1
  447. package/dist/components/{p-DOkvrcIE.js → p-DReSTue0.js} +6 -8
  448. package/dist/components/p-DReSTue0.js.map +1 -0
  449. package/dist/components/p-DUQu3N38.js +70 -0
  450. package/dist/components/p-DUQu3N38.js.map +1 -0
  451. package/dist/components/{p-DhdRcSve.js → p-DZ6UMG8G.js} +3 -3
  452. package/dist/components/{p-DhdRcSve.js.map → p-DZ6UMG8G.js.map} +1 -1
  453. package/dist/components/p-Dd7Lt2QL.js +81 -0
  454. package/dist/components/p-Dd7Lt2QL.js.map +1 -0
  455. package/dist/components/p-DkvJiyn0.js +73 -0
  456. package/dist/components/p-DkvJiyn0.js.map +1 -0
  457. package/dist/components/p-Dvo_cxk-.js +141 -0
  458. package/dist/components/p-Dvo_cxk-.js.map +1 -0
  459. package/dist/components/{p-CZyCImor.js → p-Dwhi37rN.js} +4 -4
  460. package/dist/components/p-Dwhi37rN.js.map +1 -0
  461. package/dist/components/{p-l95vl6T1.js → p-Ws-qvw9w.js} +3 -3
  462. package/dist/components/{p-l95vl6T1.js.map → p-Ws-qvw9w.js.map} +1 -1
  463. package/dist/components/p-hOnulRmz.js +84 -0
  464. package/dist/components/p-hOnulRmz.js.map +1 -0
  465. package/dist/components/{p-BRsO61_R.js → p-zDoPXonz.js} +4 -4
  466. package/dist/components/p-zDoPXonz.js.map +1 -0
  467. package/dist/esm/af-accordion-item.entry.js +103 -0
  468. package/dist/esm/af-accordion-item.entry.js.map +1 -0
  469. package/dist/esm/af-accordion.entry.js +100 -0
  470. package/dist/esm/af-accordion.entry.js.map +1 -0
  471. package/dist/esm/af-aspect-ratio.entry.js +1 -1
  472. package/dist/esm/af-button-group.entry.js +2 -2
  473. package/dist/esm/af-button.entry.js +1 -1
  474. package/dist/esm/af-button.entry.js.map +1 -1
  475. package/dist/esm/af-card.entry.js +3 -3
  476. package/dist/esm/af-card.entry.js.map +1 -1
  477. package/dist/esm/af-center.entry.js +40 -0
  478. package/dist/esm/af-center.entry.js.map +1 -0
  479. package/dist/esm/af-checkbox.entry.js +3 -3
  480. package/dist/esm/af-checkbox.entry.js.map +1 -1
  481. package/dist/esm/af-client-carousel.entry.js +2 -2
  482. package/dist/esm/af-color-swatch.entry.js +1 -1
  483. package/dist/esm/af-contact-item.entry.js +2 -2
  484. package/dist/esm/af-container.entry.js +1 -1
  485. package/dist/esm/af-divider.entry.js +41 -0
  486. package/dist/esm/af-divider.entry.js.map +1 -0
  487. package/dist/esm/af-feature-accordion.entry.js +3 -3
  488. package/dist/esm/af-feature-card.entry.js +1 -1
  489. package/dist/esm/af-feature-grid.entry.js +2 -2
  490. package/dist/esm/af-fieldset.entry.js +3 -3
  491. package/dist/esm/af-fieldset.entry.js.map +1 -1
  492. package/dist/esm/af-footer-column.entry.js +2 -2
  493. package/dist/esm/af-footer-link.entry.js +2 -2
  494. package/dist/esm/af-footer.entry.js +2 -2
  495. package/dist/esm/af-grid-callout.entry.js +1 -1
  496. package/dist/esm/af-grid.entry.js +42 -0
  497. package/dist/esm/af-grid.entry.js.map +1 -0
  498. package/dist/esm/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.js.map +1 -1
  499. package/dist/esm/af-heading_5.entry.js +17 -17
  500. package/dist/esm/af-icon-box.entry.js +2 -2
  501. package/dist/esm/af-icon-button.entry.js +1 -1
  502. package/dist/esm/af-icon-text.entry.js +2 -2
  503. package/dist/esm/af-icon.entry.js +1 -1
  504. package/dist/esm/af-illustrated-card.entry.js +2 -2
  505. package/dist/esm/af-image.entry.js +2 -2
  506. package/dist/esm/af-in-page-banner.entry.js +2 -2
  507. package/dist/esm/af-inline.entry.js +56 -0
  508. package/dist/esm/af-inline.entry.js.map +1 -0
  509. package/dist/esm/af-input.entry.js +3 -3
  510. package/dist/esm/af-input.entry.js.map +1 -1
  511. package/dist/esm/af-logo-well.entry.js +2 -2
  512. package/dist/esm/af-nav-accordion-item.entry.js +84 -0
  513. package/dist/esm/af-nav-accordion-item.entry.js.map +1 -0
  514. package/dist/esm/af-nav-accordion.entry.js +80 -0
  515. package/dist/esm/af-nav-accordion.entry.js.map +1 -0
  516. package/dist/esm/af-nav-card.entry.js +2 -2
  517. package/dist/esm/af-nav-card.entry.js.map +1 -1
  518. package/dist/esm/af-nav-menu-nest.entry.js +4 -3
  519. package/dist/esm/af-nav-menu-nest.entry.js.map +1 -1
  520. package/dist/esm/af-nav-menu.entry.js +3 -3
  521. package/dist/esm/af-nav-menu.entry.js.map +1 -1
  522. package/dist/esm/af-number-badge.entry.js +2 -2
  523. package/dist/esm/af-progress-line.entry.js +3 -3
  524. package/dist/esm/af-radio.entry.js +15 -6
  525. package/dist/esm/af-radio.entry.js.map +1 -1
  526. package/dist/esm/af-section.entry.js +4 -4
  527. package/dist/esm/af-section.entry.js.map +1 -1
  528. package/dist/esm/af-show.entry.js +21 -0
  529. package/dist/esm/af-show.entry.js.map +1 -0
  530. package/dist/esm/af-social-link.entry.js +2 -2
  531. package/dist/esm/af-spacer.entry.js +43 -0
  532. package/dist/esm/af-spacer.entry.js.map +1 -0
  533. package/dist/esm/af-split-section.entry.js +4 -4
  534. package/dist/esm/af-split-section.entry.js.map +1 -1
  535. package/dist/esm/af-stack.entry.js +62 -0
  536. package/dist/esm/af-stack.entry.js.map +1 -0
  537. package/dist/esm/af-switch.entry.js +3 -3
  538. package/dist/esm/af-switch.entry.js.map +1 -1
  539. package/dist/esm/af-tab-bar.entry.js +2 -2
  540. package/dist/esm/af-tab.entry.js +2 -2
  541. package/dist/esm/af-tag.entry.js +3 -3
  542. package/dist/esm/af-testimonial-carousel.entry.js +2 -2
  543. package/dist/esm/af-testimonial-stat.entry.js +2 -2
  544. package/dist/esm/af-testimonial.entry.js +3 -3
  545. package/dist/esm/af-text-image-nest.entry.js +2 -2
  546. package/dist/esm/af-text-image.entry.js +1 -1
  547. package/dist/esm/af-textarea.entry.js +3 -3
  548. package/dist/esm/af-textarea.entry.js.map +1 -1
  549. package/dist/esm/af-theme-override.entry.js +21 -0
  550. package/dist/esm/af-theme-override.entry.js.map +1 -0
  551. package/dist/esm/af-typography-lockup.entry.js +22 -9
  552. package/dist/esm/af-typography-lockup.entry.js.map +1 -1
  553. package/dist/esm/af-video-container.entry.js +2 -2
  554. package/dist/esm/af-visually-hidden.entry.js +21 -0
  555. package/dist/esm/af-visually-hidden.entry.js.map +1 -0
  556. package/dist/esm/affinda.js +3 -3
  557. package/dist/esm/{index-BmU_CFQ4.js → index-B0LVveHp.js} +19 -2
  558. package/dist/esm/index-B0LVveHp.js.map +1 -0
  559. package/dist/esm/index.js +1 -1
  560. package/dist/esm/loader.js +3 -3
  561. package/dist/types/components/af-accordion/af-accordion.d.ts +55 -0
  562. package/dist/types/components/af-accordion-item/af-accordion-item.d.ts +44 -0
  563. package/dist/types/components/af-button/af-button.d.ts +1 -1
  564. package/dist/types/components/af-center/af-center.d.ts +28 -0
  565. package/dist/types/components/af-divider/af-divider.d.ts +20 -0
  566. package/dist/types/components/af-grid/af-grid.d.ts +38 -0
  567. package/dist/types/components/af-heading/af-heading.d.ts +3 -3
  568. package/dist/types/components/af-inline/af-inline.d.ts +30 -0
  569. package/dist/types/components/af-nav-accordion/af-nav-accordion.d.ts +45 -0
  570. package/dist/types/components/af-nav-accordion-item/af-nav-accordion-item.d.ts +57 -0
  571. package/dist/types/components/af-navbar/af-navbar.d.ts +14 -0
  572. package/dist/types/components/af-radio/af-radio.d.ts +4 -1
  573. package/dist/types/components/af-section/af-section.d.ts +1 -1
  574. package/dist/types/components/af-show/af-show.d.ts +27 -0
  575. package/dist/types/components/af-spacer/af-spacer.d.ts +29 -0
  576. package/dist/types/components/af-split-section/af-split-section.d.ts +1 -1
  577. package/dist/types/components/af-stack/af-stack.d.ts +37 -0
  578. package/dist/types/components/af-text/af-text.d.ts +3 -3
  579. package/dist/types/components/af-theme-override/af-theme-override.d.ts +18 -0
  580. package/dist/types/components/af-typography-lockup/af-typography-lockup.d.ts +19 -4
  581. package/dist/types/components/af-visually-hidden/af-visually-hidden.d.ts +15 -0
  582. package/dist/types/components.d.ts +1006 -138
  583. package/package.json +2 -2
  584. package/dist/affinda/af-hero-section.entry.esm.js.map +0 -1
  585. package/dist/affinda/p-231ba1d0.entry.js +0 -2
  586. package/dist/affinda/p-3f691578.entry.js +0 -2
  587. package/dist/affinda/p-3f691578.entry.js.map +0 -1
  588. package/dist/affinda/p-53ae16fe.entry.js +0 -2
  589. package/dist/affinda/p-53b5149d.entry.js +0 -2
  590. package/dist/affinda/p-53b5149d.entry.js.map +0 -1
  591. package/dist/affinda/p-57713942.entry.js +0 -2
  592. package/dist/affinda/p-57713942.entry.js.map +0 -1
  593. package/dist/affinda/p-697bf0b7.entry.js +0 -2
  594. package/dist/affinda/p-6b2d0ff4.entry.js +0 -2
  595. package/dist/affinda/p-72f02343.entry.js +0 -2
  596. package/dist/affinda/p-7f20fbe0.entry.js +0 -2
  597. package/dist/affinda/p-98901734.entry.js +0 -2
  598. package/dist/affinda/p-9f470d8b.entry.js +0 -2
  599. package/dist/affinda/p-9f470d8b.entry.js.map +0 -1
  600. package/dist/affinda/p-BmU_CFQ4.js.map +0 -1
  601. package/dist/affinda/p-aaa28806.entry.js +0 -2
  602. package/dist/affinda/p-aaa28806.entry.js.map +0 -1
  603. package/dist/affinda/p-be049760.entry.js +0 -2
  604. package/dist/affinda/p-c0ee2420.entry.js +0 -2
  605. package/dist/affinda/p-c298b370.entry.js +0 -2
  606. package/dist/affinda/p-c3e31251.entry.js +0 -2
  607. package/dist/affinda/p-ce3356f1.entry.js +0 -2
  608. package/dist/affinda/p-df148383.entry.js +0 -2
  609. package/dist/affinda/p-df148383.entry.js.map +0 -1
  610. package/dist/affinda/p-ea06c83b.entry.js +0 -2
  611. package/dist/cjs/af-hero-section.cjs.entry.js +0 -30
  612. package/dist/cjs/af-hero-section.entry.cjs.js.map +0 -1
  613. package/dist/cjs/index-ybEiHT0b.js.map +0 -1
  614. package/dist/collection/components/af-hero-section/af-hero-section.css +0 -175
  615. package/dist/collection/components/af-hero-section/af-hero-section.js +0 -186
  616. package/dist/collection/components/af-hero-section/af-hero-section.js.map +0 -1
  617. package/dist/components/af-hero-section.js +0 -69
  618. package/dist/components/af-hero-section.js.map +0 -1
  619. package/dist/components/p-BMp8QbY-.js +0 -68
  620. package/dist/components/p-BMp8QbY-.js.map +0 -1
  621. package/dist/components/p-BRN73McC.js +0 -59
  622. package/dist/components/p-BRN73McC.js.map +0 -1
  623. package/dist/components/p-BRsO61_R.js.map +0 -1
  624. package/dist/components/p-Bh4YP9vE.js +0 -74
  625. package/dist/components/p-Bh4YP9vE.js.map +0 -1
  626. package/dist/components/p-Br0VERLB.js +0 -81
  627. package/dist/components/p-Br0VERLB.js.map +0 -1
  628. package/dist/components/p-CZyCImor.js.map +0 -1
  629. package/dist/components/p-C_M8AOaj.js +0 -65
  630. package/dist/components/p-C_M8AOaj.js.map +0 -1
  631. package/dist/components/p-D99aXp3U.js.map +0 -1
  632. package/dist/components/p-DOkvrcIE.js.map +0 -1
  633. package/dist/components/p-DW5DrJlQ.js +0 -70
  634. package/dist/components/p-DW5DrJlQ.js.map +0 -1
  635. package/dist/components/p-DzkSL2bi.js +0 -141
  636. package/dist/components/p-DzkSL2bi.js.map +0 -1
  637. package/dist/components/p-_bQXTXUb.js +0 -98
  638. package/dist/components/p-_bQXTXUb.js.map +0 -1
  639. package/dist/esm/af-hero-section.entry.js +0 -28
  640. package/dist/esm/af-hero-section.entry.js.map +0 -1
  641. package/dist/esm/index-BmU_CFQ4.js.map +0 -1
  642. package/dist/types/components/af-hero-section/af-hero-section.d.ts +0 -27
  643. /package/dist/affinda/{p-acbbe39a.entry.js.map → p-01993cc8.entry.js.map} +0 -0
  644. /package/dist/affinda/{p-a4e4eb4d.entry.js.map → p-04de9a0a.entry.js.map} +0 -0
  645. /package/dist/affinda/{p-a6365e94.entry.js.map → p-080cf84f.entry.js.map} +0 -0
  646. /package/dist/affinda/{p-b3b0ed0c.entry.js.map → p-0b5bc045.entry.js.map} +0 -0
  647. /package/dist/affinda/{p-864778d0.entry.js.map → p-0d97a3c5.entry.js.map} +0 -0
  648. /package/dist/affinda/{p-2b4dc22c.entry.js.map → p-16f808d5.entry.js.map} +0 -0
  649. /package/dist/affinda/{p-52ab3bf0.entry.js.map → p-19eb7cb9.entry.js.map} +0 -0
  650. /package/dist/affinda/{p-1d65fd18.entry.js.map → p-2e750d43.entry.js.map} +0 -0
  651. /package/dist/affinda/{p-861f4f57.entry.js.map → p-331f9627.entry.js.map} +0 -0
  652. /package/dist/affinda/{p-77bf8a81.entry.js.map → p-3d2fb635.entry.js.map} +0 -0
  653. /package/dist/affinda/{p-e5af21c2.entry.js.map → p-3e16bb11.entry.js.map} +0 -0
  654. /package/dist/affinda/{p-f45b0060.entry.js.map → p-63314e14.entry.js.map} +0 -0
  655. /package/dist/affinda/{p-45e1923c.entry.js.map → p-68f1f661.entry.js.map} +0 -0
  656. /package/dist/affinda/{p-b17735c9.entry.js.map → p-6af1634a.entry.js.map} +0 -0
  657. /package/dist/affinda/{p-8ea22b5d.entry.js.map → p-7792cd53.entry.js.map} +0 -0
  658. /package/dist/affinda/{p-85a78bcf.entry.js.map → p-8f24dfe3.entry.js.map} +0 -0
  659. /package/dist/affinda/{p-44b25840.entry.js.map → p-920e6d30.entry.js.map} +0 -0
  660. /package/dist/affinda/{p-10801ee1.entry.js.map → p-96df0106.entry.js.map} +0 -0
  661. /package/dist/affinda/{p-a36abb83.entry.js.map → p-9e21b6c1.entry.js.map} +0 -0
  662. /package/dist/affinda/{p-c11088fa.entry.js.map → p-a2c71cad.entry.js.map} +0 -0
  663. /package/dist/affinda/{p-96eac3af.entry.js.map → p-adacb8c4.entry.js.map} +0 -0
  664. /package/dist/affinda/{p-e5d9913c.entry.js.map → p-b10103f4.entry.js.map} +0 -0
  665. /package/dist/affinda/{p-1d9e532f.entry.js.map → p-bd7170d7.entry.js.map} +0 -0
  666. /package/dist/affinda/{p-0cd160a4.entry.js.map → p-cc4e73dc.entry.js.map} +0 -0
  667. /package/dist/affinda/{p-3d3c9f62.entry.js.map → p-d51c4b1b.entry.js.map} +0 -0
  668. /package/dist/affinda/{p-53ae16fe.entry.js.map → p-d6e55455.entry.js.map} +0 -0
  669. /package/dist/affinda/{p-81571029.entry.js.map → p-d90366f6.entry.js.map} +0 -0
  670. /package/dist/affinda/{p-31d4c1a4.entry.js.map → p-db9249e4.entry.js.map} +0 -0
  671. /package/dist/affinda/{p-5bbf2c8c.entry.js.map → p-e305c2b7.entry.js.map} +0 -0
  672. /package/dist/affinda/{p-71144002.entry.js.map → p-e7d8d909.entry.js.map} +0 -0
  673. /package/dist/affinda/{p-425253ee.entry.js.map → p-f7a13cd3.entry.js.map} +0 -0
  674. /package/dist/affinda/{p-72f02343.entry.js.map → p-fd772813.entry.js.map} +0 -0
  675. /package/dist/affinda/{p-6b2d0ff4.entry.js.map → p-fefe9597.entry.js.map} +0 -0
@@ -0,0 +1,141 @@
1
+ import { p as proxyCustomElement, H, d as createEvent, h, c as Host } from './p-CxngDK-N.js';
2
+
3
+ const afInputCss = ":host{display:block;width:100%}.input-wrapper{display:flex;flex-direction:column;gap:var(--sds-size-space-200, 8px);width:100%}.label-row{display:flex;align-items:center;gap:12px}.label{flex:1;font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-weight:var(--font-weight-book, 500);font-size:16px;line-height:24px;color:var(--af-input-label, var(--af-typography-body-dark, #14343b));cursor:default}.required{color:var(--af-input-error, var(--colour-error, #be292a));margin-left:2px}.info-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:none;cursor:pointer;color:var(--af-input-icon, var(--af-background-icon-default, #14343b));flex-shrink:0}.info-icon svg{width:20px;height:20px}.info-icon:hover{opacity:0.7}.info-icon:focus-visible{outline:2px solid var(--af-input-focus-ring, var(--af-typography-body-dark, #14343b));outline-offset:2px;border-radius:4px}.description{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-weight:var(--font-weight-regular, 400);font-size:16px;line-height:24px;color:var(--af-input-description, var(--af-typography-body-default, #2b484f));margin:0}.input-container{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--af-input-bg, #ffffff);border:1px solid var(--af-input-border, var(--af-background-border-default, #d1ddda));border-radius:var(--radii-input, 8px);transition:all 0.15s ease;min-height:48px;box-sizing:border-box}.input-container.hovered{background:var(--af-input-bg-hover, var(--af-background-base-hover, #f4f7f6));border-color:var(--af-input-border-hover, var(--af-background-border-heavy, #c6d5d1))}.input-container.focused{background:var(--af-input-bg, #ffffff);border-color:var(--af-input-border-active, var(--af-typography-body-dark, #14343b));box-shadow:0 0 0 4px var(--af-background-base, #ffffff), \n 0 0 0 5px var(--af-input-focus-ring, var(--af-typography-body-dark, #14343b))}.input-container.error{border-color:var(--af-input-border-error, var(--colour-error, #be292a))}.input-container.disabled{background:var(--af-input-bg-disabled, var(--af-background-level-1, #e8eeed));border-color:var(--af-input-border, var(--af-background-border-default, #d1ddda));cursor:not-allowed}.search-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;color:var(--af-input-icon, var(--af-background-icon-default, #14343b))}.search-icon svg{width:20px;height:20px}.disabled .search-icon{opacity:0.5}.input{flex:1;min-width:0;padding:0;border:none;background:transparent;font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-weight:var(--font-weight-regular, 400);font-size:16px;line-height:24px;color:var(--af-input-text, var(--af-typography-body-dark, #14343b));outline:none}.input::placeholder{color:var(--af-input-placeholder, var(--af-typography-body-subtle, #60767b));opacity:1}.input:disabled{cursor:not-allowed;color:var(--af-input-placeholder, var(--af-typography-body-subtle, #60767b))}.input:disabled::placeholder{color:var(--af-input-placeholder, var(--af-typography-body-subtle, #60767b))}.input[type=\"search\"]::-webkit-search-decoration,.input[type=\"search\"]::-webkit-search-cancel-button,.input[type=\"search\"]::-webkit-search-results-button,.input[type=\"search\"]::-webkit-search-results-decoration{display:none}.input[type=\"number\"]::-webkit-inner-spin-button,.input[type=\"number\"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input[type=\"number\"]{-moz-appearance:textfield}.clear-button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:none;cursor:pointer;color:var(--af-input-icon, var(--af-background-icon-default, #14343b));flex-shrink:0;opacity:0.6;transition:opacity 0.15s ease}.clear-button svg{width:16px;height:16px}.clear-button:hover{opacity:1}.clear-button:focus-visible{outline:2px solid var(--af-input-focus-ring, var(--af-typography-body-dark, #14343b));outline-offset:2px;border-radius:4px}.error-row{display:flex;align-items:center;gap:12px}.error-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;color:var(--af-input-error, var(--colour-error, #be292a))}.error-icon svg{width:20px;height:20px}.error-text{flex:1;font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-weight:var(--font-weight-regular, 400);font-size:16px;line-height:24px;color:var(--af-input-error, var(--colour-error, #be292a))}";
4
+
5
+ const AfInput = /*@__PURE__*/ proxyCustomElement(class AfInput extends H {
6
+ constructor(registerHost) {
7
+ super();
8
+ if (registerHost !== false) {
9
+ this.__registerHost();
10
+ }
11
+ this.__attachShadow();
12
+ this.afInput = createEvent(this, "afInput");
13
+ this.afBlur = createEvent(this, "afBlur");
14
+ this.afFocus = createEvent(this, "afFocus");
15
+ this.afClear = createEvent(this, "afClear");
16
+ this.afInfoClick = createEvent(this, "afInfoClick");
17
+ /**
18
+ * The current value of the input
19
+ */
20
+ this.value = '';
21
+ /**
22
+ * The input type (text, email, password, number, tel, url, search)
23
+ */
24
+ this.type = 'text';
25
+ /**
26
+ * Whether the input is disabled
27
+ */
28
+ this.disabled = false;
29
+ /**
30
+ * Whether the input is required
31
+ */
32
+ this.required = false;
33
+ /**
34
+ * Whether the input is read-only
35
+ */
36
+ this.readonly = false;
37
+ /**
38
+ * Whether to show the info icon next to the label
39
+ */
40
+ this.showInfoIcon = false;
41
+ /**
42
+ * Whether to show a search icon in the input
43
+ */
44
+ this.showSearchIcon = false;
45
+ /**
46
+ * Whether to show a clear button when input has value
47
+ */
48
+ this.clearable = false;
49
+ this.isFocused = false;
50
+ this.isHovered = false;
51
+ this.handleInput = (event) => {
52
+ const target = event.target;
53
+ this.value = target.value;
54
+ this.afInput.emit({ value: this.value });
55
+ };
56
+ this.handleFocus = () => {
57
+ this.isFocused = true;
58
+ this.afFocus.emit();
59
+ };
60
+ this.handleBlur = () => {
61
+ this.isFocused = false;
62
+ this.afBlur.emit();
63
+ };
64
+ this.handleMouseEnter = () => {
65
+ this.isHovered = true;
66
+ };
67
+ this.handleMouseLeave = () => {
68
+ this.isHovered = false;
69
+ };
70
+ this.handleClear = () => {
71
+ this.value = '';
72
+ this.afClear.emit();
73
+ this.afInput.emit({ value: '' });
74
+ this.inputEl?.focus();
75
+ };
76
+ this.handleInfoClick = (event) => {
77
+ event.preventDefault();
78
+ event.stopPropagation();
79
+ this.afInfoClick.emit();
80
+ };
81
+ }
82
+ render() {
83
+ const hasError = !!this.error;
84
+ const hasValue = !!(this.value && this.value.length > 0);
85
+ const wrapperClasses = {
86
+ 'input-wrapper': true,
87
+ 'disabled': this.disabled,
88
+ 'error': hasError,
89
+ 'focused': this.isFocused,
90
+ 'hovered': this.isHovered && !this.disabled && !this.isFocused,
91
+ 'populated': hasValue
92
+ };
93
+ const inputContainerClasses = {
94
+ 'input-container': true,
95
+ 'disabled': this.disabled,
96
+ 'error': hasError,
97
+ 'focused': this.isFocused,
98
+ 'hovered': this.isHovered && !this.disabled && !this.isFocused
99
+ };
100
+ return (h(Host, { key: '400a7886308cc6fdf7ba226480dc0971050fe809' }, h("div", { key: 'd241fd889b7974dedc5713c6a07b3d0ca34f8e00', class: wrapperClasses }, this.label && (h("div", { key: '05a49e0176eec70d8962d6a11f9a151cb7be97c0', class: "label-row" }, h("label", { key: '3cfdce5b0c1d5d2b8f086e5815d02b9c641f1b5f', class: "label", htmlFor: "input" }, this.label, this.required && h("span", { key: '500e7e6904ce5060bf39488058f0c57903954733', class: "required" }, "*")), this.showInfoIcon && (h("button", { key: '597bf0ec5edd0164a873c8fb378e00259b375707', type: "button", class: "info-icon", onClick: this.handleInfoClick, "aria-label": "More information" }, h("svg", { key: '4e1d799e58aefcf2997566402ab6dbd45fb3a317', viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '742b68edb5d9fb322f6fa706f4e8ee7ed89ad304', d: "M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: 'be9c43a114883b85bf67fe2df3b9cc0589fad04b', d: "M12 16V12", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: '7a52e45ebf0b5c2a3d4d8fce1bc5f755375a82fa', d: "M12 8H12.01", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("slot", { key: '64ac646e64b8aed7f53bf520c04be4b1c9175a66', name: "label-end" }))), this.description && (h("p", { key: 'da26f8ed87f2565d8e91dd5e85c72a15d0d8a12a', class: "description" }, this.description)), h("div", { key: 'ad0274109fc614bcc8c4149705229bf73633e406', class: inputContainerClasses, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave }, this.showSearchIcon && (h("span", { key: '37fd67942ce8e7b3436131eaa3b39548d8a9ea84', class: "search-icon" }, h("svg", { key: '94087fd6095eea01b1e975cac92ecc636ff28f1a', viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: 'bfe3ba50936b25bff5ae3c39758a99f3189e9c3d', d: "M11 19C15.4183 19 19 15.4183 19 11C19 6.58172 15.4183 3 11 3C6.58172 3 3 6.58172 3 11C3 15.4183 6.58172 19 11 19Z", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: '02100f03ff7aa547b00f44cd4b28b3aad8daae69', d: "M21 21L16.65 16.65", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("input", { key: '4b8cebb727e5bb02d9d8ced50b465e95369c6b84', ref: (el) => this.inputEl = el ?? undefined, id: "input", class: "input", type: this.type, name: this.name, value: this.value, placeholder: this.placeholder, disabled: this.disabled, required: this.required, readonly: this.readonly, autocomplete: this.autocomplete, maxlength: this.maxlength, minlength: this.minlength, pattern: this.pattern, "aria-invalid": hasError ? 'true' : undefined, "aria-describedby": hasError ? 'error-message' : this.description ? 'description' : undefined, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur }), this.clearable && hasValue && !this.disabled && !this.readonly && (h("button", { key: 'a5293446b1164329ff14e679ba986311a1c5f586', type: "button", class: "clear-button", onClick: this.handleClear, "aria-label": "Clear input" }, h("svg", { key: '02f3854e7314476211ee532f42bc72dc0618c920', viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '577fc3ec1b2083f18607f7b1120a3adfdd8d29d5', d: "M18 6L6 18", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: '87bd9e583a12efa1c12d31316259af90ddf7e33d', d: "M6 6L18 18", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }))))), hasError && (h("div", { key: 'abb797c9a006d2dfc62a40d2acd1d7c38ebd8487', class: "error-row", id: "error-message" }, h("span", { key: '87230aa50a9065d77ff6a723c48d08a4f06b72cb', class: "error-icon" }, h("svg", { key: 'c70ab9ce3225e446754a73502504cf2af35ac78d', viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: 'd1c8bf0df150f15e0262e107ab6485f6af7bde75', d: "M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: '33bdff80da8e914db45146af10742618624306dd', d: "M12 16V12", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: '1780ff18f1757e682c30ad69d7a16ac01dcf2979', d: "M12 8H12.01", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }))), h("span", { key: 'e3dca808bc53e8bd47a00b108147ee931c8535da', class: "error-text" }, this.error))))));
101
+ }
102
+ static get style() { return afInputCss; }
103
+ }, [257, "af-input", {
104
+ "label": [1],
105
+ "description": [1],
106
+ "placeholder": [1],
107
+ "value": [1025],
108
+ "type": [1],
109
+ "name": [1],
110
+ "disabled": [516],
111
+ "required": [4],
112
+ "readonly": [4],
113
+ "error": [1],
114
+ "showInfoIcon": [4, "show-info-icon"],
115
+ "showSearchIcon": [4, "show-search-icon"],
116
+ "clearable": [4],
117
+ "autocomplete": [1],
118
+ "maxlength": [2],
119
+ "minlength": [2],
120
+ "pattern": [1],
121
+ "isFocused": [32],
122
+ "isHovered": [32]
123
+ }]);
124
+ function defineCustomElement() {
125
+ if (typeof customElements === "undefined") {
126
+ return;
127
+ }
128
+ const components = ["af-input"];
129
+ components.forEach(tagName => { switch (tagName) {
130
+ case "af-input":
131
+ if (!customElements.get(tagName)) {
132
+ customElements.define(tagName, AfInput);
133
+ }
134
+ break;
135
+ } });
136
+ }
137
+
138
+ export { AfInput as A, defineCustomElement as d };
139
+ //# sourceMappingURL=p-Dvo_cxk-.js.map
140
+
141
+ //# sourceMappingURL=p-Dvo_cxk-.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-Dvo_cxk-.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-input/af-input.css?tag=af-input&encapsulation=shadow","src/components/af-input/af-input.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n/* Wrapper */\n.input-wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--sds-size-space-200, 8px);\n width: 100%;\n}\n\n/* Label row */\n.label-row {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.label {\n flex: 1;\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: var(--font-weight-book, 500);\n font-size: 16px;\n line-height: 24px;\n color: var(--af-input-label, var(--af-typography-body-dark, #14343b));\n cursor: default;\n}\n\n.required {\n color: var(--af-input-error, var(--colour-error, #be292a));\n margin-left: 2px;\n}\n\n/* Info icon button */\n.info-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n padding: 0;\n border: none;\n background: none;\n cursor: pointer;\n color: var(--af-input-icon, var(--af-background-icon-default, #14343b));\n flex-shrink: 0;\n}\n\n.info-icon svg {\n width: 20px;\n height: 20px;\n}\n\n.info-icon:hover {\n opacity: 0.7;\n}\n\n.info-icon:focus-visible {\n outline: 2px solid var(--af-input-focus-ring, var(--af-typography-body-dark, #14343b));\n outline-offset: 2px;\n border-radius: 4px;\n}\n\n/* Description */\n.description {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: var(--font-weight-regular, 400);\n font-size: 16px;\n line-height: 24px;\n color: var(--af-input-description, var(--af-typography-body-default, #2b484f));\n margin: 0;\n}\n\n/* Input container */\n.input-container {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 16px;\n background: var(--af-input-bg, #ffffff);\n border: 1px solid var(--af-input-border, var(--af-background-border-default, #d1ddda));\n border-radius: var(--radii-input, 8px);\n transition: all 0.15s ease;\n min-height: 48px;\n box-sizing: border-box;\n}\n\n/* Hover state */\n.input-container.hovered {\n background: var(--af-input-bg-hover, var(--af-background-base-hover, #f4f7f6));\n border-color: var(--af-input-border-hover, var(--af-background-border-heavy, #c6d5d1));\n}\n\n/* Focus state */\n.input-container.focused {\n background: var(--af-input-bg, #ffffff);\n border-color: var(--af-input-border-active, var(--af-typography-body-dark, #14343b));\n box-shadow: \n 0 0 0 4px var(--af-background-base, #ffffff), \n 0 0 0 5px var(--af-input-focus-ring, var(--af-typography-body-dark, #14343b));\n}\n\n/* Error state */\n.input-container.error {\n border-color: var(--af-input-border-error, var(--colour-error, #be292a));\n}\n\n/* Disabled state */\n.input-container.disabled {\n background: var(--af-input-bg-disabled, var(--af-background-level-1, #e8eeed));\n border-color: var(--af-input-border, var(--af-background-border-default, #d1ddda));\n cursor: not-allowed;\n}\n\n/* Search icon */\n.search-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n flex-shrink: 0;\n color: var(--af-input-icon, var(--af-background-icon-default, #14343b));\n}\n\n.search-icon svg {\n width: 20px;\n height: 20px;\n}\n\n.disabled .search-icon {\n opacity: 0.5;\n}\n\n/* Native input */\n.input {\n flex: 1;\n min-width: 0;\n padding: 0;\n border: none;\n background: transparent;\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: var(--font-weight-regular, 400);\n font-size: 16px;\n line-height: 24px;\n color: var(--af-input-text, var(--af-typography-body-dark, #14343b));\n outline: none;\n}\n\n.input::placeholder {\n color: var(--af-input-placeholder, var(--af-typography-body-subtle, #60767b));\n opacity: 1;\n}\n\n.input:disabled {\n cursor: not-allowed;\n color: var(--af-input-placeholder, var(--af-typography-body-subtle, #60767b));\n}\n\n.input:disabled::placeholder {\n color: var(--af-input-placeholder, var(--af-typography-body-subtle, #60767b));\n}\n\n/* Hide native browser styling for search inputs */\n.input[type=\"search\"]::-webkit-search-decoration,\n.input[type=\"search\"]::-webkit-search-cancel-button,\n.input[type=\"search\"]::-webkit-search-results-button,\n.input[type=\"search\"]::-webkit-search-results-decoration {\n display: none;\n}\n\n/* Hide number input spinners */\n.input[type=\"number\"]::-webkit-inner-spin-button,\n.input[type=\"number\"]::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n.input[type=\"number\"] {\n -moz-appearance: textfield;\n}\n\n/* Clear button */\n.clear-button {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n padding: 0;\n border: none;\n background: none;\n cursor: pointer;\n color: var(--af-input-icon, var(--af-background-icon-default, #14343b));\n flex-shrink: 0;\n opacity: 0.6;\n transition: opacity 0.15s ease;\n}\n\n.clear-button svg {\n width: 16px;\n height: 16px;\n}\n\n.clear-button:hover {\n opacity: 1;\n}\n\n.clear-button:focus-visible {\n outline: 2px solid var(--af-input-focus-ring, var(--af-typography-body-dark, #14343b));\n outline-offset: 2px;\n border-radius: 4px;\n}\n\n/* Error row */\n.error-row {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.error-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n flex-shrink: 0;\n color: var(--af-input-error, var(--colour-error, #be292a));\n}\n\n.error-icon svg {\n width: 20px;\n height: 20px;\n}\n\n.error-text {\n flex: 1;\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: var(--font-weight-regular, 400);\n font-size: 16px;\n line-height: 24px;\n color: var(--af-input-error, var(--colour-error, #be292a));\n}\n","import { Component, h, Prop, Host, Event, EventEmitter, State } from '@stencil/core';\n\n/**\n * Input field component with label, description, and error states.\n * Supports various input types and validation states.\n * \n * @slot label-end - Content to display at the end of the label (e.g., info icon)\n */\n@Component({\n tag: 'af-input',\n styleUrl: 'af-input.css',\n shadow: true\n})\nexport class AfInput {\n /**\n * The label text for the input field\n */\n @Prop() label?: string;\n\n /**\n * Description text displayed below the label\n */\n @Prop() description?: string;\n\n /**\n * Placeholder text for the input\n */\n @Prop() placeholder?: string;\n\n /**\n * The current value of the input\n */\n @Prop({ mutable: true }) value: string = '';\n\n /**\n * The input type (text, email, password, number, tel, url, search)\n */\n @Prop() type: 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search' = 'text';\n\n /**\n * The name of the input for form submission\n */\n @Prop() name?: string;\n\n /**\n * Whether the input is disabled\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Whether the input is required\n */\n @Prop() required: boolean = false;\n\n /**\n * Whether the input is read-only\n */\n @Prop() readonly: boolean = false;\n\n /**\n * Error message to display (also sets error state)\n */\n @Prop() error?: string;\n\n /**\n * Whether to show the info icon next to the label\n */\n @Prop() showInfoIcon: boolean = false;\n\n /**\n * Whether to show a search icon in the input\n */\n @Prop() showSearchIcon: boolean = false;\n\n /**\n * Whether to show a clear button when input has value\n */\n @Prop() clearable: boolean = false;\n\n /**\n * Autocomplete attribute for the input\n */\n @Prop() autocomplete?: string;\n\n /**\n * Maximum length of input value\n */\n @Prop() maxlength?: number;\n\n /**\n * Minimum length of input value\n */\n @Prop() minlength?: number;\n\n /**\n * Pattern for input validation (regex)\n */\n @Prop() pattern?: string;\n\n /**\n * Emitted when the input value changes\n */\n @Event() afInput!: EventEmitter<{ value: string }>;\n\n /**\n * Emitted when the input loses focus\n */\n @Event() afBlur!: EventEmitter<void>;\n\n /**\n * Emitted when the input gains focus\n */\n @Event() afFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the clear button is clicked\n */\n @Event() afClear!: EventEmitter<void>;\n\n /**\n * Emitted when the info icon is clicked\n */\n @Event() afInfoClick!: EventEmitter<void>;\n\n @State() private isFocused: boolean = false;\n @State() private isHovered: boolean = false;\n\n private inputEl?: HTMLInputElement;\n\n private handleInput = (event: Event) => {\n const target = event.target as HTMLInputElement;\n this.value = target.value;\n this.afInput.emit({ value: this.value });\n };\n\n private handleFocus = () => {\n this.isFocused = true;\n this.afFocus.emit();\n };\n\n private handleBlur = () => {\n this.isFocused = false;\n this.afBlur.emit();\n };\n\n private handleMouseEnter = () => {\n this.isHovered = true;\n };\n\n private handleMouseLeave = () => {\n this.isHovered = false;\n };\n\n private handleClear = () => {\n this.value = '';\n this.afClear.emit();\n this.afInput.emit({ value: '' });\n this.inputEl?.focus();\n };\n\n private handleInfoClick = (event: MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n this.afInfoClick.emit();\n };\n\n render() {\n const hasError = !!this.error;\n const hasValue = !!(this.value && this.value.length > 0);\n\n const wrapperClasses = {\n 'input-wrapper': true,\n 'disabled': this.disabled,\n 'error': hasError,\n 'focused': this.isFocused,\n 'hovered': this.isHovered && !this.disabled && !this.isFocused,\n 'populated': hasValue\n };\n\n const inputContainerClasses = {\n 'input-container': true,\n 'disabled': this.disabled,\n 'error': hasError,\n 'focused': this.isFocused,\n 'hovered': this.isHovered && !this.disabled && !this.isFocused\n };\n\n return (\n <Host>\n <div class={wrapperClasses}>\n {/* Label */}\n {this.label && (\n <div class=\"label-row\">\n <label class=\"label\" htmlFor=\"input\">\n {this.label}\n {this.required && <span class=\"required\">*</span>}\n </label>\n {this.showInfoIcon && (\n <button \n type=\"button\" \n class=\"info-icon\" \n onClick={this.handleInfoClick}\n aria-label=\"More information\"\n >\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12 16V12\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12 8H12.01\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n )}\n <slot name=\"label-end\"></slot>\n </div>\n )}\n\n {/* Description */}\n {this.description && (\n <p class=\"description\">{this.description}</p>\n )}\n\n {/* Input container */}\n <div \n class={inputContainerClasses}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n {/* Search icon */}\n {this.showSearchIcon && (\n <span class=\"search-icon\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M11 19C15.4183 19 19 15.4183 19 11C19 6.58172 15.4183 3 11 3C6.58172 3 3 6.58172 3 11C3 15.4183 6.58172 19 11 19Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M21 21L16.65 16.65\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </span>\n )}\n\n {/* Native input */}\n <input\n ref={(el) => this.inputEl = el ?? undefined}\n id=\"input\"\n class=\"input\"\n type={this.type}\n name={this.name}\n value={this.value}\n placeholder={this.placeholder}\n disabled={this.disabled}\n required={this.required}\n readonly={this.readonly}\n autocomplete={this.autocomplete}\n maxlength={this.maxlength}\n minlength={this.minlength}\n pattern={this.pattern}\n aria-invalid={hasError ? 'true' : undefined}\n aria-describedby={hasError ? 'error-message' : this.description ? 'description' : undefined}\n onInput={this.handleInput}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n />\n\n {/* Clear button */}\n {this.clearable && hasValue && !this.disabled && !this.readonly && (\n <button \n type=\"button\" \n class=\"clear-button\" \n onClick={this.handleClear}\n aria-label=\"Clear input\"\n >\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M18 6L6 18\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M6 6L18 18\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n )}\n </div>\n\n {/* Error message */}\n {hasError && (\n <div class=\"error-row\" id=\"error-message\">\n <span class=\"error-icon\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12 16V12\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12 8H12.01\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </span>\n <span class=\"error-text\">{this.error}</span>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n\n"],"version":3}
@@ -1,6 +1,6 @@
1
1
  import { p as proxyCustomElement, H, d as createEvent, h, c as Host } from './p-CxngDK-N.js';
2
2
 
3
- const afTextareaCss = ":host{display:block;width:100%}.textarea-wrapper{display:flex;flex-direction:column;gap:var(--sds-size-space-200, 8px);width:100%}.label-row{display:flex;align-items:center;gap:12px}.label{flex:1;font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-weight:var(--font-weight-book, 500);font-size:16px;line-height:24px;color:var(--forms-fields-label, var(--colour-brand-inkwell, #14343b));cursor:default}.required{color:var(--forms-fields-error, #be292a);margin-left:2px}.info-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:none;cursor:pointer;color:var(--forms-fields-label, var(--colour-brand-inkwell, #14343b));flex-shrink:0}.info-icon svg{width:20px;height:20px}.info-icon:hover{opacity:0.7}.info-icon:focus-visible{outline:2px solid var(--buttons-secondary-stroke, #14343b);outline-offset:2px;border-radius:4px}.description{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-weight:var(--font-weight-regular, 400);font-size:16px;line-height:24px;color:var(--forms-fields-description, var(--colour-inkwell-400, #2b484f));margin:0}.textarea-container{display:flex;background:var(--forms-fields-bg-default, #ffffff);border:1px solid var(--forms-fields-stroke-default, #d0d6d8);border-radius:var(--radii-input, 8px);transition:all 0.15s ease;box-sizing:border-box;overflow:hidden}.textarea-container.hovered{background:var(--forms-fields-bg-hover, #f3f5f5)}.textarea-container.focused{background:var(--forms-fields-bg-default, #ffffff);border-color:var(--forms-fields-stroke-active, var(--colour-brand-inkwell, #14343b));box-shadow:0 0 0 4px var(--background-base, #ffffff), \n 0 0 0 5px var(--buttons-secondary-stroke, #14343b)}.textarea-container.error{border-color:var(--forms-fields-stroke-error, #be292a)}.textarea-container.disabled{background:var(--forms-fields-bg-disabled, #e8ebeb);border-color:var(--forms-fields-stroke-default, #d0d6d8);cursor:not-allowed}.textarea{flex:1;min-width:0;min-height:108px;padding:12px 16px;border:none;background:transparent;font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-weight:var(--font-weight-regular, 400);font-size:16px;line-height:24px;color:var(--forms-fields-input, var(--colour-brand-inkwell, #14343b));outline:none;resize:vertical}.textarea::placeholder{color:var(--forms-fields-placeholder, #60767b);opacity:1}.textarea:disabled{cursor:not-allowed;color:var(--forms-fields-placeholder, #60767b);resize:none}.textarea:disabled::placeholder{color:var(--forms-fields-placeholder, #60767b)}.error-row{display:flex;align-items:center;gap:12px}.error-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;color:var(--forms-fields-error, #be292a)}.error-icon svg{width:20px;height:20px}.error-text{flex:1;font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-weight:var(--font-weight-regular, 400);font-size:16px;line-height:24px;color:var(--forms-fields-error, #be292a)}";
3
+ const afTextareaCss = ":host{display:block;width:100%}.textarea-wrapper{display:flex;flex-direction:column;gap:var(--sds-size-space-200, 8px);width:100%}.label-row{display:flex;align-items:center;gap:12px}.label{flex:1;font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-weight:var(--font-weight-book, 500);font-size:16px;line-height:24px;color:var(--af-input-label, var(--af-typography-body-dark, #14343b));cursor:default}.required{color:var(--af-input-error, var(--colour-error, #be292a));margin-left:2px}.info-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:none;cursor:pointer;color:var(--af-input-icon, var(--af-background-icon-default, #14343b));flex-shrink:0}.info-icon svg{width:20px;height:20px}.info-icon:hover{opacity:0.7}.info-icon:focus-visible{outline:2px solid var(--af-input-focus-ring, var(--af-typography-body-dark, #14343b));outline-offset:2px;border-radius:4px}.description{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-weight:var(--font-weight-regular, 400);font-size:16px;line-height:24px;color:var(--af-input-description, var(--af-typography-body-default, #2b484f));margin:0}.textarea-container{display:flex;background:var(--af-input-bg, #ffffff);border:1px solid var(--af-input-border, var(--af-background-border-default, #d1ddda));border-radius:var(--radii-input, 8px);transition:all 0.15s ease;box-sizing:border-box;overflow:hidden}.textarea-container.hovered{background:var(--af-input-bg-hover, var(--af-background-base-hover, #f4f7f6));border-color:var(--af-input-border-hover, var(--af-background-border-heavy, #c6d5d1))}.textarea-container.focused{background:var(--af-input-bg, #ffffff);border-color:var(--af-input-border-active, var(--af-typography-body-dark, #14343b));box-shadow:0 0 0 4px var(--af-background-base, #ffffff), \n 0 0 0 5px var(--af-input-focus-ring, var(--af-typography-body-dark, #14343b))}.textarea-container.error{border-color:var(--af-input-border-error, var(--colour-error, #be292a))}.textarea-container.disabled{background:var(--af-input-bg-disabled, var(--af-background-level-1, #e8eeed));border-color:var(--af-input-border, var(--af-background-border-default, #d1ddda));cursor:not-allowed}.textarea{flex:1;min-width:0;min-height:108px;padding:12px 16px;border:none;background:transparent;font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-weight:var(--font-weight-regular, 400);font-size:16px;line-height:24px;color:var(--af-input-text, var(--af-typography-body-dark, #14343b));outline:none;resize:vertical}.textarea::placeholder{color:var(--af-input-placeholder, var(--af-typography-body-subtle, #60767b));opacity:1}.textarea:disabled{cursor:not-allowed;color:var(--af-input-placeholder, var(--af-typography-body-subtle, #60767b));resize:none}.textarea:disabled::placeholder{color:var(--af-input-placeholder, var(--af-typography-body-subtle, #60767b))}.error-row{display:flex;align-items:center;gap:12px}.error-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;color:var(--af-input-error, var(--colour-error, #be292a))}.error-icon svg{width:20px;height:20px}.error-text{flex:1;font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-weight:var(--font-weight-regular, 400);font-size:16px;line-height:24px;color:var(--af-input-error, var(--colour-error, #be292a))}";
4
4
 
5
5
  const AfTextarea = /*@__PURE__*/ proxyCustomElement(class AfTextarea extends H {
6
6
  constructor(registerHost) {
@@ -86,7 +86,7 @@ const AfTextarea = /*@__PURE__*/ proxyCustomElement(class AfTextarea extends H {
86
86
  'focused': this.isFocused,
87
87
  'hovered': this.isHovered && !this.disabled && !this.isFocused
88
88
  };
89
- return (h(Host, { key: '84f322a374d364669942e9153c6ba42221af1059' }, h("div", { key: '4b5a62e919a479bcf741f2d1d9e39a7b0e1e49ac', class: wrapperClasses }, this.label && (h("div", { key: 'e73b88c28588b8f3e5b9823467e8c972fd671391', class: "label-row" }, h("label", { key: '01c16777469e037495997efc2cacc51778fcd9c7', class: "label", htmlFor: "textarea" }, this.label, this.required && h("span", { key: '6da50443dadd3a6eec5655b4ff2fa19affa38006', class: "required" }, "*")), this.showInfoIcon && (h("button", { key: 'c731c726f54946273a330c0173f09faeb9fe583b', type: "button", class: "info-icon", onClick: this.handleInfoClick, "aria-label": "More information" }, h("svg", { key: '24a1ee4fb10ebd9a84a897cefef09ad7e7b63565', viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '3523e8495fc5ffa06d793318f55ba79043174931', d: "M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: 'd2caa0b33fccc6289f00fc22fc329df52d86a6ed', d: "M12 16V12", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: 'db8d8ee03abe2638265d192be6efb992a6041199', d: "M12 8H12.01", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("slot", { key: '8325f2fc490d8261a596398da7cc68d74ccfce11', name: "label-end" }))), this.description && (h("p", { key: '7db9b0e06615f5a13b7759cd81c23ee6ab124769', class: "description" }, this.description)), h("div", { key: '939c306f7a56735956e2ef4badeb4cfa39abf759', class: textareaContainerClasses, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave }, h("textarea", { key: '0dffd719ed83955990ae1935fb8d39ab92fd9b94', ref: (el) => this.textareaEl = el ?? undefined, id: "textarea", class: "textarea", name: this.name, value: this.value, placeholder: this.placeholder, disabled: this.disabled, required: this.required, readonly: this.readonly, rows: this.rows, maxlength: this.maxlength, minlength: this.minlength, style: { resize: this.resize }, "aria-invalid": hasError ? 'true' : undefined, "aria-describedby": hasError ? 'error-message' : this.description ? 'description' : undefined, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur })), hasError && (h("div", { key: '1f7f83da7518216eb63ff9cb685ffb92b3b37fb1', class: "error-row", id: "error-message" }, h("span", { key: 'a1af53a449805506ac0abddae3a236232a538bd9', class: "error-icon" }, h("svg", { key: 'b52e5c14a8986c502e1e0dce8a95c7d381c7a8e3', viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: 'af8c97b747c960065f7461e84c893e644b66d9c5', d: "M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: '145226126e4ba52c6234b3c454e43d87b495789c', d: "M12 16V12", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: '7b94917ac5c96c6abbfc93826b07fa967b49506a', d: "M12 8H12.01", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }))), h("span", { key: '9f097e0c43b1a6b19d0275fed8a216e901ce2d86', class: "error-text" }, this.error))))));
89
+ return (h(Host, { key: '96a657d6aaed47264bb66750440e1c7fd8020eea' }, h("div", { key: 'cead5c6a37e1e6b8b6b6eb6292c85c5bc8731646', class: wrapperClasses }, this.label && (h("div", { key: '085b08a6337ff9fed164bf964d2ec9bdd45780b0', class: "label-row" }, h("label", { key: 'edf6d4f74707ad3f6dcca97b6093451de4d7f728', class: "label", htmlFor: "textarea" }, this.label, this.required && h("span", { key: '1e8ac41140dae27ec44ce22ea0579cb452ab33b1', class: "required" }, "*")), this.showInfoIcon && (h("button", { key: 'b1853be2ab1c4683180b596b03caff7f25f5b0bc', type: "button", class: "info-icon", onClick: this.handleInfoClick, "aria-label": "More information" }, h("svg", { key: '3781cac4e5fda9e91df1de36f846b91d7ec4ff30', viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '7723e07ea2201d8e2a31c8827a321dad88b4b792', d: "M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: '1f161dcff4b6d39b178dd930790016f17e0b2190', d: "M12 16V12", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: 'fe06a5d4a08c3fac58e58b0ae25ebb40e72c574b', d: "M12 8H12.01", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("slot", { key: '7bd92220bb03929a39772f2411f8db0f7c9bf82c', name: "label-end" }))), this.description && (h("p", { key: '56fbec9391c269a2c6c7b9f26f1f6f5e5fac1ae5', class: "description" }, this.description)), h("div", { key: '052fdfd7ba49b36754f8384bcf3f18da97357374', class: textareaContainerClasses, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave }, h("textarea", { key: '7c41dc6194fbe085e592ba0206e6820a5e47e957', ref: (el) => this.textareaEl = el ?? undefined, id: "textarea", class: "textarea", name: this.name, value: this.value, placeholder: this.placeholder, disabled: this.disabled, required: this.required, readonly: this.readonly, rows: this.rows, maxlength: this.maxlength, minlength: this.minlength, style: { resize: this.resize }, "aria-invalid": hasError ? 'true' : undefined, "aria-describedby": hasError ? 'error-message' : this.description ? 'description' : undefined, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur })), hasError && (h("div", { key: 'b7ff36f947861a248eab5cb5ebe4af6152abf061', class: "error-row", id: "error-message" }, h("span", { key: 'fe93eddb75471c06db6270715d8851c90695492a', class: "error-icon" }, h("svg", { key: '9125de267b317a583032a63549b1efa78da41448', viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: 'b99a6c173c0fb789f1428556a8ec403ec512641c', d: "M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: 'b6b6547fcfab22a743161404c4157c3946e87e18', d: "M12 16V12", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: '0022ce718a6e9c1b35cadf9a7bfa7a618489c84e', d: "M12 8H12.01", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }))), h("span", { key: 'dcd81e02efa888584032c12cc15b451d9c4dc82c', class: "error-text" }, this.error))))));
90
90
  }
91
91
  static get style() { return afTextareaCss; }
92
92
  }, [257, "af-textarea", {
@@ -122,6 +122,6 @@ function defineCustomElement() {
122
122
  }
123
123
 
124
124
  export { AfTextarea as A, defineCustomElement as d };
125
- //# sourceMappingURL=p-CZyCImor.js.map
125
+ //# sourceMappingURL=p-Dwhi37rN.js.map
126
126
 
127
- //# sourceMappingURL=p-CZyCImor.js.map
127
+ //# sourceMappingURL=p-Dwhi37rN.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-Dwhi37rN.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-textarea/af-textarea.css?tag=af-textarea&encapsulation=shadow","src/components/af-textarea/af-textarea.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n/* Wrapper */\n.textarea-wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--sds-size-space-200, 8px);\n width: 100%;\n}\n\n/* Label row */\n.label-row {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.label {\n flex: 1;\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: var(--font-weight-book, 500);\n font-size: 16px;\n line-height: 24px;\n color: var(--af-input-label, var(--af-typography-body-dark, #14343b));\n cursor: default;\n}\n\n.required {\n color: var(--af-input-error, var(--colour-error, #be292a));\n margin-left: 2px;\n}\n\n/* Info icon button */\n.info-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n padding: 0;\n border: none;\n background: none;\n cursor: pointer;\n color: var(--af-input-icon, var(--af-background-icon-default, #14343b));\n flex-shrink: 0;\n}\n\n.info-icon svg {\n width: 20px;\n height: 20px;\n}\n\n.info-icon:hover {\n opacity: 0.7;\n}\n\n.info-icon:focus-visible {\n outline: 2px solid var(--af-input-focus-ring, var(--af-typography-body-dark, #14343b));\n outline-offset: 2px;\n border-radius: 4px;\n}\n\n/* Description */\n.description {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: var(--font-weight-regular, 400);\n font-size: 16px;\n line-height: 24px;\n color: var(--af-input-description, var(--af-typography-body-default, #2b484f));\n margin: 0;\n}\n\n/* Textarea container */\n.textarea-container {\n display: flex;\n background: var(--af-input-bg, #ffffff);\n border: 1px solid var(--af-input-border, var(--af-background-border-default, #d1ddda));\n border-radius: var(--radii-input, 8px);\n transition: all 0.15s ease;\n box-sizing: border-box;\n overflow: hidden;\n}\n\n/* Hover state */\n.textarea-container.hovered {\n background: var(--af-input-bg-hover, var(--af-background-base-hover, #f4f7f6));\n border-color: var(--af-input-border-hover, var(--af-background-border-heavy, #c6d5d1));\n}\n\n/* Focus state */\n.textarea-container.focused {\n background: var(--af-input-bg, #ffffff);\n border-color: var(--af-input-border-active, var(--af-typography-body-dark, #14343b));\n box-shadow: \n 0 0 0 4px var(--af-background-base, #ffffff), \n 0 0 0 5px var(--af-input-focus-ring, var(--af-typography-body-dark, #14343b));\n}\n\n/* Error state */\n.textarea-container.error {\n border-color: var(--af-input-border-error, var(--colour-error, #be292a));\n}\n\n/* Disabled state */\n.textarea-container.disabled {\n background: var(--af-input-bg-disabled, var(--af-background-level-1, #e8eeed));\n border-color: var(--af-input-border, var(--af-background-border-default, #d1ddda));\n cursor: not-allowed;\n}\n\n/* Native textarea */\n.textarea {\n flex: 1;\n min-width: 0;\n min-height: 108px;\n padding: 12px 16px;\n border: none;\n background: transparent;\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: var(--font-weight-regular, 400);\n font-size: 16px;\n line-height: 24px;\n color: var(--af-input-text, var(--af-typography-body-dark, #14343b));\n outline: none;\n resize: vertical;\n}\n\n.textarea::placeholder {\n color: var(--af-input-placeholder, var(--af-typography-body-subtle, #60767b));\n opacity: 1;\n}\n\n.textarea:disabled {\n cursor: not-allowed;\n color: var(--af-input-placeholder, var(--af-typography-body-subtle, #60767b));\n resize: none;\n}\n\n.textarea:disabled::placeholder {\n color: var(--af-input-placeholder, var(--af-typography-body-subtle, #60767b));\n}\n\n/* Error row */\n.error-row {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.error-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n flex-shrink: 0;\n color: var(--af-input-error, var(--colour-error, #be292a));\n}\n\n.error-icon svg {\n width: 20px;\n height: 20px;\n}\n\n.error-text {\n flex: 1;\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: var(--font-weight-regular, 400);\n font-size: 16px;\n line-height: 24px;\n color: var(--af-input-error, var(--colour-error, #be292a));\n}\n\n","import { Component, h, Prop, Host, Event, EventEmitter, State } from '@stencil/core';\n\n/**\n * Textarea component for multi-line text input with label, description, and error states.\n * \n * @slot label-end - Content to display at the end of the label (e.g., info icon)\n */\n@Component({\n tag: 'af-textarea',\n styleUrl: 'af-textarea.css',\n shadow: true\n})\nexport class AfTextarea {\n /**\n * The label text for the textarea\n */\n @Prop() label?: string;\n\n /**\n * Description text displayed below the label\n */\n @Prop() description?: string;\n\n /**\n * Placeholder text for the textarea\n */\n @Prop() placeholder?: string;\n\n /**\n * The current value of the textarea\n */\n @Prop({ mutable: true }) value: string = '';\n\n /**\n * The name of the textarea for form submission\n */\n @Prop() name?: string;\n\n /**\n * Whether the textarea is disabled\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Whether the textarea is required\n */\n @Prop() required: boolean = false;\n\n /**\n * Whether the textarea is read-only\n */\n @Prop() readonly: boolean = false;\n\n /**\n * Error message to display (also sets error state)\n */\n @Prop() error?: string;\n\n /**\n * Whether to show the info icon next to the label\n */\n @Prop() showInfoIcon: boolean = false;\n\n /**\n * Number of visible rows (height)\n */\n @Prop() rows: number = 4;\n\n /**\n * Maximum length of input value\n */\n @Prop() maxlength?: number;\n\n /**\n * Minimum length of input value\n */\n @Prop() minlength?: number;\n\n /**\n * Whether the textarea is resizable\n */\n @Prop() resize: 'none' | 'vertical' | 'horizontal' | 'both' = 'vertical';\n\n /**\n * Emitted when the textarea value changes\n */\n @Event() afInput!: EventEmitter<{ value: string }>;\n\n /**\n * Emitted when the textarea loses focus\n */\n @Event() afBlur!: EventEmitter<void>;\n\n /**\n * Emitted when the textarea gains focus\n */\n @Event() afFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the info icon is clicked\n */\n @Event() afInfoClick!: EventEmitter<void>;\n\n @State() private isFocused: boolean = false;\n @State() private isHovered: boolean = false;\n\n private textareaEl?: HTMLTextAreaElement;\n\n private handleInput = (event: Event) => {\n const target = event.target as HTMLTextAreaElement;\n this.value = target.value;\n this.afInput.emit({ value: this.value });\n };\n\n private handleFocus = () => {\n this.isFocused = true;\n this.afFocus.emit();\n };\n\n private handleBlur = () => {\n this.isFocused = false;\n this.afBlur.emit();\n };\n\n private handleMouseEnter = () => {\n this.isHovered = true;\n };\n\n private handleMouseLeave = () => {\n this.isHovered = false;\n };\n\n private handleInfoClick = (event: MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n this.afInfoClick.emit();\n };\n\n render() {\n const hasError = !!this.error;\n const hasValue = !!(this.value && this.value.length > 0);\n\n const wrapperClasses = {\n 'textarea-wrapper': true,\n 'disabled': this.disabled,\n 'error': hasError,\n 'focused': this.isFocused,\n 'hovered': this.isHovered && !this.disabled && !this.isFocused,\n 'populated': hasValue\n };\n\n const textareaContainerClasses = {\n 'textarea-container': true,\n 'disabled': this.disabled,\n 'error': hasError,\n 'focused': this.isFocused,\n 'hovered': this.isHovered && !this.disabled && !this.isFocused\n };\n\n return (\n <Host>\n <div class={wrapperClasses}>\n {/* Label */}\n {this.label && (\n <div class=\"label-row\">\n <label class=\"label\" htmlFor=\"textarea\">\n {this.label}\n {this.required && <span class=\"required\">*</span>}\n </label>\n {this.showInfoIcon && (\n <button \n type=\"button\" \n class=\"info-icon\" \n onClick={this.handleInfoClick}\n aria-label=\"More information\"\n >\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12 16V12\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12 8H12.01\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n )}\n <slot name=\"label-end\"></slot>\n </div>\n )}\n\n {/* Description */}\n {this.description && (\n <p class=\"description\">{this.description}</p>\n )}\n\n {/* Textarea container */}\n <div \n class={textareaContainerClasses}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n {/* Native textarea */}\n <textarea\n ref={(el) => this.textareaEl = el ?? undefined}\n id=\"textarea\"\n class=\"textarea\"\n name={this.name}\n value={this.value}\n placeholder={this.placeholder}\n disabled={this.disabled}\n required={this.required}\n readonly={this.readonly}\n rows={this.rows}\n maxlength={this.maxlength}\n minlength={this.minlength}\n style={{ resize: this.resize }}\n aria-invalid={hasError ? 'true' : undefined}\n aria-describedby={hasError ? 'error-message' : this.description ? 'description' : undefined}\n onInput={this.handleInput}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n />\n </div>\n\n {/* Error message */}\n {hasError && (\n <div class=\"error-row\" id=\"error-message\">\n <span class=\"error-icon\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12 16V12\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12 8H12.01\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </span>\n <span class=\"error-text\">{this.error}</span>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n\n"],"version":3}
@@ -80,7 +80,7 @@ const AfTabBar = /*@__PURE__*/ proxyCustomElement(class AfTabBar extends H {
80
80
  [`shape-${this.shape}`]: true,
81
81
  [`breakpoint-${this.breakpoint}`]: true,
82
82
  };
83
- return (h(Host, { key: 'b1fa40c2156ac7271650aafd27d369c3a8224f44', role: "tablist" }, h("div", { key: 'e92eaef79f5df92cca1b2170218df2668afc031d', class: containerClasses }, h("slot", { key: '307aea867005fe40899b54d9fe1e31ecca0528e8' }))));
83
+ return (h(Host, { key: 'dc384f23c8237eb5fde5afcec5579806bfd94d3d', role: "tablist" }, h("div", { key: '65e52eda0dbb0eff9ca3b0e5c5a27d03df6d70fa', class: containerClasses }, h("slot", { key: 'd65cdf4b1760b5ab6a5116f183e8b080b594bd86' }))));
84
84
  }
85
85
  get el() { return this; }
86
86
  static get style() { return afTabBarCss; }
@@ -103,6 +103,6 @@ function defineCustomElement() {
103
103
  }
104
104
 
105
105
  export { AfTabBar as A, defineCustomElement as d };
106
- //# sourceMappingURL=p-l95vl6T1.js.map
106
+ //# sourceMappingURL=p-Ws-qvw9w.js.map
107
107
 
108
- //# sourceMappingURL=p-l95vl6T1.js.map
108
+ //# sourceMappingURL=p-Ws-qvw9w.js.map
@@ -1 +1 @@
1
- {"file":"p-l95vl6T1.js","mappings":";;AAAA,MAAM,WAAW,GAAG,qkCAAqkC;;MCyB5kC,QAAQ,iBAAAA,kBAAA,CAAA,MAAA,QAAA,SAAAC,CAAA,CAAA;AALrB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAQE;;;;AAIG;AACsB,QAAA,IAAK,CAAA,KAAA,GAAgB,QAAQ;AAEtD;;;;AAIG;AACsB,QAAA,IAAU,CAAA,UAAA,GAAqB,SAAS;AA6ElE;IA3EC,gBAAgB,GAAA;QACd,IAAI,CAAC,cAAc,EAAE;;IAGvB,kBAAkB,GAAA;QAChB,IAAI,CAAC,cAAc,EAAE;;AAGvB;;AAEG;IACK,cAAc,GAAA;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC;AAC/C,QAAA,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;YACnB,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC;YACrC,GAAG,CAAC,YAAY,CAAC,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC;AACtD,SAAC,CAAC;;AAGJ;;AAEG;AAEH,IAAA,aAAa,CAAC,KAAoB,EAAA;AAChC,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAkB;QAC5F,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,GAAG,KAAK,QAAQ,CAAC,aAAa,IAAI,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC;QAE3G,IAAI,YAAY,KAAK,EAAE;YAAE;QAEzB,IAAI,QAAQ,GAAG,YAAY;AAE3B,QAAA,QAAQ,KAAK,CAAC,GAAG;AACf,YAAA,KAAK,WAAW;gBACd,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,QAAQ,GAAG,YAAY,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;gBAChE;AACF,YAAA,KAAK,YAAY;gBACf,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,QAAQ,GAAG,YAAY,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,GAAG,CAAC;gBAChE;AACF,YAAA,KAAK,MAAM;gBACT,KAAK,CAAC,cAAc,EAAE;gBACtB,QAAQ,GAAG,CAAC;gBACZ;AACF,YAAA,KAAK,KAAK;gBACR,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;gBAC1B;AACF,YAAA;gBACE;;;AAIJ,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC;QAC5D,IAAI,MAAM,EAAE;YACV,MAAM,CAAC,KAAK,EAAE;;;IAIlB,MAAM,GAAA;AACJ,QAAA,MAAM,gBAAgB,GAAG;AACvB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,CAAC,SAAS,IAAI,CAAC,KAAK,CAAE,CAAA,GAAG,IAAI;AAC7B,YAAA,CAAC,cAAc,IAAI,CAAC,UAAU,CAAE,CAAA,GAAG,IAAI;SACxC;AAED,QAAA,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,SAAS,EAAA,EAClB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,gBAAgB,EAAA,EAC1B,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT,CACD;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-tab-bar/af-tab-bar.css?tag=af-tab-bar&encapsulation=shadow","src/components/af-tab-bar/af-tab-bar.tsx"],"sourcesContent":["/* TabBar component styles */\n:host {\n display: block;\n width: 100%;\n}\n\n.tab-bar {\n display: flex;\n flex-wrap: nowrap;\n align-items: stretch;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n scrollbar-width: thin;\n scrollbar-color: var(--af-scrollbar-thumb, #8a7049) var(--af-scrollbar-track, #d1ddda);\n}\n\n/* Custom scrollbar for WebKit browsers */\n.tab-bar::-webkit-scrollbar {\n height: 4px;\n}\n\n.tab-bar::-webkit-scrollbar-track {\n background: var(--af-scrollbar-track, #d1ddda);\n border-radius: 2px;\n}\n\n.tab-bar::-webkit-scrollbar-thumb {\n background: var(--af-scrollbar-thumb, #8a7049);\n border-radius: 2px;\n}\n\n.tab-bar::-webkit-scrollbar-thumb:hover {\n background: var(--af-scrollbar-thumb-hover, #8d785a);\n}\n\n/* ==========================================================================\n SHAPE: SQUARE\n ========================================================================== */\n\n.tab-bar.shape-square {\n gap: 0;\n border-bottom: 1px solid var(--af-background-border-subtle, #e8eeed);\n}\n\n/* ==========================================================================\n SHAPE: PILL\n ========================================================================== */\n\n.tab-bar.shape-pill {\n gap: 0;\n padding: var(--space-2, 8px);\n background-color: var(--af-background-level-1, #e8eeed);\n border-radius: var(--radius-pill, 999px);\n}\n\n/* ==========================================================================\n BREAKPOINT: MOBILE\n ========================================================================== */\n\n.tab-bar.breakpoint-mobile {\n /* Mobile uses compact spacing */\n}\n\n.tab-bar.breakpoint-mobile.shape-square {\n /* Tabs handle their own padding in mobile */\n}\n\n.tab-bar.breakpoint-mobile.shape-pill {\n padding: var(--space-1, 4px);\n}\n\n/* ==========================================================================\n BREAKPOINT: DESKTOP\n ========================================================================== */\n\n.tab-bar.breakpoint-desktop {\n /* Desktop uses more generous spacing */\n}\n\n.tab-bar.breakpoint-desktop.shape-square {\n /* Tabs handle their own padding in desktop mode */\n}\n\n.tab-bar.breakpoint-desktop.shape-pill {\n padding: var(--space-2, 8px);\n}\n\n","import { Component, h, Prop, Host, Element, Listen } from '@stencil/core';\n\nexport type TabBarShape = 'square' | 'pill';\nexport type TabBarBreakpoint = 'mobile' | 'desktop';\n\n/**\n * TabBar component that contains and manages a group of tabs.\n * Provides horizontal layout, keyboard navigation, and consistent styling.\n * \n * @slot - Tab elements (af-tab)\n * \n * @example\n * ```html\n * <af-tab-bar shape=\"square\" breakpoint=\"desktop\">\n * <af-tab label=\"Overview\" active value=\"overview\"></af-tab>\n * <af-tab label=\"Details\" value=\"details\"></af-tab>\n * <af-tab label=\"Settings\" value=\"settings\"></af-tab>\n * </af-tab-bar>\n * ```\n */\n@Component({\n tag: 'af-tab-bar',\n styleUrl: 'af-tab-bar.css',\n shadow: true\n})\nexport class AfTabBar {\n @Element() el!: HTMLElement;\n\n /**\n * Visual shape variant for all tabs\n * - `square` - Rectangular tabs with bottom border indicator\n * - `pill` - Rounded pill tabs with background for active state\n */\n @Prop({ reflect: true }) shape: TabBarShape = 'square';\n\n /**\n * Responsive breakpoint mode\n * - `mobile` - Compact layout with smaller padding\n * - `desktop` - Larger layout with more generous spacing\n */\n @Prop({ reflect: true }) breakpoint: TabBarBreakpoint = 'desktop';\n\n componentDidLoad() {\n this.syncChildProps();\n }\n\n componentDidUpdate() {\n this.syncChildProps();\n }\n\n /**\n * Sync shape and breakpoint props to child af-tab elements\n */\n private syncChildProps() {\n const tabs = this.el.querySelectorAll('af-tab');\n tabs.forEach((tab) => {\n tab.setAttribute('shape', this.shape);\n tab.setAttribute('data-breakpoint', this.breakpoint);\n });\n }\n\n /**\n * Handle keyboard navigation between tabs\n */\n @Listen('keydown')\n handleKeyDown(event: KeyboardEvent) {\n const tabs = Array.from(this.el.querySelectorAll('af-tab:not([disabled])')) as HTMLElement[];\n const currentIndex = tabs.findIndex(tab => tab === document.activeElement || tab.shadowRoot?.activeElement);\n \n if (currentIndex === -1) return;\n\n let newIndex = currentIndex;\n\n switch (event.key) {\n case 'ArrowLeft':\n event.preventDefault();\n newIndex = currentIndex > 0 ? currentIndex - 1 : tabs.length - 1;\n break;\n case 'ArrowRight':\n event.preventDefault();\n newIndex = currentIndex < tabs.length - 1 ? currentIndex + 1 : 0;\n break;\n case 'Home':\n event.preventDefault();\n newIndex = 0;\n break;\n case 'End':\n event.preventDefault();\n newIndex = tabs.length - 1;\n break;\n default:\n return;\n }\n\n // Focus the button inside the shadow DOM of the tab\n const targetTab = tabs[newIndex];\n const button = targetTab.shadowRoot?.querySelector('button');\n if (button) {\n button.focus();\n }\n }\n\n render() {\n const containerClasses = {\n 'tab-bar': true,\n [`shape-${this.shape}`]: true,\n [`breakpoint-${this.breakpoint}`]: true,\n };\n\n return (\n <Host role=\"tablist\">\n <div class={containerClasses}>\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n\n"],"version":3}
1
+ {"file":"p-Ws-qvw9w.js","mappings":";;AAAA,MAAM,WAAW,GAAG,qkCAAqkC;;MCyB5kC,QAAQ,iBAAAA,kBAAA,CAAA,MAAA,QAAA,SAAAC,CAAA,CAAA;AALrB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAQE;;;;AAIG;AACsB,QAAA,IAAK,CAAA,KAAA,GAAgB,QAAQ;AAEtD;;;;AAIG;AACsB,QAAA,IAAU,CAAA,UAAA,GAAqB,SAAS;AA6ElE;IA3EC,gBAAgB,GAAA;QACd,IAAI,CAAC,cAAc,EAAE;;IAGvB,kBAAkB,GAAA;QAChB,IAAI,CAAC,cAAc,EAAE;;AAGvB;;AAEG;IACK,cAAc,GAAA;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC;AAC/C,QAAA,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;YACnB,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC;YACrC,GAAG,CAAC,YAAY,CAAC,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC;AACtD,SAAC,CAAC;;AAGJ;;AAEG;AAEH,IAAA,aAAa,CAAC,KAAoB,EAAA;AAChC,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAkB;QAC5F,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,GAAG,KAAK,QAAQ,CAAC,aAAa,IAAI,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC;QAE3G,IAAI,YAAY,KAAK,EAAE;YAAE;QAEzB,IAAI,QAAQ,GAAG,YAAY;AAE3B,QAAA,QAAQ,KAAK,CAAC,GAAG;AACf,YAAA,KAAK,WAAW;gBACd,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,QAAQ,GAAG,YAAY,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;gBAChE;AACF,YAAA,KAAK,YAAY;gBACf,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,QAAQ,GAAG,YAAY,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,GAAG,CAAC;gBAChE;AACF,YAAA,KAAK,MAAM;gBACT,KAAK,CAAC,cAAc,EAAE;gBACtB,QAAQ,GAAG,CAAC;gBACZ;AACF,YAAA,KAAK,KAAK;gBACR,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;gBAC1B;AACF,YAAA;gBACE;;;AAIJ,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC;QAC5D,IAAI,MAAM,EAAE;YACV,MAAM,CAAC,KAAK,EAAE;;;IAIlB,MAAM,GAAA;AACJ,QAAA,MAAM,gBAAgB,GAAG;AACvB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,CAAC,SAAS,IAAI,CAAC,KAAK,CAAE,CAAA,GAAG,IAAI;AAC7B,YAAA,CAAC,cAAc,IAAI,CAAC,UAAU,CAAE,CAAA,GAAG,IAAI;SACxC;AAED,QAAA,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,SAAS,EAAA,EAClB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,gBAAgB,EAAA,EAC1B,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT,CACD;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-tab-bar/af-tab-bar.css?tag=af-tab-bar&encapsulation=shadow","src/components/af-tab-bar/af-tab-bar.tsx"],"sourcesContent":["/* TabBar component styles */\n:host {\n display: block;\n width: 100%;\n}\n\n.tab-bar {\n display: flex;\n flex-wrap: nowrap;\n align-items: stretch;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n scrollbar-width: thin;\n scrollbar-color: var(--af-scrollbar-thumb, #8a7049) var(--af-scrollbar-track, #d1ddda);\n}\n\n/* Custom scrollbar for WebKit browsers */\n.tab-bar::-webkit-scrollbar {\n height: 4px;\n}\n\n.tab-bar::-webkit-scrollbar-track {\n background: var(--af-scrollbar-track, #d1ddda);\n border-radius: 2px;\n}\n\n.tab-bar::-webkit-scrollbar-thumb {\n background: var(--af-scrollbar-thumb, #8a7049);\n border-radius: 2px;\n}\n\n.tab-bar::-webkit-scrollbar-thumb:hover {\n background: var(--af-scrollbar-thumb-hover, #8d785a);\n}\n\n/* ==========================================================================\n SHAPE: SQUARE\n ========================================================================== */\n\n.tab-bar.shape-square {\n gap: 0;\n border-bottom: 1px solid var(--af-background-border-subtle, #e8eeed);\n}\n\n/* ==========================================================================\n SHAPE: PILL\n ========================================================================== */\n\n.tab-bar.shape-pill {\n gap: 0;\n padding: var(--space-2, 8px);\n background-color: var(--af-background-level-1, #e8eeed);\n border-radius: var(--radius-pill, 999px);\n}\n\n/* ==========================================================================\n BREAKPOINT: MOBILE\n ========================================================================== */\n\n.tab-bar.breakpoint-mobile {\n /* Mobile uses compact spacing */\n}\n\n.tab-bar.breakpoint-mobile.shape-square {\n /* Tabs handle their own padding in mobile */\n}\n\n.tab-bar.breakpoint-mobile.shape-pill {\n padding: var(--space-1, 4px);\n}\n\n/* ==========================================================================\n BREAKPOINT: DESKTOP\n ========================================================================== */\n\n.tab-bar.breakpoint-desktop {\n /* Desktop uses more generous spacing */\n}\n\n.tab-bar.breakpoint-desktop.shape-square {\n /* Tabs handle their own padding in desktop mode */\n}\n\n.tab-bar.breakpoint-desktop.shape-pill {\n padding: var(--space-2, 8px);\n}\n\n","import { Component, h, Prop, Host, Element, Listen } from '@stencil/core';\n\nexport type TabBarShape = 'square' | 'pill';\nexport type TabBarBreakpoint = 'mobile' | 'desktop';\n\n/**\n * TabBar component that contains and manages a group of tabs.\n * Provides horizontal layout, keyboard navigation, and consistent styling.\n * \n * @slot - Tab elements (af-tab)\n * \n * @example\n * ```html\n * <af-tab-bar shape=\"square\" breakpoint=\"desktop\">\n * <af-tab label=\"Overview\" active value=\"overview\"></af-tab>\n * <af-tab label=\"Details\" value=\"details\"></af-tab>\n * <af-tab label=\"Settings\" value=\"settings\"></af-tab>\n * </af-tab-bar>\n * ```\n */\n@Component({\n tag: 'af-tab-bar',\n styleUrl: 'af-tab-bar.css',\n shadow: true\n})\nexport class AfTabBar {\n @Element() el!: HTMLElement;\n\n /**\n * Visual shape variant for all tabs\n * - `square` - Rectangular tabs with bottom border indicator\n * - `pill` - Rounded pill tabs with background for active state\n */\n @Prop({ reflect: true }) shape: TabBarShape = 'square';\n\n /**\n * Responsive breakpoint mode\n * - `mobile` - Compact layout with smaller padding\n * - `desktop` - Larger layout with more generous spacing\n */\n @Prop({ reflect: true }) breakpoint: TabBarBreakpoint = 'desktop';\n\n componentDidLoad() {\n this.syncChildProps();\n }\n\n componentDidUpdate() {\n this.syncChildProps();\n }\n\n /**\n * Sync shape and breakpoint props to child af-tab elements\n */\n private syncChildProps() {\n const tabs = this.el.querySelectorAll('af-tab');\n tabs.forEach((tab) => {\n tab.setAttribute('shape', this.shape);\n tab.setAttribute('data-breakpoint', this.breakpoint);\n });\n }\n\n /**\n * Handle keyboard navigation between tabs\n */\n @Listen('keydown')\n handleKeyDown(event: KeyboardEvent) {\n const tabs = Array.from(this.el.querySelectorAll('af-tab:not([disabled])')) as HTMLElement[];\n const currentIndex = tabs.findIndex(tab => tab === document.activeElement || tab.shadowRoot?.activeElement);\n \n if (currentIndex === -1) return;\n\n let newIndex = currentIndex;\n\n switch (event.key) {\n case 'ArrowLeft':\n event.preventDefault();\n newIndex = currentIndex > 0 ? currentIndex - 1 : tabs.length - 1;\n break;\n case 'ArrowRight':\n event.preventDefault();\n newIndex = currentIndex < tabs.length - 1 ? currentIndex + 1 : 0;\n break;\n case 'Home':\n event.preventDefault();\n newIndex = 0;\n break;\n case 'End':\n event.preventDefault();\n newIndex = tabs.length - 1;\n break;\n default:\n return;\n }\n\n // Focus the button inside the shadow DOM of the tab\n const targetTab = tabs[newIndex];\n const button = targetTab.shadowRoot?.querySelector('button');\n if (button) {\n button.focus();\n }\n }\n\n render() {\n const containerClasses = {\n 'tab-bar': true,\n [`shape-${this.shape}`]: true,\n [`breakpoint-${this.breakpoint}`]: true,\n };\n\n return (\n <Host role=\"tablist\">\n <div class={containerClasses}>\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n\n"],"version":3}
@@ -0,0 +1,84 @@
1
+ import { p as proxyCustomElement, H, h, c as Host } from './p-CxngDK-N.js';
2
+
3
+ const afTypographyLockupCss = ":host{display:block}.lockup{display:flex;flex-direction:column}.breakpoint-desktop.heading-1.lockup{gap:var(--space-6, 24px)}.breakpoint-mobile.heading-1.lockup{gap:var(--space-5, 20px)}.breakpoint-desktop.heading-2.lockup,.breakpoint-desktop.heading-3.lockup{gap:var(--space-4, 16px)}.breakpoint-mobile.heading-2.lockup{gap:var(--space-4, 16px)}.breakpoint-mobile.heading-3.lockup,.breakpoint-desktop.heading-4.lockup,.breakpoint-desktop.heading-5.lockup{gap:var(--space-3, 12px)}.breakpoint-mobile.heading-4.lockup,.breakpoint-mobile.heading-5.lockup{gap:var(--space-2, 8px)}.text-left{align-items:flex-start}.text-center{align-items:center}.text-right{align-items:flex-end}.text-justify{align-items:stretch}.align-left{text-align:left;--af-text-align:left}.align-center{text-align:center;--af-text-align:center}.align-right{text-align:right;--af-text-align:right}.align-justify{text-align:justify;--af-text-align:justify}.copy{display:flex;flex-direction:column;width:100%;max-width:840px}.breakpoint-desktop.heading-1 .copy{gap:var(--space-6, 24px)}.breakpoint-mobile.heading-1 .copy{gap:var(--space-5, 20px)}.breakpoint-desktop.heading-2 .copy,.breakpoint-desktop.heading-3 .copy{gap:var(--space-4, 16px)}.breakpoint-mobile.heading-2 .copy{gap:var(--space-4, 16px)}.breakpoint-mobile.heading-3 .copy,.breakpoint-desktop.heading-4 .copy,.breakpoint-desktop.heading-5 .copy{gap:var(--space-3, 12px)}.breakpoint-mobile.heading-4 .copy,.breakpoint-mobile.heading-5 .copy{gap:var(--space-2, 8px)}.heading{font-family:var(--typography-headingfont, 'NeuSans', sans-serif);font-weight:var(--font-weight-book, 500);color:var(--af-typography-heading-primary, var(--colour-typography-heading-primary, #14343B));line-height:var(--line-height-heading-tight, 1);letter-spacing:var(--letter-spacing-heading, -0.02em);white-space:pre-wrap}.breakpoint-desktop.heading-1 .heading{font-size:var(--font-size-heading-1-desktop, 56px)}.breakpoint-desktop.heading-2 .heading{font-size:var(--font-size-heading-2-desktop, 44px)}.breakpoint-desktop.heading-3 .heading{font-size:var(--font-size-heading-3-desktop, 34px)}.breakpoint-desktop.heading-4 .heading{font-size:var(--font-size-heading-4-desktop, 24px);line-height:var(--line-height-heading-relaxed, 1.2)}.breakpoint-desktop.heading-5 .heading{font-size:var(--font-size-heading-5-desktop, 20px);line-height:var(--line-height-heading-relaxed, 1.2)}.breakpoint-mobile.heading-1 .heading{font-size:var(--font-size-heading-1-mobile, 38px)}.breakpoint-mobile.heading-2 .heading{font-size:var(--font-size-heading-2-mobile, 32px)}.breakpoint-mobile.heading-3 .heading{font-size:var(--font-size-heading-3-mobile, 25px)}.breakpoint-mobile.heading-4 .heading{font-size:var(--font-size-heading-4-mobile, 20px);line-height:var(--line-height-heading-normal, 1.1)}.breakpoint-mobile.heading-5 .heading{font-size:var(--font-size-heading-5-mobile, 18px);line-height:var(--line-height-heading-normal, 1.1)}.description{font-family:var(--typography-bodyfont, 'NeuSans', sans-serif);font-size:var(--font-size-body-large, 18px);font-weight:var(--font-weight-regular, 400);line-height:var(--line-height-body-large, 26px);color:var(--af-typography-body-default, var(--colour-typography-body-default, #2B484F));white-space:pre-wrap}.breakpoint-mobile.heading-3 .description,.breakpoint-desktop.heading-4 .description,.breakpoint-mobile.heading-4 .description,.breakpoint-desktop.heading-5 .description,.breakpoint-mobile.heading-5 .description{font-size:var(--font-size-body-medium, 16px);line-height:var(--line-height-body-medium, 24px)}.description:empty{display:none}.buttons{display:flex;flex-direction:row;gap:var(--space-3, 12px)}.buttons:empty{display:none}.layout-horizontal .buttons{align-items:center}.text-left.layout-horizontal{flex-direction:row;align-items:center;gap:var(--space-4, 16px)}.text-left.layout-horizontal .copy{flex:1 0 0;max-width:950px}.text-left.layout-horizontal.heading-3 .copy,.text-left.layout-horizontal.heading-4 .copy{max-width:840px}.text-left.layout-horizontal .buttons{flex-shrink:0}.layout-vertical .buttons{align-items:flex-start}.buttons.align-left{justify-content:flex-start}.buttons.align-center{justify-content:center}.buttons.align-right{justify-content:flex-end}.buttons.align-justify{justify-content:space-between}.breakpoint-mobile .buttons{flex-direction:column;align-items:stretch}.breakpoint-mobile .buttons.align-center{align-items:center}.breakpoint-mobile .buttons.align-right{align-items:flex-end}.breakpoint-mobile .buttons.align-left{align-items:flex-start}.text-center .copy{max-width:840px}::slotted(*){margin:0}";
4
+
5
+ const AfTypographyLockup = /*@__PURE__*/ proxyCustomElement(class AfTypographyLockup extends H {
6
+ constructor(registerHost) {
7
+ super();
8
+ if (registerHost !== false) {
9
+ this.__registerHost();
10
+ }
11
+ this.__attachShadow();
12
+ /**
13
+ * The heading size (1-5, where 1 is largest)
14
+ */
15
+ this.headingSize = 2;
16
+ /**
17
+ * The breakpoint for responsive typography
18
+ */
19
+ this.breakpoint = 'desktop';
20
+ /**
21
+ * Text alignment for the entire lockup (heading and description).
22
+ * Can be overridden individually with headingAlignment and descriptionAlignment.
23
+ */
24
+ this.textAlignment = 'left';
25
+ /**
26
+ * Button layout direction (horizontal or vertical stacking)
27
+ */
28
+ this.buttonLayout = 'vertical';
29
+ }
30
+ render() {
31
+ const effectiveHeadingAlignment = this.headingAlignment ?? this.textAlignment;
32
+ const effectiveDescriptionAlignment = this.descriptionAlignment ?? this.textAlignment;
33
+ const effectiveButtonsAlignment = this.buttonsAlignment ?? this.textAlignment;
34
+ const containerClasses = {
35
+ 'lockup': true,
36
+ [`text-${this.textAlignment}`]: true,
37
+ [`layout-${this.buttonLayout}`]: true,
38
+ [`heading-${this.headingSize}`]: true,
39
+ [`breakpoint-${this.breakpoint}`]: true
40
+ };
41
+ const headingClasses = {
42
+ 'heading': true,
43
+ [`align-${effectiveHeadingAlignment}`]: true
44
+ };
45
+ const descriptionClasses = {
46
+ 'description': true,
47
+ [`align-${effectiveDescriptionAlignment}`]: true
48
+ };
49
+ const buttonsClasses = {
50
+ 'buttons': true,
51
+ [`align-${effectiveButtonsAlignment}`]: true
52
+ };
53
+ const copyStyle = this.maxWidth ? { maxWidth: `${this.maxWidth}px` } : {};
54
+ return (h(Host, { key: '8cb507e162ef7a2bca263b7fecb7ef480382e615' }, h("div", { key: '94106d59d250a47ca21c15f2e8cb5c1bef7a3936', class: containerClasses }, h("div", { key: 'f465704d4f7b1bf77611e32958674a6093813abc', class: "copy", style: copyStyle }, h("div", { key: 'd4bcad644d1194c2ecfa593bf9b6a6f185e4a7c2', class: headingClasses, part: "heading" }, h("slot", { key: '97558da091bfc3b63cf57ec0816eb3b952cb201a' })), h("div", { key: 'c0839f719f0165ecaa296bb0be321a2d8c482e87', class: descriptionClasses, part: "body" }, h("slot", { key: '946a5ff890fb09144fee49687fb9de83f45c7aac', name: "description" }))), h("div", { key: '6f06d69183d006be1031eb1f73164f10811df9b1', class: buttonsClasses, part: "buttons" }, h("slot", { key: '253ba8fada86b55b5516d4dd8732aa19dfeda620', name: "buttons" })))));
55
+ }
56
+ static get style() { return afTypographyLockupCss; }
57
+ }, [257, "af-typography-lockup", {
58
+ "headingSize": [2, "heading-size"],
59
+ "breakpoint": [1],
60
+ "textAlignment": [1, "text-alignment"],
61
+ "headingAlignment": [1, "heading-alignment"],
62
+ "descriptionAlignment": [1, "description-alignment"],
63
+ "buttonLayout": [1, "button-layout"],
64
+ "buttonsAlignment": [1, "buttons-alignment"],
65
+ "maxWidth": [2, "max-width"]
66
+ }]);
67
+ function defineCustomElement() {
68
+ if (typeof customElements === "undefined") {
69
+ return;
70
+ }
71
+ const components = ["af-typography-lockup"];
72
+ components.forEach(tagName => { switch (tagName) {
73
+ case "af-typography-lockup":
74
+ if (!customElements.get(tagName)) {
75
+ customElements.define(tagName, AfTypographyLockup);
76
+ }
77
+ break;
78
+ } });
79
+ }
80
+
81
+ export { AfTypographyLockup as A, defineCustomElement as d };
82
+ //# sourceMappingURL=p-hOnulRmz.js.map
83
+
84
+ //# sourceMappingURL=p-hOnulRmz.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-hOnulRmz.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-typography-lockup/af-typography-lockup.css?tag=af-typography-lockup&encapsulation=shadow","src/components/af-typography-lockup/af-typography-lockup.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.lockup {\n display: flex;\n flex-direction: column;\n}\n\n/* Lockup gap variations (between copy and buttons) - matches copy internal gap */\n/* Heading 1 desktop: 24px gap */\n.breakpoint-desktop.heading-1.lockup {\n gap: var(--space-6, 24px);\n}\n\n/* Heading 1 mobile: 20px gap */\n.breakpoint-mobile.heading-1.lockup {\n gap: var(--space-5, 20px);\n}\n\n/* Heading 2, 3 desktop: 16px gap */\n.breakpoint-desktop.heading-2.lockup,\n.breakpoint-desktop.heading-3.lockup {\n gap: var(--space-4, 16px);\n}\n\n/* Heading 2 mobile: 16px gap */\n.breakpoint-mobile.heading-2.lockup {\n gap: var(--space-4, 16px);\n}\n\n/* Heading 3 mobile, 4 desktop, 5 desktop: 12px gap */\n.breakpoint-mobile.heading-3.lockup,\n.breakpoint-desktop.heading-4.lockup,\n.breakpoint-desktop.heading-5.lockup {\n gap: var(--space-3, 12px);\n}\n\n/* Heading 4 mobile, 5 mobile: 8px gap */\n.breakpoint-mobile.heading-4.lockup,\n.breakpoint-mobile.heading-5.lockup {\n gap: var(--space-2, 8px);\n}\n\n/* Container alignment (affects flexbox positioning) */\n.text-left {\n align-items: flex-start;\n}\n\n.text-center {\n align-items: center;\n}\n\n.text-right {\n align-items: flex-end;\n}\n\n.text-justify {\n align-items: stretch;\n}\n\n/* Individual text alignment classes */\n.align-left {\n text-align: left;\n --af-text-align: left;\n}\n\n.align-center {\n text-align: center;\n --af-text-align: center;\n}\n\n.align-right {\n text-align: right;\n --af-text-align: right;\n}\n\n.align-justify {\n text-align: justify;\n --af-text-align: justify;\n}\n\n/* Copy section - base styles */\n.copy {\n display: flex;\n flex-direction: column;\n width: 100%;\n max-width: 840px;\n}\n\n/* Copy gap variations based on heading size and breakpoint */\n/* Heading 1 desktop: 24px gap */\n.breakpoint-desktop.heading-1 .copy {\n gap: var(--space-6, 24px);\n}\n\n/* Heading 1 mobile: 20px gap */\n.breakpoint-mobile.heading-1 .copy {\n gap: var(--space-5, 20px);\n}\n\n/* Heading 2, 3 desktop: 16px gap */\n.breakpoint-desktop.heading-2 .copy,\n.breakpoint-desktop.heading-3 .copy {\n gap: var(--space-4, 16px);\n}\n\n/* Heading 2 mobile: 16px gap */\n.breakpoint-mobile.heading-2 .copy {\n gap: var(--space-4, 16px);\n}\n\n/* Heading 3 mobile, 4 desktop, 5 desktop: 12px gap */\n.breakpoint-mobile.heading-3 .copy,\n.breakpoint-desktop.heading-4 .copy,\n.breakpoint-desktop.heading-5 .copy {\n gap: var(--space-3, 12px);\n}\n\n/* Heading 4 mobile, 5 mobile: 8px gap */\n.breakpoint-mobile.heading-4 .copy,\n.breakpoint-mobile.heading-5 .copy {\n gap: var(--space-2, 8px);\n}\n\n/* Heading styles */\n.heading {\n font-family: var(--typography-headingfont, 'NeuSans', sans-serif);\n font-weight: var(--font-weight-book, 500);\n color: var(--af-typography-heading-primary, var(--colour-typography-heading-primary, #14343B));\n line-height: var(--line-height-heading-tight, 1);\n letter-spacing: var(--letter-spacing-heading, -0.02em);\n white-space: pre-wrap;\n}\n\n/* Desktop heading sizes */\n.breakpoint-desktop.heading-1 .heading {\n font-size: var(--font-size-heading-1-desktop, 56px);\n}\n\n.breakpoint-desktop.heading-2 .heading {\n font-size: var(--font-size-heading-2-desktop, 44px);\n}\n\n.breakpoint-desktop.heading-3 .heading {\n font-size: var(--font-size-heading-3-desktop, 34px);\n}\n\n.breakpoint-desktop.heading-4 .heading {\n font-size: var(--font-size-heading-4-desktop, 24px);\n line-height: var(--line-height-heading-relaxed, 1.2);\n}\n\n.breakpoint-desktop.heading-5 .heading {\n font-size: var(--font-size-heading-5-desktop, 20px);\n line-height: var(--line-height-heading-relaxed, 1.2);\n}\n\n/* Mobile heading sizes */\n.breakpoint-mobile.heading-1 .heading {\n font-size: var(--font-size-heading-1-mobile, 38px);\n}\n\n.breakpoint-mobile.heading-2 .heading {\n font-size: var(--font-size-heading-2-mobile, 32px);\n}\n\n.breakpoint-mobile.heading-3 .heading {\n font-size: var(--font-size-heading-3-mobile, 25px);\n}\n\n.breakpoint-mobile.heading-4 .heading {\n font-size: var(--font-size-heading-4-mobile, 20px);\n line-height: var(--line-height-heading-normal, 1.1);\n}\n\n.breakpoint-mobile.heading-5 .heading {\n font-size: var(--font-size-heading-5-mobile, 18px);\n line-height: var(--line-height-heading-normal, 1.1);\n}\n\n/* Description/body text - default (body/large) */\n.description {\n font-family: var(--typography-bodyfont, 'NeuSans', sans-serif);\n font-size: var(--font-size-body-large, 18px);\n font-weight: var(--font-weight-regular, 400);\n line-height: var(--line-height-body-large, 26px);\n color: var(--af-typography-body-default, var(--colour-typography-body-default, #2B484F));\n white-space: pre-wrap;\n}\n\n/* Description text size variations - smaller for heading 3 mobile, 4, and 5 */\n.breakpoint-mobile.heading-3 .description,\n.breakpoint-desktop.heading-4 .description,\n.breakpoint-mobile.heading-4 .description,\n.breakpoint-desktop.heading-5 .description,\n.breakpoint-mobile.heading-5 .description {\n font-size: var(--font-size-body-medium, 16px);\n line-height: var(--line-height-body-medium, 24px);\n}\n\n.description:empty {\n display: none;\n}\n\n/* Buttons section */\n.buttons {\n display: flex;\n flex-direction: row;\n gap: var(--space-3, 12px);\n}\n\n.buttons:empty {\n display: none;\n}\n\n/* Button layout - horizontal (inline with copy) */\n.layout-horizontal .buttons {\n align-items: center;\n}\n\n.text-left.layout-horizontal {\n flex-direction: row;\n align-items: center;\n gap: var(--space-4, 16px);\n}\n\n.text-left.layout-horizontal .copy {\n flex: 1 0 0;\n max-width: 950px;\n}\n\n/* Heading 3, 4 horizontal: different max-width */\n.text-left.layout-horizontal.heading-3 .copy,\n.text-left.layout-horizontal.heading-4 .copy {\n max-width: 840px;\n}\n\n.text-left.layout-horizontal .buttons {\n flex-shrink: 0;\n}\n\n/* Button layout - vertical (stacked below copy) */\n.layout-vertical .buttons {\n align-items: flex-start;\n}\n\n/* Button position alignment */\n.buttons.align-left {\n justify-content: flex-start;\n}\n\n.buttons.align-center {\n justify-content: center;\n}\n\n.buttons.align-right {\n justify-content: flex-end;\n}\n\n.buttons.align-justify {\n justify-content: space-between;\n}\n\n/* Mobile button stacking - buttons stack vertically on mobile */\n.breakpoint-mobile .buttons {\n flex-direction: column;\n align-items: stretch;\n}\n\n.breakpoint-mobile .buttons.align-center {\n align-items: center;\n}\n\n.breakpoint-mobile .buttons.align-right {\n align-items: flex-end;\n}\n\n.breakpoint-mobile .buttons.align-left {\n align-items: flex-start;\n}\n\n/* Max width constraints for centered layouts */\n.text-center .copy {\n max-width: 840px;\n}\n\n/* Slot content styling */\n::slotted(*) {\n margin: 0;\n}\n","import { Component, h, Prop, Host } from '@stencil/core';\n\ntype TextAlign = 'left' | 'center' | 'right' | 'justify';\n\n@Component({\n tag: 'af-typography-lockup',\n styleUrl: 'af-typography-lockup.css',\n shadow: true\n})\nexport class AfTypographyLockup {\n /**\n * The heading size (1-5, where 1 is largest)\n */\n @Prop() headingSize: 1 | 2 | 3 | 4 | 5 = 2;\n\n /**\n * The breakpoint for responsive typography\n */\n @Prop() breakpoint: 'desktop' | 'mobile' = 'desktop';\n\n /**\n * Text alignment for the entire lockup (heading and description).\n * Can be overridden individually with headingAlignment and descriptionAlignment.\n */\n @Prop() textAlignment: TextAlign = 'left';\n\n /**\n * Heading text alignment. Falls back to textAlignment if not specified.\n */\n @Prop() headingAlignment?: TextAlign;\n\n /**\n * Description text alignment. Falls back to textAlignment if not specified.\n */\n @Prop() descriptionAlignment?: TextAlign;\n\n /**\n * Button layout direction (horizontal or vertical stacking)\n */\n @Prop() buttonLayout: 'horizontal' | 'vertical' = 'vertical';\n\n /**\n * Buttons position alignment. Falls back to textAlignment if not specified.\n */\n @Prop() buttonsAlignment?: TextAlign;\n\n /**\n * Maximum width for the copy section (in pixels)\n */\n @Prop() maxWidth?: number;\n\n render() {\n const effectiveHeadingAlignment = this.headingAlignment ?? this.textAlignment;\n const effectiveDescriptionAlignment = this.descriptionAlignment ?? this.textAlignment;\n const effectiveButtonsAlignment = this.buttonsAlignment ?? this.textAlignment;\n\n const containerClasses = {\n 'lockup': true,\n [`text-${this.textAlignment}`]: true,\n [`layout-${this.buttonLayout}`]: true,\n [`heading-${this.headingSize}`]: true,\n [`breakpoint-${this.breakpoint}`]: true\n };\n\n const headingClasses = {\n 'heading': true,\n [`align-${effectiveHeadingAlignment}`]: true\n };\n\n const descriptionClasses = {\n 'description': true,\n [`align-${effectiveDescriptionAlignment}`]: true\n };\n\n const buttonsClasses = {\n 'buttons': true,\n [`align-${effectiveButtonsAlignment}`]: true\n };\n\n const copyStyle = this.maxWidth ? { maxWidth: `${this.maxWidth}px` } : {};\n\n return (\n <Host>\n <div class={containerClasses}>\n <div class=\"copy\" style={copyStyle}>\n <div class={headingClasses} part=\"heading\">\n <slot></slot>\n </div>\n <div class={descriptionClasses} part=\"body\">\n <slot name=\"description\"></slot>\n </div>\n </div>\n <div class={buttonsClasses} part=\"buttons\">\n <slot name=\"buttons\"></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,6 +1,6 @@
1
1
  import { p as proxyCustomElement, H, h, c as Host } from './p-CxngDK-N.js';
2
2
 
3
- const afFieldsetCss = ":host{display:block}.fieldset{display:flex;flex-direction:column;border:none;padding:0;margin:0;min-inline-size:0}.fieldset.disabled{opacity:0.5;pointer-events:none}.legend{display:block;font-family:var(--typography-headingfont, 'NeuSans', sans-serif);font-weight:var(--font-weight-book, 500);font-size:var(--font-size-heading-5-desktop, 20px);line-height:var(--line-height-heading-relaxed, 1.2);letter-spacing:var(--letter-spacing-heading, -0.02em);color:var(--colour-typography-heading-primary, var(--colour-brand-inkwell, #14343b));padding:0;margin:0 0 12px 0;width:100%}.items{display:flex}.items.orientation-vertical{flex-direction:column;gap:8px;align-items:flex-start}.items.orientation-horizontal{flex-direction:row;flex-wrap:wrap;gap:28px;align-items:center}::slotted(*){flex-shrink:0}.items.orientation-vertical ::slotted(*){width:100%}";
3
+ const afFieldsetCss = ":host{display:block}.fieldset{display:flex;flex-direction:column;border:none;padding:0;margin:0;min-inline-size:0}.fieldset.disabled{opacity:0.5;pointer-events:none}.legend{display:block;font-family:var(--typography-headingfont, 'NeuSans', sans-serif);font-weight:var(--font-weight-book, 500);font-size:var(--font-size-heading-5-desktop, 20px);line-height:var(--line-height-heading-relaxed, 1.2);letter-spacing:var(--letter-spacing-heading, -0.02em);color:var(--af-typography-heading-primary, var(--colour-brand-inkwell, #14343b));padding:0;margin:0 0 12px 0;width:100%}.items{display:flex}.items.orientation-vertical{flex-direction:column;gap:8px;align-items:flex-start}.items.orientation-horizontal{flex-direction:row;flex-wrap:wrap;gap:28px;align-items:center}::slotted(*){flex-shrink:0}.items.orientation-vertical ::slotted(*){width:100%}";
4
4
 
5
5
  const AfFieldset = /*@__PURE__*/ proxyCustomElement(class AfFieldset extends H {
6
6
  constructor(registerHost) {
@@ -30,7 +30,7 @@ const AfFieldset = /*@__PURE__*/ proxyCustomElement(class AfFieldset extends H {
30
30
  'items': true,
31
31
  [`orientation-${this.orientation}`]: true
32
32
  };
33
- return (h(Host, { key: '367a58328f883d5df31989021ad7dba14ed3ab6c' }, h("fieldset", { key: 'f43a04b8808db04886a0997b42593af2445b185d', class: fieldsetClasses, disabled: this.disabled }, this.legend && (h("legend", { key: 'fc08d5e1464ffeb00005fda04169ceb2654a00b8', class: "legend" }, this.legend)), h("div", { key: '815f2dc77dc417791e1a3d736e1b0ce91250a325', class: itemsClasses }, h("slot", { key: 'd080ec923b57a3ae95cc868be6bf42b57df08e7a' })))));
33
+ return (h(Host, { key: '60d884edafad36deb7c25a515523fcab744f8406' }, h("fieldset", { key: '252f9bda68649344d71938d40bdaa187bb5f5448', class: fieldsetClasses, disabled: this.disabled }, this.legend && (h("legend", { key: '09281657368ccdcc2f8773d08cb875316dc04a33', class: "legend" }, this.legend)), h("div", { key: '35b7536fc7c751d101119021bd31b59f19e76e9b', class: itemsClasses }, h("slot", { key: 'd278bfdc67820471928fafd8b5ba9127332db935' })))));
34
34
  }
35
35
  static get style() { return afFieldsetCss; }
36
36
  }, [257, "af-fieldset", {
@@ -53,6 +53,6 @@ function defineCustomElement() {
53
53
  }
54
54
 
55
55
  export { AfFieldset as A, defineCustomElement as d };
56
- //# sourceMappingURL=p-BRsO61_R.js.map
56
+ //# sourceMappingURL=p-zDoPXonz.js.map
57
57
 
58
- //# sourceMappingURL=p-BRsO61_R.js.map
58
+ //# sourceMappingURL=p-zDoPXonz.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-zDoPXonz.js","mappings":";;AAAA,MAAM,aAAa,GAAG,40BAA40B;;MCar1B,UAAU,iBAAAA,kBAAA,CAAA,MAAA,UAAA,SAAAC,CAAA,CAAA;AALvB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAWE;;;;AAIG;AACK,QAAA,IAAW,CAAA,WAAA,GAA8B,UAAU;AAE3D;;AAEG;AACsB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AA2BnD;IAzBC,MAAM,GAAA;AACJ,QAAA,MAAM,eAAe,GAAG;AACtB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,CAAC,eAAe,IAAI,CAAC,WAAW,CAAE,CAAA,GAAG,IAAI;YACzC,UAAU,EAAE,IAAI,CAAC;SAClB;AAED,QAAA,MAAM,YAAY,GAAG;AACnB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,CAAC,eAAe,IAAI,CAAC,WAAW,CAAE,CAAA,GAAG;SACtC;AAED,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAU,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAA,EACtD,IAAI,CAAC,MAAM,KACV,CAAQ,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,QAAQ,EAAE,EAAA,IAAI,CAAC,MAAM,CAAU,CAC9C,EACD,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,YAAY,EAAA,EACtB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,CACG,CACN;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-fieldset/af-fieldset.css?tag=af-fieldset&encapsulation=shadow","src/components/af-fieldset/af-fieldset.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.fieldset {\n display: flex;\n flex-direction: column;\n border: none;\n padding: 0;\n margin: 0;\n min-inline-size: 0;\n}\n\n.fieldset.disabled {\n opacity: 0.5;\n pointer-events: none;\n}\n\n/* Legend/heading styling - uses heading 5 style */\n.legend {\n display: block;\n font-family: var(--typography-headingfont, 'NeuSans', sans-serif);\n font-weight: var(--font-weight-book, 500);\n font-size: var(--font-size-heading-5-desktop, 20px);\n line-height: var(--line-height-heading-relaxed, 1.2);\n letter-spacing: var(--letter-spacing-heading, -0.02em);\n /* Inherit color from theme context via CSS custom property */\n color: var(--af-typography-heading-primary, var(--colour-brand-inkwell, #14343b));\n padding: 0;\n margin: 0 0 12px 0;\n width: 100%;\n}\n\n/* Items container */\n.items {\n display: flex;\n}\n\n/* Vertical layout */\n.items.orientation-vertical {\n flex-direction: column;\n gap: 8px;\n align-items: flex-start;\n}\n\n/* Horizontal layout */\n.items.orientation-horizontal {\n flex-direction: row;\n flex-wrap: wrap;\n gap: 28px;\n align-items: center;\n}\n\n/* Slotted content styling */\n::slotted(*) {\n flex-shrink: 0;\n}\n\n/* Full width items in vertical layout */\n.items.orientation-vertical ::slotted(*) {\n width: 100%;\n}\n","import { Component, h, Prop, Host } from '@stencil/core';\n\n/**\n * Fieldset component for grouping related form controls.\n * Supports vertical and horizontal layouts with an optional legend/heading.\n * \n * @slot - Form controls (checkboxes, radios, etc.)\n */\n@Component({\n tag: 'af-fieldset',\n styleUrl: 'af-fieldset.css',\n shadow: true\n})\nexport class AfFieldset {\n /**\n * The legend/heading text for the fieldset\n */\n @Prop() legend?: string;\n\n /**\n * The layout orientation of the fieldset items\n * - `vertical` - Items stack vertically (default)\n * - `horizontal` - Items are laid out horizontally\n */\n @Prop() orientation: 'vertical' | 'horizontal' = 'vertical';\n\n /**\n * Whether the fieldset is disabled (disables all child controls)\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n render() {\n const fieldsetClasses = {\n 'fieldset': true,\n [`orientation-${this.orientation}`]: true,\n 'disabled': this.disabled\n };\n\n const itemsClasses = {\n 'items': true,\n [`orientation-${this.orientation}`]: true\n };\n\n return (\n <Host>\n <fieldset class={fieldsetClasses} disabled={this.disabled}>\n {this.legend && (\n <legend class=\"legend\">{this.legend}</legend>\n )}\n <div class={itemsClasses}>\n <slot></slot>\n </div>\n </fieldset>\n </Host>\n );\n }\n}\n\n"],"version":3}