@affinda/wc 0.4.2 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (518) hide show
  1. package/dist/affinda/af-input.entry.esm.js.map +1 -1
  2. package/dist/affinda/af-textarea.entry.esm.js.map +1 -1
  3. package/dist/affinda/affinda.esm.js +1 -1
  4. package/dist/affinda/index.esm.js +1 -1
  5. package/dist/affinda/{p-6de54e73.entry.js → p-01b848e9.entry.js} +2 -2
  6. package/dist/affinda/{p-369dfdd8.entry.js → p-0c4a59b3.entry.js} +2 -2
  7. package/dist/affinda/{p-5885ebd3.entry.js → p-0c7d81d0.entry.js} +2 -2
  8. package/dist/affinda/{p-4f731d31.entry.js → p-0cbb1cb2.entry.js} +2 -2
  9. package/dist/affinda/p-11d41c9a.entry.js +2 -0
  10. package/dist/affinda/{p-d40f8d18.entry.js → p-1554f3d7.entry.js} +2 -2
  11. package/dist/affinda/p-160997b3.entry.js +2 -0
  12. package/dist/affinda/{p-0254b263.entry.js.map → p-160997b3.entry.js.map} +1 -1
  13. package/dist/affinda/p-1c19e94c.entry.js +2 -0
  14. package/dist/affinda/{p-3b429a16.entry.js → p-1c922fff.entry.js} +2 -2
  15. package/dist/affinda/{p-4f15b8f0.entry.js → p-1e59a051.entry.js} +2 -2
  16. package/dist/affinda/{p-7eb0875d.entry.js → p-20faf28d.entry.js} +2 -2
  17. package/dist/affinda/{p-cebfc8a9.entry.js → p-223b2e70.entry.js} +2 -2
  18. package/dist/affinda/{p-a70ce66f.entry.js → p-2315cb6b.entry.js} +2 -2
  19. package/dist/affinda/{p-42c4d7b1.entry.js → p-2716cdc4.entry.js} +2 -2
  20. package/dist/affinda/{p-b13c1438.entry.js → p-296a6ece.entry.js} +2 -2
  21. package/dist/affinda/{p-09e202d1.entry.js → p-2e67fb0d.entry.js} +2 -2
  22. package/dist/affinda/{p-3cd4edd0.entry.js → p-319b51c7.entry.js} +2 -2
  23. package/dist/affinda/{p-8a2cbcf0.entry.js → p-31d96ddc.entry.js} +2 -2
  24. package/dist/affinda/{p-9dfb5fab.entry.js → p-39a40e6a.entry.js} +2 -2
  25. package/dist/affinda/{p-02427605.entry.js → p-3df90209.entry.js} +2 -2
  26. package/dist/affinda/p-3ed2eb32.entry.js +2 -0
  27. package/dist/affinda/{p-d0fdef08.entry.js.map → p-3ed2eb32.entry.js.map} +1 -1
  28. package/dist/affinda/{p-dd933272.entry.js → p-3fb33478.entry.js} +2 -2
  29. package/dist/affinda/{p-43a0286a.entry.js → p-47d2f72b.entry.js} +2 -2
  30. package/dist/affinda/{p-a35ab849.entry.js → p-5e966aa6.entry.js} +2 -2
  31. package/dist/affinda/p-5fdb4aad.entry.js +2 -0
  32. package/dist/affinda/{p-7faa3fb9.entry.js.map → p-5fdb4aad.entry.js.map} +1 -1
  33. package/dist/affinda/{p-d275fb5d.entry.js → p-604399ed.entry.js} +2 -2
  34. package/dist/affinda/p-6525d4fe.entry.js +2 -0
  35. package/dist/affinda/p-6525d4fe.entry.js.map +1 -0
  36. package/dist/affinda/{p-17c2999b.entry.js → p-653bca57.entry.js} +2 -2
  37. package/dist/affinda/{p-5e01b103.entry.js → p-6c4137dc.entry.js} +2 -2
  38. package/dist/affinda/{p-b82fc7f1.entry.js → p-761f06ae.entry.js} +2 -2
  39. package/dist/affinda/{p-6949fbdf.entry.js → p-764601e6.entry.js} +2 -2
  40. package/dist/affinda/{p-b2a41a48.entry.js → p-765883e7.entry.js} +2 -2
  41. package/dist/affinda/{p-4f422489.entry.js → p-7b60b684.entry.js} +2 -2
  42. package/dist/affinda/p-805148d0.entry.js +2 -0
  43. package/dist/affinda/{p-1aa795c7.entry.js → p-8eb57e35.entry.js} +2 -2
  44. package/dist/affinda/{p-606159d2.entry.js → p-90e9e29c.entry.js} +2 -2
  45. package/dist/affinda/{p-08a42935.entry.js → p-92c61bad.entry.js} +2 -2
  46. package/dist/affinda/{p-646b73fb.entry.js → p-94119fa2.entry.js} +2 -2
  47. package/dist/affinda/{p-1efa4787.entry.js → p-99b37588.entry.js} +2 -2
  48. package/dist/affinda/{p-8eb60b77.entry.js → p-9c470a88.entry.js} +2 -2
  49. package/dist/affinda/{p-6898d4bd.entry.js → p-9c8d18a3.entry.js} +2 -2
  50. package/dist/affinda/{p-42c69bc9.entry.js → p-9d85f685.entry.js} +2 -2
  51. package/dist/affinda/p-CYq0zyKH.js +3 -0
  52. package/dist/affinda/p-CYq0zyKH.js.map +1 -0
  53. package/dist/affinda/{p-15eac0d5.entry.js → p-aa0cb70d.entry.js} +2 -2
  54. package/dist/affinda/{p-c0f71971.entry.js → p-aabe4d24.entry.js} +2 -2
  55. package/dist/affinda/{p-d12d33c8.entry.js → p-ae27e9da.entry.js} +2 -2
  56. package/dist/affinda/{p-73de3aa7.entry.js → p-bc3d2bb4.entry.js} +2 -2
  57. package/dist/affinda/{p-7640c285.entry.js → p-bc59dc0e.entry.js} +2 -2
  58. package/dist/affinda/{p-c2c16447.entry.js → p-be71688c.entry.js} +2 -2
  59. package/dist/affinda/{p-d34da6c0.entry.js → p-c6aa66f3.entry.js} +2 -2
  60. package/dist/affinda/p-c87e5b29.entry.js +2 -0
  61. package/dist/affinda/p-cd8cfa7f.entry.js +2 -0
  62. package/dist/affinda/p-cd8cfa7f.entry.js.map +1 -0
  63. package/dist/affinda/p-da247ea4.entry.js +2 -0
  64. package/dist/affinda/{p-78941fec.entry.js.map → p-da247ea4.entry.js.map} +1 -1
  65. package/dist/affinda/{p-d9ff321b.entry.js → p-dd30a9b8.entry.js} +2 -2
  66. package/dist/affinda/{p-df6c7170.entry.js → p-e10c03b6.entry.js} +2 -2
  67. package/dist/affinda/{p-f5b4923f.entry.js → p-e2667603.entry.js} +2 -2
  68. package/dist/affinda/{p-8fe10b18.entry.js → p-e678100f.entry.js} +2 -2
  69. package/dist/affinda/{p-aa9c2609.entry.js → p-e8a91b15.entry.js} +2 -2
  70. package/dist/affinda/{p-db7eb209.entry.js → p-e9527b93.entry.js} +2 -2
  71. package/dist/affinda/{p-3a7afe33.entry.js → p-eb611fb5.entry.js} +2 -2
  72. package/dist/affinda/{p-bdb3e590.entry.js → p-edb426e6.entry.js} +2 -2
  73. package/dist/affinda/{p-a326d8f6.entry.js → p-f38688c6.entry.js} +2 -2
  74. package/dist/affinda/{p-b69bce30.entry.js → p-f47d0d2d.entry.js} +2 -2
  75. package/dist/affinda/p-f49b41f9.entry.js +2 -0
  76. package/dist/affinda/{p-4ff626de.entry.js → p-f6e1750e.entry.js} +2 -2
  77. package/dist/affinda/{p-62eb01fa.entry.js → p-fad2d40b.entry.js} +2 -2
  78. package/dist/affinda/{p-bc1088a7.entry.js → p-fc19f53c.entry.js} +2 -2
  79. package/dist/affinda/p-fd39a1c2.entry.js +2 -0
  80. package/dist/affinda/{p-4ccc3147.entry.js → p-fe09a283.entry.js} +2 -2
  81. package/dist/affinda/{p-91b71a8f.entry.js → p-fee9359c.entry.js} +2 -2
  82. package/dist/cjs/af-accordion-item.cjs.entry.js +2 -2
  83. package/dist/cjs/af-accordion.cjs.entry.js +2 -2
  84. package/dist/cjs/af-aspect-ratio.cjs.entry.js +1 -1
  85. package/dist/cjs/af-button-group.cjs.entry.js +1 -1
  86. package/dist/cjs/af-button.cjs.entry.js +1 -1
  87. package/dist/cjs/af-card.cjs.entry.js +2 -2
  88. package/dist/cjs/af-center.cjs.entry.js +2 -2
  89. package/dist/cjs/af-checkbox.cjs.entry.js +1 -1
  90. package/dist/cjs/af-client-carousel.cjs.entry.js +2 -2
  91. package/dist/cjs/af-color-swatch.cjs.entry.js +1 -1
  92. package/dist/cjs/af-contact-item.cjs.entry.js +2 -2
  93. package/dist/cjs/af-container.cjs.entry.js +1 -1
  94. package/dist/cjs/af-divider.cjs.entry.js +2 -2
  95. package/dist/cjs/af-feature-accordion.cjs.entry.js +3 -3
  96. package/dist/cjs/af-feature-card.cjs.entry.js +1 -1
  97. package/dist/cjs/af-feature-grid.cjs.entry.js +2 -2
  98. package/dist/cjs/af-fieldset.cjs.entry.js +1 -1
  99. package/dist/cjs/af-footer-column.cjs.entry.js +2 -2
  100. package/dist/cjs/af-footer-link.cjs.entry.js +2 -2
  101. package/dist/cjs/af-footer.cjs.entry.js +2 -2
  102. package/dist/cjs/af-grid-callout.cjs.entry.js +1 -1
  103. package/dist/cjs/af-grid.cjs.entry.js +3 -3
  104. package/dist/cjs/af-heading_5.cjs.entry.js +1 -1
  105. package/dist/cjs/af-hero.cjs.entry.js +3 -3
  106. package/dist/cjs/af-icon-box.cjs.entry.js +2 -2
  107. package/dist/cjs/af-icon-button.cjs.entry.js +1 -1
  108. package/dist/cjs/af-icon-text.cjs.entry.js +2 -2
  109. package/dist/cjs/af-icon.cjs.entry.js +1 -1
  110. package/dist/cjs/af-illustrated-card.cjs.entry.js +2 -2
  111. package/dist/cjs/af-image.cjs.entry.js +2 -2
  112. package/dist/cjs/af-in-page-banner.cjs.entry.js +2 -2
  113. package/dist/cjs/af-inline.cjs.entry.js +2 -2
  114. package/dist/cjs/af-input.cjs.entry.js +24 -6
  115. package/dist/cjs/af-input.entry.cjs.js.map +1 -1
  116. package/dist/cjs/af-logo-well.cjs.entry.js +2 -2
  117. package/dist/cjs/af-nav-accordion-item.cjs.entry.js +3 -3
  118. package/dist/cjs/af-nav-accordion.cjs.entry.js +2 -2
  119. package/dist/cjs/af-nav-card.cjs.entry.js +1 -1
  120. package/dist/cjs/af-nav-menu-nest.cjs.entry.js +2 -2
  121. package/dist/cjs/af-nav-menu.cjs.entry.js +2 -2
  122. package/dist/cjs/af-number-badge.cjs.entry.js +2 -2
  123. package/dist/cjs/af-numbered-stepper-item.cjs.entry.js +2 -2
  124. package/dist/cjs/af-numbered-stepper.cjs.entry.js +2 -2
  125. package/dist/cjs/af-paperclip-decoration.cjs.entry.js +2 -2
  126. package/dist/cjs/af-progress-line.cjs.entry.js +3 -3
  127. package/dist/cjs/af-radio.cjs.entry.js +1 -1
  128. package/dist/cjs/af-section.cjs.entry.js +3 -3
  129. package/dist/cjs/af-show.cjs.entry.js +2 -2
  130. package/dist/cjs/af-social-link.cjs.entry.js +2 -2
  131. package/dist/cjs/af-spacer.cjs.entry.js +2 -2
  132. package/dist/cjs/af-split-section.cjs.entry.js +3 -3
  133. package/dist/cjs/af-stack.cjs.entry.js +2 -2
  134. package/dist/cjs/af-stat.cjs.entry.js +2 -2
  135. package/dist/cjs/af-stats-row.cjs.entry.js +2 -2
  136. package/dist/cjs/af-stepper-step.cjs.entry.js +2 -2
  137. package/dist/cjs/af-stepper.cjs.entry.js +2 -2
  138. package/dist/cjs/af-switch.cjs.entry.js +1 -1
  139. package/dist/cjs/af-tab-bar.cjs.entry.js +2 -2
  140. package/dist/cjs/af-tab.cjs.entry.js +2 -2
  141. package/dist/cjs/af-tag.cjs.entry.js +3 -3
  142. package/dist/cjs/af-testimonial-carousel.cjs.entry.js +2 -2
  143. package/dist/cjs/af-testimonial-stat.cjs.entry.js +2 -2
  144. package/dist/cjs/af-testimonial.cjs.entry.js +3 -3
  145. package/dist/cjs/af-text-image-nest.cjs.entry.js +2 -2
  146. package/dist/cjs/af-text-image.cjs.entry.js +1 -1
  147. package/dist/cjs/af-textarea.cjs.entry.js +15 -2
  148. package/dist/cjs/af-textarea.entry.cjs.js.map +1 -1
  149. package/dist/cjs/af-theme-override.cjs.entry.js +2 -2
  150. package/dist/cjs/af-typography-lockup.cjs.entry.js +1 -1
  151. package/dist/cjs/af-video-container.cjs.entry.js +2 -2
  152. package/dist/cjs/af-visually-hidden.cjs.entry.js +2 -2
  153. package/dist/cjs/affinda.cjs.js +2 -2
  154. package/dist/cjs/{index-3161MbMQ.js → index-BuJz1C1M.js} +647 -9
  155. package/dist/cjs/index-BuJz1C1M.js.map +1 -0
  156. package/dist/cjs/index.cjs.js +1 -1
  157. package/dist/cjs/loader.cjs.js +2 -2
  158. package/dist/collection/components/af-accordion/af-accordion.js +1 -1
  159. package/dist/collection/components/af-accordion-item/af-accordion-item.js +1 -1
  160. package/dist/collection/components/af-card/af-card.js +1 -1
  161. package/dist/collection/components/af-center/af-center.js +1 -1
  162. package/dist/collection/components/af-client-carousel/af-client-carousel.js +1 -1
  163. package/dist/collection/components/af-contact-item/af-contact-item.js +1 -1
  164. package/dist/collection/components/af-divider/af-divider.js +1 -1
  165. package/dist/collection/components/af-feature-accordion/af-feature-accordion.js +2 -2
  166. package/dist/collection/components/af-feature-grid/af-feature-grid.js +1 -1
  167. package/dist/collection/components/af-footer/af-footer.js +1 -1
  168. package/dist/collection/components/af-footer-column/af-footer-column.js +1 -1
  169. package/dist/collection/components/af-footer-link/af-footer-link.js +1 -1
  170. package/dist/collection/components/af-grid/af-grid.js +2 -2
  171. package/dist/collection/components/af-hero/af-hero.js +2 -2
  172. package/dist/collection/components/af-icon-box/af-icon-box.js +1 -1
  173. package/dist/collection/components/af-icon-text/af-icon-text.js +1 -1
  174. package/dist/collection/components/af-illustrated-card/af-illustrated-card.js +1 -1
  175. package/dist/collection/components/af-image/af-image.js +1 -1
  176. package/dist/collection/components/af-in-page-banner/af-in-page-banner.js +1 -1
  177. package/dist/collection/components/af-inline/af-inline.js +1 -1
  178. package/dist/collection/components/af-input/af-input.css +42 -0
  179. package/dist/collection/components/af-input/af-input.js +88 -10
  180. package/dist/collection/components/af-input/af-input.js.map +1 -1
  181. package/dist/collection/components/af-logo-well/af-logo-well.js +1 -1
  182. package/dist/collection/components/af-nav-accordion/af-nav-accordion.js +1 -1
  183. package/dist/collection/components/af-nav-accordion-item/af-nav-accordion-item.js +2 -2
  184. package/dist/collection/components/af-nav-menu/af-nav-menu.js +1 -1
  185. package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js +1 -1
  186. package/dist/collection/components/af-number-badge/af-number-badge.js +1 -1
  187. package/dist/collection/components/af-numbered-stepper/af-numbered-stepper.js +1 -1
  188. package/dist/collection/components/af-numbered-stepper-item/af-numbered-stepper-item.js +1 -1
  189. package/dist/collection/components/af-paperclip-decoration/af-paperclip-decoration.js +1 -1
  190. package/dist/collection/components/af-progress-line/af-progress-line.js +2 -2
  191. package/dist/collection/components/af-section/af-section.js +2 -2
  192. package/dist/collection/components/af-show/af-show.js +1 -1
  193. package/dist/collection/components/af-social-link/af-social-link.js +1 -1
  194. package/dist/collection/components/af-spacer/af-spacer.js +1 -1
  195. package/dist/collection/components/af-split-section/af-split-section.js +2 -2
  196. package/dist/collection/components/af-stack/af-stack.js +1 -1
  197. package/dist/collection/components/af-stat/af-stat.js +1 -1
  198. package/dist/collection/components/af-stats-row/af-stats-row.js +1 -1
  199. package/dist/collection/components/af-stepper/af-stepper.js +1 -1
  200. package/dist/collection/components/af-stepper-step/af-stepper-step.js +1 -1
  201. package/dist/collection/components/af-tab/af-tab.js +1 -1
  202. package/dist/collection/components/af-tab-bar/af-tab-bar.js +1 -1
  203. package/dist/collection/components/af-tag/af-tag.js +2 -2
  204. package/dist/collection/components/af-testimonial/af-testimonial.js +2 -2
  205. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js +1 -1
  206. package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js +1 -1
  207. package/dist/collection/components/af-text-image-nest/af-text-image-nest.js +1 -1
  208. package/dist/collection/components/af-textarea/af-textarea.js +20 -1
  209. package/dist/collection/components/af-textarea/af-textarea.js.map +1 -1
  210. package/dist/collection/components/af-theme-override/af-theme-override.js +1 -1
  211. package/dist/collection/components/af-video-container/af-video-container.js +1 -1
  212. package/dist/collection/components/af-visually-hidden/af-visually-hidden.js +1 -1
  213. package/dist/components/af-accordion-item.js +2 -2
  214. package/dist/components/af-accordion.js +2 -2
  215. package/dist/components/af-aspect-ratio.js +1 -1
  216. package/dist/components/af-button-group.js +1 -1
  217. package/dist/components/af-button.js +1 -1
  218. package/dist/components/af-card.js +1 -1
  219. package/dist/components/af-center.js +2 -2
  220. package/dist/components/af-checkbox.js +1 -1
  221. package/dist/components/af-client-carousel.js +2 -2
  222. package/dist/components/af-color-swatch.js +1 -1
  223. package/dist/components/af-contact-item.js +2 -2
  224. package/dist/components/af-container.js +1 -1
  225. package/dist/components/af-divider.js +2 -2
  226. package/dist/components/af-feature-accordion.js +3 -3
  227. package/dist/components/af-feature-card.js +1 -1
  228. package/dist/components/af-feature-grid.js +3 -3
  229. package/dist/components/af-fieldset.js +1 -1
  230. package/dist/components/af-footer-column.js +2 -2
  231. package/dist/components/af-footer-link.js +2 -2
  232. package/dist/components/af-footer.js +2 -2
  233. package/dist/components/af-grid-callout.js +2 -2
  234. package/dist/components/af-grid.js +3 -3
  235. package/dist/components/af-heading.js +1 -1
  236. package/dist/components/af-hero.js +1 -1
  237. package/dist/components/af-icon-box.js +1 -1
  238. package/dist/components/af-icon-button.js +1 -1
  239. package/dist/components/af-icon-text.js +5 -5
  240. package/dist/components/af-icon.js +1 -1
  241. package/dist/components/af-illustrated-card.js +1 -1
  242. package/dist/components/af-image.js +1 -1
  243. package/dist/components/af-in-page-banner.js +3 -3
  244. package/dist/components/af-inline.js +2 -2
  245. package/dist/components/af-input.js +1 -1
  246. package/dist/components/af-logo-well.js +2 -2
  247. package/dist/components/af-logo.js +1 -1
  248. package/dist/components/af-nav-accordion-item.js +3 -3
  249. package/dist/components/af-nav-accordion.js +2 -2
  250. package/dist/components/af-nav-card.js +1 -1
  251. package/dist/components/af-nav-item.js +1 -1
  252. package/dist/components/af-nav-menu-nest.js +2 -2
  253. package/dist/components/af-nav-menu.js +2 -2
  254. package/dist/components/af-navbar.js +1 -1
  255. package/dist/components/af-number-badge.js +1 -1
  256. package/dist/components/af-numbered-stepper-item.js +4 -4
  257. package/dist/components/af-numbered-stepper.js +2 -2
  258. package/dist/components/af-paperclip-decoration.js +2 -2
  259. package/dist/components/af-progress-line.js +1 -1
  260. package/dist/components/af-radio.js +1 -1
  261. package/dist/components/af-section.js +1 -1
  262. package/dist/components/af-show.js +2 -2
  263. package/dist/components/af-social-link.js +2 -2
  264. package/dist/components/af-spacer.js +2 -2
  265. package/dist/components/af-split-section.js +4 -4
  266. package/dist/components/af-stack.js +2 -2
  267. package/dist/components/af-stat.js +4 -4
  268. package/dist/components/af-stats-row.js +2 -2
  269. package/dist/components/af-stepper-step.js +2 -2
  270. package/dist/components/af-stepper.js +2 -2
  271. package/dist/components/af-switch.js +1 -1
  272. package/dist/components/af-tab-bar.js +1 -1
  273. package/dist/components/af-tab.js +1 -1
  274. package/dist/components/af-tag.js +1 -1
  275. package/dist/components/af-testimonial-carousel.js +3 -3
  276. package/dist/components/af-testimonial-stat.js +4 -4
  277. package/dist/components/af-testimonial.js +6 -6
  278. package/dist/components/af-text-image-nest.js +2 -2
  279. package/dist/components/af-text-image.js +2 -2
  280. package/dist/components/af-text.js +1 -1
  281. package/dist/components/af-textarea.js +1 -1
  282. package/dist/components/af-theme-override.js +2 -2
  283. package/dist/components/af-typography-lockup.js +1 -1
  284. package/dist/components/af-video-container.js +4 -4
  285. package/dist/components/af-visually-hidden.js +2 -2
  286. package/dist/components/index.js +25 -25
  287. package/dist/components/{p-B4IVxpr4.js → p-B4bimVSM.js} +5 -5
  288. package/dist/components/{p-B4IVxpr4.js.map → p-B4bimVSM.js.map} +1 -1
  289. package/dist/components/{p-BuiXTazC.js → p-B7J9U9if.js} +3 -3
  290. package/dist/components/{p-BuiXTazC.js.map → p-B7J9U9if.js.map} +1 -1
  291. package/dist/components/{p-CZdcAZe_.js → p-BExjo6P2.js} +4 -4
  292. package/dist/components/{p-CZdcAZe_.js.map → p-BExjo6P2.js.map} +1 -1
  293. package/dist/components/{p-BMs3J6ty.js → p-BSgEGp12.js} +8 -8
  294. package/dist/components/{p-BMs3J6ty.js.map → p-BSgEGp12.js.map} +1 -1
  295. package/dist/components/{p-BkTUo72F.js → p-B_r5b4JI.js} +3 -3
  296. package/dist/components/{p-BkTUo72F.js.map → p-B_r5b4JI.js.map} +1 -1
  297. package/dist/components/{p-DQF6qg3h.js → p-BgQvXXuB.js} +4 -4
  298. package/dist/components/{p-DQF6qg3h.js.map → p-BgQvXXuB.js.map} +1 -1
  299. package/dist/components/{p-DQFOagz0.js → p-BiSEOBg5.js} +4 -4
  300. package/dist/components/{p-DQFOagz0.js.map → p-BiSEOBg5.js.map} +1 -1
  301. package/dist/components/{p-QpoTJlVn.js → p-BipyebXl.js} +3 -3
  302. package/dist/components/{p-QpoTJlVn.js.map → p-BipyebXl.js.map} +1 -1
  303. package/dist/components/{p-CiY0Twna.js → p-Btpdr0Bi.js} +644 -9
  304. package/dist/components/p-Btpdr0Bi.js.map +1 -0
  305. package/dist/components/{p-Dye7hRk7.js → p-BwowgpiS.js} +5 -5
  306. package/dist/components/{p-Dye7hRk7.js.map → p-BwowgpiS.js.map} +1 -1
  307. package/dist/components/{p-CaHyFRpU.js → p-C05qWmXd.js} +3 -3
  308. package/dist/components/{p-CaHyFRpU.js.map → p-C05qWmXd.js.map} +1 -1
  309. package/dist/components/{p-G5cG9ahw.js → p-C1nX4HkM.js} +3 -3
  310. package/dist/components/{p-G5cG9ahw.js.map → p-C1nX4HkM.js.map} +1 -1
  311. package/dist/components/{p-DGlAo2Hc.js → p-C8HmyE5-.js} +3 -3
  312. package/dist/components/{p-DGlAo2Hc.js.map → p-C8HmyE5-.js.map} +1 -1
  313. package/dist/components/{p-DmlCoFGW.js → p-CMatO7AD.js} +3 -3
  314. package/dist/components/{p-DmlCoFGW.js.map → p-CMatO7AD.js.map} +1 -1
  315. package/dist/components/{p-BTZzBVqv.js → p-CNPKZ3ct.js} +5 -5
  316. package/dist/components/{p-BTZzBVqv.js.map → p-CNPKZ3ct.js.map} +1 -1
  317. package/dist/components/{p-BsHk9vlU.js → p-CSejCgwa.js} +4 -4
  318. package/dist/components/{p-BsHk9vlU.js.map → p-CSejCgwa.js.map} +1 -1
  319. package/dist/components/{p-CnbO_hx0.js → p-CTVS7dJ6.js} +4 -4
  320. package/dist/components/{p-CnbO_hx0.js.map → p-CTVS7dJ6.js.map} +1 -1
  321. package/dist/components/{p-B-hgy9Qr.js → p-CeWN48Eq.js} +3 -3
  322. package/dist/components/{p-B-hgy9Qr.js.map → p-CeWN48Eq.js.map} +1 -1
  323. package/dist/components/{p-C_y6F4SM.js → p-CixFE5Cu.js} +17 -4
  324. package/dist/components/p-CixFE5Cu.js.map +1 -0
  325. package/dist/components/{p-CUmn76Kf.js → p-CkaL7yIW.js} +3 -3
  326. package/dist/components/{p-CUmn76Kf.js.map → p-CkaL7yIW.js.map} +1 -1
  327. package/dist/components/{p-CeBCwjRf.js → p-D5-m35gX.js} +3 -3
  328. package/dist/components/{p-CeBCwjRf.js.map → p-D5-m35gX.js.map} +1 -1
  329. package/dist/components/{p--aWqZ9H9.js → p-DMXuAjLo.js} +3 -3
  330. package/dist/components/{p--aWqZ9H9.js.map → p-DMXuAjLo.js.map} +1 -1
  331. package/dist/components/{p-DrCZBGKv.js → p-DPgWkfHr.js} +6 -6
  332. package/dist/components/{p-DrCZBGKv.js.map → p-DPgWkfHr.js.map} +1 -1
  333. package/dist/components/{p-DobkLkti.js → p-Dacy0GsN.js} +29 -8
  334. package/dist/components/p-Dacy0GsN.js.map +1 -0
  335. package/dist/components/{p-DWD7Oc5l.js → p-DrEl4PxE.js} +3 -3
  336. package/dist/components/{p-DWD7Oc5l.js.map → p-DrEl4PxE.js.map} +1 -1
  337. package/dist/components/{p-CJU2A9Ab.js → p-DrXw6vxx.js} +3 -3
  338. package/dist/components/{p-CJU2A9Ab.js.map → p-DrXw6vxx.js.map} +1 -1
  339. package/dist/components/{p-DyqBBl8X.js → p-DxYqml-M.js} +5 -5
  340. package/dist/components/{p-DyqBBl8X.js.map → p-DxYqml-M.js.map} +1 -1
  341. package/dist/components/{p-Bx-hxLP0.js → p-FV14KcoH.js} +3 -3
  342. package/dist/components/{p-Bx-hxLP0.js.map → p-FV14KcoH.js.map} +1 -1
  343. package/dist/components/{p-CImZ9bq8.js → p-XmT5SQOF.js} +3 -3
  344. package/dist/components/{p-CImZ9bq8.js.map → p-XmT5SQOF.js.map} +1 -1
  345. package/dist/components/{p-B_32JVKl.js → p-fLdNRQwR.js} +4 -4
  346. package/dist/components/{p-B_32JVKl.js.map → p-fLdNRQwR.js.map} +1 -1
  347. package/dist/components/{p-DnDXrxJ7.js → p-joRNg4Kk.js} +3 -3
  348. package/dist/components/{p-DnDXrxJ7.js.map → p-joRNg4Kk.js.map} +1 -1
  349. package/dist/components/{p-DdH3uwBx.js → p-sIePTJnR.js} +6 -6
  350. package/dist/components/{p-DdH3uwBx.js.map → p-sIePTJnR.js.map} +1 -1
  351. package/dist/esm/af-accordion-item.entry.js +2 -2
  352. package/dist/esm/af-accordion.entry.js +2 -2
  353. package/dist/esm/af-aspect-ratio.entry.js +1 -1
  354. package/dist/esm/af-button-group.entry.js +1 -1
  355. package/dist/esm/af-button.entry.js +1 -1
  356. package/dist/esm/af-card.entry.js +2 -2
  357. package/dist/esm/af-center.entry.js +2 -2
  358. package/dist/esm/af-checkbox.entry.js +1 -1
  359. package/dist/esm/af-client-carousel.entry.js +2 -2
  360. package/dist/esm/af-color-swatch.entry.js +1 -1
  361. package/dist/esm/af-contact-item.entry.js +2 -2
  362. package/dist/esm/af-container.entry.js +1 -1
  363. package/dist/esm/af-divider.entry.js +2 -2
  364. package/dist/esm/af-feature-accordion.entry.js +3 -3
  365. package/dist/esm/af-feature-card.entry.js +1 -1
  366. package/dist/esm/af-feature-grid.entry.js +2 -2
  367. package/dist/esm/af-fieldset.entry.js +1 -1
  368. package/dist/esm/af-footer-column.entry.js +2 -2
  369. package/dist/esm/af-footer-link.entry.js +2 -2
  370. package/dist/esm/af-footer.entry.js +2 -2
  371. package/dist/esm/af-grid-callout.entry.js +1 -1
  372. package/dist/esm/af-grid.entry.js +3 -3
  373. package/dist/esm/af-heading_5.entry.js +1 -1
  374. package/dist/esm/af-hero.entry.js +3 -3
  375. package/dist/esm/af-icon-box.entry.js +2 -2
  376. package/dist/esm/af-icon-button.entry.js +1 -1
  377. package/dist/esm/af-icon-text.entry.js +2 -2
  378. package/dist/esm/af-icon.entry.js +1 -1
  379. package/dist/esm/af-illustrated-card.entry.js +2 -2
  380. package/dist/esm/af-image.entry.js +2 -2
  381. package/dist/esm/af-in-page-banner.entry.js +2 -2
  382. package/dist/esm/af-inline.entry.js +2 -2
  383. package/dist/esm/af-input.entry.js +24 -6
  384. package/dist/esm/af-input.entry.js.map +1 -1
  385. package/dist/esm/af-logo-well.entry.js +2 -2
  386. package/dist/esm/af-nav-accordion-item.entry.js +3 -3
  387. package/dist/esm/af-nav-accordion.entry.js +2 -2
  388. package/dist/esm/af-nav-card.entry.js +1 -1
  389. package/dist/esm/af-nav-menu-nest.entry.js +2 -2
  390. package/dist/esm/af-nav-menu.entry.js +2 -2
  391. package/dist/esm/af-number-badge.entry.js +2 -2
  392. package/dist/esm/af-numbered-stepper-item.entry.js +2 -2
  393. package/dist/esm/af-numbered-stepper.entry.js +2 -2
  394. package/dist/esm/af-paperclip-decoration.entry.js +2 -2
  395. package/dist/esm/af-progress-line.entry.js +3 -3
  396. package/dist/esm/af-radio.entry.js +1 -1
  397. package/dist/esm/af-section.entry.js +3 -3
  398. package/dist/esm/af-show.entry.js +2 -2
  399. package/dist/esm/af-social-link.entry.js +2 -2
  400. package/dist/esm/af-spacer.entry.js +2 -2
  401. package/dist/esm/af-split-section.entry.js +3 -3
  402. package/dist/esm/af-stack.entry.js +2 -2
  403. package/dist/esm/af-stat.entry.js +2 -2
  404. package/dist/esm/af-stats-row.entry.js +2 -2
  405. package/dist/esm/af-stepper-step.entry.js +2 -2
  406. package/dist/esm/af-stepper.entry.js +2 -2
  407. package/dist/esm/af-switch.entry.js +1 -1
  408. package/dist/esm/af-tab-bar.entry.js +2 -2
  409. package/dist/esm/af-tab.entry.js +2 -2
  410. package/dist/esm/af-tag.entry.js +3 -3
  411. package/dist/esm/af-testimonial-carousel.entry.js +2 -2
  412. package/dist/esm/af-testimonial-stat.entry.js +2 -2
  413. package/dist/esm/af-testimonial.entry.js +3 -3
  414. package/dist/esm/af-text-image-nest.entry.js +2 -2
  415. package/dist/esm/af-text-image.entry.js +1 -1
  416. package/dist/esm/af-textarea.entry.js +15 -2
  417. package/dist/esm/af-textarea.entry.js.map +1 -1
  418. package/dist/esm/af-theme-override.entry.js +2 -2
  419. package/dist/esm/af-typography-lockup.entry.js +1 -1
  420. package/dist/esm/af-video-container.entry.js +2 -2
  421. package/dist/esm/af-visually-hidden.entry.js +2 -2
  422. package/dist/esm/affinda.js +3 -3
  423. package/dist/esm/{index-C4WBekD2.js → index-CYq0zyKH.js} +647 -9
  424. package/dist/esm/index-CYq0zyKH.js.map +1 -0
  425. package/dist/esm/index.js +1 -1
  426. package/dist/esm/loader.js +3 -3
  427. package/dist/hydrate/index.d.ts +275 -0
  428. package/dist/hydrate/index.js +24911 -0
  429. package/dist/hydrate/index.mjs +24903 -0
  430. package/dist/hydrate/package.json +12 -0
  431. package/dist/types/components/af-input/af-input.d.ts +21 -6
  432. package/dist/types/components/af-textarea/af-textarea.d.ts +9 -0
  433. package/dist/types/components.d.ts +63 -13
  434. package/package.json +21 -1
  435. package/dist/affinda/p-0254b263.entry.js +0 -2
  436. package/dist/affinda/p-27026c90.entry.js +0 -2
  437. package/dist/affinda/p-283a9dec.entry.js +0 -2
  438. package/dist/affinda/p-2d5eb5ac.entry.js +0 -2
  439. package/dist/affinda/p-2d5eb5ac.entry.js.map +0 -1
  440. package/dist/affinda/p-64f24ab4.entry.js +0 -2
  441. package/dist/affinda/p-64f24ab4.entry.js.map +0 -1
  442. package/dist/affinda/p-6df7b689.entry.js +0 -2
  443. package/dist/affinda/p-78941fec.entry.js +0 -2
  444. package/dist/affinda/p-7faa3fb9.entry.js +0 -2
  445. package/dist/affinda/p-972984a9.entry.js +0 -2
  446. package/dist/affinda/p-988fb256.entry.js +0 -2
  447. package/dist/affinda/p-C4WBekD2.js +0 -3
  448. package/dist/affinda/p-C4WBekD2.js.map +0 -1
  449. package/dist/affinda/p-d0fdef08.entry.js +0 -2
  450. package/dist/affinda/p-f76ef563.entry.js +0 -2
  451. package/dist/cjs/index-3161MbMQ.js.map +0 -1
  452. package/dist/components/p-C_y6F4SM.js.map +0 -1
  453. package/dist/components/p-CiY0Twna.js.map +0 -1
  454. package/dist/components/p-DobkLkti.js.map +0 -1
  455. package/dist/esm/index-C4WBekD2.js.map +0 -1
  456. /package/dist/affinda/{p-6de54e73.entry.js.map → p-01b848e9.entry.js.map} +0 -0
  457. /package/dist/affinda/{p-369dfdd8.entry.js.map → p-0c4a59b3.entry.js.map} +0 -0
  458. /package/dist/affinda/{p-5885ebd3.entry.js.map → p-0c7d81d0.entry.js.map} +0 -0
  459. /package/dist/affinda/{p-4f731d31.entry.js.map → p-0cbb1cb2.entry.js.map} +0 -0
  460. /package/dist/affinda/{p-988fb256.entry.js.map → p-11d41c9a.entry.js.map} +0 -0
  461. /package/dist/affinda/{p-d40f8d18.entry.js.map → p-1554f3d7.entry.js.map} +0 -0
  462. /package/dist/affinda/{p-27026c90.entry.js.map → p-1c19e94c.entry.js.map} +0 -0
  463. /package/dist/affinda/{p-3b429a16.entry.js.map → p-1c922fff.entry.js.map} +0 -0
  464. /package/dist/affinda/{p-4f15b8f0.entry.js.map → p-1e59a051.entry.js.map} +0 -0
  465. /package/dist/affinda/{p-7eb0875d.entry.js.map → p-20faf28d.entry.js.map} +0 -0
  466. /package/dist/affinda/{p-cebfc8a9.entry.js.map → p-223b2e70.entry.js.map} +0 -0
  467. /package/dist/affinda/{p-a70ce66f.entry.js.map → p-2315cb6b.entry.js.map} +0 -0
  468. /package/dist/affinda/{p-42c4d7b1.entry.js.map → p-2716cdc4.entry.js.map} +0 -0
  469. /package/dist/affinda/{p-b13c1438.entry.js.map → p-296a6ece.entry.js.map} +0 -0
  470. /package/dist/affinda/{p-09e202d1.entry.js.map → p-2e67fb0d.entry.js.map} +0 -0
  471. /package/dist/affinda/{p-3cd4edd0.entry.js.map → p-319b51c7.entry.js.map} +0 -0
  472. /package/dist/affinda/{p-8a2cbcf0.entry.js.map → p-31d96ddc.entry.js.map} +0 -0
  473. /package/dist/affinda/{p-9dfb5fab.entry.js.map → p-39a40e6a.entry.js.map} +0 -0
  474. /package/dist/affinda/{p-02427605.entry.js.map → p-3df90209.entry.js.map} +0 -0
  475. /package/dist/affinda/{p-dd933272.entry.js.map → p-3fb33478.entry.js.map} +0 -0
  476. /package/dist/affinda/{p-43a0286a.entry.js.map → p-47d2f72b.entry.js.map} +0 -0
  477. /package/dist/affinda/{p-a35ab849.entry.js.map → p-5e966aa6.entry.js.map} +0 -0
  478. /package/dist/affinda/{p-d275fb5d.entry.js.map → p-604399ed.entry.js.map} +0 -0
  479. /package/dist/affinda/{p-17c2999b.entry.js.map → p-653bca57.entry.js.map} +0 -0
  480. /package/dist/affinda/{p-5e01b103.entry.js.map → p-6c4137dc.entry.js.map} +0 -0
  481. /package/dist/affinda/{p-b82fc7f1.entry.js.map → p-761f06ae.entry.js.map} +0 -0
  482. /package/dist/affinda/{p-6949fbdf.entry.js.map → p-764601e6.entry.js.map} +0 -0
  483. /package/dist/affinda/{p-b2a41a48.entry.js.map → p-765883e7.entry.js.map} +0 -0
  484. /package/dist/affinda/{p-4f422489.entry.js.map → p-7b60b684.entry.js.map} +0 -0
  485. /package/dist/affinda/{p-f76ef563.entry.js.map → p-805148d0.entry.js.map} +0 -0
  486. /package/dist/affinda/{p-1aa795c7.entry.js.map → p-8eb57e35.entry.js.map} +0 -0
  487. /package/dist/affinda/{p-606159d2.entry.js.map → p-90e9e29c.entry.js.map} +0 -0
  488. /package/dist/affinda/{p-08a42935.entry.js.map → p-92c61bad.entry.js.map} +0 -0
  489. /package/dist/affinda/{p-646b73fb.entry.js.map → p-94119fa2.entry.js.map} +0 -0
  490. /package/dist/affinda/{p-1efa4787.entry.js.map → p-99b37588.entry.js.map} +0 -0
  491. /package/dist/affinda/{p-8eb60b77.entry.js.map → p-9c470a88.entry.js.map} +0 -0
  492. /package/dist/affinda/{p-6898d4bd.entry.js.map → p-9c8d18a3.entry.js.map} +0 -0
  493. /package/dist/affinda/{p-42c69bc9.entry.js.map → p-9d85f685.entry.js.map} +0 -0
  494. /package/dist/affinda/{p-15eac0d5.entry.js.map → p-aa0cb70d.entry.js.map} +0 -0
  495. /package/dist/affinda/{p-c0f71971.entry.js.map → p-aabe4d24.entry.js.map} +0 -0
  496. /package/dist/affinda/{p-d12d33c8.entry.js.map → p-ae27e9da.entry.js.map} +0 -0
  497. /package/dist/affinda/{p-73de3aa7.entry.js.map → p-bc3d2bb4.entry.js.map} +0 -0
  498. /package/dist/affinda/{p-7640c285.entry.js.map → p-bc59dc0e.entry.js.map} +0 -0
  499. /package/dist/affinda/{p-c2c16447.entry.js.map → p-be71688c.entry.js.map} +0 -0
  500. /package/dist/affinda/{p-d34da6c0.entry.js.map → p-c6aa66f3.entry.js.map} +0 -0
  501. /package/dist/affinda/{p-972984a9.entry.js.map → p-c87e5b29.entry.js.map} +0 -0
  502. /package/dist/affinda/{p-d9ff321b.entry.js.map → p-dd30a9b8.entry.js.map} +0 -0
  503. /package/dist/affinda/{p-df6c7170.entry.js.map → p-e10c03b6.entry.js.map} +0 -0
  504. /package/dist/affinda/{p-f5b4923f.entry.js.map → p-e2667603.entry.js.map} +0 -0
  505. /package/dist/affinda/{p-8fe10b18.entry.js.map → p-e678100f.entry.js.map} +0 -0
  506. /package/dist/affinda/{p-aa9c2609.entry.js.map → p-e8a91b15.entry.js.map} +0 -0
  507. /package/dist/affinda/{p-db7eb209.entry.js.map → p-e9527b93.entry.js.map} +0 -0
  508. /package/dist/affinda/{p-3a7afe33.entry.js.map → p-eb611fb5.entry.js.map} +0 -0
  509. /package/dist/affinda/{p-bdb3e590.entry.js.map → p-edb426e6.entry.js.map} +0 -0
  510. /package/dist/affinda/{p-a326d8f6.entry.js.map → p-f38688c6.entry.js.map} +0 -0
  511. /package/dist/affinda/{p-b69bce30.entry.js.map → p-f47d0d2d.entry.js.map} +0 -0
  512. /package/dist/affinda/{p-283a9dec.entry.js.map → p-f49b41f9.entry.js.map} +0 -0
  513. /package/dist/affinda/{p-4ff626de.entry.js.map → p-f6e1750e.entry.js.map} +0 -0
  514. /package/dist/affinda/{p-62eb01fa.entry.js.map → p-fad2d40b.entry.js.map} +0 -0
  515. /package/dist/affinda/{p-bc1088a7.entry.js.map → p-fc19f53c.entry.js.map} +0 -0
  516. /package/dist/affinda/{p-6df7b689.entry.js.map → p-fd39a1c2.entry.js.map} +0 -0
  517. /package/dist/affinda/{p-4ccc3147.entry.js.map → p-fe09a283.entry.js.map} +0 -0
  518. /package/dist/affinda/{p-91b71a8f.entry.js.map → p-fee9359c.entry.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  import { h, Host } from "@stencil/core";
2
2
  /**
3
3
  * Input field component with label, description, and error states.
4
- * Supports various input types and validation states.
4
+ * Supports single-line and multi-line (textarea) modes via the `multiline` prop.
5
5
  *
6
6
  * @slot label-end - Content to display at the end of the label (e.g., info icon)
7
7
  */
@@ -12,7 +12,8 @@ export class AfInput {
12
12
  */
13
13
  this.value = '';
14
14
  /**
15
- * The input type (text, email, password, number, tel, url, search)
15
+ * The input type (text, email, password, number, tel, url, search).
16
+ * Ignored when `multiline` is true.
16
17
  */
17
18
  this.type = 'text';
18
19
  /**
@@ -32,13 +33,27 @@ export class AfInput {
32
33
  */
33
34
  this.showInfoIcon = false;
34
35
  /**
35
- * Whether to show a search icon in the input
36
+ * Whether to show a search icon in the input. Ignored when `multiline` is true.
36
37
  */
37
38
  this.showSearchIcon = false;
38
39
  /**
39
- * Whether to show a clear button when input has value
40
+ * Whether to show a clear button when input has value. Ignored when `multiline` is true.
40
41
  */
41
42
  this.clearable = false;
43
+ /**
44
+ * Render as a multi-line textarea instead of a single-line input.
45
+ * Activates `rows` and `resize` props; ignores `type`, `pattern`,
46
+ * `autocomplete`, `showSearchIcon`, `clearable`.
47
+ */
48
+ this.multiline = false;
49
+ /**
50
+ * Number of visible rows when `multiline` is true. Ignored otherwise.
51
+ */
52
+ this.rows = 4;
53
+ /**
54
+ * Whether the textarea is resizable. Ignored when `multiline` is false.
55
+ */
56
+ this.resize = 'vertical';
42
57
  this.isFocused = false;
43
58
  this.isHovered = false;
44
59
  this.handleInput = (event) => {
@@ -75,8 +90,10 @@ export class AfInput {
75
90
  render() {
76
91
  const hasError = !!this.error;
77
92
  const hasValue = !!(this.value && this.value.length > 0);
93
+ const multiline = this.multiline;
78
94
  const wrapperClasses = {
79
95
  'input-wrapper': true,
96
+ 'input-wrapper--multiline': multiline,
80
97
  'disabled': this.disabled,
81
98
  'error': hasError,
82
99
  'focused': this.isFocused,
@@ -85,12 +102,13 @@ export class AfInput {
85
102
  };
86
103
  const inputContainerClasses = {
87
104
  'input-container': true,
105
+ 'input-container--multiline': multiline,
88
106
  'disabled': this.disabled,
89
107
  'error': hasError,
90
108
  'focused': this.isFocused,
91
109
  'hovered': this.isHovered && !this.disabled && !this.isFocused
92
110
  };
93
- return (h(Host, { key: '5bf8980e12ad5fc3b8b84df3acc749bddf61042d' }, h("div", { key: 'd0266eca85871397ed73381ca3d36f3dc2dd79ce', class: wrapperClasses }, this.label && (h("div", { key: 'f9fc2fe3f52a1f9be1404943d91489357ea941dc', class: "label-row" }, h("label", { key: '76283a7f0c9be127aa8c9115fcbc26b2d67d51cc', class: "label", htmlFor: "input" }, this.label, this.required && h("span", { key: '6b0de23e857abfdd25d6eefaa6ff22f22fa813dd', class: "required" }, "*")), this.showInfoIcon && (h("button", { key: '7c5f7a47a8357301f3fe28d6078bdec3ec1160c3', type: "button", class: "info-icon", onClick: this.handleInfoClick, "aria-label": "More information" }, h("svg", { key: '655c9448589937c2047a58962f78ab1872e0da84', viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '5066c29389ac8f9e1e27771f43a98f75f9b03634', 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: '1993da070066d33575618267d6af5b13b641143b', d: "M12 16V12", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: 'dd99ac12d4a23b98c98fca1df34916968276fc0e', d: "M12 8H12.01", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("slot", { key: 'b406de5a455af79a69497c6a641b5c41347ee1ab', name: "label-end" }))), this.description && (h("p", { key: '0dcebb186df7055efb168f96ad4199e2f614a87c', class: "description" }, this.description)), h("div", { key: '754b8a3e67d5807d7d484d475d31913dee8004f4', class: inputContainerClasses, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave }, this.showSearchIcon && (h("span", { key: '5757962a3479a6cd1f12bd1da183919af69ad9f4', class: "search-icon" }, h("svg", { key: '4106175e5b41e4c978b38eda6db36799a6a6f762', viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '1d54b9a8c682c9049e97b28143f0dcd90e068dee', d: "M11 19C15.4183 19 19 15.4183 19 11C19 6.58172 15.4183 3 11 3C6.58172 3 3 6.58172 3 11C3 15.4183 6.58172 19 11 19Z", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: 'd3ed0187abde8c14eae462612c918e10cb46916d', d: "M21 21L16.65 16.65", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("input", { key: 'fb7a551d44282686732b78865bab8720c5e08830', ref: (el) => this.inputEl = el ?? undefined, id: "input", class: "input", type: this.type, name: this.name, value: this.value, placeholder: this.placeholder, disabled: this.disabled, required: this.required, readonly: this.readonly, autocomplete: this.autocomplete, maxlength: this.maxlength, minlength: this.minlength, pattern: this.pattern, "aria-invalid": hasError ? 'true' : undefined, "aria-describedby": hasError ? 'error-message' : this.description ? 'description' : undefined, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur }), this.clearable && hasValue && !this.disabled && !this.readonly && (h("button", { key: '6ad41a3ee4ffdbeefa11e45754a22143b33405e5', type: "button", class: "clear-button", onClick: this.handleClear, "aria-label": "Clear input" }, h("svg", { key: '129f73660030e81ff17071fae51bb34af23eca57', viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '78d4c71521ac7daced7023c5bcfb2bfccf593fab', d: "M18 6L6 18", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: '4eb85452029e8347dd648dcc849fa000b41b7fea', d: "M6 6L18 18", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }))))), hasError && (h("div", { key: 'cc3b6083e88bb99ec17edffbf95ec89e2bb27e97', class: "error-row", id: "error-message" }, h("span", { key: 'fe264a854aaebe481a6913275859ca57b1d61d0d', class: "error-icon" }, h("svg", { key: '1159f77b184d1888c5c5ebe6138070c66abb66e6', viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '59975a202086127c2548843e842d33895d6ba1ff', 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: '11c79f296c1dce73beebd67eeefe3d71b17ee191', d: "M12 16V12", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: '9f146c96a38b14afb1919cf480224ee520ac16b0', d: "M12 8H12.01", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }))), h("span", { key: '2d326d0d72727dca4c4839fb5279323e556fbe04', class: "error-text" }, this.error))))));
111
+ return (h(Host, { key: '55cf204d355367913c765891190048599a46653e' }, h("div", { key: '8f72840a7a6fa8615e535f171f5297fb5d0cdfe5', class: wrapperClasses }, this.label && (h("div", { key: '06711c6031da07fca88bd438db7fb80acc12df71', class: "label-row" }, h("label", { key: '1db607ff65a624aa2520bdfbc2063c0f6587b00c', class: "label", htmlFor: "input" }, this.label, this.required && h("span", { key: 'd2ffc85aafb99e5fc7723993354a23fd99f04ac6', class: "required" }, "*")), this.showInfoIcon && (h("button", { key: '1adcddb4121582d35eff611d8299ff4ed6d0cc24', type: "button", class: "info-icon", onClick: this.handleInfoClick, "aria-label": "More information" }, h("svg", { key: 'e1abef80244c616ba98f89d23f9a4b6b2e4d97e1', viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: 'fedd67859d45345298c7e6e4a67e1e98ac4a9178', 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: '076a1ff76cc8b5287dd29df42d6b629d34ae739e', d: "M12 16V12", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: '640f19dd94e31f1090704ccc534b3917cc70a905', d: "M12 8H12.01", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("slot", { key: 'e3b42a60ad6b2378ab6593e239208b847d20c8ad', name: "label-end" }))), this.description && (h("p", { key: '8bf359cd53f562bedbe29f54004d5a974398db7b', class: "description" }, this.description)), h("div", { key: 'eb5a21523188828d60713cc772a477fa2a22a3a3', class: inputContainerClasses, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave }, !multiline && this.showSearchIcon && (h("span", { key: 'ed8945ddd4601e3d2ef84f2644a7ab567156157a', class: "search-icon" }, h("svg", { key: '2684f4233757a74cb55abfb1e62481e5848a5fbc', viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: 'f6855623658e5ea149421b37f039967e6622c955', d: "M11 19C15.4183 19 19 15.4183 19 11C19 6.58172 15.4183 3 11 3C6.58172 3 3 6.58172 3 11C3 15.4183 6.58172 19 11 19Z", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: 'db81f64ac649e9f41bfdb47a287d3e671951f171', d: "M21 21L16.65 16.65", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" })))), multiline ? (h("textarea", { ref: (el) => this.inputEl = el ?? undefined, id: "input", class: "input input--multiline", 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 })) : (h("input", { ref: (el) => this.inputEl = el ?? undefined, id: "input", class: "input", type: this.type, name: this.name, value: this.value, placeholder: this.placeholder, disabled: this.disabled, required: this.required, readonly: this.readonly, autocomplete: this.autocomplete, maxlength: this.maxlength, minlength: this.minlength, pattern: this.pattern, "aria-invalid": hasError ? 'true' : undefined, "aria-describedby": hasError ? 'error-message' : this.description ? 'description' : undefined, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur })), !multiline && this.clearable && hasValue && !this.disabled && !this.readonly && (h("button", { key: 'ed7c9c3753fd291aa1105c2f30e00a2b2868efed', type: "button", class: "clear-button", onClick: this.handleClear, "aria-label": "Clear input" }, h("svg", { key: '0615828eb7d27c6cf45fa7f91b25a14dd97fe972', viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '6a60d954427656fcc01940dd861c37bd214570d0', d: "M18 6L6 18", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: '9471a7899c62b9fbce7ceafc4986b29c0000f26f', d: "M6 6L18 18", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }))))), hasError && (h("div", { key: '1972022a3ca5a7f366a83cf35e2eecb4b812bd29', class: "error-row", id: "error-message" }, h("span", { key: '450e80c8d42914048eb114a222d9db8e9b94d3fa', class: "error-icon" }, h("svg", { key: '57eeb2884b16a9adf5fe0744814d00465da436e1', viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '9e25cb82f47c915b4c4afa0283a143c9221b465c', 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: 'faf252192e9a4706c5ed363ba240a0cb1ddf6770', d: "M12 16V12", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: '4eda8b2840b7bf70919460ffe46e54d702ec3191', d: "M12 8H12.01", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }))), h("span", { key: 'a22e99093a097f8c7be12c8aa4a1b65a87484eb3', class: "error-text" }, this.error))))));
94
112
  }
95
113
  static get is() { return "af-input"; }
96
114
  static get encapsulation() { return "shadow"; }
@@ -195,7 +213,7 @@ export class AfInput {
195
213
  "optional": false,
196
214
  "docs": {
197
215
  "tags": [],
198
- "text": "The input type (text, email, password, number, tel, url, search)"
216
+ "text": "The input type (text, email, password, number, tel, url, search).\nIgnored when `multiline` is true."
199
217
  },
200
218
  "getter": false,
201
219
  "setter": false,
@@ -333,7 +351,7 @@ export class AfInput {
333
351
  "optional": false,
334
352
  "docs": {
335
353
  "tags": [],
336
- "text": "Whether to show a search icon in the input"
354
+ "text": "Whether to show a search icon in the input. Ignored when `multiline` is true."
337
355
  },
338
356
  "getter": false,
339
357
  "setter": false,
@@ -353,7 +371,7 @@ export class AfInput {
353
371
  "optional": false,
354
372
  "docs": {
355
373
  "tags": [],
356
- "text": "Whether to show a clear button when input has value"
374
+ "text": "Whether to show a clear button when input has value. Ignored when `multiline` is true."
357
375
  },
358
376
  "getter": false,
359
377
  "setter": false,
@@ -430,12 +448,72 @@ export class AfInput {
430
448
  "optional": true,
431
449
  "docs": {
432
450
  "tags": [],
433
- "text": "Pattern for input validation (regex)"
451
+ "text": "Pattern for input validation (regex). Ignored when `multiline` is true."
434
452
  },
435
453
  "getter": false,
436
454
  "setter": false,
437
455
  "reflect": false,
438
456
  "attribute": "pattern"
457
+ },
458
+ "multiline": {
459
+ "type": "boolean",
460
+ "mutable": false,
461
+ "complexType": {
462
+ "original": "boolean",
463
+ "resolved": "boolean",
464
+ "references": {}
465
+ },
466
+ "required": false,
467
+ "optional": false,
468
+ "docs": {
469
+ "tags": [],
470
+ "text": "Render as a multi-line textarea instead of a single-line input.\nActivates `rows` and `resize` props; ignores `type`, `pattern`,\n`autocomplete`, `showSearchIcon`, `clearable`."
471
+ },
472
+ "getter": false,
473
+ "setter": false,
474
+ "reflect": false,
475
+ "attribute": "multiline",
476
+ "defaultValue": "false"
477
+ },
478
+ "rows": {
479
+ "type": "number",
480
+ "mutable": false,
481
+ "complexType": {
482
+ "original": "number",
483
+ "resolved": "number",
484
+ "references": {}
485
+ },
486
+ "required": false,
487
+ "optional": false,
488
+ "docs": {
489
+ "tags": [],
490
+ "text": "Number of visible rows when `multiline` is true. Ignored otherwise."
491
+ },
492
+ "getter": false,
493
+ "setter": false,
494
+ "reflect": false,
495
+ "attribute": "rows",
496
+ "defaultValue": "4"
497
+ },
498
+ "resize": {
499
+ "type": "string",
500
+ "mutable": false,
501
+ "complexType": {
502
+ "original": "'none' | 'vertical' | 'horizontal' | 'both'",
503
+ "resolved": "\"both\" | \"horizontal\" | \"none\" | \"vertical\"",
504
+ "references": {}
505
+ },
506
+ "required": false,
507
+ "optional": false,
508
+ "docs": {
509
+ "tags": [],
510
+ "text": "Whether the textarea is resizable. Ignored when `multiline` is false."
511
+ },
512
+ "getter": false,
513
+ "setter": false,
514
+ "reflect": false,
515
+ "attribute": "resize",
516
+ "defaultValue": "'vertical'"
439
517
  }
440
518
  };
441
519
  }
@@ -499,7 +577,7 @@ export class AfInput {
499
577
  "composed": true,
500
578
  "docs": {
501
579
  "tags": [],
502
- "text": "Emitted when the clear button is clicked"
580
+ "text": "Emitted when the clear button is clicked. Only fires in single-line mode."
503
581
  },
504
582
  "complexType": {
505
583
  "original": "void",
@@ -1 +1 @@
1
- {"version":3,"file":"af-input.js","sourceRoot":"","sources":["../../../src/components/af-input/af-input.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, Host, Event, EventEmitter, State } from '@stencil/core';\n\n/**\n * Input field component with label, description, and error states.\n * Supports various input types and validation states.\n * \n * @slot label-end - Content to display at the end of the label (e.g., info icon)\n */\n@Component({\n tag: 'af-input',\n styleUrl: 'af-input.css',\n shadow: true\n})\nexport class AfInput {\n /**\n * The label text for the input field\n */\n @Prop() label?: string;\n\n /**\n * Description text displayed below the label\n */\n @Prop() description?: string;\n\n /**\n * Placeholder text for the input\n */\n @Prop() placeholder?: string;\n\n /**\n * The current value of the input\n */\n @Prop({ mutable: true }) value: string = '';\n\n /**\n * The input type (text, email, password, number, tel, url, search)\n */\n @Prop() type: 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search' = 'text';\n\n /**\n * The name of the input for form submission\n */\n @Prop() name?: string;\n\n /**\n * Whether the input is disabled\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Whether the input is required\n */\n @Prop() required: boolean = false;\n\n /**\n * Whether the input is read-only\n */\n @Prop() readonly: boolean = false;\n\n /**\n * Error message to display (also sets error state)\n */\n @Prop() error?: string;\n\n /**\n * Whether to show the info icon next to the label\n */\n @Prop() showInfoIcon: boolean = false;\n\n /**\n * Whether to show a search icon in the input\n */\n @Prop() showSearchIcon: boolean = false;\n\n /**\n * Whether to show a clear button when input has value\n */\n @Prop() clearable: boolean = false;\n\n /**\n * Autocomplete attribute for the input\n */\n @Prop() autocomplete?: string;\n\n /**\n * Maximum length of input value\n */\n @Prop() maxlength?: number;\n\n /**\n * Minimum length of input value\n */\n @Prop() minlength?: number;\n\n /**\n * Pattern for input validation (regex)\n */\n @Prop() pattern?: string;\n\n /**\n * Emitted when the input value changes\n */\n @Event() afInput!: EventEmitter<{ value: string }>;\n\n /**\n * Emitted when the input loses focus\n */\n @Event() afBlur!: EventEmitter<void>;\n\n /**\n * Emitted when the input gains focus\n */\n @Event() afFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the clear button is clicked\n */\n @Event() afClear!: EventEmitter<void>;\n\n /**\n * Emitted when the info icon is clicked\n */\n @Event() afInfoClick!: EventEmitter<void>;\n\n @State() private isFocused: boolean = false;\n @State() private isHovered: boolean = false;\n\n private inputEl?: HTMLInputElement;\n\n private handleInput = (event: Event) => {\n const target = event.target as HTMLInputElement;\n this.value = target.value;\n this.afInput.emit({ value: this.value });\n };\n\n private handleFocus = () => {\n this.isFocused = true;\n this.afFocus.emit();\n };\n\n private handleBlur = () => {\n this.isFocused = false;\n this.afBlur.emit();\n };\n\n private handleMouseEnter = () => {\n this.isHovered = true;\n };\n\n private handleMouseLeave = () => {\n this.isHovered = false;\n };\n\n private handleClear = () => {\n this.value = '';\n this.afClear.emit();\n this.afInput.emit({ value: '' });\n this.inputEl?.focus();\n };\n\n private handleInfoClick = (event: MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n this.afInfoClick.emit();\n };\n\n render() {\n const hasError = !!this.error;\n const hasValue = !!(this.value && this.value.length > 0);\n\n const wrapperClasses = {\n 'input-wrapper': true,\n 'disabled': this.disabled,\n 'error': hasError,\n 'focused': this.isFocused,\n 'hovered': this.isHovered && !this.disabled && !this.isFocused,\n 'populated': hasValue\n };\n\n const inputContainerClasses = {\n 'input-container': true,\n 'disabled': this.disabled,\n 'error': hasError,\n 'focused': this.isFocused,\n 'hovered': this.isHovered && !this.disabled && !this.isFocused\n };\n\n return (\n <Host>\n <div class={wrapperClasses}>\n {/* Label */}\n {this.label && (\n <div class=\"label-row\">\n <label class=\"label\" htmlFor=\"input\">\n {this.label}\n {this.required && <span class=\"required\">*</span>}\n </label>\n {this.showInfoIcon && (\n <button \n type=\"button\" \n class=\"info-icon\" \n onClick={this.handleInfoClick}\n aria-label=\"More information\"\n >\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12 16V12\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12 8H12.01\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n )}\n <slot name=\"label-end\"></slot>\n </div>\n )}\n\n {/* Description */}\n {this.description && (\n <p class=\"description\">{this.description}</p>\n )}\n\n {/* Input container */}\n <div \n class={inputContainerClasses}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n {/* Search icon */}\n {this.showSearchIcon && (\n <span class=\"search-icon\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M11 19C15.4183 19 19 15.4183 19 11C19 6.58172 15.4183 3 11 3C6.58172 3 3 6.58172 3 11C3 15.4183 6.58172 19 11 19Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M21 21L16.65 16.65\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </span>\n )}\n\n {/* Native input */}\n <input\n ref={(el) => this.inputEl = el ?? undefined}\n id=\"input\"\n class=\"input\"\n type={this.type}\n name={this.name}\n value={this.value}\n placeholder={this.placeholder}\n disabled={this.disabled}\n required={this.required}\n readonly={this.readonly}\n autocomplete={this.autocomplete}\n maxlength={this.maxlength}\n minlength={this.minlength}\n pattern={this.pattern}\n aria-invalid={hasError ? 'true' : undefined}\n aria-describedby={hasError ? 'error-message' : this.description ? 'description' : undefined}\n onInput={this.handleInput}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n />\n\n {/* Clear button */}\n {this.clearable && hasValue && !this.disabled && !this.readonly && (\n <button \n type=\"button\" \n class=\"clear-button\" \n onClick={this.handleClear}\n aria-label=\"Clear input\"\n >\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M18 6L6 18\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M6 6L18 18\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n )}\n </div>\n\n {/* Error message */}\n {hasError && (\n <div class=\"error-row\" id=\"error-message\">\n <span class=\"error-icon\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12 16V12\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12 8H12.01\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </span>\n <span class=\"error-text\">{this.error}</span>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n\n"]}
1
+ {"version":3,"file":"af-input.js","sourceRoot":"","sources":["../../../src/components/af-input/af-input.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, Host, Event, EventEmitter, State } from '@stencil/core';\n\n/**\n * Input field component with label, description, and error states.\n * Supports single-line and multi-line (textarea) modes via the `multiline` prop.\n *\n * @slot label-end - Content to display at the end of the label (e.g., info icon)\n */\n@Component({\n tag: 'af-input',\n styleUrl: 'af-input.css',\n shadow: true\n})\nexport class AfInput {\n /**\n * The label text for the input field\n */\n @Prop() label?: string;\n\n /**\n * Description text displayed below the label\n */\n @Prop() description?: string;\n\n /**\n * Placeholder text for the input\n */\n @Prop() placeholder?: string;\n\n /**\n * The current value of the input\n */\n @Prop({ mutable: true }) value: string = '';\n\n /**\n * The input type (text, email, password, number, tel, url, search).\n * Ignored when `multiline` is true.\n */\n @Prop() type: 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search' = 'text';\n\n /**\n * The name of the input for form submission\n */\n @Prop() name?: string;\n\n /**\n * Whether the input is disabled\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Whether the input is required\n */\n @Prop() required: boolean = false;\n\n /**\n * Whether the input is read-only\n */\n @Prop() readonly: boolean = false;\n\n /**\n * Error message to display (also sets error state)\n */\n @Prop() error?: string;\n\n /**\n * Whether to show the info icon next to the label\n */\n @Prop() showInfoIcon: boolean = false;\n\n /**\n * Whether to show a search icon in the input. Ignored when `multiline` is true.\n */\n @Prop() showSearchIcon: boolean = false;\n\n /**\n * Whether to show a clear button when input has value. Ignored when `multiline` is true.\n */\n @Prop() clearable: boolean = false;\n\n /**\n * Autocomplete attribute for the input\n */\n @Prop() autocomplete?: string;\n\n /**\n * Maximum length of input value\n */\n @Prop() maxlength?: number;\n\n /**\n * Minimum length of input value\n */\n @Prop() minlength?: number;\n\n /**\n * Pattern for input validation (regex). Ignored when `multiline` is true.\n */\n @Prop() pattern?: string;\n\n /**\n * Render as a multi-line textarea instead of a single-line input.\n * Activates `rows` and `resize` props; ignores `type`, `pattern`,\n * `autocomplete`, `showSearchIcon`, `clearable`.\n */\n @Prop() multiline: boolean = false;\n\n /**\n * Number of visible rows when `multiline` is true. Ignored otherwise.\n */\n @Prop() rows: number = 4;\n\n /**\n * Whether the textarea is resizable. Ignored when `multiline` is false.\n */\n @Prop() resize: 'none' | 'vertical' | 'horizontal' | 'both' = 'vertical';\n\n /**\n * Emitted when the input value changes\n */\n @Event() afInput!: EventEmitter<{ value: string }>;\n\n /**\n * Emitted when the input loses focus\n */\n @Event() afBlur!: EventEmitter<void>;\n\n /**\n * Emitted when the input gains focus\n */\n @Event() afFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the clear button is clicked. Only fires in single-line mode.\n */\n @Event() afClear!: EventEmitter<void>;\n\n /**\n * Emitted when the info icon is clicked\n */\n @Event() afInfoClick!: EventEmitter<void>;\n\n @State() private isFocused: boolean = false;\n @State() private isHovered: boolean = false;\n\n private inputEl?: HTMLInputElement | HTMLTextAreaElement;\n\n private handleInput = (event: Event) => {\n const target = event.target as HTMLInputElement | 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 handleClear = () => {\n this.value = '';\n this.afClear.emit();\n this.afInput.emit({ value: '' });\n this.inputEl?.focus();\n };\n\n private handleInfoClick = (event: MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n this.afInfoClick.emit();\n };\n\n render() {\n const hasError = !!this.error;\n const hasValue = !!(this.value && this.value.length > 0);\n const multiline = this.multiline;\n\n const wrapperClasses = {\n 'input-wrapper': true,\n 'input-wrapper--multiline': multiline,\n 'disabled': this.disabled,\n 'error': hasError,\n 'focused': this.isFocused,\n 'hovered': this.isHovered && !this.disabled && !this.isFocused,\n 'populated': hasValue\n };\n\n const inputContainerClasses = {\n 'input-container': true,\n 'input-container--multiline': multiline,\n 'disabled': this.disabled,\n 'error': hasError,\n 'focused': this.isFocused,\n 'hovered': this.isHovered && !this.disabled && !this.isFocused\n };\n\n return (\n <Host>\n <div class={wrapperClasses}>\n {/* Label */}\n {this.label && (\n <div class=\"label-row\">\n <label class=\"label\" htmlFor=\"input\">\n {this.label}\n {this.required && <span class=\"required\">*</span>}\n </label>\n {this.showInfoIcon && (\n <button\n type=\"button\"\n class=\"info-icon\"\n onClick={this.handleInfoClick}\n aria-label=\"More information\"\n >\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12 16V12\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12 8H12.01\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n )}\n <slot name=\"label-end\"></slot>\n </div>\n )}\n\n {/* Description */}\n {this.description && (\n <p class=\"description\">{this.description}</p>\n )}\n\n {/* Input container */}\n <div\n class={inputContainerClasses}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n {/* Search icon (single-line only) */}\n {!multiline && this.showSearchIcon && (\n <span class=\"search-icon\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M11 19C15.4183 19 19 15.4183 19 11C19 6.58172 15.4183 3 11 3C6.58172 3 3 6.58172 3 11C3 15.4183 6.58172 19 11 19Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M21 21L16.65 16.65\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </span>\n )}\n\n {/* Native input or textarea */}\n {multiline ? (\n <textarea\n ref={(el) => this.inputEl = el ?? undefined}\n id=\"input\"\n class=\"input input--multiline\"\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 ) : (\n <input\n ref={(el) => this.inputEl = el ?? undefined}\n id=\"input\"\n class=\"input\"\n type={this.type}\n name={this.name}\n value={this.value}\n placeholder={this.placeholder}\n disabled={this.disabled}\n required={this.required}\n readonly={this.readonly}\n autocomplete={this.autocomplete}\n maxlength={this.maxlength}\n minlength={this.minlength}\n pattern={this.pattern}\n aria-invalid={hasError ? 'true' : undefined}\n aria-describedby={hasError ? 'error-message' : this.description ? 'description' : undefined}\n onInput={this.handleInput}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n />\n )}\n\n {/* Clear button (single-line only) */}\n {!multiline && this.clearable && hasValue && !this.disabled && !this.readonly && (\n <button\n type=\"button\"\n class=\"clear-button\"\n onClick={this.handleClear}\n aria-label=\"Clear input\"\n >\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M18 6L6 18\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M6 6L18 18\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n )}\n </div>\n\n {/* Error message */}\n {hasError && (\n <div class=\"error-row\" id=\"error-message\">\n <span class=\"error-icon\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12 16V12\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12 8H12.01\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </span>\n <span class=\"error-text\">{this.error}</span>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n\n"]}
@@ -4,7 +4,7 @@ import { h, Host } from "@stencil/core";
4
4
  */
5
5
  export class AfLogoWell {
6
6
  render() {
7
- return (h(Host, { key: '3dce73db40979d85f0ec5f467baf049e3582d8e2' }, h("div", { key: '7c788d3abb3ad7b1f6835d4561c3389dda007ffa', class: "logo-well" }, h("slot", { key: 'fa27e27c2c6204256582143b8dd00c8de5f73501' }))));
7
+ return (h(Host, { key: '89f971eecc9e4a0656c6a6865c2653e64bbdd7bb' }, h("div", { key: 'a4ac54bd1649f010caa095b2ea1f8e7ea8b24a02', class: "logo-well" }, h("slot", { key: '11cf1c916f2b056c6ee575351263d83778529146' }))));
8
8
  }
9
9
  static get is() { return "af-logo-well"; }
10
10
  static get encapsulation() { return "shadow"; }
@@ -71,7 +71,7 @@ export class AfNavAccordion {
71
71
  this.syncItems();
72
72
  }
73
73
  render() {
74
- return (h(Host, { key: 'e60e0f40da03dce1a766a880f1f3649dd957b63e', class: { [`breakpoint-${this.breakpoint}`]: true, [`mode-${this.mode}`]: true } }, h("div", { key: 'e80e79b012c3060a9fdfcec22af050eb5d063648', class: "nav-accordion" }, h("slot", { key: '234d41321e32046d3d439a93a544c0325b0a02a8' }))));
74
+ return (h(Host, { key: '111706b5210510f44864d0dd8f5d2fe1901839da', class: { [`breakpoint-${this.breakpoint}`]: true, [`mode-${this.mode}`]: true } }, h("div", { key: 'e21f1a8ae3edf2c8aa08385240a536c69cf0da6e', class: "nav-accordion" }, h("slot", { key: 'c452fa149aec51c88dbaef3e59de7e28c4f89de3' }))));
75
75
  }
76
76
  static get is() { return "af-nav-accordion"; }
77
77
  static get encapsulation() { return "scoped"; }
@@ -84,11 +84,11 @@ export class AfNavAccordionItem {
84
84
  // sub-content to expand. A plain href item with no children is a
85
85
  // direct link and shouldn't show a disclosure affordance.
86
86
  const hasDropdownContent = this.hasContent;
87
- return (h(Host, { key: '4027092e406bd448da8d84941b626a5416d7974f', class: {
87
+ return (h(Host, { key: 'bcdd77ad3dea306e2c1b9b8481d3e00a8cd8cc72', class: {
88
88
  'is-open': this.open,
89
89
  'is-disabled': this.disabled,
90
90
  [`breakpoint-${this.breakpoint}`]: true
91
- } }, h("div", { key: '5ed6f75516a8b2a82c9231568beef6b8d5257318', class: "nav-accordion-item" }, this.href ? (h("a", { href: this.href, class: "trigger", "aria-expanded": this.open ? 'true' : 'false', "aria-controls": `content-${this.itemId}` }, h("div", { class: "trigger-content" }, h("slot", { name: "trigger", onSlotchange: this.handleSlotChange }, h("span", { class: "label" }, this.label))), hasDropdownContent && (h("button", { class: "chevron-button", onClick: (e) => { e.preventDefault(); e.stopPropagation(); this.toggle(); }, "aria-label": this.open ? 'Collapse' : 'Expand', type: "button" }, h("div", { class: { 'chevron': true, 'is-open': this.open } }, h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { d: "M6 9l6 6 6-6", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))))))) : (h("button", { class: "trigger", onClick: this.handleTriggerClick, onKeyDown: this.handleKeyDown, "aria-expanded": this.open ? 'true' : 'false', "aria-controls": `content-${this.itemId}`, disabled: this.disabled, type: "button" }, h("div", { class: "trigger-content" }, h("slot", { name: "trigger", onSlotchange: this.handleSlotChange }, h("span", { class: "label" }, this.label))), hasDropdownContent && (h("div", { class: { 'chevron': true, 'is-open': this.open } }, h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { d: "M6 9l6 6 6-6", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))))), h("div", { key: '158bd9902b4f77655cccfb8571802fd4853abbcc', id: `content-${this.itemId}`, class: "content-wrapper", style: contentStyle, "aria-hidden": !this.open ? 'true' : 'false' }, h("div", { key: 'a3a4a2214fb02312d2ed90772afc83f5799f01dc', class: "content", ref: (el) => (this.contentRef = el) }, h("slot", { key: '834d9fc168ca9e17bcfa2dc9cd117e51e331344e' }))))));
91
+ } }, h("div", { key: 'b82a343372689e06aff2ec3eb2b9b2b0ba02c14d', class: "nav-accordion-item" }, this.href ? (h("a", { href: this.href, class: "trigger", "aria-expanded": this.open ? 'true' : 'false', "aria-controls": `content-${this.itemId}` }, h("div", { class: "trigger-content" }, h("slot", { name: "trigger", onSlotchange: this.handleSlotChange }, h("span", { class: "label" }, this.label))), hasDropdownContent && (h("button", { class: "chevron-button", onClick: (e) => { e.preventDefault(); e.stopPropagation(); this.toggle(); }, "aria-label": this.open ? 'Collapse' : 'Expand', type: "button" }, h("div", { class: { 'chevron': true, 'is-open': this.open } }, h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { d: "M6 9l6 6 6-6", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))))))) : (h("button", { class: "trigger", onClick: this.handleTriggerClick, onKeyDown: this.handleKeyDown, "aria-expanded": this.open ? 'true' : 'false', "aria-controls": `content-${this.itemId}`, disabled: this.disabled, type: "button" }, h("div", { class: "trigger-content" }, h("slot", { name: "trigger", onSlotchange: this.handleSlotChange }, h("span", { class: "label" }, this.label))), hasDropdownContent && (h("div", { class: { 'chevron': true, 'is-open': this.open } }, h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { d: "M6 9l6 6 6-6", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))))), h("div", { key: '880a15014002f905a4c1c1e20dc5516022b9aee1', id: `content-${this.itemId}`, class: "content-wrapper", style: contentStyle, "aria-hidden": !this.open ? 'true' : 'false' }, h("div", { key: 'e47b8972907ad32e3fee37f030f1d86c17ac30bc', class: "content", ref: (el) => (this.contentRef = el) }, h("slot", { key: '1def93a51457196a6a023ab32905b8eaa7590c05' }))))));
92
92
  }
93
93
  static get is() { return "af-nav-accordion-item"; }
94
94
  static get encapsulation() { return "scoped"; }
@@ -30,7 +30,7 @@ export class AfNavMenu {
30
30
  'has-border': this.showBorder,
31
31
  'card-style': this.cardStyle
32
32
  };
33
- return (h(Host, { key: 'b77aa8f55e2148e3a21dea9009ccc9f345ad5da1' }, h("div", { key: '0ef8c2202f6ba4925bf16a2e448dec67f65b1bd6', class: classes }, this.heading && (h("div", { key: '6164df7a1a6efe8afb57860d20175fa5ecabf39c', class: "menu-header" }, h("h3", { key: 'a517c7e3039424974c111dc8bf085b9bb57ce833', class: "menu-heading" }, this.heading))), h("div", { key: '18389d1f29886f2d832744bf1cadc449c8e96948', class: "menu-items" }, h("slot", { key: '40c5ffc54a5c1eedd8e07fbecd040070f1b16d97' })))));
33
+ return (h(Host, { key: '3245ae98bb4b1ab013d36630802bb1cdece57675' }, h("div", { key: 'e84dcdc45b92f928ee7b8dd2328a2b7276a2e02a', class: classes }, this.heading && (h("div", { key: 'd42c91176b53b5d0375cb29d489b722dcd3c8e74', class: "menu-header" }, h("h3", { key: 'b2cf5d6cb682db6f68c9a45045fb060710097137', class: "menu-heading" }, this.heading))), h("div", { key: '89e7aef886d60d2ce3d8b82cd1b2c588d4894be8', class: "menu-items" }, h("slot", { key: '29d596f664fdfc83fc40c17686751f1b893bce26' })))));
34
34
  }
35
35
  static get is() { return "af-nav-menu"; }
36
36
  static get encapsulation() { return "scoped"; }
@@ -48,7 +48,7 @@ export class AfNavMenuNest {
48
48
  [`type-${this.type}`]: true,
49
49
  [`breakpoint-${this.breakpoint}`]: true
50
50
  };
51
- return (h(Host, { key: '90fbee205d076ffd9884122101a2f337088d6cd6' }, h("div", { key: '49e9b2290833f5200119d2cac7d4381e74eddbec', class: classes }, h("div", { key: '148790bd4481d662149913a6b53e248c4ff49f95', class: "menu-columns" }, h("slot", { key: '7790aa268c060cc8253bab3dc08c9de0819eb39a' })), h("div", { key: '393ed046ddcd717e4d1dd8a2e9df0332f1612238', class: "menu-sidebar" }, h("slot", { key: 'cb61c9744b070aaf2bcbbbf2b402664e41e2866c', name: "sidebar" })))));
51
+ return (h(Host, { key: 'b0eb2c4904916a16b2b6ec6d612337fed3c05e12' }, h("div", { key: 'dd1836b1c6ee6f75555989334a35e2a41d9bacab', class: classes }, h("div", { key: '4e3ae3951e9969d21a5e18a0489a33631bb1e8f2', class: "menu-columns" }, h("slot", { key: '64c660d4a5b35dda06b0ff0ca21c0e24014ceef2' })), h("div", { key: '7418a543431a9fd0fbbf95b1e3b5e862d5ac3917', class: "menu-sidebar" }, h("slot", { key: 'd36bb4016c86d9258a70ddbb46232264bdb156e4', name: "sidebar" })))));
52
52
  }
53
53
  static get is() { return "af-nav-menu-nest"; }
54
54
  static get encapsulation() { return "scoped"; }
@@ -34,7 +34,7 @@ export class AfNumberBadge {
34
34
  height: `${this.size}px`,
35
35
  fontSize: `${fontSize}px`,
36
36
  };
37
- return (h(Host, { key: '6d275b5b5e029c0d34508dca9cd674cfcc686130', role: "img", "aria-label": `Number ${this.number}${isInCircle ? ' badge' : ''}` }, h("span", { key: 'd158b8c0139ac46b892170859ae0d0c43ec2eb9a', class: {
37
+ return (h(Host, { key: 'e38ee2826f507669b252c5aac8b02c9f0040d97e', role: "img", "aria-label": `Number ${this.number}${isInCircle ? ' badge' : ''}` }, h("span", { key: '49d9df033be715ce38e87b32a8fec3b2d9596675', class: {
38
38
  'badge': true,
39
39
  [`variant-${this.variant}`]: true,
40
40
  }, style: badgeStyle }, this.number)));
@@ -49,7 +49,7 @@ export class AfNumberedStepper {
49
49
  });
50
50
  }
51
51
  render() {
52
- return (h(Host, { key: '018229242bb7fbcd74c312683b4a6ce4e7337894', class: `numbered-stepper numbered-stepper--${this.orientation}`, role: "list" }, h("slot", { key: '3fae9bbb5bc403d2f55bd4076c1794163e9631e2' })));
52
+ return (h(Host, { key: '468809af144520073ec0924b8b293a1a7a98c2a6', class: `numbered-stepper numbered-stepper--${this.orientation}`, role: "list" }, h("slot", { key: 'e7ab09871620ab5ccc1b384443824a91750a15c3' })));
53
53
  }
54
54
  static get is() { return "af-numbered-stepper"; }
55
55
  static get encapsulation() { return "scoped"; }
@@ -24,7 +24,7 @@ export class AfNumberedStepperItem {
24
24
  render() {
25
25
  // The badge supports 1–10; clamp for safety so we never pass a bad prop.
26
26
  const clamped = Math.max(1, Math.min(10, this.index | 0));
27
- return (h(Host, { key: 'f703f0459299a2a7f9bec41634fb9c71749aebdb', role: "listitem" }, h("div", { key: '635c36a16c67735dd241228fb44b3dda152bc9d9', class: "numbered-stepper-item__marker-row", "aria-hidden": "true" }, h("af-number-badge", { key: 'ce495f0f0f17ea196a0ba0032c4e897fb027b2ad', class: "numbered-stepper-item__badge", number: clamped, variant: "inCircle", size: 40 }), h("span", { key: '5158ca703611b55d28bb34b445f68fa462b582cf', class: "numbered-stepper-item__connector" })), h("af-typography-lockup", { key: '591e3622a0cd4132a13ea7b0c87e368954ce287c', class: "numbered-stepper-item__lockup", "heading-size": "card", "text-alignment": "center" }, h("slot", { key: '0b8ada7fb0b6bd5bb29eb8f1fffa07eb79984b3f', name: "heading" }), h("span", { key: '83813e92ed8e70dbaf507db4fb306e0d69cf5d51', slot: "description" }, h("slot", { key: 'a676610379b5f948d65acad4f8c4adeecf5c81a1', name: "body" })))));
27
+ return (h(Host, { key: '62bc6f558da62d664e22c680af3d4a0cd959ee27', role: "listitem" }, h("div", { key: 'aac9fb7f30e3a0bbb70303102526bc9871910737', class: "numbered-stepper-item__marker-row", "aria-hidden": "true" }, h("af-number-badge", { key: 'fb4ba62a61cdc4bced7985f8013a7adcc309cf0e', class: "numbered-stepper-item__badge", number: clamped, variant: "inCircle", size: 40 }), h("span", { key: '3090034f17f0c62ab94a91bd45b5772856b6c632', class: "numbered-stepper-item__connector" })), h("af-typography-lockup", { key: 'fdcc257515a9265330d4443d6e665ad44630cc73', class: "numbered-stepper-item__lockup", "heading-size": "card", "text-alignment": "center" }, h("slot", { key: '6905c5a82d0dc82ed81ef3847f534bde32be9262', name: "heading" }), h("span", { key: '8be84e524019bf3f51b5d8447eaae5d6d2b881f0', slot: "description" }, h("slot", { key: '6c0b5d91a79706cb864fa532d6432699130bd728', name: "body" })))));
28
28
  }
29
29
  static get is() { return "af-numbered-stepper-item"; }
30
30
  static get encapsulation() { return "scoped"; }
@@ -50,7 +50,7 @@ export class AfPaperclipDecoration {
50
50
  this.fill = 'white';
51
51
  }
52
52
  render() {
53
- return (h(Host, { key: '4236fa1de1c1847b0665c79341000bfb63ab4509' }, h("svg", { key: '6c11c85851c7e6e11d625dac2eb546bb9a0405dc', "aria-hidden": "true", width: this.width, height: this.height, viewBox: "0 0 655 754", fill: "none", xmlns: "http://www.w3.org/2000/svg", preserveAspectRatio: "none" }, h("path", { key: 'ab2f7bcda82bd715dcf336abb1e191badd1f624a', d: "M1102.14 108.279C1031.8 37.5181 939.128 -1.06817 840.61 0.447304H358.674L262.104 157.124H841.87C842.558 157.124 843.36 157.124 844.047 157.124C900.638 157.124 953.791 179.273 994 219.725C1035.24 261.225 1058.04 316.715 1058.04 376.052C1058.04 497.872 960.665 596.844 841.068 596.844H251.335C197.609 596.844 153.848 552.313 153.848 497.639C153.848 442.965 197.723 397.734 251.221 396.102H779.208L878.872 239.426H248.586C111.577 242.923 0 358.682 0 497.639C0 636.596 112.723 753.404 251.335 753.404H841.068C1045.55 753.404 1212 584.021 1212 375.935C1212 274.398 1173.05 179.39 1102.26 108.162L1102.14 108.279Z", fill: this.fill, "fill-opacity": this.opacity }))));
53
+ return (h(Host, { key: '2056080b6be950fecf3cd1dc43114e457dac513b' }, h("svg", { key: '8a054a7d2794adc1042d474cffb0e82ad686bb63', "aria-hidden": "true", width: this.width, height: this.height, viewBox: "0 0 655 754", fill: "none", xmlns: "http://www.w3.org/2000/svg", preserveAspectRatio: "none" }, h("path", { key: 'e8704baa60e7b272d3c731b104b8e93f7a7ae517', d: "M1102.14 108.279C1031.8 37.5181 939.128 -1.06817 840.61 0.447304H358.674L262.104 157.124H841.87C842.558 157.124 843.36 157.124 844.047 157.124C900.638 157.124 953.791 179.273 994 219.725C1035.24 261.225 1058.04 316.715 1058.04 376.052C1058.04 497.872 960.665 596.844 841.068 596.844H251.335C197.609 596.844 153.848 552.313 153.848 497.639C153.848 442.965 197.723 397.734 251.221 396.102H779.208L878.872 239.426H248.586C111.577 242.923 0 358.682 0 497.639C0 636.596 112.723 753.404 251.335 753.404H841.068C1045.55 753.404 1212 584.021 1212 375.935C1212 274.398 1173.05 179.39 1102.26 108.162L1102.14 108.279Z", fill: this.fill, "fill-opacity": this.opacity }))));
54
54
  }
55
55
  static get is() { return "af-paperclip-decoration"; }
56
56
  static get encapsulation() { return "shadow"; }
@@ -21,10 +21,10 @@ export class AfProgressLine {
21
21
  // Clamp progress between 0 and 1
22
22
  const clampedProgress = Math.max(0, Math.min(1, this.progress));
23
23
  const progressPercent = clampedProgress * 100;
24
- return (h(Host, { key: 'b09e523a63bdb6ea6084e98e6fb8030840648f27' }, h("div", { key: 'eda92bcf3b0f9d92edfb32299953b984520cc413', class: {
24
+ return (h(Host, { key: 'f56ae490d0d9e374f540ccb88b0af53430796b42' }, h("div", { key: '20832426b290b5ee44d0507848f1cd4f06973202', class: {
25
25
  'progress-line': true,
26
26
  [`progress-line--${this.orientation}`]: true,
27
- }, role: "progressbar", "aria-valuenow": Math.round(progressPercent), "aria-valuemin": 0, "aria-valuemax": 100 }, h("div", { key: 'cf4748fdaf9a5e1f410e4bf16acaf6ebd80a931b', class: "progress-line__background" }), h("div", { key: '3c20e0c290595e97b5e34a6e788297e180494add', class: "progress-line__active", style: { width: `${progressPercent}%` } }))));
27
+ }, role: "progressbar", "aria-valuenow": Math.round(progressPercent), "aria-valuemin": 0, "aria-valuemax": 100 }, h("div", { key: '19623163676a5fd71c7b5ba91b33f53d188647c9', class: "progress-line__background" }), h("div", { key: '0bd6ccd0748930edd43a384bf8ddad55f8c9d07b', class: "progress-line__active", style: { width: `${progressPercent}%` } }))));
28
28
  }
29
29
  static get is() { return "af-progress-line"; }
30
30
  static get encapsulation() { return "scoped"; }
@@ -13,8 +13,8 @@ export class AfSection {
13
13
  this.container = true;
14
14
  }
15
15
  render() {
16
- const content = h("slot", { key: '6c300093d45c3f5a029ef4ad367fb6796c392d56' });
17
- return (h(Host, { key: '05da4bf23a6c5aba61b21d1536cf615cd0176cfb' }, h("div", { key: '3ec6bacbd5acef49183afa406efbe9301287a086', class: `section padding-${this.padding} theme-${this.theme}` }, this.container ? (h("af-container", null, content)) : content)));
16
+ const content = h("slot", { key: 'fd7304dd713f0cbad475910d56fd9e2622068fad' });
17
+ return (h(Host, { key: 'f1758977b8ce080e03631629507f33759d1696d9' }, h("div", { key: 'af0fd30917df8a59cf7d441e9346ed643672aaec', class: `section padding-${this.padding} theme-${this.theme}` }, this.container ? (h("af-container", null, content)) : content)));
18
18
  }
19
19
  static get is() { return "af-section"; }
20
20
  static get encapsulation() { return "scoped"; }
@@ -18,7 +18,7 @@ export class AfShow {
18
18
  [`show-above-${this.above}`]: !!this.above,
19
19
  [`show-below-${this.below}`]: !!this.below,
20
20
  };
21
- return (h(Host, { key: '5fcd914caa419668e4783e20fd427d25af19f769', class: classes }, h("slot", { key: '8e2d9c0e1df36a0e49c65956241d24ffb956bf96' })));
21
+ return (h(Host, { key: '42763e1aa4b245a42a4319ee3db31277b1bbca79', class: classes }, h("slot", { key: '0f88b298410118de3a3963b30d48b24c180f6a86' })));
22
22
  }
23
23
  static get is() { return "af-show"; }
24
24
  static get encapsulation() { return "shadow"; }
@@ -29,7 +29,7 @@ export class AfSocialLink {
29
29
  }
30
30
  }
31
31
  render() {
32
- return (h(Host, { key: 'fe837fca1e27062dd707f9b5e58e5ce6d9c95cf8' }, h("a", { key: '78dde128f42950f3c1a51770c0a431ad16df03fb', href: this.href, target: "_blank", rel: "noopener noreferrer", class: "social-link", "aria-label": this.label }, this.renderIcon())));
32
+ return (h(Host, { key: 'ae4db8c4baeea96b707faf5581c5e5970019fad6' }, h("a", { key: '53e90930c51f30fa0ec74773234b06e3c2e06d6c', href: this.href, target: "_blank", rel: "noopener noreferrer", class: "social-link", "aria-label": this.label }, this.renderIcon())));
33
33
  }
34
34
  static get is() { return "af-social-link"; }
35
35
  static get encapsulation() { return "scoped"; }
@@ -34,7 +34,7 @@ export class AfSpacer {
34
34
  style.height = sizeValue;
35
35
  }
36
36
  }
37
- return h(Host, { key: 'babcc0cce83253929d43a83856149296b0ea880b', style: style, "aria-hidden": "true" });
37
+ return h(Host, { key: '0ffa6692a18f469b5fe09385e268b1a43f5fdbe9', style: style, "aria-hidden": "true" });
38
38
  }
39
39
  static get is() { return "af-spacer"; }
40
40
  static get encapsulation() { return "shadow"; }
@@ -26,14 +26,14 @@ export class AfSplitSection {
26
26
  this.container = true;
27
27
  }
28
28
  render() {
29
- const content = h("slot", { key: 'e56b2c06d21917dc745f308867026b2898a08ddf' });
29
+ const content = h("slot", { key: '25574554f5f24e11488e1b94842229b7b87b3ffe' });
30
30
  // Create the split background using CSS gradient
31
31
  const topColor = themeColors[this.topTheme];
32
32
  const bottomColor = themeColors[this.bottomTheme];
33
33
  const backgroundStyle = {
34
34
  background: `linear-gradient(to bottom, ${topColor} 0%, ${topColor} 50%, ${bottomColor} 50%, ${bottomColor} 100%)`
35
35
  };
36
- return (h(Host, { key: 'f1f5610bc3789c1038efc9c82a22f9e1c400ed36' }, h("div", { key: 'ed7dd397f532c9daa67588edfd1861979859a70c', class: `split-section padding-${this.padding} top-theme-${this.topTheme}`, style: backgroundStyle }, this.container ? (h("af-container", null, content)) : content)));
36
+ return (h(Host, { key: '5745d7d5c8b238a4959a53f820498bf348b1c668' }, h("div", { key: 'a2b8760b663800015b120c2ad82b004bced9882f', class: `split-section padding-${this.padding} top-theme-${this.topTheme}`, style: backgroundStyle }, this.container ? (h("af-container", null, content)) : content)));
37
37
  }
38
38
  static get is() { return "af-split-section"; }
39
39
  static get encapsulation() { return "scoped"; }
@@ -55,7 +55,7 @@ export class AfStack {
55
55
  justifyContent: justifyMap[this.justify],
56
56
  flexWrap: this.wrap ? 'wrap' : 'nowrap',
57
57
  };
58
- return (h(Host, { key: '2be027b85f3b9167ec237f8b046d41c68e92eaea', style: style }, h("slot", { key: 'df553b2b049139b4dbbb8b8794098dec439d3642' })));
58
+ return (h(Host, { key: 'bf6f8a0e7454bbdf4a55a5723a32b40bef78805b', style: style }, h("slot", { key: '54e82fd4bc6ca19d8b29ed424a2c7d54a8784a22' })));
59
59
  }
60
60
  static get is() { return "af-stack"; }
61
61
  static get encapsulation() { return "shadow"; }
@@ -9,7 +9,7 @@ import { h, Host } from "@stencil/core";
9
9
  */
10
10
  export class AfStat {
11
11
  render() {
12
- return (h(Host, { key: '7aa910b1138ba826e4b9b6e9b829cde4e512ebfe' }, h("div", { key: '0b8301efd14d2e4275f508b4a3b21bb7130c5308', class: "stat" }, h("af-heading", { key: '4ed345a252ef232354b03ed2e393f943aa7d6d2f', level: "2", class: "stat__value" }, this.value), h("af-text", { key: 'ea32cadc8a0b216d1bd0929e8b68d8c19121690b', variant: "medium", class: "stat__label" }, this.label))));
12
+ return (h(Host, { key: 'db2aa04e087c7313db9dde512368413ea6428d38' }, h("div", { key: '72f0578398f5d82dcd27bf7e4102f9801f1067b3', class: "stat" }, h("af-heading", { key: '1accbab198a0923be4af5b5b6c0e7e5ca82c36b5', level: "2", class: "stat__value" }, this.value), h("af-text", { key: '533ea04317fb66451e7d130369b25080e37cff41', variant: "medium", class: "stat__label" }, this.label))));
13
13
  }
14
14
  static get is() { return "af-stat"; }
15
15
  static get encapsulation() { return "shadow"; }
@@ -15,7 +15,7 @@ import { h, Host } from "@stencil/core";
15
15
  */
16
16
  export class AfStatsRow {
17
17
  render() {
18
- return (h(Host, { key: 'b2bdf61d7367064cabbb1f802436f57e056117ea' }, h("div", { key: '84f19a40ac81af985648a0863f90f9622bb06176', class: "stats-row" }, h("slot", { key: '605bda456df46717eecafdc7083c0b2e9b259fa0' }))));
18
+ return (h(Host, { key: '49538a82264992333834fdc12ec64522cf4242fe' }, h("div", { key: '9d567f97bc5f2707fad9e40b8d3ce0c4658db73b', class: "stats-row" }, h("slot", { key: 'f48aac6723185f8f10804355da4731f03285d9db' }))));
19
19
  }
20
20
  static get is() { return "af-stats-row"; }
21
21
  static get encapsulation() { return "scoped"; }
@@ -40,7 +40,7 @@ export class AfStepper {
40
40
  });
41
41
  }
42
42
  render() {
43
- return (h(Host, { key: 'c0f67912f1725dcc8cce09bb7fc87ef2b61f0153', class: `stepper stepper--${this.orientation}` }, h("div", { key: '190ee10d7b204a387cda11019275018becb7700f', class: "stepper__connector", "aria-hidden": "true" }), h("slot", { key: 'af02da9d06b1b29850686f66e941403ac765e5d0' })));
43
+ return (h(Host, { key: 'a8aeeb5a9274e24d0e3b4daf84f5ba4f30ce47d3', class: `stepper stepper--${this.orientation}` }, h("div", { key: 'aa2263b4a10e144c376b6afad896f83d9c642a88', class: "stepper__connector", "aria-hidden": "true" }), h("slot", { key: '6ff6d3ce84bd8c06599ef5e8e9244d210e16578a' })));
44
44
  }
45
45
  static get is() { return "af-stepper"; }
46
46
  static get encapsulation() { return "scoped"; }
@@ -18,7 +18,7 @@ export class AfStepperStep {
18
18
  this.index = 1;
19
19
  }
20
20
  render() {
21
- return (h(Host, { key: '7ea12be34ade3e4f2cd3b5453ec13f4b4e2dc613' }, h("span", { key: '4be517aa7d2f6e5cf998221d2823d1f6c06167de', class: "stepper-step__badge" }, this.index), h("div", { key: 'e13ccd376cf098378bf1ac13ecc61ce9a8aa9cd6', class: "stepper-step__content" }, h("div", { key: '9798d19d11031998955c9df2a09fda210c1c96ee', class: "stepper-step__heading" }, h("slot", { key: '1ecaba03758b8109fa2d861cfaa09e7e41873f7e', name: "heading" })), h("div", { key: '21efd7b8aa67137f72044c31f4719eac1802fea3', class: "stepper-step__body" }, h("slot", { key: '73a42fef64c764bf96513914d4a0912f51516832', name: "body" })))));
21
+ return (h(Host, { key: 'd7c49caaec94513a798ff851f8975b2df55848ce' }, h("span", { key: 'd8f9d57de5434a961c217b57ac220f8930d17f6f', class: "stepper-step__badge" }, this.index), h("div", { key: '62204e81ed7bfd36d342da448ea0ea8852e16854', class: "stepper-step__content" }, h("div", { key: '40edc0e5973fabcfa781195e64fa0446d6be0e0c', class: "stepper-step__heading" }, h("slot", { key: '090302f455303956e2b6185a2e30d41d13b489e0', name: "heading" })), h("div", { key: '5fd26c30a269068568e95007f84dda0912a4bde4', class: "stepper-step__body" }, h("slot", { key: '5f3f4178f54edbbf05be6cd3df74a30bc2e18f96', name: "body" })))));
22
22
  }
23
23
  static get is() { return "af-stepper-step"; }
24
24
  static get encapsulation() { return "scoped"; }
@@ -66,7 +66,7 @@ export class AfTab {
66
66
  'disabled': this.disabled,
67
67
  [`shape-${this.shape}`]: true,
68
68
  };
69
- return (h(Host, { key: '5127117fc8ffbf1ed62de57af0a3ba569398bd0b' }, h("button", { key: 'e32591d0448724b7ead02702b21c5f31518bf982', 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: '2d9756769c9a9442e632faac4710eceb6ec7dcb2', class: "number-slot" }, h("slot", { key: 'fc9b02645ada6c015cbdb07db5d02c7f8fee9320', name: "number" }))), this.displayIcon && (h("span", { key: '8f9ef1b8cec03bea2231a0cc19a91537b84de31f', class: "icon-slot" }, h("slot", { key: '9fae54937c7876df37624aa8928dbfe478bec556', name: "icon" }))), h("span", { key: 'e332be1f9007beb3bed7bc4b74480f0fcacd8a6e', class: "label" }, this.label))));
69
+ return (h(Host, { key: '9e477df87e7bd6442e9f755d3caaf99e4138c60e' }, h("button", { key: 'b7f4504a1be24fb9db831fbf6ca4da535b7eb200', 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: 'd3dbb0dda4a819304ef8a70b34379c6b7fd2d85f', class: "number-slot" }, h("slot", { key: '2a1b2881d7fcd689f3e4e5e4e06407084690966c', name: "number" }))), this.displayIcon && (h("span", { key: 'b07f1d3f8c723ec260cfa4900e51f7581d2f8024', class: "icon-slot" }, h("slot", { key: '6b80404c46e77ab06d3ca24a108fbea231420867', name: "icon" }))), h("span", { key: 'e657d5ffa4938fb85dd165e8679eff694cbb357e', class: "label" }, this.label))));
70
70
  }
71
71
  static get is() { return "af-tab"; }
72
72
  static get encapsulation() { return "shadow"; }
@@ -87,7 +87,7 @@ export class AfTabBar {
87
87
  [`shape-${this.shape}`]: true,
88
88
  [`breakpoint-${this.breakpoint}`]: true,
89
89
  };
90
- return (h(Host, { key: 'b1fa40c2156ac7271650aafd27d369c3a8224f44', role: "tablist" }, h("div", { key: 'e92eaef79f5df92cca1b2170218df2668afc031d', class: containerClasses }, h("slot", { key: '307aea867005fe40899b54d9fe1e31ecca0528e8' }))));
90
+ return (h(Host, { key: '41e03f4561dc7f11c19b533e659b07053f08a5e3', role: "tablist" }, h("div", { key: '191491f64e3d77fafe58e241f777a6a9e3b79e04', class: containerClasses }, h("slot", { key: '181e1169bd9215cb99d8bd0dabeaa49aac5fc24a' }))));
91
91
  }
92
92
  static get is() { return "af-tab-bar"; }
93
93
  static get encapsulation() { return "shadow"; }
@@ -32,11 +32,11 @@ export class AfTag {
32
32
  render() {
33
33
  const TagElement = this.href ? 'a' : 'span';
34
34
  const linkProps = this.href ? { href: this.href } : {};
35
- return (h(Host, { key: '6317b50a0fa62e85bfb9141a6653494cc2b1892d' }, h(TagElement, { key: 'b9b13cf62afe67ccd4aaac53dbc44b736afd0084', class: {
35
+ return (h(Host, { key: '95d6f9fcae0b4117edc2bd0918feeeee3ab32d17' }, h(TagElement, { key: 'fb6f02834d02b8b5b43b3052f72688a99ea9f6d4', class: {
36
36
  'tag': true,
37
37
  [`size-${this.size}`]: true,
38
38
  [`variant-${this.variant}`]: true,
39
- }, ...linkProps }, h("slot", { key: 'd4f5a9e748fd2a155845c9ad7bd5f414a25f694f' }))));
39
+ }, ...linkProps }, h("slot", { key: 'a259918d262801ee8f005374ee2517535bcbd6f8' }))));
40
40
  }
41
41
  static get is() { return "af-tag"; }
42
42
  static get encapsulation() { return "shadow"; }