@affinda/wc 0.0.25 → 0.0.27

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 (910) 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-aspect-ratio.entry.esm.js.map +1 -0
  4. package/dist/affinda/af-button-group.entry.esm.js.map +1 -0
  5. package/dist/affinda/af-button.entry.esm.js.map +1 -0
  6. package/dist/affinda/af-card.entry.esm.js.map +1 -0
  7. package/dist/affinda/af-center.entry.esm.js.map +1 -0
  8. package/dist/affinda/af-checkbox.entry.esm.js.map +1 -0
  9. package/dist/affinda/af-client-carousel.entry.esm.js.map +1 -0
  10. package/dist/affinda/af-color-swatch.entry.esm.js.map +1 -0
  11. package/dist/affinda/af-contact-item.entry.esm.js.map +1 -0
  12. package/dist/affinda/af-container.entry.esm.js.map +1 -0
  13. package/dist/affinda/af-divider.entry.esm.js.map +1 -0
  14. package/dist/affinda/af-feature-accordion.entry.esm.js.map +1 -0
  15. package/dist/affinda/af-feature-card.entry.esm.js.map +1 -0
  16. package/dist/affinda/af-feature-grid.entry.esm.js.map +1 -0
  17. package/dist/affinda/af-fieldset.entry.esm.js.map +1 -0
  18. package/dist/affinda/af-footer-column.entry.esm.js.map +1 -0
  19. package/dist/affinda/af-footer-link.entry.esm.js.map +1 -0
  20. package/dist/affinda/af-footer.entry.esm.js.map +1 -0
  21. package/dist/affinda/af-grid-callout.entry.esm.js.map +1 -0
  22. package/dist/affinda/af-grid.entry.esm.js.map +1 -0
  23. package/dist/affinda/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.esm.js.map +1 -0
  24. package/dist/affinda/af-icon-box.entry.esm.js.map +1 -0
  25. package/dist/affinda/af-icon-button.entry.esm.js.map +1 -0
  26. package/dist/affinda/af-icon-text.entry.esm.js.map +1 -0
  27. package/dist/affinda/af-icon.entry.esm.js.map +1 -0
  28. package/dist/affinda/af-illustrated-card.entry.esm.js.map +1 -0
  29. package/dist/affinda/af-image.entry.esm.js.map +1 -0
  30. package/dist/affinda/af-in-page-banner.entry.esm.js.map +1 -0
  31. package/dist/affinda/af-inline.entry.esm.js.map +1 -0
  32. package/dist/affinda/af-input.entry.esm.js.map +1 -0
  33. package/dist/affinda/af-logo-well.entry.esm.js.map +1 -0
  34. package/dist/affinda/af-nav-accordion-item.entry.esm.js.map +1 -0
  35. package/dist/affinda/af-nav-accordion.entry.esm.js.map +1 -0
  36. package/dist/affinda/af-nav-card.entry.esm.js.map +1 -0
  37. package/dist/affinda/af-nav-menu-nest.entry.esm.js.map +1 -0
  38. package/dist/affinda/af-nav-menu.entry.esm.js.map +1 -0
  39. package/dist/affinda/af-number-badge.entry.esm.js.map +1 -0
  40. package/dist/affinda/af-progress-line.entry.esm.js.map +1 -0
  41. package/dist/affinda/af-radio.entry.esm.js.map +1 -0
  42. package/dist/affinda/af-section.entry.esm.js.map +1 -0
  43. package/dist/affinda/af-show.entry.esm.js.map +1 -0
  44. package/dist/affinda/af-social-link.entry.esm.js.map +1 -0
  45. package/dist/affinda/af-spacer.entry.esm.js.map +1 -0
  46. package/dist/affinda/af-split-section.entry.esm.js.map +1 -0
  47. package/dist/affinda/af-stack.entry.esm.js.map +1 -0
  48. package/dist/affinda/af-stepper-step.entry.esm.js.map +1 -0
  49. package/dist/affinda/af-stepper.entry.esm.js.map +1 -0
  50. package/dist/affinda/af-switch.entry.esm.js.map +1 -0
  51. package/dist/affinda/af-tab-bar.entry.esm.js.map +1 -0
  52. package/dist/affinda/af-tab.entry.esm.js.map +1 -0
  53. package/dist/affinda/af-tag.entry.esm.js.map +1 -0
  54. package/dist/affinda/af-testimonial-carousel.entry.esm.js.map +1 -0
  55. package/dist/affinda/af-testimonial-stat.entry.esm.js.map +1 -0
  56. package/dist/affinda/af-testimonial.entry.esm.js.map +1 -0
  57. package/dist/affinda/af-text-image-nest.entry.esm.js.map +1 -0
  58. package/dist/affinda/af-text-image.entry.esm.js.map +1 -0
  59. package/dist/affinda/af-textarea.entry.esm.js.map +1 -0
  60. package/dist/affinda/af-theme-override.entry.esm.js.map +1 -0
  61. package/dist/affinda/af-typography-lockup.entry.esm.js.map +1 -0
  62. package/dist/affinda/af-video-container.entry.esm.js.map +1 -0
  63. package/dist/affinda/af-visually-hidden.entry.esm.js.map +1 -0
  64. package/dist/affinda/affinda.css +1 -1
  65. package/dist/affinda/affinda.esm.js +2 -1
  66. package/dist/affinda/affinda.esm.js.map +1 -0
  67. package/dist/affinda/index.esm.js +2 -1
  68. package/dist/affinda/index.esm.js.map +1 -0
  69. package/dist/affinda/loader.esm.js.map +1 -0
  70. package/dist/affinda/p-02a4fea4.entry.js +2 -0
  71. package/dist/affinda/p-02a4fea4.entry.js.map +1 -0
  72. package/dist/affinda/p-0a3cf810.entry.js +2 -0
  73. package/dist/affinda/p-0a3cf810.entry.js.map +1 -0
  74. package/dist/affinda/p-150f8363.entry.js +2 -0
  75. package/dist/affinda/p-150f8363.entry.js.map +1 -0
  76. package/dist/affinda/p-17918daf.entry.js +2 -0
  77. package/dist/affinda/p-17918daf.entry.js.map +1 -0
  78. package/dist/affinda/p-1ddf3bd4.entry.js +2 -0
  79. package/dist/affinda/p-1ddf3bd4.entry.js.map +1 -0
  80. package/dist/affinda/p-226bad82.entry.js +2 -0
  81. package/dist/affinda/p-226bad82.entry.js.map +1 -0
  82. package/dist/affinda/p-23156b61.entry.js +2 -0
  83. package/dist/affinda/p-23156b61.entry.js.map +1 -0
  84. package/dist/affinda/p-28aaeb3e.entry.js +2 -0
  85. package/dist/affinda/p-28aaeb3e.entry.js.map +1 -0
  86. package/dist/affinda/p-29d51294.entry.js +2 -0
  87. package/dist/affinda/p-29d51294.entry.js.map +1 -0
  88. package/dist/affinda/p-2c8a4be1.entry.js +2 -0
  89. package/dist/affinda/p-2c8a4be1.entry.js.map +1 -0
  90. package/dist/affinda/p-398cb86b.entry.js +2 -0
  91. package/dist/affinda/p-398cb86b.entry.js.map +1 -0
  92. package/dist/affinda/p-3aae8a0c.entry.js +2 -0
  93. package/dist/affinda/p-3aae8a0c.entry.js.map +1 -0
  94. package/dist/affinda/p-3afcca1b.entry.js +2 -0
  95. package/dist/affinda/p-3afcca1b.entry.js.map +1 -0
  96. package/dist/affinda/p-42dc01c7.entry.js +2 -0
  97. package/dist/affinda/p-42dc01c7.entry.js.map +1 -0
  98. package/dist/affinda/p-45f6c49e.entry.js +2 -0
  99. package/dist/affinda/p-45f6c49e.entry.js.map +1 -0
  100. package/dist/affinda/p-4d5b0112.entry.js +2 -0
  101. package/dist/affinda/p-4d5b0112.entry.js.map +1 -0
  102. package/dist/affinda/p-4d984fae.entry.js +2 -0
  103. package/dist/affinda/p-4d984fae.entry.js.map +1 -0
  104. package/dist/affinda/p-4f899b6c.entry.js +2 -0
  105. package/dist/affinda/p-4f899b6c.entry.js.map +1 -0
  106. package/dist/affinda/p-50049e63.entry.js +2 -0
  107. package/dist/affinda/p-50049e63.entry.js.map +1 -0
  108. package/dist/affinda/p-56edd6de.entry.js +2 -0
  109. package/dist/affinda/p-56edd6de.entry.js.map +1 -0
  110. package/dist/affinda/p-58f74509.entry.js +2 -0
  111. package/dist/affinda/p-58f74509.entry.js.map +1 -0
  112. package/dist/affinda/p-5aea4c4f.entry.js +2 -0
  113. package/dist/affinda/p-5aea4c4f.entry.js.map +1 -0
  114. package/dist/affinda/p-6101a8e7.entry.js +2 -0
  115. package/dist/affinda/p-6101a8e7.entry.js.map +1 -0
  116. package/dist/affinda/p-64a0fa57.entry.js +2 -0
  117. package/dist/affinda/p-64a0fa57.entry.js.map +1 -0
  118. package/dist/affinda/p-6f32ce63.entry.js +2 -0
  119. package/dist/affinda/p-6f32ce63.entry.js.map +1 -0
  120. package/dist/affinda/p-72d92e22.entry.js +2 -0
  121. package/dist/affinda/p-72d92e22.entry.js.map +1 -0
  122. package/dist/affinda/p-7813390b.entry.js +2 -0
  123. package/dist/affinda/p-7813390b.entry.js.map +1 -0
  124. package/dist/affinda/p-78878799.entry.js +2 -0
  125. package/dist/affinda/p-78878799.entry.js.map +1 -0
  126. package/dist/affinda/p-7a8ca627.entry.js +2 -0
  127. package/dist/affinda/p-7a8ca627.entry.js.map +1 -0
  128. package/dist/affinda/p-7b595da0.entry.js +2 -0
  129. package/dist/affinda/p-7b595da0.entry.js.map +1 -0
  130. package/dist/affinda/{p-cf4d0d8e.entry.js → p-7fa67014.entry.js} +2 -1
  131. package/dist/affinda/p-7fa67014.entry.js.map +1 -0
  132. package/dist/affinda/p-81a91090.entry.js +2 -0
  133. package/dist/affinda/p-81a91090.entry.js.map +1 -0
  134. package/dist/affinda/p-8901e13c.entry.js +2 -0
  135. package/dist/affinda/p-8901e13c.entry.js.map +1 -0
  136. package/dist/affinda/p-89224154.entry.js +2 -0
  137. package/dist/affinda/p-89224154.entry.js.map +1 -0
  138. package/dist/affinda/p-8b26a82c.entry.js +2 -0
  139. package/dist/affinda/p-8b26a82c.entry.js.map +1 -0
  140. package/dist/affinda/{p-54d85947.entry.js → p-8b74fd5e.entry.js} +2 -1
  141. package/dist/affinda/p-8b74fd5e.entry.js.map +1 -0
  142. package/dist/affinda/p-9be8ba6a.entry.js +2 -0
  143. package/dist/affinda/p-9be8ba6a.entry.js.map +1 -0
  144. package/dist/affinda/p-9d0b9203.entry.js +2 -0
  145. package/dist/affinda/p-9d0b9203.entry.js.map +1 -0
  146. package/dist/affinda/p-C7nUZsb8.js +3 -0
  147. package/dist/affinda/p-C7nUZsb8.js.map +1 -0
  148. package/dist/affinda/p-a48057c0.entry.js +2 -0
  149. package/dist/affinda/p-a48057c0.entry.js.map +1 -0
  150. package/dist/affinda/p-a4a4d392.entry.js +2 -0
  151. package/dist/affinda/p-a4a4d392.entry.js.map +1 -0
  152. package/dist/affinda/p-a4b9a1f5.entry.js +2 -0
  153. package/dist/affinda/p-a4b9a1f5.entry.js.map +1 -0
  154. package/dist/affinda/p-aea8dcee.entry.js +2 -0
  155. package/dist/affinda/p-aea8dcee.entry.js.map +1 -0
  156. package/dist/affinda/p-b8e3c594.entry.js +2 -0
  157. package/dist/affinda/p-b8e3c594.entry.js.map +1 -0
  158. package/dist/affinda/p-bdc28cb8.entry.js +2 -0
  159. package/dist/affinda/p-bdc28cb8.entry.js.map +1 -0
  160. package/dist/affinda/p-bf2c549d.entry.js +2 -0
  161. package/dist/affinda/p-bf2c549d.entry.js.map +1 -0
  162. package/dist/affinda/p-bf52ca34.entry.js +2 -0
  163. package/dist/affinda/p-bf52ca34.entry.js.map +1 -0
  164. package/dist/affinda/p-bf8b5474.entry.js +2 -0
  165. package/dist/affinda/p-bf8b5474.entry.js.map +1 -0
  166. package/dist/affinda/p-c5ba91b3.entry.js +2 -0
  167. package/dist/affinda/p-c5ba91b3.entry.js.map +1 -0
  168. package/dist/affinda/p-c5fd819e.entry.js +2 -0
  169. package/dist/affinda/p-c5fd819e.entry.js.map +1 -0
  170. package/dist/affinda/p-c753a592.entry.js +2 -0
  171. package/dist/affinda/p-c753a592.entry.js.map +1 -0
  172. package/dist/affinda/p-ca59d877.entry.js +2 -0
  173. package/dist/affinda/p-ca59d877.entry.js.map +1 -0
  174. package/dist/affinda/p-d145dc5b.entry.js +2 -0
  175. package/dist/affinda/p-d145dc5b.entry.js.map +1 -0
  176. package/dist/affinda/p-d28466b0.entry.js +2 -0
  177. package/dist/affinda/p-d28466b0.entry.js.map +1 -0
  178. package/dist/affinda/p-d34da5ef.entry.js +2 -0
  179. package/dist/affinda/p-d34da5ef.entry.js.map +1 -0
  180. package/dist/affinda/p-e49c237f.entry.js +2 -0
  181. package/dist/affinda/p-e49c237f.entry.js.map +1 -0
  182. package/dist/affinda/p-e6ebdd17.entry.js +2 -0
  183. package/dist/affinda/p-e6ebdd17.entry.js.map +1 -0
  184. package/dist/affinda/p-eca53803.entry.js +2 -0
  185. package/dist/affinda/p-eca53803.entry.js.map +1 -0
  186. package/dist/affinda/p-ed1805f8.entry.js +2 -0
  187. package/dist/affinda/p-ed1805f8.entry.js.map +1 -0
  188. package/dist/affinda/p-f82ed42c.entry.js +2 -0
  189. package/dist/affinda/p-f82ed42c.entry.js.map +1 -0
  190. package/dist/affinda/p-f8c507a2.entry.js +2 -0
  191. package/dist/affinda/p-f8c507a2.entry.js.map +1 -0
  192. package/dist/affinda/p-fb054540.entry.js +2 -0
  193. package/dist/affinda/p-fb054540.entry.js.map +1 -0
  194. package/dist/affinda/p-fb76a5ef.entry.js +2 -0
  195. package/dist/affinda/p-fb76a5ef.entry.js.map +1 -0
  196. package/dist/affinda/p-fee5d2ac.entry.js +2 -0
  197. package/dist/affinda/p-fee5d2ac.entry.js.map +1 -0
  198. package/dist/cjs/af-accordion-item.cjs.entry.js +6 -33
  199. package/dist/cjs/af-accordion-item.entry.cjs.js.map +1 -0
  200. package/dist/cjs/af-accordion.cjs.entry.js +6 -7
  201. package/dist/cjs/af-accordion.entry.cjs.js.map +1 -0
  202. package/dist/cjs/af-aspect-ratio.cjs.entry.js +4 -3
  203. package/dist/cjs/af-aspect-ratio.entry.cjs.js.map +1 -0
  204. package/dist/cjs/af-button-group.cjs.entry.js +4 -3
  205. package/dist/cjs/af-button-group.entry.cjs.js.map +1 -0
  206. package/dist/cjs/af-button.cjs.entry.js +8 -6
  207. package/dist/cjs/af-button.entry.cjs.js.map +1 -0
  208. package/dist/cjs/af-card.cjs.entry.js +5 -4
  209. package/dist/cjs/af-card.entry.cjs.js.map +1 -0
  210. package/dist/cjs/af-center.cjs.entry.js +5 -4
  211. package/dist/cjs/af-center.entry.cjs.js.map +1 -0
  212. package/dist/cjs/af-checkbox.cjs.entry.js +4 -3
  213. package/dist/cjs/af-checkbox.entry.cjs.js.map +1 -0
  214. package/dist/cjs/af-client-carousel.cjs.entry.js +5 -4
  215. package/dist/cjs/af-client-carousel.entry.cjs.js.map +1 -0
  216. package/dist/cjs/af-color-swatch.cjs.entry.js +4 -3
  217. package/dist/cjs/af-color-swatch.entry.cjs.js.map +1 -0
  218. package/dist/cjs/af-contact-item.cjs.entry.js +5 -4
  219. package/dist/cjs/af-contact-item.entry.cjs.js.map +1 -0
  220. package/dist/cjs/af-container.cjs.entry.js +4 -3
  221. package/dist/cjs/af-container.entry.cjs.js.map +1 -0
  222. package/dist/cjs/af-divider.cjs.entry.js +5 -4
  223. package/dist/cjs/af-divider.entry.cjs.js.map +1 -0
  224. package/dist/cjs/af-feature-accordion.cjs.entry.js +7 -8
  225. package/dist/cjs/af-feature-accordion.entry.cjs.js.map +1 -0
  226. package/dist/cjs/af-feature-card.cjs.entry.js +4 -3
  227. package/dist/cjs/af-feature-card.entry.cjs.js.map +1 -0
  228. package/dist/cjs/af-feature-grid.cjs.entry.js +6 -7
  229. package/dist/cjs/af-feature-grid.entry.cjs.js.map +1 -0
  230. package/dist/cjs/af-fieldset.cjs.entry.js +4 -3
  231. package/dist/cjs/af-fieldset.entry.cjs.js.map +1 -0
  232. package/dist/cjs/af-footer-column.cjs.entry.js +5 -4
  233. package/dist/cjs/af-footer-column.entry.cjs.js.map +1 -0
  234. package/dist/cjs/af-footer-link.cjs.entry.js +5 -4
  235. package/dist/cjs/af-footer-link.entry.cjs.js.map +1 -0
  236. package/dist/cjs/af-footer.cjs.entry.js +5 -4
  237. package/dist/cjs/af-footer.entry.cjs.js.map +1 -0
  238. package/dist/cjs/af-grid-callout.cjs.entry.js +4 -3
  239. package/dist/cjs/af-grid-callout.entry.cjs.js.map +1 -0
  240. package/dist/cjs/af-grid.cjs.entry.js +6 -5
  241. package/dist/cjs/af-grid.entry.cjs.js.map +1 -0
  242. package/dist/cjs/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.cjs.js.map +1 -0
  243. package/dist/cjs/af-heading_5.cjs.entry.js +12 -11
  244. package/dist/cjs/af-icon-box.cjs.entry.js +5 -4
  245. package/dist/cjs/af-icon-box.entry.cjs.js.map +1 -0
  246. package/dist/cjs/af-icon-button.cjs.entry.js +4 -3
  247. package/dist/cjs/af-icon-button.entry.cjs.js.map +1 -0
  248. package/dist/cjs/af-icon-text.cjs.entry.js +5 -4
  249. package/dist/cjs/af-icon-text.entry.cjs.js.map +1 -0
  250. package/dist/cjs/af-icon.cjs.entry.js +4 -3
  251. package/dist/cjs/af-icon.entry.cjs.js.map +1 -0
  252. package/dist/cjs/af-illustrated-card.cjs.entry.js +5 -4
  253. package/dist/cjs/af-illustrated-card.entry.cjs.js.map +1 -0
  254. package/dist/cjs/af-image.cjs.entry.js +15 -4
  255. package/dist/cjs/af-image.entry.cjs.js.map +1 -0
  256. package/dist/cjs/af-in-page-banner.cjs.entry.js +5 -4
  257. package/dist/cjs/af-in-page-banner.entry.cjs.js.map +1 -0
  258. package/dist/cjs/af-inline.cjs.entry.js +5 -4
  259. package/dist/cjs/af-inline.entry.cjs.js.map +1 -0
  260. package/dist/cjs/af-input.cjs.entry.js +4 -3
  261. package/dist/cjs/af-input.entry.cjs.js.map +1 -0
  262. package/dist/cjs/af-logo-well.cjs.entry.js +5 -4
  263. package/dist/cjs/af-logo-well.entry.cjs.js.map +1 -0
  264. package/dist/cjs/af-nav-accordion-item.cjs.entry.js +7 -8
  265. package/dist/cjs/af-nav-accordion-item.entry.cjs.js.map +1 -0
  266. package/dist/cjs/af-nav-accordion.cjs.entry.js +5 -4
  267. package/dist/cjs/af-nav-accordion.entry.cjs.js.map +1 -0
  268. package/dist/cjs/af-nav-card.cjs.entry.js +4 -3
  269. package/dist/cjs/af-nav-card.entry.cjs.js.map +1 -0
  270. package/dist/cjs/af-nav-menu-nest.cjs.entry.js +5 -4
  271. package/dist/cjs/af-nav-menu-nest.entry.cjs.js.map +1 -0
  272. package/dist/cjs/af-nav-menu.cjs.entry.js +5 -4
  273. package/dist/cjs/af-nav-menu.entry.cjs.js.map +1 -0
  274. package/dist/cjs/af-number-badge.cjs.entry.js +5 -4
  275. package/dist/cjs/af-number-badge.entry.cjs.js.map +1 -0
  276. package/dist/cjs/af-progress-line.cjs.entry.js +6 -5
  277. package/dist/cjs/af-progress-line.entry.cjs.js.map +1 -0
  278. package/dist/cjs/af-radio.cjs.entry.js +4 -3
  279. package/dist/cjs/af-radio.entry.cjs.js.map +1 -0
  280. package/dist/cjs/af-section.cjs.entry.js +6 -5
  281. package/dist/cjs/af-section.entry.cjs.js.map +1 -0
  282. package/dist/cjs/af-show.cjs.entry.js +5 -4
  283. package/dist/cjs/af-show.entry.cjs.js.map +1 -0
  284. package/dist/cjs/af-social-link.cjs.entry.js +5 -4
  285. package/dist/cjs/af-social-link.entry.cjs.js.map +1 -0
  286. package/dist/cjs/af-spacer.cjs.entry.js +5 -4
  287. package/dist/cjs/af-spacer.entry.cjs.js.map +1 -0
  288. package/dist/cjs/af-split-section.cjs.entry.js +6 -5
  289. package/dist/cjs/af-split-section.entry.cjs.js.map +1 -0
  290. package/dist/cjs/af-stack.cjs.entry.js +5 -4
  291. package/dist/cjs/af-stack.entry.cjs.js.map +1 -0
  292. package/dist/cjs/af-stepper-step.cjs.entry.js +5 -4
  293. package/dist/cjs/af-stepper-step.entry.cjs.js.map +1 -0
  294. package/dist/cjs/af-stepper.cjs.entry.js +5 -4
  295. package/dist/cjs/af-stepper.entry.cjs.js.map +1 -0
  296. package/dist/cjs/af-switch.cjs.entry.js +4 -3
  297. package/dist/cjs/af-switch.entry.cjs.js.map +1 -0
  298. package/dist/cjs/af-tab-bar.cjs.entry.js +4 -3
  299. package/dist/cjs/af-tab-bar.entry.cjs.js.map +1 -0
  300. package/dist/cjs/af-tab.cjs.entry.js +4 -3
  301. package/dist/cjs/af-tab.entry.cjs.js.map +1 -0
  302. package/dist/cjs/af-tag.cjs.entry.js +10 -10
  303. package/dist/cjs/af-tag.entry.cjs.js.map +1 -0
  304. package/dist/cjs/af-testimonial-carousel.cjs.entry.js +5 -4
  305. package/dist/cjs/af-testimonial-carousel.entry.cjs.js.map +1 -0
  306. package/dist/cjs/af-testimonial-stat.cjs.entry.js +5 -4
  307. package/dist/cjs/af-testimonial-stat.entry.cjs.js.map +1 -0
  308. package/dist/cjs/af-testimonial.cjs.entry.js +6 -5
  309. package/dist/cjs/af-testimonial.entry.cjs.js.map +1 -0
  310. package/dist/cjs/af-text-image-nest.cjs.entry.js +5 -4
  311. package/dist/cjs/af-text-image-nest.entry.cjs.js.map +1 -0
  312. package/dist/cjs/af-text-image.cjs.entry.js +4 -3
  313. package/dist/cjs/af-text-image.entry.cjs.js.map +1 -0
  314. package/dist/cjs/af-textarea.cjs.entry.js +4 -3
  315. package/dist/cjs/af-textarea.entry.cjs.js.map +1 -0
  316. package/dist/cjs/af-theme-override.cjs.entry.js +5 -4
  317. package/dist/cjs/af-theme-override.entry.cjs.js.map +1 -0
  318. package/dist/cjs/af-typography-lockup.cjs.entry.js +4 -3
  319. package/dist/cjs/af-typography-lockup.entry.cjs.js.map +1 -0
  320. package/dist/cjs/af-video-container.cjs.entry.js +5 -4
  321. package/dist/cjs/af-video-container.entry.cjs.js.map +1 -0
  322. package/dist/cjs/af-visually-hidden.cjs.entry.js +5 -4
  323. package/dist/cjs/af-visually-hidden.entry.cjs.js.map +1 -0
  324. package/dist/cjs/affinda.cjs.js +4 -3
  325. package/dist/cjs/affinda.cjs.js.map +1 -0
  326. package/dist/cjs/{index-C1ry3YPK.js → index-BKMHxS4K.js} +260 -462
  327. package/dist/cjs/index-BKMHxS4K.js.map +1 -0
  328. package/dist/cjs/index.cjs.js +21 -20
  329. package/dist/cjs/index.cjs.js.map +1 -0
  330. package/dist/cjs/loader.cjs.js +3 -2
  331. package/dist/cjs/loader.cjs.js.map +1 -0
  332. package/dist/collection/collection-manifest.json +2 -3
  333. package/dist/collection/components/af-accordion/af-accordion.js +2 -1
  334. package/dist/collection/components/af-accordion/af-accordion.js.map +1 -0
  335. package/dist/collection/components/af-accordion-item/af-accordion-item.js +2 -27
  336. package/dist/collection/components/af-accordion-item/af-accordion-item.js.map +1 -0
  337. package/dist/collection/components/af-aspect-ratio/af-aspect-ratio.js +1 -0
  338. package/dist/collection/components/af-aspect-ratio/af-aspect-ratio.js.map +1 -0
  339. package/dist/collection/components/af-button/af-button.css +24 -24
  340. package/dist/collection/components/af-button/af-button.js +11 -9
  341. package/dist/collection/components/af-button/af-button.js.map +1 -0
  342. package/dist/collection/components/af-button-group/af-button-group.js +1 -0
  343. package/dist/collection/components/af-button-group/af-button-group.js.map +1 -0
  344. package/dist/collection/components/af-card/af-card.css +2 -2
  345. package/dist/collection/components/af-card/af-card.js +2 -1
  346. package/dist/collection/components/af-card/af-card.js.map +1 -0
  347. package/dist/collection/components/af-center/af-center.js +2 -1
  348. package/dist/collection/components/af-center/af-center.js.map +1 -0
  349. package/dist/collection/components/af-checkbox/af-checkbox.js +1 -0
  350. package/dist/collection/components/af-checkbox/af-checkbox.js.map +1 -0
  351. package/dist/collection/components/af-client-carousel/af-client-carousel.js +2 -1
  352. package/dist/collection/components/af-client-carousel/af-client-carousel.js.map +1 -0
  353. package/dist/collection/components/af-color-swatch/af-color-swatch.js +1 -0
  354. package/dist/collection/components/af-color-swatch/af-color-swatch.js.map +1 -0
  355. package/dist/collection/components/af-contact-item/af-contact-item.js +2 -1
  356. package/dist/collection/components/af-contact-item/af-contact-item.js.map +1 -0
  357. package/dist/collection/components/af-container/af-container.js +1 -0
  358. package/dist/collection/components/af-container/af-container.js.map +1 -0
  359. package/dist/collection/components/af-divider/af-divider.js +2 -1
  360. package/dist/collection/components/af-divider/af-divider.js.map +1 -0
  361. package/dist/collection/components/af-feature-accordion/af-feature-accordion.js +3 -2
  362. package/dist/collection/components/af-feature-accordion/af-feature-accordion.js.map +1 -0
  363. package/dist/collection/components/af-feature-card/af-feature-card.js +1 -0
  364. package/dist/collection/components/af-feature-card/af-feature-card.js.map +1 -0
  365. package/dist/collection/components/af-feature-grid/af-feature-grid.js +2 -1
  366. package/dist/collection/components/af-feature-grid/af-feature-grid.js.map +1 -0
  367. package/dist/collection/components/af-fieldset/af-fieldset.js +1 -0
  368. package/dist/collection/components/af-fieldset/af-fieldset.js.map +1 -0
  369. package/dist/collection/components/af-footer/af-footer.js +2 -1
  370. package/dist/collection/components/af-footer/af-footer.js.map +1 -0
  371. package/dist/collection/components/af-footer-column/af-footer-column.js +2 -1
  372. package/dist/collection/components/af-footer-column/af-footer-column.js.map +1 -0
  373. package/dist/collection/components/af-footer-link/af-footer-link.js +2 -1
  374. package/dist/collection/components/af-footer-link/af-footer-link.js.map +1 -0
  375. package/dist/collection/components/af-grid/af-grid.js +3 -2
  376. package/dist/collection/components/af-grid/af-grid.js.map +1 -0
  377. package/dist/collection/components/af-grid-callout/af-grid-callout.js +1 -0
  378. package/dist/collection/components/af-grid-callout/af-grid-callout.js.map +1 -0
  379. package/dist/collection/components/af-heading/af-heading.js +1 -0
  380. package/dist/collection/components/af-heading/af-heading.js.map +1 -0
  381. package/dist/collection/components/af-icon/af-icon.js +3 -3
  382. package/dist/collection/components/af-icon/af-icon.js.map +1 -0
  383. package/dist/collection/components/af-icon-box/af-icon-box.js +4 -4
  384. package/dist/collection/components/af-icon-box/af-icon-box.js.map +1 -0
  385. package/dist/collection/components/af-icon-button/af-icon-button.css +2 -2
  386. package/dist/collection/components/af-icon-button/af-icon-button.js +1 -0
  387. package/dist/collection/components/af-icon-button/af-icon-button.js.map +1 -0
  388. package/dist/collection/components/af-icon-text/af-icon-text.js +6 -6
  389. package/dist/collection/components/af-icon-text/af-icon-text.js.map +1 -0
  390. package/dist/collection/components/af-illustrated-card/af-illustrated-card.js +5 -3
  391. package/dist/collection/components/af-illustrated-card/af-illustrated-card.js.map +1 -0
  392. package/dist/collection/components/af-image/af-image.css +21 -4
  393. package/dist/collection/components/af-image/af-image.js +34 -1
  394. package/dist/collection/components/af-image/af-image.js.map +1 -0
  395. package/dist/collection/components/af-in-page-banner/af-in-page-banner.css +12 -10
  396. package/dist/collection/components/af-in-page-banner/af-in-page-banner.js +12 -1
  397. package/dist/collection/components/af-in-page-banner/af-in-page-banner.js.map +1 -0
  398. package/dist/collection/components/af-inline/af-inline.js +2 -1
  399. package/dist/collection/components/af-inline/af-inline.js.map +1 -0
  400. package/dist/collection/components/af-input/af-input.js +1 -0
  401. package/dist/collection/components/af-input/af-input.js.map +1 -0
  402. package/dist/collection/components/af-logo/af-logo.js +1 -0
  403. package/dist/collection/components/af-logo/af-logo.js.map +1 -0
  404. package/dist/collection/components/af-logo-well/af-logo-well.js +2 -1
  405. package/dist/collection/components/af-logo-well/af-logo-well.js.map +1 -0
  406. package/dist/collection/components/af-nav-accordion/af-nav-accordion.js +2 -1
  407. package/dist/collection/components/af-nav-accordion/af-nav-accordion.js.map +1 -0
  408. package/dist/collection/components/af-nav-accordion-item/af-nav-accordion-item.js +3 -2
  409. package/dist/collection/components/af-nav-accordion-item/af-nav-accordion-item.js.map +1 -0
  410. package/dist/collection/components/af-nav-card/af-nav-card.js +1 -0
  411. package/dist/collection/components/af-nav-card/af-nav-card.js.map +1 -0
  412. package/dist/collection/components/af-nav-item/af-nav-item.js +1 -0
  413. package/dist/collection/components/af-nav-item/af-nav-item.js.map +1 -0
  414. package/dist/collection/components/af-nav-menu/af-nav-menu.js +2 -1
  415. package/dist/collection/components/af-nav-menu/af-nav-menu.js.map +1 -0
  416. package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js +2 -1
  417. package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js.map +1 -0
  418. package/dist/collection/components/af-navbar/af-navbar.js +1 -0
  419. package/dist/collection/components/af-navbar/af-navbar.js.map +1 -0
  420. package/dist/collection/components/af-number-badge/af-number-badge.js +4 -3
  421. package/dist/collection/components/af-number-badge/af-number-badge.js.map +1 -0
  422. package/dist/collection/components/af-progress-line/af-progress-line.js +3 -2
  423. package/dist/collection/components/af-progress-line/af-progress-line.js.map +1 -0
  424. package/dist/collection/components/af-radio/af-radio.js +1 -0
  425. package/dist/collection/components/af-radio/af-radio.js.map +1 -0
  426. package/dist/collection/components/af-section/af-section.css +16 -15
  427. package/dist/collection/components/af-section/af-section.js +3 -2
  428. package/dist/collection/components/af-section/af-section.js.map +1 -0
  429. package/dist/collection/components/af-show/af-show.js +2 -1
  430. package/dist/collection/components/af-show/af-show.js.map +1 -0
  431. package/dist/collection/components/af-social-link/af-social-link.js +2 -1
  432. package/dist/collection/components/af-social-link/af-social-link.js.map +1 -0
  433. package/dist/collection/components/af-spacer/af-spacer.js +2 -1
  434. package/dist/collection/components/af-spacer/af-spacer.js.map +1 -0
  435. package/dist/collection/components/af-split-section/af-split-section.js +3 -2
  436. package/dist/collection/components/af-split-section/af-split-section.js.map +1 -0
  437. package/dist/collection/components/af-stack/af-stack.js +2 -1
  438. package/dist/collection/components/af-stack/af-stack.js.map +1 -0
  439. package/dist/collection/components/af-stepper/af-stepper.js +2 -1
  440. package/dist/collection/components/af-stepper/af-stepper.js.map +1 -0
  441. package/dist/collection/components/af-stepper-step/af-stepper-step.js +2 -1
  442. package/dist/collection/components/af-stepper-step/af-stepper-step.js.map +1 -0
  443. package/dist/collection/components/af-switch/af-switch.js +1 -0
  444. package/dist/collection/components/af-switch/af-switch.js.map +1 -0
  445. package/dist/collection/components/af-tab/af-tab.js +2 -1
  446. package/dist/collection/components/af-tab/af-tab.js.map +1 -0
  447. package/dist/collection/components/af-tab-bar/af-tab-bar.js +3 -2
  448. package/dist/collection/components/af-tab-bar/af-tab-bar.js.map +1 -0
  449. package/dist/collection/components/af-tag/af-tag.css +41 -21
  450. package/dist/collection/components/af-tag/af-tag.js +19 -15
  451. package/dist/collection/components/af-tag/af-tag.js.map +1 -0
  452. package/dist/collection/components/af-testimonial/af-testimonial.css +28 -6
  453. package/dist/collection/components/af-testimonial/af-testimonial.js +15 -6
  454. package/dist/collection/components/af-testimonial/af-testimonial.js.map +1 -0
  455. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js +2 -1
  456. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js.map +1 -0
  457. package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js +2 -1
  458. package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js.map +1 -0
  459. package/dist/collection/components/af-text/af-text.js +1 -0
  460. package/dist/collection/components/af-text/af-text.js.map +1 -0
  461. package/dist/collection/components/af-text-image/af-text-image.js +1 -0
  462. package/dist/collection/components/af-text-image/af-text-image.js.map +1 -0
  463. package/dist/collection/components/af-text-image-nest/af-text-image-nest.js +2 -1
  464. package/dist/collection/components/af-text-image-nest/af-text-image-nest.js.map +1 -0
  465. package/dist/collection/components/af-textarea/af-textarea.js +1 -0
  466. package/dist/collection/components/af-textarea/af-textarea.js.map +1 -0
  467. package/dist/collection/components/af-theme-override/af-theme-override.css +15 -15
  468. package/dist/collection/components/af-theme-override/af-theme-override.js +2 -1
  469. package/dist/collection/components/af-theme-override/af-theme-override.js.map +1 -0
  470. package/dist/collection/components/af-typography-lockup/af-typography-lockup.css +30 -4
  471. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js +1 -0
  472. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js.map +1 -0
  473. package/dist/collection/components/af-video-container/af-video-container.js +2 -1
  474. package/dist/collection/components/af-video-container/af-video-container.js.map +1 -0
  475. package/dist/collection/components/af-visually-hidden/af-visually-hidden.js +2 -1
  476. package/dist/collection/components/af-visually-hidden/af-visually-hidden.js.map +1 -0
  477. package/dist/collection/components.js +1 -0
  478. package/dist/collection/components.js.map +1 -0
  479. package/dist/collection/index.js +1 -0
  480. package/dist/collection/index.js.map +1 -0
  481. package/dist/components/af-accordion-item.js +107 -1
  482. package/dist/components/af-accordion-item.js.map +1 -0
  483. package/dist/components/af-accordion.js +128 -1
  484. package/dist/components/af-accordion.js.map +1 -0
  485. package/dist/components/af-aspect-ratio.js +9 -1
  486. package/dist/components/af-aspect-ratio.js.map +1 -0
  487. package/dist/components/af-button-group.js +9 -1
  488. package/dist/components/af-button-group.js.map +1 -0
  489. package/dist/components/af-button.js +9 -1
  490. package/dist/components/af-button.js.map +1 -0
  491. package/dist/components/af-card.js +9 -1
  492. package/dist/components/af-card.js.map +1 -0
  493. package/dist/components/af-center.js +66 -1
  494. package/dist/components/af-center.js.map +1 -0
  495. package/dist/components/af-checkbox.js +9 -1
  496. package/dist/components/af-checkbox.js.map +1 -0
  497. package/dist/components/af-client-carousel.js +80 -1
  498. package/dist/components/af-client-carousel.js.map +1 -0
  499. package/dist/components/af-color-swatch.js +9 -1
  500. package/dist/components/af-color-swatch.js.map +1 -0
  501. package/dist/components/af-contact-item.js +44 -1
  502. package/dist/components/af-contact-item.js.map +1 -0
  503. package/dist/components/af-container.js +9 -1
  504. package/dist/components/af-container.js.map +1 -0
  505. package/dist/components/af-divider.js +66 -1
  506. package/dist/components/af-divider.js.map +1 -0
  507. package/dist/components/af-feature-accordion.js +136 -1
  508. package/dist/components/af-feature-accordion.js.map +1 -0
  509. package/dist/components/af-feature-card.js +9 -1
  510. package/dist/components/af-feature-card.js.map +1 -0
  511. package/dist/components/af-feature-grid.js +124 -1
  512. package/dist/components/af-feature-grid.js.map +1 -0
  513. package/dist/components/af-fieldset.js +9 -1
  514. package/dist/components/af-fieldset.js.map +1 -0
  515. package/dist/components/af-footer-column.js +41 -1
  516. package/dist/components/af-footer-column.js.map +1 -0
  517. package/dist/components/af-footer-link.js +44 -1
  518. package/dist/components/af-footer-link.js.map +1 -0
  519. package/dist/components/af-footer.js +53 -1
  520. package/dist/components/af-footer.js.map +1 -0
  521. package/dist/components/af-grid-callout.js +82 -1
  522. package/dist/components/af-grid-callout.js.map +1 -0
  523. package/dist/components/af-grid.js +71 -1
  524. package/dist/components/af-grid.js.map +1 -0
  525. package/dist/components/af-heading.js +9 -1
  526. package/dist/components/af-heading.js.map +1 -0
  527. package/dist/components/af-icon-box.js +9 -1
  528. package/dist/components/af-icon-box.js.map +1 -0
  529. package/dist/components/af-icon-button.js +9 -1
  530. package/dist/components/af-icon-button.js.map +1 -0
  531. package/dist/components/af-icon-text.js +78 -1
  532. package/dist/components/af-icon-text.js.map +1 -0
  533. package/dist/components/af-icon.js +9 -1
  534. package/dist/components/af-icon.js.map +1 -0
  535. package/dist/components/af-illustrated-card.js +9 -1
  536. package/dist/components/af-illustrated-card.js.map +1 -0
  537. package/dist/components/af-image.js +9 -1
  538. package/dist/components/af-image.js.map +1 -0
  539. package/dist/components/af-in-page-banner.js +82 -1
  540. package/dist/components/af-in-page-banner.js.map +1 -0
  541. package/dist/components/af-inline.js +83 -1
  542. package/dist/components/af-inline.js.map +1 -0
  543. package/dist/components/af-input.js +9 -1
  544. package/dist/components/af-input.js.map +1 -0
  545. package/dist/components/af-logo-well.js +38 -1
  546. package/dist/components/af-logo-well.js.map +1 -0
  547. package/dist/components/af-logo.js +9 -1
  548. package/dist/components/af-logo.js.map +1 -0
  549. package/dist/components/af-nav-accordion-item.js +133 -1
  550. package/dist/components/af-nav-accordion-item.js.map +1 -0
  551. package/dist/components/af-nav-accordion.js +106 -1
  552. package/dist/components/af-nav-accordion.js.map +1 -0
  553. package/dist/components/af-nav-card.js +62 -1
  554. package/dist/components/af-nav-card.js.map +1 -0
  555. package/dist/components/af-nav-item.js +9 -1
  556. package/dist/components/af-nav-item.js.map +1 -0
  557. package/dist/components/af-nav-menu-nest.js +67 -1
  558. package/dist/components/af-nav-menu-nest.js.map +1 -0
  559. package/dist/components/af-nav-menu.js +65 -1
  560. package/dist/components/af-nav-menu.js.map +1 -0
  561. package/dist/components/af-navbar.js +9 -1
  562. package/dist/components/af-navbar.js.map +1 -0
  563. package/dist/components/af-number-badge.js +66 -1
  564. package/dist/components/af-number-badge.js.map +1 -0
  565. package/dist/components/af-progress-line.js +9 -1
  566. package/dist/components/af-progress-line.js.map +1 -0
  567. package/dist/components/af-radio.js +9 -1
  568. package/dist/components/af-radio.js.map +1 -0
  569. package/dist/components/af-section.js +54 -1
  570. package/dist/components/af-section.js.map +1 -0
  571. package/dist/components/af-show.js +46 -1
  572. package/dist/components/af-show.js.map +1 -0
  573. package/dist/components/af-social-link.js +63 -1
  574. package/dist/components/af-social-link.js.map +1 -0
  575. package/dist/components/af-spacer.js +69 -1
  576. package/dist/components/af-spacer.js.map +1 -0
  577. package/dist/components/af-split-section.js +71 -1
  578. package/dist/components/af-split-section.js.map +1 -0
  579. package/dist/components/af-stack.js +90 -1
  580. package/dist/components/af-stack.js.map +1 -0
  581. package/dist/components/af-stepper-step.js +44 -1
  582. package/dist/components/af-stepper-step.js.map +1 -0
  583. package/dist/components/af-stepper.js +55 -1
  584. package/dist/components/af-stepper.js.map +1 -0
  585. package/dist/components/af-switch.js +9 -1
  586. package/dist/components/af-switch.js.map +1 -0
  587. package/dist/components/af-tab-bar.js +9 -1
  588. package/dist/components/af-tab-bar.js.map +1 -0
  589. package/dist/components/af-tab.js +9 -1
  590. package/dist/components/af-tab.js.map +1 -0
  591. package/dist/components/af-tag.js +9 -1
  592. package/dist/components/af-tag.js.map +1 -0
  593. package/dist/components/af-testimonial-carousel.js +131 -1
  594. package/dist/components/af-testimonial-carousel.js.map +1 -0
  595. package/dist/components/af-testimonial-stat.js +57 -1
  596. package/dist/components/af-testimonial-stat.js.map +1 -0
  597. package/dist/components/af-testimonial.js +88 -1
  598. package/dist/components/af-testimonial.js.map +1 -0
  599. package/dist/components/af-text-image-nest.js +51 -1
  600. package/dist/components/af-text-image-nest.js.map +1 -0
  601. package/dist/components/af-text-image.js +95 -1
  602. package/dist/components/af-text-image.js.map +1 -0
  603. package/dist/components/af-text.js +9 -1
  604. package/dist/components/af-text.js.map +1 -0
  605. package/dist/components/af-textarea.js +9 -1
  606. package/dist/components/af-textarea.js.map +1 -0
  607. package/dist/components/af-theme-override.js +44 -1
  608. package/dist/components/af-theme-override.js.map +1 -0
  609. package/dist/components/af-typography-lockup.js +9 -1
  610. package/dist/components/af-typography-lockup.js.map +1 -0
  611. package/dist/components/af-video-container.js +70 -1
  612. package/dist/components/af-video-container.js.map +1 -0
  613. package/dist/components/af-visually-hidden.js +45 -1
  614. package/dist/components/af-visually-hidden.js.map +1 -0
  615. package/dist/components/index.d.ts +0 -2
  616. package/dist/components/index.js +27 -1
  617. package/dist/components/index.js.map +1 -0
  618. package/dist/components/p-0-_hX4o-.js +35 -0
  619. package/dist/components/p-0-_hX4o-.js.map +1 -0
  620. package/dist/components/p-287-nef9.js +151 -0
  621. package/dist/components/p-287-nef9.js.map +1 -0
  622. package/dist/components/p-BBpihWJI.js +1781 -0
  623. package/dist/components/p-BBpihWJI.js.map +1 -0
  624. package/dist/components/p-BFLKhcjQ.js +372 -0
  625. package/dist/components/p-BFLKhcjQ.js.map +1 -0
  626. package/dist/components/p-BJmoxr_I.js +94 -0
  627. package/dist/components/p-BJmoxr_I.js.map +1 -0
  628. package/dist/components/p-BQ1El6-J.js +48 -0
  629. package/dist/components/p-BQ1El6-J.js.map +1 -0
  630. package/dist/components/p-BgDSP0Qs.js +70 -0
  631. package/dist/components/p-BgDSP0Qs.js.map +1 -0
  632. package/dist/components/p-BjJS1_8G.js +102 -0
  633. package/dist/components/p-BjJS1_8G.js.map +1 -0
  634. package/dist/components/p-BnX_qYj5.js +58 -0
  635. package/dist/components/p-BnX_qYj5.js.map +1 -0
  636. package/dist/components/p-BntvCg5H.js +45 -0
  637. package/dist/components/p-BntvCg5H.js.map +1 -0
  638. package/dist/components/p-Btsw1ple.js +59 -0
  639. package/dist/components/p-Btsw1ple.js.map +1 -0
  640. package/dist/components/p-BxwCXPuv.js +53 -0
  641. package/dist/components/p-BxwCXPuv.js.map +1 -0
  642. package/dist/components/p-C8y3mc7N.js +108 -0
  643. package/dist/components/p-C8y3mc7N.js.map +1 -0
  644. package/dist/components/p-CBrB-J4s.js +71 -0
  645. package/dist/components/p-CBrB-J4s.js.map +1 -0
  646. package/dist/components/p-CVYQKqKI.js +48 -0
  647. package/dist/components/p-CVYQKqKI.js.map +1 -0
  648. package/dist/components/p-CkYQbs2f.js +89 -0
  649. package/dist/components/p-CkYQbs2f.js.map +1 -0
  650. package/dist/components/p-CrftZP-C.js +57 -0
  651. package/dist/components/p-CrftZP-C.js.map +1 -0
  652. package/dist/components/p-CyTj19Yy.js +92 -0
  653. package/dist/components/p-CyTj19Yy.js.map +1 -0
  654. package/dist/components/p-D-Xf1-qQ.js +127 -0
  655. package/dist/components/p-D-Xf1-qQ.js.map +1 -0
  656. package/dist/components/p-D4YzNoal.js +50 -0
  657. package/dist/components/p-D4YzNoal.js.map +1 -0
  658. package/dist/components/p-DIIZN41O.js +74 -0
  659. package/dist/components/p-DIIZN41O.js.map +1 -0
  660. package/dist/components/p-DREa7k5l.js +81 -0
  661. package/dist/components/p-DREa7k5l.js.map +1 -0
  662. package/dist/components/p-DcLua_lK.js +44 -0
  663. package/dist/components/p-DcLua_lK.js.map +1 -0
  664. package/dist/components/p-DvXggVot.js +141 -0
  665. package/dist/components/p-DvXggVot.js.map +1 -0
  666. package/dist/components/p-a9H_FzMp.js +93 -0
  667. package/dist/components/p-a9H_FzMp.js.map +1 -0
  668. package/dist/components/p-eAysTBjl.js +55 -0
  669. package/dist/components/p-eAysTBjl.js.map +1 -0
  670. package/dist/components/p-jTq4gh1Q.js +52 -0
  671. package/dist/components/p-jTq4gh1Q.js.map +1 -0
  672. package/dist/components/p-noO3IF9V.js +68 -0
  673. package/dist/components/p-noO3IF9V.js.map +1 -0
  674. package/dist/components/p-tiZXMu0t.js +196 -0
  675. package/dist/components/p-tiZXMu0t.js.map +1 -0
  676. package/dist/esm/af-accordion-item.entry.js +6 -33
  677. package/dist/esm/af-accordion-item.entry.js.map +1 -0
  678. package/dist/esm/af-accordion.entry.js +6 -7
  679. package/dist/esm/af-accordion.entry.js.map +1 -0
  680. package/dist/esm/af-aspect-ratio.entry.js +4 -3
  681. package/dist/esm/af-aspect-ratio.entry.js.map +1 -0
  682. package/dist/esm/af-button-group.entry.js +4 -3
  683. package/dist/esm/af-button-group.entry.js.map +1 -0
  684. package/dist/esm/af-button.entry.js +8 -6
  685. package/dist/esm/af-button.entry.js.map +1 -0
  686. package/dist/esm/af-card.entry.js +5 -4
  687. package/dist/esm/af-card.entry.js.map +1 -0
  688. package/dist/esm/af-center.entry.js +5 -4
  689. package/dist/esm/af-center.entry.js.map +1 -0
  690. package/dist/esm/af-checkbox.entry.js +4 -3
  691. package/dist/esm/af-checkbox.entry.js.map +1 -0
  692. package/dist/esm/af-client-carousel.entry.js +5 -4
  693. package/dist/esm/af-client-carousel.entry.js.map +1 -0
  694. package/dist/esm/af-color-swatch.entry.js +4 -3
  695. package/dist/esm/af-color-swatch.entry.js.map +1 -0
  696. package/dist/esm/af-contact-item.entry.js +5 -4
  697. package/dist/esm/af-contact-item.entry.js.map +1 -0
  698. package/dist/esm/af-container.entry.js +4 -3
  699. package/dist/esm/af-container.entry.js.map +1 -0
  700. package/dist/esm/af-divider.entry.js +5 -4
  701. package/dist/esm/af-divider.entry.js.map +1 -0
  702. package/dist/esm/af-feature-accordion.entry.js +7 -8
  703. package/dist/esm/af-feature-accordion.entry.js.map +1 -0
  704. package/dist/esm/af-feature-card.entry.js +4 -3
  705. package/dist/esm/af-feature-card.entry.js.map +1 -0
  706. package/dist/esm/af-feature-grid.entry.js +6 -7
  707. package/dist/esm/af-feature-grid.entry.js.map +1 -0
  708. package/dist/esm/af-fieldset.entry.js +4 -3
  709. package/dist/esm/af-fieldset.entry.js.map +1 -0
  710. package/dist/esm/af-footer-column.entry.js +5 -4
  711. package/dist/esm/af-footer-column.entry.js.map +1 -0
  712. package/dist/esm/af-footer-link.entry.js +5 -4
  713. package/dist/esm/af-footer-link.entry.js.map +1 -0
  714. package/dist/esm/af-footer.entry.js +5 -4
  715. package/dist/esm/af-footer.entry.js.map +1 -0
  716. package/dist/esm/af-grid-callout.entry.js +4 -3
  717. package/dist/esm/af-grid-callout.entry.js.map +1 -0
  718. package/dist/esm/af-grid.entry.js +6 -5
  719. package/dist/esm/af-grid.entry.js.map +1 -0
  720. package/dist/esm/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.js.map +1 -0
  721. package/dist/esm/af-heading_5.entry.js +12 -11
  722. package/dist/esm/af-icon-box.entry.js +5 -4
  723. package/dist/esm/af-icon-box.entry.js.map +1 -0
  724. package/dist/esm/af-icon-button.entry.js +4 -3
  725. package/dist/esm/af-icon-button.entry.js.map +1 -0
  726. package/dist/esm/af-icon-text.entry.js +5 -4
  727. package/dist/esm/af-icon-text.entry.js.map +1 -0
  728. package/dist/esm/af-icon.entry.js +4 -3
  729. package/dist/esm/af-icon.entry.js.map +1 -0
  730. package/dist/esm/af-illustrated-card.entry.js +5 -4
  731. package/dist/esm/af-illustrated-card.entry.js.map +1 -0
  732. package/dist/esm/af-image.entry.js +15 -4
  733. package/dist/esm/af-image.entry.js.map +1 -0
  734. package/dist/esm/af-in-page-banner.entry.js +5 -4
  735. package/dist/esm/af-in-page-banner.entry.js.map +1 -0
  736. package/dist/esm/af-inline.entry.js +5 -4
  737. package/dist/esm/af-inline.entry.js.map +1 -0
  738. package/dist/esm/af-input.entry.js +4 -3
  739. package/dist/esm/af-input.entry.js.map +1 -0
  740. package/dist/esm/af-logo-well.entry.js +5 -4
  741. package/dist/esm/af-logo-well.entry.js.map +1 -0
  742. package/dist/esm/af-nav-accordion-item.entry.js +7 -8
  743. package/dist/esm/af-nav-accordion-item.entry.js.map +1 -0
  744. package/dist/esm/af-nav-accordion.entry.js +5 -4
  745. package/dist/esm/af-nav-accordion.entry.js.map +1 -0
  746. package/dist/esm/af-nav-card.entry.js +4 -3
  747. package/dist/esm/af-nav-card.entry.js.map +1 -0
  748. package/dist/esm/af-nav-menu-nest.entry.js +5 -4
  749. package/dist/esm/af-nav-menu-nest.entry.js.map +1 -0
  750. package/dist/esm/af-nav-menu.entry.js +5 -4
  751. package/dist/esm/af-nav-menu.entry.js.map +1 -0
  752. package/dist/esm/af-number-badge.entry.js +5 -4
  753. package/dist/esm/af-number-badge.entry.js.map +1 -0
  754. package/dist/esm/af-progress-line.entry.js +6 -5
  755. package/dist/esm/af-progress-line.entry.js.map +1 -0
  756. package/dist/esm/af-radio.entry.js +4 -3
  757. package/dist/esm/af-radio.entry.js.map +1 -0
  758. package/dist/esm/af-section.entry.js +6 -5
  759. package/dist/esm/af-section.entry.js.map +1 -0
  760. package/dist/esm/af-show.entry.js +5 -4
  761. package/dist/esm/af-show.entry.js.map +1 -0
  762. package/dist/esm/af-social-link.entry.js +5 -4
  763. package/dist/esm/af-social-link.entry.js.map +1 -0
  764. package/dist/esm/af-spacer.entry.js +5 -4
  765. package/dist/esm/af-spacer.entry.js.map +1 -0
  766. package/dist/esm/af-split-section.entry.js +6 -5
  767. package/dist/esm/af-split-section.entry.js.map +1 -0
  768. package/dist/esm/af-stack.entry.js +5 -4
  769. package/dist/esm/af-stack.entry.js.map +1 -0
  770. package/dist/esm/af-stepper-step.entry.js +5 -4
  771. package/dist/esm/af-stepper-step.entry.js.map +1 -0
  772. package/dist/esm/af-stepper.entry.js +5 -4
  773. package/dist/esm/af-stepper.entry.js.map +1 -0
  774. package/dist/esm/af-switch.entry.js +4 -3
  775. package/dist/esm/af-switch.entry.js.map +1 -0
  776. package/dist/esm/af-tab-bar.entry.js +4 -3
  777. package/dist/esm/af-tab-bar.entry.js.map +1 -0
  778. package/dist/esm/af-tab.entry.js +4 -3
  779. package/dist/esm/af-tab.entry.js.map +1 -0
  780. package/dist/esm/af-tag.entry.js +10 -10
  781. package/dist/esm/af-tag.entry.js.map +1 -0
  782. package/dist/esm/af-testimonial-carousel.entry.js +5 -4
  783. package/dist/esm/af-testimonial-carousel.entry.js.map +1 -0
  784. package/dist/esm/af-testimonial-stat.entry.js +5 -4
  785. package/dist/esm/af-testimonial-stat.entry.js.map +1 -0
  786. package/dist/esm/af-testimonial.entry.js +6 -5
  787. package/dist/esm/af-testimonial.entry.js.map +1 -0
  788. package/dist/esm/af-text-image-nest.entry.js +5 -4
  789. package/dist/esm/af-text-image-nest.entry.js.map +1 -0
  790. package/dist/esm/af-text-image.entry.js +4 -3
  791. package/dist/esm/af-text-image.entry.js.map +1 -0
  792. package/dist/esm/af-textarea.entry.js +4 -3
  793. package/dist/esm/af-textarea.entry.js.map +1 -0
  794. package/dist/esm/af-theme-override.entry.js +5 -4
  795. package/dist/esm/af-theme-override.entry.js.map +1 -0
  796. package/dist/esm/af-typography-lockup.entry.js +4 -3
  797. package/dist/esm/af-typography-lockup.entry.js.map +1 -0
  798. package/dist/esm/af-video-container.entry.js +5 -4
  799. package/dist/esm/af-video-container.entry.js.map +1 -0
  800. package/dist/esm/af-visually-hidden.entry.js +5 -4
  801. package/dist/esm/af-visually-hidden.entry.js.map +1 -0
  802. package/dist/esm/affinda.js +5 -4
  803. package/dist/esm/affinda.js.map +1 -0
  804. package/dist/esm/{index-CPfAC9fk.js → index-C7nUZsb8.js} +260 -462
  805. package/dist/esm/index-C7nUZsb8.js.map +1 -0
  806. package/dist/esm/index.js +3 -2
  807. package/dist/esm/index.js.map +1 -0
  808. package/dist/esm/loader.js +4 -3
  809. package/dist/esm/loader.js.map +1 -0
  810. package/dist/types/components/af-button/af-button.d.ts +6 -5
  811. package/dist/types/components/af-icon-text/af-icon-text.d.ts +2 -2
  812. package/dist/types/components/af-illustrated-card/af-illustrated-card.d.ts +3 -2
  813. package/dist/types/components/af-image/af-image.d.ts +10 -0
  814. package/dist/types/components/af-in-page-banner/af-in-page-banner.d.ts +10 -0
  815. package/dist/types/components/af-tag/af-tag.d.ts +10 -7
  816. package/dist/types/components/af-testimonial/af-testimonial.d.ts +11 -2
  817. package/dist/types/components.d.ts +223 -541
  818. package/dist/types/stencil-public-runtime.d.ts +6 -110
  819. package/package.json +16 -12
  820. package/dist/affinda/p-020bd9db.entry.js +0 -1
  821. package/dist/affinda/p-04a096ee.entry.js +0 -1
  822. package/dist/affinda/p-08dc48a4.entry.js +0 -1
  823. package/dist/affinda/p-0c408447.entry.js +0 -1
  824. package/dist/affinda/p-1d94a137.entry.js +0 -1
  825. package/dist/affinda/p-1f51e065.entry.js +0 -1
  826. package/dist/affinda/p-21b7ea67.entry.js +0 -1
  827. package/dist/affinda/p-26362b90.entry.js +0 -1
  828. package/dist/affinda/p-29d0a985.entry.js +0 -1
  829. package/dist/affinda/p-29fd5654.entry.js +0 -1
  830. package/dist/affinda/p-2e1df315.entry.js +0 -1
  831. package/dist/affinda/p-39967eba.entry.js +0 -1
  832. package/dist/affinda/p-3b4fb1a5.entry.js +0 -1
  833. package/dist/affinda/p-40456eb5.entry.js +0 -1
  834. package/dist/affinda/p-416836f3.entry.js +0 -1
  835. package/dist/affinda/p-43c24797.entry.js +0 -1
  836. package/dist/affinda/p-45d62b98.entry.js +0 -1
  837. package/dist/affinda/p-470b9a06.entry.js +0 -1
  838. package/dist/affinda/p-4758f89c.entry.js +0 -1
  839. package/dist/affinda/p-4844d749.entry.js +0 -1
  840. package/dist/affinda/p-4c362739.entry.js +0 -1
  841. package/dist/affinda/p-5136a894.entry.js +0 -1
  842. package/dist/affinda/p-5636afa9.entry.js +0 -1
  843. package/dist/affinda/p-6059b95e.entry.js +0 -1
  844. package/dist/affinda/p-60cf2a82.entry.js +0 -1
  845. package/dist/affinda/p-65207722.entry.js +0 -1
  846. package/dist/affinda/p-66dd6356.entry.js +0 -1
  847. package/dist/affinda/p-678cb08c.entry.js +0 -1
  848. package/dist/affinda/p-69cccdef.entry.js +0 -1
  849. package/dist/affinda/p-6d43ed06.entry.js +0 -1
  850. package/dist/affinda/p-6dc635ec.entry.js +0 -1
  851. package/dist/affinda/p-6f5d8680.entry.js +0 -1
  852. package/dist/affinda/p-7bc1ed79.entry.js +0 -1
  853. package/dist/affinda/p-7c4f05a7.entry.js +0 -1
  854. package/dist/affinda/p-81eb85ec.entry.js +0 -1
  855. package/dist/affinda/p-821c1522.entry.js +0 -1
  856. package/dist/affinda/p-8c34efbb.entry.js +0 -1
  857. package/dist/affinda/p-90edefa8.entry.js +0 -1
  858. package/dist/affinda/p-CPfAC9fk.js +0 -2
  859. package/dist/affinda/p-a5179afb.entry.js +0 -1
  860. package/dist/affinda/p-ace3c850.entry.js +0 -1
  861. package/dist/affinda/p-ad71a40c.entry.js +0 -1
  862. package/dist/affinda/p-ae43f07b.entry.js +0 -1
  863. package/dist/affinda/p-aec05709.entry.js +0 -1
  864. package/dist/affinda/p-b0babcae.entry.js +0 -1
  865. package/dist/affinda/p-b435de99.entry.js +0 -1
  866. package/dist/affinda/p-b477c08a.entry.js +0 -1
  867. package/dist/affinda/p-b563bb90.entry.js +0 -1
  868. package/dist/affinda/p-c1cb8ef8.entry.js +0 -1
  869. package/dist/affinda/p-c1df7855.entry.js +0 -1
  870. package/dist/affinda/p-c83e8184.entry.js +0 -1
  871. package/dist/affinda/p-cd138311.entry.js +0 -1
  872. package/dist/affinda/p-cfb90374.entry.js +0 -1
  873. package/dist/affinda/p-d3d9eac1.entry.js +0 -1
  874. package/dist/affinda/p-d3e3653e.entry.js +0 -1
  875. package/dist/affinda/p-da9d1f7d.entry.js +0 -1
  876. package/dist/affinda/p-dce846f2.entry.js +0 -1
  877. package/dist/affinda/p-ddd41c87.entry.js +0 -1
  878. package/dist/affinda/p-e169a37b.entry.js +0 -1
  879. package/dist/affinda/p-e91ef47c.entry.js +0 -1
  880. package/dist/affinda/p-ecab0884.entry.js +0 -1
  881. package/dist/affinda/p-fb01c4e0.entry.js +0 -1
  882. package/dist/components/p--UJ_xE9Z.js +0 -1
  883. package/dist/components/p-0KrQFK77.js +0 -1
  884. package/dist/components/p-B7lJGMfD.js +0 -1
  885. package/dist/components/p-BAJW_4SY.js +0 -1
  886. package/dist/components/p-BCCbAFc1.js +0 -1
  887. package/dist/components/p-BE3eM0xx.js +0 -1
  888. package/dist/components/p-BLzlyxBT.js +0 -1
  889. package/dist/components/p-BMwWkh8F.js +0 -1
  890. package/dist/components/p-BeX5VmwL.js +0 -1
  891. package/dist/components/p-BqUK0ZTO.js +0 -1
  892. package/dist/components/p-BvLGR36l.js +0 -1
  893. package/dist/components/p-C5_nFNYV.js +0 -1
  894. package/dist/components/p-CDCZfKNt.js +0 -1
  895. package/dist/components/p-CQfk7gDb.js +0 -1
  896. package/dist/components/p-CRW9bpXa.js +0 -1
  897. package/dist/components/p-CTFMTG3E.js +0 -1
  898. package/dist/components/p-CVQiSujq.js +0 -1
  899. package/dist/components/p-CYXTWxXF.js +0 -1
  900. package/dist/components/p-C_BrhG1Q.js +0 -1
  901. package/dist/components/p-CwPFdy8d.js +0 -1
  902. package/dist/components/p-DRm58pvc.js +0 -1
  903. package/dist/components/p-DX19jO3u.js +0 -1
  904. package/dist/components/p-Doypq9O5.js +0 -1
  905. package/dist/components/p-DsNqeD3z.js +0 -1
  906. package/dist/components/p-Dx31qPzk.js +0 -1
  907. package/dist/components/p-HhMv1A3-.js +0 -1
  908. package/dist/components/p-oawfHsaK.js +0 -1
  909. package/dist/components/p-sbtSgHjb.js +0 -1
  910. package/dist/components/p-wM1k9Wi7.js +0 -1
@@ -0,0 +1,48 @@
1
+ import { p as proxyCustomElement, H, h, c as Host } from './p-BBpihWJI.js';
2
+
3
+ const afImageCss = ".sc-af-image-h{display:block;width:100%}.image-container.sc-af-image{position:relative;overflow:hidden}.image-container--rounded.sc-af-image{border-radius:var(--radius-md, 12px)}.image-container--rounded-left.sc-af-image{border-top-left-radius:var(--radius-md, 12px);border-bottom-left-radius:var(--radius-md, 12px)}.image-container--rounded-right.sc-af-image{border-top-right-radius:var(--radius-md, 12px);border-bottom-right-radius:var(--radius-md, 12px)}.image-container--square.sc-af-image{border-radius:0}.image.sc-af-image{display:block;width:100%;height:auto;object-fit:cover}.image-border.sc-af-image{position:absolute;inset:0;box-shadow:inset 0 0 0 1px var(--af-background-border-subtle, rgba(0, 0, 0, 0.08));pointer-events:none;border-radius:inherit}";
4
+
5
+ const AfImage = /*@__PURE__*/ proxyCustomElement(class AfImage extends H {
6
+ constructor(registerHost) {
7
+ super();
8
+ if (registerHost !== false) {
9
+ this.__registerHost();
10
+ }
11
+ /**
12
+ * Shape / corner rounding variant. Matches Webflow's `.image-fill.rounded-*`
13
+ * patterns where only one edge is rounded so the image bleeds into a
14
+ * neighbouring section.
15
+ * - `rounded` (default) — symmetric rounded corners on all four sides.
16
+ * - `rounded-left` — rounded only on the left edge (top-left + bottom-left).
17
+ * - `rounded-right` — rounded only on the right edge.
18
+ * - `square` — no corner rounding.
19
+ */
20
+ this.shape = 'rounded';
21
+ }
22
+ render() {
23
+ return (h(Host, { key: 'c1d2a3fa4d205e24e5c55e9c84e8ff5b3150a161' }, h("div", { key: '5c77f95ebdfd2792ebfb55accc4ec0ea9da5953a', class: `image-container image-container--${this.shape}` }, h("img", { key: '1c9694ebb590d141e46267bb3217eda2400c5b23', src: this.src, alt: this.alt, class: "image" }), h("div", { key: '2505652d87a23db29d54705b93978f44794837b9', class: "image-border", "aria-hidden": "true" }))));
24
+ }
25
+ static get style() { return afImageCss; }
26
+ }, [258, "af-image", {
27
+ "src": [1],
28
+ "alt": [1],
29
+ "shape": [1]
30
+ }]);
31
+ function defineCustomElement() {
32
+ if (typeof customElements === "undefined") {
33
+ return;
34
+ }
35
+ const components = ["af-image"];
36
+ components.forEach(tagName => { switch (tagName) {
37
+ case "af-image":
38
+ if (!customElements.get(tagName)) {
39
+ customElements.define(tagName, AfImage);
40
+ }
41
+ break;
42
+ } });
43
+ }
44
+
45
+ export { AfImage as A, defineCustomElement as d };
46
+ //# sourceMappingURL=p-CVYQKqKI.js.map
47
+
48
+ //# sourceMappingURL=p-CVYQKqKI.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-CVYQKqKI.js","mappings":";;AAAA,MAAM,UAAU,GAAG,0vBAA0vB;;MCYhwB,OAAO,iBAAAA,kBAAA,CAAA,MAAA,OAAA,SAAAC,CAAA,CAAA;AANpB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;AAiBE;;;;;;;;AAQG;AACK,QAAA,IAAK,CAAA,KAAA,GAA4D,SAAS;AAYnF;IAVC,MAAM,GAAA;AACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,CAAA,iCAAA,EAAoC,IAAI,CAAC,KAAK,CAAE,CAAA,EAAA,EAC1D,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAC,OAAO,EAAG,CAAA,EACnD,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,cAAc,EAAA,aAAA,EAAa,MAAM,EAAO,CAAA,CAC/C,CACD;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-image/af-image.css?tag=af-image&encapsulation=scoped","src/components/af-image/af-image.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n.image-container {\n position: relative;\n overflow: hidden;\n}\n\n/* Shape variants — matches Webflow's rounded-edge image treatments */\n.image-container--rounded {\n border-radius: var(--radius-md, 12px);\n}\n\n.image-container--rounded-left {\n border-top-left-radius: var(--radius-md, 12px);\n border-bottom-left-radius: var(--radius-md, 12px);\n}\n\n.image-container--rounded-right {\n border-top-right-radius: var(--radius-md, 12px);\n border-bottom-right-radius: var(--radius-md, 12px);\n}\n\n.image-container--square {\n border-radius: 0;\n}\n\n.image {\n display: block;\n width: 100%;\n height: auto;\n object-fit: cover;\n}\n\n/* Inset border overlay — inherits the host's border radius via parent clip */\n.image-border {\n position: absolute;\n inset: 0;\n box-shadow: inset 0 0 0 1px var(--af-background-border-subtle, rgba(0, 0, 0, 0.08));\n pointer-events: none;\n border-radius: inherit;\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * A styled image container with rounded corners and a subtle inset border.\n * Provides consistent image styling across the design system.\n */\n@Component({\n tag: 'af-image',\n styleUrl: 'af-image.css',\n shadow: false,\n scoped: true\n})\nexport class AfImage {\n /**\n * The image source URL\n */\n @Prop() src!: string;\n\n /**\n * Alternative text for the image (required for accessibility)\n */\n @Prop() alt!: string;\n\n /**\n * Shape / corner rounding variant. Matches Webflow's `.image-fill.rounded-*`\n * patterns where only one edge is rounded so the image bleeds into a\n * neighbouring section.\n * - `rounded` (default) — symmetric rounded corners on all four sides.\n * - `rounded-left` — rounded only on the left edge (top-left + bottom-left).\n * - `rounded-right` — rounded only on the right edge.\n * - `square` — no corner rounding.\n */\n @Prop() shape: 'rounded' | 'rounded-left' | 'rounded-right' | 'square' = 'rounded';\n\n render() {\n return (\n <Host>\n <div class={`image-container image-container--${this.shape}`}>\n <img src={this.src} alt={this.alt} class=\"image\" />\n <div class=\"image-border\" aria-hidden=\"true\"></div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,89 @@
1
+ import { p as proxyCustomElement, H, d as createEvent, h, c as Host } from './p-BBpihWJI.js';
2
+
3
+ const afTabCss = ":host{display:inline-flex;flex-shrink:0}.tab{display:inline-flex;align-items:center;justify-content:center;gap:0;border:none;background:transparent;cursor:pointer;font-family:var(--typography-headingfont, 'NeuSans', Arial, sans-serif);font-weight:var(--font-weight-book, 500);font-size:var(--font-size-label-button, 17px);line-height:var(--line-height-label-button, 20px);text-align:center;transition:color 0.15s ease,\n background-color 0.15s ease,\n border-color 0.15s ease,\n box-shadow 0.15s ease}.tab:focus{outline:none}.tab:focus-visible{outline:none;box-shadow:0 0 0 4px var(--af-background-base, #ffffff),\n 0 0 0 5px var(--af-background-border-active, #8a7049)}.icon-slot,.number-slot{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.icon-slot{width:24px;height:24px}.number-slot{width:24px;height:24px}.label{display:inline-flex;align-items:center;justify-content:center;height:24px;padding:0 var(--space-3, 12px)}.tab.shape-square{padding:var(--space-3, 12px);border-radius:0;overflow:hidden;border-bottom:3px solid transparent}.tab.shape-square:not(.active):not(.disabled){color:var(--af-typography-body-default, #2b484f);border-bottom-color:var(--af-background-border-subtle, #e8eeed)}.tab.shape-square:not(.active):not(.disabled):hover{color:var(--af-typography-body-dark, #14343b);border-bottom-color:var(--af-background-border-default, #d1ddda)}.tab.shape-square.active{color:var(--af-typography-body-dark, #14343b);border-bottom-color:var(--af-background-border-active, #8a7049)}.tab.shape-square.disabled{color:var(--af-typography-body-subtle, #60767b);border-bottom-color:transparent;cursor:not-allowed;opacity:0.6}.tab.shape-square:not(.active):not(.disabled) .icon-slot{color:var(--af-typography-body-default, #2b484f)}.tab.shape-square:not(.active):not(.disabled):hover .icon-slot{color:var(--af-typography-body-dark, #14343b)}.tab.shape-square.active .icon-slot{color:var(--af-typography-body-dark, #14343b)}.tab.shape-pill{padding:var(--space-3, 12px) var(--space-4, 16px);border-radius:var(--radius-pill, 999px);overflow:hidden}.tab.shape-pill:not(.active):not(.disabled){color:var(--af-typography-body-default, #2b484f);background-color:transparent}.tab.shape-pill:not(.active):not(.disabled):hover{color:var(--af-typography-body-dark, #14343b);background-color:var(--af-background-level-1-hover, #dde6e3)}.tab.shape-pill.active{color:var(--af-typography-body-dark, #14343b);background-color:var(--af-background-base, #ffffff);box-shadow:0px 2px 8px 0px rgba(0, 0, 0, 0.08)}.tab.shape-pill.disabled{color:var(--af-typography-body-subtle, #60767b);background-color:transparent;cursor:not-allowed;opacity:0.6}.tab.shape-pill:not(.active):not(.disabled) .icon-slot{color:var(--af-typography-body-default, #2b484f)}.tab.shape-pill:not(.active):not(.disabled):hover .icon-slot{color:var(--af-typography-body-dark, #14343b)}.tab.shape-pill.active .icon-slot{color:var(--af-typography-body-dark, #14343b)}:host([data-breakpoint=\"desktop\"]) .tab.shape-square{padding:var(--space-6, 24px) var(--space-5, 20px);border-bottom-width:4px}:host([data-breakpoint=\"desktop\"]) .tab.shape-pill{padding:var(--space-3, 12px) var(--space-4, 16px)}";
4
+
5
+ const AfTab = /*@__PURE__*/ proxyCustomElement(class AfTab extends H {
6
+ constructor(registerHost) {
7
+ super();
8
+ if (registerHost !== false) {
9
+ this.__registerHost();
10
+ }
11
+ this.__attachShadow();
12
+ this.afTabClick = createEvent(this, "afTabClick");
13
+ /**
14
+ * The text label for the tab
15
+ */
16
+ this.label = '';
17
+ /**
18
+ * Whether the tab is currently active/selected
19
+ */
20
+ this.active = false;
21
+ /**
22
+ * Whether the tab is disabled
23
+ */
24
+ this.disabled = false;
25
+ /**
26
+ * Visual shape variant
27
+ * - `square` - Rectangular tab with bottom border indicator
28
+ * - `pill` - Rounded pill shape with background for active state
29
+ */
30
+ this.shape = 'square';
31
+ /**
32
+ * Whether to show the icon slot
33
+ */
34
+ this.displayIcon = false;
35
+ /**
36
+ * Whether to show the number badge slot
37
+ */
38
+ this.displayNumber = false;
39
+ this.handleClick = () => {
40
+ if (this.disabled)
41
+ return;
42
+ this.afTabClick.emit({ value: this.value });
43
+ };
44
+ this.handleKeyDown = (event) => {
45
+ if (this.disabled)
46
+ return;
47
+ if (event.key === 'Enter' || event.key === ' ') {
48
+ event.preventDefault();
49
+ this.afTabClick.emit({ value: this.value });
50
+ }
51
+ };
52
+ }
53
+ render() {
54
+ const tabClasses = {
55
+ 'tab': true,
56
+ 'active': this.active,
57
+ 'disabled': this.disabled,
58
+ [`shape-${this.shape}`]: true,
59
+ };
60
+ return (h(Host, { key: '1f07a8b192e123bb4d053ef6910f45431ba2915a' }, h("button", { key: '6e56a2ca19222220a77096948fee53a4a88ffd54', class: tabClasses, role: "tab", "aria-selected": this.active ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : undefined, tabindex: this.disabled ? -1 : 0, onClick: this.handleClick, onKeyDown: this.handleKeyDown, disabled: this.disabled }, this.displayNumber && (h("span", { key: 'df9f4233d6ce7dd8ca4f9e65dc139bb878af294d', class: "number-slot" }, h("slot", { key: 'e41b64a2c9252a9f267a71e629ef5e2fe95e154c', name: "number" }))), this.displayIcon && (h("span", { key: '9df655a8da71ea036c0717fa56f5fdcdb5973945', class: "icon-slot" }, h("slot", { key: '5e7dda8a613a9829a5e9dff107152d436f56902e', name: "icon" }))), h("span", { key: 'c516e04e5acc82910c7f94e31e326fdeb9de3fe7', class: "label" }, this.label))));
61
+ }
62
+ static get style() { return afTabCss; }
63
+ }, [257, "af-tab", {
64
+ "label": [1],
65
+ "active": [516],
66
+ "disabled": [516],
67
+ "shape": [513],
68
+ "displayIcon": [4, "display-icon"],
69
+ "displayNumber": [4, "display-number"],
70
+ "value": [1]
71
+ }]);
72
+ function defineCustomElement() {
73
+ if (typeof customElements === "undefined") {
74
+ return;
75
+ }
76
+ const components = ["af-tab"];
77
+ components.forEach(tagName => { switch (tagName) {
78
+ case "af-tab":
79
+ if (!customElements.get(tagName)) {
80
+ customElements.define(tagName, AfTab);
81
+ }
82
+ break;
83
+ } });
84
+ }
85
+
86
+ export { AfTab as A, defineCustomElement as d };
87
+ //# sourceMappingURL=p-CkYQbs2f.js.map
88
+
89
+ //# sourceMappingURL=p-CkYQbs2f.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-CkYQbs2f.js","mappings":";;AAAA,MAAM,QAAQ,GAAG,8nGAA8nG;;MC2BloG,KAAK,iBAAAA,kBAAA,CAAA,MAAA,KAAA,SAAAC,CAAA,CAAA;AALlB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;;AAME;;AAEG;AACK,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE;AAE1B;;AAEG;AACsB,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK;AAEhD;;AAEG;AACsB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAElD;;;;AAIG;AACsB,QAAA,IAAK,CAAA,KAAA,GAAa,QAAQ;AAEnD;;AAEG;AACK,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK;AAEpC;;AAEG;AACK,QAAA,IAAa,CAAA,aAAA,GAAY,KAAK;AAY9B,QAAA,IAAW,CAAA,WAAA,GAAG,MAAK;YACzB,IAAI,IAAI,CAAC,QAAQ;gBAAE;AACnB,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;AAC7C,SAAC;AAEO,QAAA,IAAA,CAAA,aAAa,GAAG,CAAC,KAAoB,KAAI;YAC/C,IAAI,IAAI,CAAC,QAAQ;gBAAE;AACnB,YAAA,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE;gBAC9C,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;;AAE/C,SAAC;AAqCF;IAnCC,MAAM,GAAA;AACJ,QAAA,MAAM,UAAU,GAAG;AACjB,YAAA,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,IAAI,CAAC,MAAM;YACrB,UAAU,EAAE,IAAI,CAAC,QAAQ;AACzB,YAAA,CAAC,SAAS,IAAI,CAAC,KAAK,CAAE,CAAA,GAAG,IAAI;SAC9B;AAED,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE,UAAU,EACjB,IAAI,EAAC,KAAK,EAAA,eAAA,EACK,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,EAAA,eAAA,EAC9B,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,SAAS,EACjD,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,CAAC,EAChC,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAA,EAEtB,IAAI,CAAC,aAAa,KACjB,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,aAAa,EAAA,EACvB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,QAAQ,EAAA,CAAG,CACjB,CACR,EACA,IAAI,CAAC,WAAW,KACf,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,WAAW,EAAA,EACrB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,MAAM,EAAA,CAAG,CACf,CACR,EACD,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,OAAO,EAAE,EAAA,IAAI,CAAC,KAAK,CAAQ,CAChC,CACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-tab/af-tab.css?tag=af-tab&encapsulation=shadow","src/components/af-tab/af-tab.tsx"],"sourcesContent":["/* Tab component styles */\n:host {\n display: inline-flex;\n flex-shrink: 0;\n}\n\n.tab {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0;\n border: none;\n background: transparent;\n cursor: pointer;\n font-family: var(--typography-headingfont, 'NeuSans', Arial, sans-serif);\n font-weight: var(--font-weight-book, 500);\n font-size: var(--font-size-label-button, 17px);\n line-height: var(--line-height-label-button, 20px);\n text-align: center;\n transition: \n color 0.15s ease,\n background-color 0.15s ease,\n border-color 0.15s ease,\n box-shadow 0.15s ease;\n}\n\n.tab:focus {\n outline: none;\n}\n\n.tab:focus-visible {\n outline: none;\n box-shadow: \n 0 0 0 4px var(--af-background-base, #ffffff),\n 0 0 0 5px var(--af-background-border-active, #8a7049);\n}\n\n/* ==========================================================================\n SLOTS\n ========================================================================== */\n\n.icon-slot,\n.number-slot {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.icon-slot {\n width: 24px;\n height: 24px;\n}\n\n.number-slot {\n width: 24px;\n height: 24px;\n}\n\n.label {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n padding: 0 var(--space-3, 12px);\n}\n\n/* ==========================================================================\n SHAPE: SQUARE\n ========================================================================== */\n\n.tab.shape-square {\n padding: var(--space-3, 12px);\n border-radius: 0;\n overflow: hidden;\n border-bottom: 3px solid transparent;\n}\n\n/* Square - Default state */\n.tab.shape-square:not(.active):not(.disabled) {\n color: var(--af-typography-body-default, #2b484f);\n border-bottom-color: var(--af-background-border-subtle, #e8eeed);\n}\n\n/* Square - Hover state */\n.tab.shape-square:not(.active):not(.disabled):hover {\n color: var(--af-typography-body-dark, #14343b);\n border-bottom-color: var(--af-background-border-default, #d1ddda);\n}\n\n/* Square - Active state */\n.tab.shape-square.active {\n color: var(--af-typography-body-dark, #14343b);\n border-bottom-color: var(--af-background-border-active, #8a7049);\n}\n\n/* Square - Disabled state */\n.tab.shape-square.disabled {\n color: var(--af-typography-body-subtle, #60767b);\n border-bottom-color: transparent;\n cursor: not-allowed;\n opacity: 0.6;\n}\n\n/* Square - Icon colors */\n.tab.shape-square:not(.active):not(.disabled) .icon-slot {\n color: var(--af-typography-body-default, #2b484f);\n}\n\n.tab.shape-square:not(.active):not(.disabled):hover .icon-slot {\n color: var(--af-typography-body-dark, #14343b);\n}\n\n.tab.shape-square.active .icon-slot {\n color: var(--af-typography-body-dark, #14343b);\n}\n\n/* ==========================================================================\n SHAPE: PILL\n ========================================================================== */\n\n.tab.shape-pill {\n padding: var(--space-3, 12px) var(--space-4, 16px);\n border-radius: var(--radius-pill, 999px);\n overflow: hidden;\n}\n\n/* Pill - Default state */\n.tab.shape-pill:not(.active):not(.disabled) {\n color: var(--af-typography-body-default, #2b484f);\n background-color: transparent;\n}\n\n/* Pill - Hover state */\n.tab.shape-pill:not(.active):not(.disabled):hover {\n color: var(--af-typography-body-dark, #14343b);\n background-color: var(--af-background-level-1-hover, #dde6e3);\n}\n\n/* Pill - Active state */\n.tab.shape-pill.active {\n color: var(--af-typography-body-dark, #14343b);\n background-color: var(--af-background-base, #ffffff);\n box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.08);\n}\n\n/* Pill - Disabled state */\n.tab.shape-pill.disabled {\n color: var(--af-typography-body-subtle, #60767b);\n background-color: transparent;\n cursor: not-allowed;\n opacity: 0.6;\n}\n\n/* Pill - Icon colors */\n.tab.shape-pill:not(.active):not(.disabled) .icon-slot {\n color: var(--af-typography-body-default, #2b484f);\n}\n\n.tab.shape-pill:not(.active):not(.disabled):hover .icon-slot {\n color: var(--af-typography-body-dark, #14343b);\n}\n\n.tab.shape-pill.active .icon-slot {\n color: var(--af-typography-body-dark, #14343b);\n}\n\n/* ==========================================================================\n DESKTOP BREAKPOINT ADJUSTMENTS\n Tabs in desktop mode get larger padding via the tab-bar parent\n These are applied via CSS custom properties set by af-tab-bar\n ========================================================================== */\n\n:host([data-breakpoint=\"desktop\"]) .tab.shape-square {\n padding: var(--space-6, 24px) var(--space-5, 20px);\n border-bottom-width: 4px;\n}\n\n:host([data-breakpoint=\"desktop\"]) .tab.shape-pill {\n padding: var(--space-3, 12px) var(--space-4, 16px);\n}\n\n","import { Component, h, Prop, Host, Event, EventEmitter } from '@stencil/core';\n\nexport type TabShape = 'square' | 'pill';\n\n/**\n * Tab component for use within a TabBar.\n * Represents an individual selectable tab with support for icons and number badges.\n * \n * @slot icon - Optional icon to display before the label\n * @slot number - Optional number badge to display\n * \n * @example\n * ```html\n * <af-tab label=\"Overview\" active></af-tab>\n * <af-tab label=\"Details\">\n * <af-icon slot=\"icon\" name=\"document\"></af-icon>\n * </af-tab>\n * <af-tab label=\"Step 1\">\n * <af-number-badge slot=\"number\" number=\"1\"></af-number-badge>\n * </af-tab>\n * ```\n */\n@Component({\n tag: 'af-tab',\n styleUrl: 'af-tab.css',\n shadow: true\n})\nexport class AfTab {\n /**\n * The text label for the tab\n */\n @Prop() label: string = '';\n\n /**\n * Whether the tab is currently active/selected\n */\n @Prop({ reflect: true }) active: boolean = false;\n\n /**\n * Whether the tab is disabled\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Visual shape variant\n * - `square` - Rectangular tab with bottom border indicator\n * - `pill` - Rounded pill shape with background for active state\n */\n @Prop({ reflect: true }) shape: TabShape = 'square';\n\n /**\n * Whether to show the icon slot\n */\n @Prop() displayIcon: boolean = false;\n\n /**\n * Whether to show the number badge slot\n */\n @Prop() displayNumber: boolean = false;\n\n /**\n * Unique value for the tab, used for programmatic selection\n */\n @Prop() value?: string;\n\n /**\n * Emitted when the tab is clicked\n */\n @Event() afTabClick!: EventEmitter<{ value?: string }>;\n\n private handleClick = () => {\n if (this.disabled) return;\n this.afTabClick.emit({ value: this.value });\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (this.disabled) return;\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.afTabClick.emit({ value: this.value });\n }\n };\n\n render() {\n const tabClasses = {\n 'tab': true,\n 'active': this.active,\n 'disabled': this.disabled,\n [`shape-${this.shape}`]: true,\n };\n\n return (\n <Host>\n <button\n class={tabClasses}\n role=\"tab\"\n aria-selected={this.active ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : undefined}\n tabindex={this.disabled ? -1 : 0}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n disabled={this.disabled}\n >\n {this.displayNumber && (\n <span class=\"number-slot\">\n <slot name=\"number\" />\n </span>\n )}\n {this.displayIcon && (\n <span class=\"icon-slot\">\n <slot name=\"icon\" />\n </span>\n )}\n <span class=\"label\">{this.label}</span>\n </button>\n </Host>\n );\n }\n}\n\n"],"version":3}
@@ -0,0 +1,57 @@
1
+ import { p as proxyCustomElement, H, h, c as Host } from './p-BBpihWJI.js';
2
+
3
+ const afTagCss = ":host{display:inline-flex;flex-shrink:0}.tag{display:inline-flex;align-items:center;overflow:hidden;border-radius:4px;font-family:var(--typography-headingfont, 'NeuSans', Arial, sans-serif);font-weight:var(--font-weight-book, 500);line-height:1;text-decoration:none;transition:background-color 0.15s ease, box-shadow 0.15s ease;cursor:default}a.tag{cursor:pointer}.tag.variant-default{background-color:var(--af-tag-bg, var(--colour-brand-soft-clay, #b09670));color:var(--af-tag-text, var(--colour-brand-inkwell, #14343b))}.tag.variant-default:hover{background-color:var(--af-tag-bg-hover, var(--colour-tints-soft-clay-400, #c0ab8d))}.tag.variant-inkwell{background-color:var(--colour-brand-inkwell, #14343b);color:var(--colour-brand-white, #ffffff)}.tag.variant-inkwell:hover{background-color:var(--colour-tints-inkwell-500, #1e4a48)}.tag.variant-white{background-color:var(--colour-brand-white, #ffffff);color:var(--colour-brand-inkwell, #14343b)}.tag.variant-white:hover{background-color:var(--colour-tints-mist-green-100, #e1eee1)}.tag.variant-soft-clay{background-color:var(--colour-brand-soft-clay, #b09670);color:var(--colour-brand-inkwell, #14343b)}.tag.variant-soft-clay:hover{background-color:var(--colour-tints-soft-clay-400, #c0ab8d)}.tag.variant-mist-green{background-color:var(--colour-brand-mist-green, #c6d5d1);color:var(--colour-brand-inkwell, #14343b)}.tag.variant-mist-green:hover{background-color:var(--colour-tints-mist-green-200, #d2e8e3)}.tag.size-x-small{padding:6px 10px;font-size:var(--font-size-label-tag, 14px)}.tag.size-small{padding:8px 12px;font-size:var(--font-size-label-tag, 14px)}.tag.size-large{padding:12px 16px;font-size:var(--font-size-body-large, 18px)}.tag:focus{outline:none;box-shadow:0 0 0 4px var(--af-background-base, var(--colour-background-white, #ffffff)),\n 0 0 0 5px var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b))}.tag:focus-visible{outline:none;box-shadow:0 0 0 4px var(--af-background-base, var(--colour-background-white, #ffffff)),\n 0 0 0 5px var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b))}";
4
+
5
+ const AfTag = /*@__PURE__*/ proxyCustomElement(class AfTag extends H {
6
+ constructor(registerHost) {
7
+ super();
8
+ if (registerHost !== false) {
9
+ this.__registerHost();
10
+ }
11
+ this.__attachShadow();
12
+ /**
13
+ * The size of the tag
14
+ * - `x-small` - Compact tag with minimal padding
15
+ * - `small` - Small tag with moderate padding (default)
16
+ * - `large` - Large tag with generous padding
17
+ */
18
+ this.size = 'small';
19
+ /**
20
+ * Visual variant of the tag. `default` inherits tag colors from the
21
+ * parent theme context. Theme-named variants force a specific palette.
22
+ */
23
+ this.variant = 'default';
24
+ }
25
+ render() {
26
+ const TagElement = this.href ? 'a' : 'span';
27
+ const linkProps = this.href ? { href: this.href } : {};
28
+ return (h(Host, { key: '389b869350a0ead31639016403b8bbd86c8be12f' }, h(TagElement, { key: '7be8b372a4c391ae3e426827cf425274dfe3dc44', class: {
29
+ 'tag': true,
30
+ [`size-${this.size}`]: true,
31
+ [`variant-${this.variant}`]: true,
32
+ }, ...linkProps }, h("slot", { key: 'cf622bef7dca7e64215e0e778f3893097e9e30d0' }))));
33
+ }
34
+ static get style() { return afTagCss; }
35
+ }, [257, "af-tag", {
36
+ "size": [1],
37
+ "variant": [1],
38
+ "href": [1]
39
+ }]);
40
+ function defineCustomElement() {
41
+ if (typeof customElements === "undefined") {
42
+ return;
43
+ }
44
+ const components = ["af-tag"];
45
+ components.forEach(tagName => { switch (tagName) {
46
+ case "af-tag":
47
+ if (!customElements.get(tagName)) {
48
+ customElements.define(tagName, AfTag);
49
+ }
50
+ break;
51
+ } });
52
+ }
53
+
54
+ export { AfTag as A, defineCustomElement as d };
55
+ //# sourceMappingURL=p-CrftZP-C.js.map
56
+
57
+ //# sourceMappingURL=p-CrftZP-C.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-CrftZP-C.js","mappings":";;AAAA,MAAM,QAAQ,GAAG,sjEAAsjE;;MCyB1jE,KAAK,iBAAAA,kBAAA,CAAA,MAAA,KAAA,SAAAC,CAAA,CAAA;AALlB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAME;;;;;AAKG;AACK,QAAA,IAAI,CAAA,IAAA,GAAY,OAAO;AAE/B;;;AAGG;AACK,QAAA,IAAO,CAAA,OAAA,GAAe,SAAS;AA0BxC;IAnBC,MAAM,GAAA;AACJ,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,MAAM;AAC3C,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;QAEtD,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAC,CAAA,UAAU,EACT,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE;AACL,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;AAC3B,gBAAA,CAAC,WAAW,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,IAAI;AAClC,aAAA,EAAA,GACG,SAAS,EAAA,EAEb,CAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACG,CACR;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-tag/af-tag.css?tag=af-tag&encapsulation=shadow","src/components/af-tag/af-tag.tsx"],"sourcesContent":["/* Tag component styles */\n:host {\n display: inline-flex;\n flex-shrink: 0;\n}\n\n.tag {\n display: inline-flex;\n align-items: center;\n overflow: hidden;\n border-radius: 4px;\n font-family: var(--typography-headingfont, 'NeuSans', Arial, sans-serif);\n font-weight: var(--font-weight-book, 500);\n line-height: 1;\n text-decoration: none;\n transition: background-color 0.15s ease, box-shadow 0.15s ease;\n cursor: default;\n}\n\na.tag {\n cursor: pointer;\n}\n\n/* ==========================================================================\n VARIANT: DEFAULT (inherits from parent theme context)\n ========================================================================== */\n\n.tag.variant-default {\n background-color: var(--af-tag-bg, var(--colour-brand-soft-clay, #b09670));\n color: var(--af-tag-text, var(--colour-brand-inkwell, #14343b));\n}\n\n.tag.variant-default:hover {\n background-color: var(--af-tag-bg-hover, var(--colour-tints-soft-clay-400, #c0ab8d));\n}\n\n/* ==========================================================================\n EXPLICIT THEME VARIANTS\n ========================================================================== */\n\n.tag.variant-inkwell {\n background-color: var(--colour-brand-inkwell, #14343b);\n color: var(--colour-brand-white, #ffffff);\n}\n\n.tag.variant-inkwell:hover {\n background-color: var(--colour-tints-inkwell-500, #1e4a48);\n}\n\n.tag.variant-white {\n background-color: var(--colour-brand-white, #ffffff);\n color: var(--colour-brand-inkwell, #14343b);\n}\n\n.tag.variant-white:hover {\n background-color: var(--colour-tints-mist-green-100, #e1eee1);\n}\n\n.tag.variant-soft-clay {\n background-color: var(--colour-brand-soft-clay, #b09670);\n color: var(--colour-brand-inkwell, #14343b);\n}\n\n.tag.variant-soft-clay:hover {\n background-color: var(--colour-tints-soft-clay-400, #c0ab8d);\n}\n\n.tag.variant-mist-green {\n background-color: var(--colour-brand-mist-green, #c6d5d1);\n color: var(--colour-brand-inkwell, #14343b);\n}\n\n.tag.variant-mist-green:hover {\n background-color: var(--colour-tints-mist-green-200, #d2e8e3);\n}\n\n/* ==========================================================================\n SIZES\n ========================================================================== */\n\n.tag.size-x-small {\n padding: 6px 10px;\n font-size: var(--font-size-label-tag, 14px);\n}\n\n.tag.size-small {\n padding: 8px 12px;\n font-size: var(--font-size-label-tag, 14px);\n}\n\n.tag.size-large {\n padding: 12px 16px;\n font-size: var(--font-size-body-large, 18px);\n}\n\n/* ==========================================================================\n FOCUS STATES\n ========================================================================== */\n\n.tag:focus {\n outline: none;\n box-shadow:\n 0 0 0 4px var(--af-background-base, var(--colour-background-white, #ffffff)),\n 0 0 0 5px var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b));\n}\n\n.tag:focus-visible {\n outline: none;\n box-shadow:\n 0 0 0 4px var(--af-background-base, var(--colour-background-white, #ffffff)),\n 0 0 0 5px var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b));\n}\n","import { Component, h, Prop, Host } from '@stencil/core';\n\nexport type TagSize = 'x-small' | 'small' | 'large';\nexport type TagVariant = 'default' | 'inkwell' | 'white' | 'soft-clay' | 'mist-green';\n\n/**\n * Tag displays a label in a styled container.\n * Perfect for categorization, topics, or metadata display.\n *\n * The `default` variant inherits its colors from the parent theme context\n * (af-section, af-card). Use explicit variants (`inkwell`, `white`,\n * `soft-clay`, `mist-green`) to override.\n *\n * @example\n * ```html\n * <af-tag>AI</af-tag>\n * <af-tag size=\"small\" variant=\"inkwell\">Machine Learning</af-tag>\n * <af-tag size=\"large\" variant=\"white\">Document Processing</af-tag>\n * ```\n */\n@Component({\n tag: 'af-tag',\n styleUrl: 'af-tag.css',\n shadow: true\n})\nexport class AfTag {\n /**\n * The size of the tag\n * - `x-small` - Compact tag with minimal padding\n * - `small` - Small tag with moderate padding (default)\n * - `large` - Large tag with generous padding\n */\n @Prop() size: TagSize = 'small';\n\n /**\n * Visual variant of the tag. `default` inherits tag colors from the\n * parent theme context. Theme-named variants force a specific palette.\n */\n @Prop() variant: TagVariant = 'default';\n\n /**\n * The URL to navigate to when the tag is clicked (makes the tag a link)\n */\n @Prop() href?: string;\n\n render() {\n const TagElement = this.href ? 'a' : 'span';\n const linkProps = this.href ? { href: this.href } : {};\n\n return (\n <Host>\n <TagElement\n class={{\n 'tag': true,\n [`size-${this.size}`]: true,\n [`variant-${this.variant}`]: true,\n }}\n {...linkProps}\n >\n <slot />\n </TagElement>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,92 @@
1
+ import { p as proxyCustomElement, H, h, c as Host } from './p-BBpihWJI.js';
2
+
3
+ const afButtonCss = ":host{display:inline-block}:host([variant=\"primary\"]){color:var(--af-button-primary-icon, var(--colour-brand-inkwell, #14343B))}:host([variant=\"secondary\"]){color:var(--af-button-secondary-icon, var(--af-typography-body-dark, var(--colour-brand-inkwell, #14343B)))}:host([variant=\"ghost\"]){color:var(--af-button-ghost-icon, var(--colour-brand-inkwell, #14343B))}:host([full-width]),:host(.full-width){display:block;width:100%}:host([full-width]) .button,:host(.full-width) .button{width:100%}.button{display:inline-flex;align-items:center;justify-content:center;gap:0;border-radius:9999px;font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-weight:500;text-decoration:none;cursor:pointer;transition:all 0.2s ease;border:1px solid transparent;box-sizing:border-box;white-space:nowrap;width:var(--af-button-width, auto)}.size-default{padding:12px 24px;font-size:17px;line-height:20px}.size-thin{padding:8px 16px;font-size:14px;line-height:16px}.icon-left,.icon-right{display:none;align-items:center;justify-content:center;flex-shrink:0}.icon-left.has-content,.icon-right.has-content{display:flex}.size-default .icon-left,.size-default .icon-right{width:24px;height:24px}.size-thin .icon-left,.size-thin .icon-right{width:20px;height:20px}.size-default .icon-left.has-content{margin-right:12px}.size-default .icon-right.has-content{margin-left:12px}.size-thin .icon-left.has-content{margin-right:8px}.size-thin .icon-right.has-content{margin-left:8px}.label{flex:0 1 auto;display:flex;align-items:center;justify-content:center}.size-default .label{height:24px}.size-thin .label{height:20px}.variant-primary{background:var(--af-button-primary-bg, var(--colour-brand-ice, #a6fffb));border-color:var(--af-button-primary-stroke, var(--colour-brand-inkwell, #14343b));color:var(--af-button-primary-text, var(--colour-brand-inkwell, #14343b))}.variant-primary .icon-left,.variant-primary .icon-right{color:var(--af-button-primary-icon, var(--colour-brand-inkwell, #14343b))}.variant-primary:hover:not(.disabled){background:var(--af-button-primary-bg-hover, #95E6E2);border-color:var(--af-button-primary-stroke, #14343B)}.variant-primary:focus:not(.disabled),.variant-primary:focus-visible:not(.disabled){background:var(--af-button-primary-bg, #A6FFFB);border-color:var(--af-button-primary-stroke, #14343B);box-shadow:0 0 0 4px var(--af-background-base, #FFF), 0 0 0 5px var(--af-button-primary-stroke, #14343B);outline:none}.variant-primary:active:not(.disabled){background:var(--af-button-primary-bg-hover, #95E6E2)}.variant-secondary{background:var(--af-button-secondary-bg, transparent);border-color:var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b));color:var(--af-button-secondary-text, var(--colour-brand-inkwell, #14343b))}.variant-secondary .icon-left,.variant-secondary .icon-right{color:var(--af-button-secondary-icon, var(--colour-brand-inkwell, #14343b))}.variant-secondary:hover:not(.disabled){background:var(--af-button-secondary-bg-hover, rgba(128, 128, 128, 0.1));border-color:var(--af-button-secondary-stroke, currentColor)}.variant-secondary:focus:not(.disabled),.variant-secondary:focus-visible:not(.disabled){background:var(--af-background-base, #FFF);border-color:var(--af-button-secondary-stroke, currentColor);box-shadow:0 0 0 4px var(--af-background-base, #FFF), 0 0 0 5px var(--af-button-secondary-stroke, currentColor);outline:none}.variant-secondary:active:not(.disabled){background:var(--af-button-secondary-bg-hover, rgba(128, 128, 128, 0.1))}.variant-ghost{background:transparent;border-color:transparent;border-radius:0;color:var(--af-button-ghost-text, var(--colour-brand-inkwell, #14343b));padding-left:0;padding-right:0}.variant-ghost .label{border-bottom:2px solid var(--af-button-ghost-stroke, var(--colour-brand-soft-clay, #B09670))}.variant-ghost .icon-left,.variant-ghost .icon-right{color:var(--af-button-ghost-icon, var(--colour-brand-inkwell, #14343b))}.variant-ghost:hover:not(.disabled){opacity:0.8}.variant-ghost:focus:not(.disabled),.variant-ghost:focus-visible:not(.disabled){outline:none}.variant-ghost:focus-visible:not(.disabled) .label{box-shadow:0 4px 0 0 var(--af-button-ghost-stroke, var(--colour-brand-soft-clay, #B09670))}.variant-ghost:active:not(.disabled){opacity:0.6}.disabled{cursor:not-allowed;pointer-events:none}.variant-primary.disabled{border:1px solid var(--af-button-primary-stroke, #14343B);background:var(--af-button-primary-bg, #A6FFFB);opacity:0.6}.variant-secondary.disabled{border:1px solid var(--af-button-secondary-stroke, currentColor);opacity:0.6}.variant-ghost.disabled{opacity:0.6}button.button{font:inherit;cursor:pointer}button.button.variant-primary{background:var(--af-button-primary-bg, var(--colour-brand-ice, #a6fffb));border:1px solid var(--af-button-primary-stroke, var(--colour-brand-inkwell, #14343b))}button.button.variant-secondary{background:var(--af-button-secondary-bg, transparent);border:1px solid var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b))}button.button.variant-ghost{background:transparent;border:none}a.button{text-decoration:none;color:inherit}a.button.variant-primary{background:var(--af-button-primary-bg, var(--colour-brand-ice, #a6fffb));border:1px solid var(--af-button-primary-stroke, var(--colour-brand-inkwell, #14343b))}a.button.variant-secondary{background:var(--af-button-secondary-bg, transparent);border:1px solid var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b))}a.button.variant-ghost{background:transparent;border:none}";
4
+
5
+ const AfButton = /*@__PURE__*/ proxyCustomElement(class AfButton extends H {
6
+ constructor(registerHost) {
7
+ super();
8
+ if (registerHost !== false) {
9
+ this.__registerHost();
10
+ }
11
+ this.__attachShadow();
12
+ /**
13
+ * The visual variant of the button.
14
+ * - `primary` - Main CTA with filled background (use sparingly, 1-2 per view)
15
+ * - `secondary` - Supporting action with outlined style
16
+ * - `ghost` - Link-style with themed underline on the label; commonly paired
17
+ * with a right-pointing icon. Matches Webflow's "button ghost" variant.
18
+ */
19
+ this.variant = 'primary';
20
+ /**
21
+ * The size of the button.
22
+ * - `default` - Standard size for primary CTAs (12/24px padding)
23
+ * - `thin` - Compact inline/secondary size (8/16px padding)
24
+ */
25
+ this.size = 'default';
26
+ /**
27
+ * Whether the button is disabled
28
+ */
29
+ this.disabled = false;
30
+ /**
31
+ * Button type (when not using href)
32
+ */
33
+ this.type = 'button';
34
+ this.hasIconLeft = false;
35
+ this.hasIconRight = false;
36
+ this.handleSlotChange = (slotName) => (event) => {
37
+ const slot = event.target;
38
+ const hasContent = slot.assignedNodes().length > 0;
39
+ if (slotName === 'icon-left') {
40
+ this.hasIconLeft = hasContent;
41
+ }
42
+ else {
43
+ this.hasIconRight = hasContent;
44
+ }
45
+ };
46
+ }
47
+ render() {
48
+ const classes = {
49
+ 'button': true,
50
+ [`variant-${this.variant}`]: true,
51
+ [`size-${this.size}`]: true,
52
+ 'disabled': this.disabled
53
+ };
54
+ const content = [
55
+ h("span", { class: { 'icon-left': true, 'has-content': this.hasIconLeft } }, h("slot", { name: "icon-left", onSlotchange: this.handleSlotChange('icon-left') })),
56
+ h("span", { class: "label" }, h("slot", null)),
57
+ h("span", { class: { 'icon-right': true, 'has-content': this.hasIconRight } }, h("slot", { name: "icon-right", onSlotchange: this.handleSlotChange('icon-right') }))
58
+ ];
59
+ // Render as anchor if href is provided (and not disabled)
60
+ if (this.href && !this.disabled) {
61
+ return (h(Host, null, h("a", { href: this.href, class: classes }, content)));
62
+ }
63
+ return (h(Host, null, h("button", { type: this.type, disabled: this.disabled, class: classes }, content)));
64
+ }
65
+ static get style() { return afButtonCss; }
66
+ }, [257, "af-button", {
67
+ "variant": [513],
68
+ "size": [1],
69
+ "disabled": [4],
70
+ "type": [1],
71
+ "href": [1],
72
+ "hasIconLeft": [32],
73
+ "hasIconRight": [32]
74
+ }]);
75
+ function defineCustomElement() {
76
+ if (typeof customElements === "undefined") {
77
+ return;
78
+ }
79
+ const components = ["af-button"];
80
+ components.forEach(tagName => { switch (tagName) {
81
+ case "af-button":
82
+ if (!customElements.get(tagName)) {
83
+ customElements.define(tagName, AfButton);
84
+ }
85
+ break;
86
+ } });
87
+ }
88
+
89
+ export { AfButton as A, defineCustomElement as d };
90
+ //# sourceMappingURL=p-CyTj19Yy.js.map
91
+
92
+ //# sourceMappingURL=p-CyTj19Yy.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-CyTj19Yy.js","mappings":";;AAAA,MAAM,WAAW,GAAG,s5KAAs5K;;MCgB75K,QAAQ,iBAAAA,kBAAA,CAAA,MAAA,QAAA,SAAAC,CAAA,CAAA;AALrB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAME;;;;;;AAMG;AACsB,QAAA,IAAO,CAAA,OAAA,GAAsC,SAAS;AAE/E;;;;AAIG;AACK,QAAA,IAAI,CAAA,IAAA,GAAuB,SAAS;AAE5C;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAEjC;;AAEG;AACK,QAAA,IAAI,CAAA,IAAA,GAAkC,QAAQ;AAO7C,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK;AAC5B,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK;QAE9B,IAAgB,CAAA,gBAAA,GAAG,CAAC,QAAoC,KAAK,CAAC,KAAY,KAAI;AACpF,YAAA,MAAM,IAAI,GAAG,KAAK,CAAC,MAAyB;YAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,GAAG,CAAC;AAClD,YAAA,IAAI,QAAQ,KAAK,WAAW,EAAE;AAC5B,gBAAA,IAAI,CAAC,WAAW,GAAG,UAAU;;iBACxB;AACL,gBAAA,IAAI,CAAC,YAAY,GAAG,UAAU;;AAElC,SAAC;AAyCF;IAvCC,MAAM,GAAA;AACJ,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,CAAC,WAAW,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,IAAI;AACjC,YAAA,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;YAC3B,UAAU,EAAE,IAAI,CAAC;SAClB;AAED,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,EAAA,EACjE,CAAA,CAAA,MAAA,EAAA,EAAM,IAAI,EAAC,WAAW,EAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAS,CAC3E;AACP,YAAA,CAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,OAAO,EAAA,EACjB,CAAA,CAAA,MAAA,EAAA,IAAA,CAAa,CACR;AACP,YAAA,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE,EAAA,EACnE,CAAA,CAAA,MAAA,EAAA,EAAM,IAAI,EAAC,YAAY,EAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAS;SAErF;;QAGD,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC/B,QACE,EAAC,IAAI,EAAA,IAAA,EACH,CAAA,CAAA,GAAA,EAAA,EAAG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAC/B,EAAA,OAAO,CACN,CACC;;AAIX,QAAA,QACE,EAAC,IAAI,EAAA,IAAA,EACH,CAAQ,CAAA,QAAA,EAAA,EAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAA,EAC7D,OAAO,CACD,CACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-button/af-button.css?tag=af-button&encapsulation=shadow","src/components/af-button/af-button.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n/* Set color on host for slotted content (icons) inheritance */\n:host([variant=\"primary\"]) {\n color: var(--af-button-primary-icon, var(--colour-brand-inkwell, #14343B));\n}\n\n:host([variant=\"secondary\"]) {\n color: var(--af-button-secondary-icon, var(--af-typography-body-dark, var(--colour-brand-inkwell, #14343B)));\n}\n\n:host([variant=\"ghost\"]) {\n color: var(--af-button-ghost-icon, var(--colour-brand-inkwell, #14343B));\n}\n\n/* Full-width mode - when host is display: block */\n:host([full-width]),\n:host(.full-width) {\n display: block;\n width: 100%;\n}\n\n:host([full-width]) .button,\n:host(.full-width) .button {\n width: 100%;\n}\n\n.button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0;\n border-radius: 9999px;\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: 500;\n text-decoration: none;\n cursor: pointer;\n transition: all 0.2s ease;\n border: 1px solid transparent;\n box-sizing: border-box;\n white-space: nowrap;\n /* Allow width to be controlled from outside via CSS custom property */\n width: var(--af-button-width, auto);\n}\n\n/* Size variants */\n.size-default {\n padding: 12px 24px;\n font-size: 17px;\n line-height: 20px;\n}\n\n.size-thin {\n padding: 8px 16px;\n font-size: 14px;\n line-height: 16px;\n}\n\n/* Icon slots - only show when they have slotted content */\n.icon-left,\n.icon-right {\n display: none;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.icon-left.has-content,\n.icon-right.has-content {\n display: flex;\n}\n\n.size-default .icon-left,\n.size-default .icon-right {\n width: 24px;\n height: 24px;\n}\n\n.size-thin .icon-left,\n.size-thin .icon-right {\n width: 20px;\n height: 20px;\n}\n\n/* Add spacing between icon and label only when icon is present */\n.size-default .icon-left.has-content {\n margin-right: 12px;\n}\n\n.size-default .icon-right.has-content {\n margin-left: 12px;\n}\n\n.size-thin .icon-left.has-content {\n margin-right: 8px;\n}\n\n.size-thin .icon-right.has-content {\n margin-left: 8px;\n}\n\n/* Label styling */\n.label {\n flex: 0 1 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.size-default .label {\n height: 24px;\n}\n\n.size-thin .label {\n height: 20px;\n}\n\n/* ==========================================================================\n Primary Button\n Filled background with ice color, inkwell text\n ========================================================================== */\n\n.variant-primary {\n background: var(--af-button-primary-bg, var(--colour-brand-ice, #a6fffb));\n border-color: var(--af-button-primary-stroke, var(--colour-brand-inkwell, #14343b));\n color: var(--af-button-primary-text, var(--colour-brand-inkwell, #14343b));\n}\n\n.variant-primary .icon-left,\n.variant-primary .icon-right {\n color: var(--af-button-primary-icon, var(--colour-brand-inkwell, #14343b));\n}\n\n.variant-primary:hover:not(.disabled) {\n background: var(--af-button-primary-bg-hover, #95E6E2);\n border-color: var(--af-button-primary-stroke, #14343B);\n}\n\n.variant-primary:focus:not(.disabled),\n.variant-primary:focus-visible:not(.disabled) {\n background: var(--af-button-primary-bg, #A6FFFB);\n border-color: var(--af-button-primary-stroke, #14343B);\n box-shadow: 0 0 0 4px var(--af-background-base, #FFF), 0 0 0 5px var(--af-button-primary-stroke, #14343B);\n outline: none;\n}\n\n.variant-primary:active:not(.disabled) {\n background: var(--af-button-primary-bg-hover, #95E6E2);\n}\n\n/* ==========================================================================\n Secondary Button\n Transparent background with visible border\n ========================================================================== */\n\n.variant-secondary {\n background: var(--af-button-secondary-bg, transparent);\n border-color: var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b));\n color: var(--af-button-secondary-text, var(--colour-brand-inkwell, #14343b));\n}\n\n.variant-secondary .icon-left,\n.variant-secondary .icon-right {\n color: var(--af-button-secondary-icon, var(--colour-brand-inkwell, #14343b));\n}\n\n.variant-secondary:hover:not(.disabled) {\n background: var(--af-button-secondary-bg-hover, rgba(128, 128, 128, 0.1));\n border-color: var(--af-button-secondary-stroke, currentColor);\n}\n\n.variant-secondary:focus:not(.disabled),\n.variant-secondary:focus-visible:not(.disabled) {\n background: var(--af-background-base, #FFF);\n border-color: var(--af-button-secondary-stroke, currentColor);\n box-shadow: 0 0 0 4px var(--af-background-base, #FFF), 0 0 0 5px var(--af-button-secondary-stroke, currentColor);\n outline: none;\n}\n\n.variant-secondary:active:not(.disabled) {\n background: var(--af-button-secondary-bg-hover, rgba(128, 128, 128, 0.1));\n}\n\n/* ==========================================================================\n Tertiary Button\n Text-only link style with underline, no border or background\n ========================================================================== */\n\n.variant-ghost {\n background: transparent;\n border-color: transparent;\n border-radius: 0;\n color: var(--af-button-ghost-text, var(--colour-brand-inkwell, #14343b));\n padding-left: 0;\n padding-right: 0;\n}\n\n.variant-ghost .label {\n border-bottom: 2px solid var(--af-button-ghost-stroke, var(--colour-brand-soft-clay, #B09670));\n}\n\n.variant-ghost .icon-left,\n.variant-ghost .icon-right {\n color: var(--af-button-ghost-icon, var(--colour-brand-inkwell, #14343b));\n}\n\n.variant-ghost:hover:not(.disabled) {\n opacity: 0.8;\n}\n\n.variant-ghost:focus:not(.disabled),\n.variant-ghost:focus-visible:not(.disabled) {\n outline: none;\n}\n\n.variant-ghost:focus-visible:not(.disabled) .label {\n box-shadow: 0 4px 0 0 var(--af-button-ghost-stroke, var(--colour-brand-soft-clay, #B09670));\n}\n\n.variant-ghost:active:not(.disabled) {\n opacity: 0.6;\n}\n\n/* ==========================================================================\n Disabled states\n ========================================================================== */\n\n.disabled {\n cursor: not-allowed;\n pointer-events: none;\n}\n\n.variant-primary.disabled {\n border: 1px solid var(--af-button-primary-stroke, #14343B);\n background: var(--af-button-primary-bg, #A6FFFB);\n opacity: 0.6;\n}\n\n.variant-secondary.disabled {\n border: 1px solid var(--af-button-secondary-stroke, currentColor);\n opacity: 0.6;\n}\n\n.variant-ghost.disabled {\n opacity: 0.6;\n}\n\n/* ==========================================================================\n Reset button element styles\n ========================================================================== */\n\nbutton.button {\n font: inherit;\n cursor: pointer;\n}\n\nbutton.button.variant-primary {\n background: var(--af-button-primary-bg, var(--colour-brand-ice, #a6fffb));\n border: 1px solid var(--af-button-primary-stroke, var(--colour-brand-inkwell, #14343b));\n}\n\nbutton.button.variant-secondary {\n background: var(--af-button-secondary-bg, transparent);\n border: 1px solid var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b));\n}\n\nbutton.button.variant-ghost {\n background: transparent;\n border: none;\n}\n\n/* ==========================================================================\n Reset anchor element styles (when using href prop)\n ========================================================================== */\n\na.button {\n text-decoration: none;\n color: inherit;\n}\n\na.button.variant-primary {\n background: var(--af-button-primary-bg, var(--colour-brand-ice, #a6fffb));\n border: 1px solid var(--af-button-primary-stroke, var(--colour-brand-inkwell, #14343b));\n}\n\na.button.variant-secondary {\n background: var(--af-button-secondary-bg, transparent);\n border: 1px solid var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b));\n}\n\na.button.variant-ghost {\n background: transparent;\n border: none;\n}\n","import { Component, h, Prop, Host, State } from '@stencil/core';\n\n/**\n * Button component that inherits colors from theme context.\n * Colors are determined by the parent theme (af-section, af-card, etc.)\n * via CSS custom properties.\n * \n * @slot - Button label text\n * @slot icon-left - Icon displayed before the label\n * @slot icon-right - Icon displayed after the label\n */\n@Component({\n tag: 'af-button',\n styleUrl: 'af-button.css',\n shadow: true\n})\nexport class AfButton {\n /**\n * The visual variant of the button.\n * - `primary` - Main CTA with filled background (use sparingly, 1-2 per view)\n * - `secondary` - Supporting action with outlined style\n * - `ghost` - Link-style with themed underline on the label; commonly paired\n * with a right-pointing icon. Matches Webflow's \"button ghost\" variant.\n */\n @Prop({ reflect: true }) variant: 'primary' | 'secondary' | 'ghost' = 'primary';\n\n /**\n * The size of the button.\n * - `default` - Standard size for primary CTAs (12/24px padding)\n * - `thin` - Compact inline/secondary size (8/16px padding)\n */\n @Prop() size: 'default' | 'thin' = 'default';\n\n /**\n * Whether the button is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Button type (when not using href)\n */\n @Prop() type: 'button' | 'submit' | 'reset' = 'button';\n\n /**\n * Optional href to render as a link instead of a button\n */\n @Prop() href?: string;\n\n @State() hasIconLeft: boolean = false;\n @State() hasIconRight: boolean = false;\n\n private handleSlotChange = (slotName: 'icon-left' | 'icon-right') => (event: Event) => {\n const slot = event.target as HTMLSlotElement;\n const hasContent = slot.assignedNodes().length > 0;\n if (slotName === 'icon-left') {\n this.hasIconLeft = hasContent;\n } else {\n this.hasIconRight = hasContent;\n }\n };\n\n render() {\n const classes = {\n 'button': true,\n [`variant-${this.variant}`]: true,\n [`size-${this.size}`]: true,\n 'disabled': this.disabled\n };\n\n const content = [\n <span class={{ 'icon-left': true, 'has-content': this.hasIconLeft }}>\n <slot name=\"icon-left\" onSlotchange={this.handleSlotChange('icon-left')}></slot>\n </span>,\n <span class=\"label\">\n <slot></slot>\n </span>,\n <span class={{ 'icon-right': true, 'has-content': this.hasIconRight }}>\n <slot name=\"icon-right\" onSlotchange={this.handleSlotChange('icon-right')}></slot>\n </span>\n ];\n\n // Render as anchor if href is provided (and not disabled)\n if (this.href && !this.disabled) {\n return (\n <Host>\n <a href={this.href} class={classes}>\n {content}\n </a>\n </Host>\n );\n }\n\n return (\n <Host>\n <button type={this.type} disabled={this.disabled} class={classes}>\n {content}\n </button>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,127 @@
1
+ import { p as proxyCustomElement, H, d as createEvent, h, c as Host } from './p-BBpihWJI.js';
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(--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
+
5
+ const AfTextarea = /*@__PURE__*/ proxyCustomElement(class AfTextarea 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.afInfoClick = createEvent(this, "afInfoClick");
16
+ /**
17
+ * The current value of the textarea
18
+ */
19
+ this.value = '';
20
+ /**
21
+ * Whether the textarea is disabled
22
+ */
23
+ this.disabled = false;
24
+ /**
25
+ * Whether the textarea is required
26
+ */
27
+ this.required = false;
28
+ /**
29
+ * Whether the textarea is read-only
30
+ */
31
+ this.readonly = false;
32
+ /**
33
+ * Whether to show the info icon next to the label
34
+ */
35
+ this.showInfoIcon = false;
36
+ /**
37
+ * Number of visible rows (height)
38
+ */
39
+ this.rows = 4;
40
+ /**
41
+ * Whether the textarea is resizable
42
+ */
43
+ this.resize = 'vertical';
44
+ this.isFocused = false;
45
+ this.isHovered = false;
46
+ this.handleInput = (event) => {
47
+ const target = event.target;
48
+ this.value = target.value;
49
+ this.afInput.emit({ value: this.value });
50
+ };
51
+ this.handleFocus = () => {
52
+ this.isFocused = true;
53
+ this.afFocus.emit();
54
+ };
55
+ this.handleBlur = () => {
56
+ this.isFocused = false;
57
+ this.afBlur.emit();
58
+ };
59
+ this.handleMouseEnter = () => {
60
+ this.isHovered = true;
61
+ };
62
+ this.handleMouseLeave = () => {
63
+ this.isHovered = false;
64
+ };
65
+ this.handleInfoClick = (event) => {
66
+ event.preventDefault();
67
+ event.stopPropagation();
68
+ this.afInfoClick.emit();
69
+ };
70
+ }
71
+ render() {
72
+ const hasError = !!this.error;
73
+ const hasValue = !!(this.value && this.value.length > 0);
74
+ const wrapperClasses = {
75
+ 'textarea-wrapper': true,
76
+ 'disabled': this.disabled,
77
+ 'error': hasError,
78
+ 'focused': this.isFocused,
79
+ 'hovered': this.isHovered && !this.disabled && !this.isFocused,
80
+ 'populated': hasValue
81
+ };
82
+ const textareaContainerClasses = {
83
+ 'textarea-container': true,
84
+ 'disabled': this.disabled,
85
+ 'error': hasError,
86
+ 'focused': this.isFocused,
87
+ 'hovered': this.isHovered && !this.disabled && !this.isFocused
88
+ };
89
+ return (h(Host, { key: '88a61db3d3d625cb33566b0696ac7b7b3ac8d936' }, h("div", { key: '8648dea230fc9736ae3d37b65dc34e6e60fef966', class: wrapperClasses }, this.label && (h("div", { key: 'bb1a4c3d441623d6e57780f486d9b84b96197510', class: "label-row" }, h("label", { key: 'ef2bf25f44797127f45fe6db632678bfacf1bd58', class: "label", htmlFor: "textarea" }, this.label, this.required && h("span", { key: '8b844499eb020f76c526cd6be88695568f094315', class: "required" }, "*")), this.showInfoIcon && (h("button", { key: '76bbd8a0feb29ae8480228d155b78833e400da34', type: "button", class: "info-icon", onClick: this.handleInfoClick, "aria-label": "More information" }, h("svg", { key: 'e9216ef96b54a2f6c6bb01f1e2d46a4483d0f37e', viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '6a5b3020e369ef4eb21dcb1147530db1223478af', 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: '9ddd81bdf497d5589552d09fc54ddccfd69ca8bf', d: "M12 16V12", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: 'f6c12cb8e526e37ce99fe7f8993d4c79bdaba1d8', d: "M12 8H12.01", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("slot", { key: 'bccc36e8dfc14969b1e1133a3f6dc63a088ea85d', name: "label-end" }))), this.description && (h("p", { key: '996377a9fa9efb3e18339d5b4fcaa8fc71b2ab6f', class: "description" }, this.description)), h("div", { key: '3fedeb84278c68211e15915630bae5331a07a138', class: textareaContainerClasses, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave }, h("textarea", { key: '1a9d3873af28103d77ffda96d33db77caee1d72b', 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: '483e536c546f7b75d887827d070ea39af9932f0f', class: "error-row", id: "error-message" }, h("span", { key: 'caafe8df9d66a1fe32809a32f273347d56deeba5', class: "error-icon" }, h("svg", { key: '0ae4361974775f89a2f9ba69867e02465adcdfc4', viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '098c189b4551f4714f40e4ebbba886dfcc9806f6', 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: 'bb29173d7d17694493242b1742944fbbadb480a8', d: "M12 16V12", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: '48a2fb783e0604e24f0c19ba9086cea72bc93b25', d: "M12 8H12.01", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }))), h("span", { key: '01ba2e635e379805f9505e1e7ac7c5dcdd0fa270', class: "error-text" }, this.error))))));
90
+ }
91
+ static get style() { return afTextareaCss; }
92
+ }, [257, "af-textarea", {
93
+ "label": [1],
94
+ "description": [1],
95
+ "placeholder": [1],
96
+ "value": [1025],
97
+ "name": [1],
98
+ "disabled": [516],
99
+ "required": [4],
100
+ "readonly": [4],
101
+ "error": [1],
102
+ "showInfoIcon": [4, "show-info-icon"],
103
+ "rows": [2],
104
+ "maxlength": [2],
105
+ "minlength": [2],
106
+ "resize": [1],
107
+ "isFocused": [32],
108
+ "isHovered": [32]
109
+ }]);
110
+ function defineCustomElement() {
111
+ if (typeof customElements === "undefined") {
112
+ return;
113
+ }
114
+ const components = ["af-textarea"];
115
+ components.forEach(tagName => { switch (tagName) {
116
+ case "af-textarea":
117
+ if (!customElements.get(tagName)) {
118
+ customElements.define(tagName, AfTextarea);
119
+ }
120
+ break;
121
+ } });
122
+ }
123
+
124
+ export { AfTextarea as A, defineCustomElement as d };
125
+ //# sourceMappingURL=p-D-Xf1-qQ.js.map
126
+
127
+ //# sourceMappingURL=p-D-Xf1-qQ.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-D-Xf1-qQ.js","mappings":";;AAAA,MAAM,aAAa,GAAG,+zGAA+zG;;MCYx0G,UAAU,iBAAAA,kBAAA,CAAA,MAAA,UAAA,SAAAC,CAAA,CAAA;AALvB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;;;;;AAqBE;;AAEG;AACsB,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE;AAO3C;;AAEG;AACsB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAElD;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAEjC;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAOjC;;AAEG;AACK,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK;AAErC;;AAEG;AACK,QAAA,IAAI,CAAA,IAAA,GAAW,CAAC;AAYxB;;AAEG;AACK,QAAA,IAAM,CAAA,MAAA,GAAgD,UAAU;AAsBvD,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK;AAC1B,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK;AAInC,QAAA,IAAA,CAAA,WAAW,GAAG,CAAC,KAAY,KAAI;AACrC,YAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAA6B;AAClD,YAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK;AACzB,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;AAC1C,SAAC;AAEO,QAAA,IAAW,CAAA,WAAA,GAAG,MAAK;AACzB,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AACrB,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AACrB,SAAC;AAEO,QAAA,IAAU,CAAA,UAAA,GAAG,MAAK;AACxB,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AACpB,SAAC;AAEO,QAAA,IAAgB,CAAA,gBAAA,GAAG,MAAK;AAC9B,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AACvB,SAAC;AAEO,QAAA,IAAgB,CAAA,gBAAA,GAAG,MAAK;AAC9B,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACxB,SAAC;AAEO,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,KAAiB,KAAI;YAC9C,KAAK,CAAC,cAAc,EAAE;YACtB,KAAK,CAAC,eAAe,EAAE;AACvB,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;AACzB,SAAC;AAsGF;IApGC,MAAM,GAAA;AACJ,QAAA,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK;AAC7B,QAAA,MAAM,QAAQ,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AAExD,QAAA,MAAM,cAAc,GAAG;AACrB,YAAA,kBAAkB,EAAE,IAAI;YACxB,UAAU,EAAE,IAAI,CAAC,QAAQ;AACzB,YAAA,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;AACzB,YAAA,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS;AAC9D,YAAA,WAAW,EAAE;SACd;AAED,QAAA,MAAM,wBAAwB,GAAG;AAC/B,YAAA,oBAAoB,EAAE,IAAI;YAC1B,UAAU,EAAE,IAAI,CAAC,QAAQ;AACzB,YAAA,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;AACzB,YAAA,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC;SACtD;AAED,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,cAAc,EAAA,EAEvB,IAAI,CAAC,KAAK,KACT,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,WAAW,EAAA,EACpB,CAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAO,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,UAAU,EAAA,EACpC,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,QAAQ,IAAI,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAC,UAAU,QAAS,CAC3C,EACP,IAAI,CAAC,YAAY,KAChB,CACE,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,WAAW,EACjB,OAAO,EAAE,IAAI,CAAC,eAAe,gBAClB,kBAAkB,EAAA,EAE7B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,EAAA,EACrE,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,CAAC,EAAC,mHAAmH,EAAC,MAAM,EAAC,cAAc,EAAA,cAAA,EAAc,KAAK,EAAA,gBAAA,EAAgB,OAAO,EAAA,iBAAA,EAAiB,OAAO,EAAE,CAAA,EACrN,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,CAAC,EAAC,WAAW,EAAC,MAAM,EAAC,cAAc,EAAA,cAAA,EAAc,KAAK,EAAA,gBAAA,EAAgB,OAAO,EAAA,iBAAA,EAAiB,OAAO,EAAE,CAAA,EAC7G,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,CAAC,EAAC,aAAa,EAAC,MAAM,EAAC,cAAc,EAAA,cAAA,EAAc,KAAK,EAAA,gBAAA,EAAgB,OAAO,EAAiB,iBAAA,EAAA,OAAO,EAAE,CAAA,CAC3G,CACC,CACV,EACD,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,WAAW,EAAA,CAAQ,CAC1B,CACP,EAGA,IAAI,CAAC,WAAW,KACf,CAAG,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,aAAa,EAAE,EAAA,IAAI,CAAC,WAAW,CAAK,CAC9C,EAGD,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE,wBAAwB,EAC/B,YAAY,EAAE,IAAI,CAAC,gBAAgB,EACnC,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAA,EAGnC,CAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,GAAG,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,UAAU,GAAG,EAAE,IAAI,SAAS,EAC9C,EAAE,EAAC,UAAU,EACb,KAAK,EAAC,UAAU,EAChB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAChB,cAAA,EAAA,QAAQ,GAAG,MAAM,GAAG,SAAS,EAAA,kBAAA,EACzB,QAAQ,GAAG,eAAe,GAAG,IAAI,CAAC,WAAW,GAAG,aAAa,GAAG,SAAS,EAC3F,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,MAAM,EAAE,IAAI,CAAC,UAAU,GACvB,CACE,EAGL,QAAQ,KACP,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,WAAW,EAAC,EAAE,EAAC,eAAe,EAAA,EACvC,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,YAAY,EAAA,EACtB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,EAAA,EACrE,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,CAAC,EAAC,mHAAmH,EAAC,MAAM,EAAC,cAAc,EAAA,cAAA,EAAc,KAAK,EAAA,gBAAA,EAAgB,OAAO,EAAA,iBAAA,EAAiB,OAAO,EAAE,CAAA,EACrN,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,CAAC,EAAC,WAAW,EAAC,MAAM,EAAC,cAAc,EAAA,cAAA,EAAc,KAAK,EAAA,gBAAA,EAAgB,OAAO,EAAA,iBAAA,EAAiB,OAAO,EAAE,CAAA,EAC7G,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,CAAC,EAAC,aAAa,EAAC,MAAM,EAAC,cAAc,EAAc,cAAA,EAAA,KAAK,oBAAgB,OAAO,EAAA,iBAAA,EAAiB,OAAO,EAAA,CAAE,CAC3G,CACD,EACP,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAC,YAAY,EAAA,EAAE,IAAI,CAAC,KAAK,CAAQ,CACxC,CACP,CACG,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","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}
@@ -0,0 +1,50 @@
1
+ import { p as proxyCustomElement, H, h, c as Host } from './p-BBpihWJI.js';
2
+
3
+ const afButtonGroupCss = ":host{display:inline-block}.button-group{display:inline-flex;align-items:center;box-sizing:border-box}.direction-horizontal{flex-direction:row}.direction-vertical{flex-direction:column}::slotted(*){flex-shrink:0}";
4
+
5
+ const AfButtonGroup = /*@__PURE__*/ proxyCustomElement(class AfButtonGroup extends H {
6
+ constructor(registerHost) {
7
+ super();
8
+ if (registerHost !== false) {
9
+ this.__registerHost();
10
+ }
11
+ this.__attachShadow();
12
+ /**
13
+ * Layout direction of the button group
14
+ */
15
+ this.direction = 'horizontal';
16
+ /**
17
+ * Gap between buttons
18
+ */
19
+ this.gap = '8px';
20
+ }
21
+ render() {
22
+ const classes = {
23
+ 'button-group': true,
24
+ [`direction-${this.direction}`]: true
25
+ };
26
+ return (h(Host, { key: 'abd684c0b9a003fa1c8cad9f0f37a450d068c24a' }, h("div", { key: 'a4f5b89ac0fab2f2a853d10b8dd8f7b20e98cbe7', class: classes, style: { gap: this.gap } }, h("slot", { key: '764d1d9b7b1283452c75b8a69adf6ff34c8b26a2' }))));
27
+ }
28
+ static get style() { return afButtonGroupCss; }
29
+ }, [257, "af-button-group", {
30
+ "direction": [1],
31
+ "gap": [1]
32
+ }]);
33
+ function defineCustomElement() {
34
+ if (typeof customElements === "undefined") {
35
+ return;
36
+ }
37
+ const components = ["af-button-group"];
38
+ components.forEach(tagName => { switch (tagName) {
39
+ case "af-button-group":
40
+ if (!customElements.get(tagName)) {
41
+ customElements.define(tagName, AfButtonGroup);
42
+ }
43
+ break;
44
+ } });
45
+ }
46
+
47
+ export { AfButtonGroup as A, defineCustomElement as d };
48
+ //# sourceMappingURL=p-D4YzNoal.js.map
49
+
50
+ //# sourceMappingURL=p-D4YzNoal.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-D4YzNoal.js","mappings":";;AAAA,MAAM,gBAAgB,GAAG,sNAAsN;;MCOlO,aAAa,iBAAAA,kBAAA,CAAA,MAAA,aAAA,SAAAC,CAAA,CAAA;AAL1B,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAME;;AAEG;AACK,QAAA,IAAS,CAAA,SAAA,GAA8B,YAAY;AAE3D;;AAEG;AACK,QAAA,IAAG,CAAA,GAAA,GAAW,KAAK;AAgB5B;IAdC,MAAM,GAAA;AACJ,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,CAAC,aAAa,IAAI,CAAC,SAAS,CAAE,CAAA,GAAG;SAClC;QAED,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAA,EAC3C,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT,CACD;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-button-group/af-button-group.css?tag=af-button-group&encapsulation=shadow","src/components/af-button-group/af-button-group.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n.button-group {\n display: inline-flex;\n align-items: center;\n box-sizing: border-box;\n}\n\n.direction-horizontal {\n flex-direction: row;\n}\n\n.direction-vertical {\n flex-direction: column;\n}\n\n/* Ensure slotted buttons align properly */\n::slotted(*) {\n flex-shrink: 0;\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'af-button-group',\n styleUrl: 'af-button-group.css',\n shadow: true\n})\nexport class AfButtonGroup {\n /**\n * Layout direction of the button group\n */\n @Prop() direction: 'horizontal' | 'vertical' = 'horizontal';\n\n /**\n * Gap between buttons\n */\n @Prop() gap: string = '8px';\n\n render() {\n const classes = {\n 'button-group': true,\n [`direction-${this.direction}`]: true\n };\n\n return (\n <Host>\n <div class={classes} style={{ gap: this.gap }}>\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}