@govbr-ds/webcomponents 2.0.0-next.56 → 2.0.0-next.58

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 (756) hide show
  1. package/dist/cjs/br-avatar.cjs.entry.js +3 -3
  2. package/dist/cjs/br-breadcrumb.cjs.entry.js +3 -3
  3. package/dist/cjs/br-button_2.cjs.entry.js +6 -6
  4. package/dist/cjs/br-card.cjs.entry.js +3 -3
  5. package/dist/cjs/br-checkbox_3.cjs.entry.js +71 -10
  6. package/dist/cjs/br-checkgroup.cjs.entry.js +3 -3
  7. package/dist/cjs/br-collapse_2.cjs.entry.js +308 -0
  8. package/dist/cjs/br-divider.cjs.entry.js +3 -3
  9. package/dist/cjs/br-dropdown_2.cjs.entry.js +100 -11
  10. package/dist/cjs/br-footer-category.cjs.entry.js +3 -3
  11. package/dist/cjs/br-footer-item.cjs.entry.js +3 -3
  12. package/dist/cjs/br-footer-legal.cjs.entry.js +3 -3
  13. package/dist/cjs/br-footer-logo.cjs.entry.js +3 -3
  14. package/dist/cjs/br-footer-social.cjs.entry.js +3 -3
  15. package/dist/cjs/br-footer.cjs.entry.js +3 -3
  16. package/dist/cjs/br-header-function.cjs.entry.js +138 -0
  17. package/dist/cjs/br-header-link.cjs.entry.js +56 -0
  18. package/dist/cjs/br-header-list.cjs.entry.js +248 -0
  19. package/dist/cjs/br-header-logo.cjs.entry.js +160 -0
  20. package/dist/cjs/br-header.cjs.entry.js +565 -0
  21. package/dist/cjs/br-item.cjs.entry.js +288 -0
  22. package/dist/cjs/br-loading.cjs.entry.js +4 -4
  23. package/dist/cjs/br-magic-button.cjs.entry.js +4 -4
  24. package/dist/cjs/br-menu-header.cjs.entry.js +52 -0
  25. package/dist/cjs/br-menu-info.cjs.entry.js +42 -0
  26. package/dist/cjs/br-menu-item.cjs.entry.js +72 -0
  27. package/dist/cjs/br-menu-link.cjs.entry.js +41 -0
  28. package/dist/cjs/br-menu-list.cjs.entry.js +136 -0
  29. package/dist/cjs/br-menu-logo.cjs.entry.js +49 -0
  30. package/dist/cjs/br-menu-social.cjs.entry.js +33 -0
  31. package/dist/cjs/br-menu.cjs.entry.js +837 -0
  32. package/dist/cjs/br-message.cjs.entry.js +4 -4
  33. package/dist/cjs/br-modal.cjs.entry.js +3 -3
  34. package/dist/cjs/br-pagination.cjs.entry.js +3 -3
  35. package/dist/cjs/br-scrim.cjs.entry.js +4 -4
  36. package/dist/cjs/br-sign-in.cjs.entry.js +4 -4
  37. package/dist/cjs/br-skip-link.cjs.entry.js +322 -0
  38. package/dist/cjs/br-skiplink-item.cjs.entry.js +193 -0
  39. package/dist/cjs/br-step-item.cjs.entry.js +4 -4
  40. package/dist/cjs/br-step.cjs.entry.js +4 -4
  41. package/dist/cjs/br-switch.cjs.entry.js +4 -4
  42. package/dist/cjs/br-tab-item.cjs.entry.js +4 -4
  43. package/dist/cjs/br-tab.cjs.entry.js +5 -5
  44. package/dist/cjs/br-table-cell.cjs.entry.js +4 -4
  45. package/dist/cjs/br-table-header-cell.cjs.entry.js +4 -4
  46. package/dist/cjs/br-table-header-row.cjs.entry.js +4 -4
  47. package/dist/cjs/br-table-row.cjs.entry.js +4 -4
  48. package/dist/cjs/br-table.cjs.entry.js +4 -4
  49. package/dist/cjs/br-tag.cjs.entry.js +4 -4
  50. package/dist/cjs/br-textarea.cjs.entry.js +4 -4
  51. package/dist/cjs/br-tooltip.cjs.entry.js +4 -4
  52. package/dist/cjs/br-upload.cjs.entry.js +7 -4
  53. package/dist/cjs/breakpoint-observer-qqFx-NzP.js +200 -0
  54. package/dist/cjs/breakpoint-observer-qqFx-NzP.js.map +1 -0
  55. package/dist/cjs/{index-CFIH680Y.js → index-BFg1F33U.js} +80 -14
  56. package/dist/cjs/index-BFg1F33U.js.map +1 -0
  57. package/dist/cjs/index.cjs.js +2 -0
  58. package/dist/cjs/loader.cjs.js +4 -2
  59. package/dist/cjs/loader.cjs.js.map +1 -1
  60. package/dist/cjs/webcomponents.cjs.js +5 -3
  61. package/dist/cjs/webcomponents.cjs.js.map +1 -1
  62. package/dist/collection/collection-manifest.json +17 -2
  63. package/dist/collection/components/avatar/avatar.css +1 -1
  64. package/dist/collection/components/breadcrumb/breadcrumb.css +1 -1
  65. package/dist/collection/components/button/button.css +1 -1
  66. package/dist/collection/components/card/card.css +1 -1
  67. package/dist/collection/components/checkbox/checkbox.css +1 -1
  68. package/dist/collection/components/checkgroup/checkgroup.css +1 -1
  69. package/dist/collection/components/collapse/collapse.css +1 -1
  70. package/dist/collection/components/collapse/collapse.js +1 -1
  71. package/dist/collection/components/collapse/collapse.js.map +1 -1
  72. package/dist/collection/components/divider/divider.css +1 -1
  73. package/dist/collection/components/dropdown/dropdown.css +1 -1
  74. package/dist/collection/components/footer/footer-category/footer-category.css +1 -1
  75. package/dist/collection/components/footer/footer-item/footer-item.css +1 -1
  76. package/dist/collection/components/footer/footer-legal/footer-legal.css +1 -1
  77. package/dist/collection/components/footer/footer-logo/footer-logo.css +1 -1
  78. package/dist/collection/components/footer/footer-social/footer-social.css +1 -1
  79. package/dist/collection/components/footer/footer.css +1 -1
  80. package/dist/collection/components/header/header-function/header-function.css +1 -0
  81. package/dist/collection/components/header/header-function/header-function.js +256 -0
  82. package/dist/collection/components/header/header-function/header-function.js.map +1 -0
  83. package/dist/collection/components/header/header-link/header-link.css +1 -0
  84. package/dist/collection/components/header/header-link/header-link.js +134 -0
  85. package/dist/collection/components/header/header-link/header-link.js.map +1 -0
  86. package/dist/collection/components/header/header-list/header-list.css +1 -0
  87. package/dist/collection/components/header/header-list/header-list.js +420 -0
  88. package/dist/collection/components/header/header-list/header-list.js.map +1 -0
  89. package/dist/collection/components/header/header-logo/header-logo.css +1 -0
  90. package/dist/collection/components/header/header-logo/header-logo.js +363 -0
  91. package/dist/collection/components/header/header-logo/header-logo.js.map +1 -0
  92. package/dist/collection/components/header/header.css +1 -0
  93. package/dist/collection/components/header/header.js +901 -0
  94. package/dist/collection/components/header/header.js.map +1 -0
  95. package/dist/collection/components/icon/icon.css +1 -1
  96. package/dist/collection/components/icon/icon.js +1 -1
  97. package/dist/collection/components/input/input.css +1 -1
  98. package/dist/collection/components/input/input.js +87 -2
  99. package/dist/collection/components/input/input.js.map +1 -1
  100. package/dist/collection/components/item/item.css +1 -1
  101. package/dist/collection/components/item/item.js +1 -1
  102. package/dist/collection/components/list/list.css +1 -1
  103. package/dist/collection/components/list/list.js +1 -1
  104. package/dist/collection/components/loading/loading.css +1 -1
  105. package/dist/collection/components/loading/loading.js +1 -1
  106. package/dist/collection/components/magic-button/magic-button.css +1 -1
  107. package/dist/collection/components/magic-button/magic-button.js +1 -1
  108. package/dist/collection/components/menu/menu-header/menu-header.css +1 -0
  109. package/dist/collection/components/menu/menu-header/menu-header.js +154 -0
  110. package/dist/collection/components/menu/menu-header/menu-header.js.map +1 -0
  111. package/dist/collection/components/menu/menu-info/menu-info.css +1 -0
  112. package/dist/collection/components/menu/menu-info/menu-info.js +92 -0
  113. package/dist/collection/components/menu/menu-info/menu-info.js.map +1 -0
  114. package/dist/collection/components/menu/menu-item/menu-item.css +1 -0
  115. package/dist/collection/components/menu/menu-item/menu-item.js +233 -0
  116. package/dist/collection/components/menu/menu-item/menu-item.js.map +1 -0
  117. package/dist/collection/components/menu/menu-link/menu-link.css +1 -0
  118. package/dist/collection/components/menu/menu-link/menu-link.js +123 -0
  119. package/dist/collection/components/menu/menu-link/menu-link.js.map +1 -0
  120. package/dist/collection/components/menu/menu-list/menu-list.css +1 -0
  121. package/dist/collection/components/menu/menu-list/menu-list.js +295 -0
  122. package/dist/collection/components/menu/menu-list/menu-list.js.map +1 -0
  123. package/dist/collection/components/menu/menu-logo/menu-logo.css +1 -0
  124. package/dist/collection/components/menu/menu-logo/menu-logo.js +162 -0
  125. package/dist/collection/components/menu/menu-logo/menu-logo.js.map +1 -0
  126. package/dist/collection/components/menu/menu-social/menu-social.css +1 -0
  127. package/dist/collection/components/menu/menu-social/menu-social.js +139 -0
  128. package/dist/collection/components/menu/menu-social/menu-social.js.map +1 -0
  129. package/dist/collection/components/menu/menu.css +1 -0
  130. package/dist/collection/components/menu/menu.js +1064 -0
  131. package/dist/collection/components/menu/menu.js.map +1 -0
  132. package/dist/collection/components/message/message.css +1 -1
  133. package/dist/collection/components/message/message.js +1 -1
  134. package/dist/collection/components/modal/modal.css +1 -1
  135. package/dist/collection/components/pagination/pagination.css +1 -1
  136. package/dist/collection/components/radio/radio.css +1 -1
  137. package/dist/collection/components/radio/radio.js +1 -1
  138. package/dist/collection/components/scrim/scrim.css +1 -1
  139. package/dist/collection/components/scrim/scrim.js +1 -1
  140. package/dist/collection/components/scrim/scrim.js.map +1 -1
  141. package/dist/collection/components/select/select.css +1 -1
  142. package/dist/collection/components/select/select.js +160 -8
  143. package/dist/collection/components/select/select.js.map +1 -1
  144. package/dist/collection/components/sign-in/sign-in.css +1 -1
  145. package/dist/collection/components/sign-in/sign-in.js +1 -1
  146. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.css +1 -0
  147. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.js +392 -0
  148. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.js.map +1 -0
  149. package/dist/collection/components/skip-link/skip-link.css +1 -0
  150. package/dist/collection/components/skip-link/skip-link.js +588 -0
  151. package/dist/collection/components/skip-link/skip-link.js.map +1 -0
  152. package/dist/collection/components/step/step-item/step-item.css +1 -1
  153. package/dist/collection/components/step/step-item/step-item.js +1 -1
  154. package/dist/collection/components/step/step.css +1 -1
  155. package/dist/collection/components/step/step.js +1 -1
  156. package/dist/collection/components/switch/switch.css +1 -1
  157. package/dist/collection/components/switch/switch.js +1 -1
  158. package/dist/collection/components/tab/tab-item/tab-item.css +1 -1
  159. package/dist/collection/components/tab/tab-item/tab-item.js +1 -1
  160. package/dist/collection/components/tab/tab.css +1 -1
  161. package/dist/collection/components/tab/tab.js +2 -2
  162. package/dist/collection/components/table/table-cell/table-cell.css +1 -1
  163. package/dist/collection/components/table/table-cell/table-cell.js +1 -1
  164. package/dist/collection/components/table/table-header-cell/table-header-cell.css +1 -1
  165. package/dist/collection/components/table/table-header-cell/table-header-cell.js +1 -1
  166. package/dist/collection/components/table/table-header-row/table-header-row.css +1 -1
  167. package/dist/collection/components/table/table-header-row/table-header-row.js +1 -1
  168. package/dist/collection/components/table/table-row/table-row.css +1 -1
  169. package/dist/collection/components/table/table-row/table-row.js +1 -1
  170. package/dist/collection/components/table/table.css +1 -1
  171. package/dist/collection/components/table/table.js +1 -1
  172. package/dist/collection/components/tag/tag.css +1 -1
  173. package/dist/collection/components/tag/tag.js +1 -1
  174. package/dist/collection/components/tag/tag.js.map +1 -1
  175. package/dist/collection/components/textarea/textarea.css +1 -1
  176. package/dist/collection/components/textarea/textarea.js +1 -1
  177. package/dist/collection/components/tooltip/tooltip.css +1 -1
  178. package/dist/collection/components/tooltip/tooltip.js +1 -1
  179. package/dist/collection/components/upload/upload.css +1 -1
  180. package/dist/collection/components/upload/upload.js +26 -1
  181. package/dist/collection/components/upload/upload.js.map +1 -1
  182. package/dist/collection/pages/components/header/index.js +18 -0
  183. package/dist/collection/pages/components/menu/index.js +18 -0
  184. package/dist/collection/pages/components/select/index.js +41 -0
  185. package/dist/collection/pages/components/skip-link/index.js +18 -0
  186. package/dist/collection/pages/components/upload/index.js +1 -1
  187. package/dist/collection/utils/breakpoint-observer.js +193 -0
  188. package/dist/collection/utils/breakpoint-observer.js.map +1 -0
  189. package/dist/components/br-avatar.js +14 -14
  190. package/dist/components/br-avatar.js.map +1 -1
  191. package/dist/components/br-breadcrumb.js +22 -22
  192. package/dist/components/br-breadcrumb.js.map +1 -1
  193. package/dist/components/br-button.js +1 -1
  194. package/dist/components/br-card.js +5 -5
  195. package/dist/components/br-card.js.map +1 -1
  196. package/dist/components/br-checkbox.js +4 -4
  197. package/dist/components/br-checkgroup.js +8 -8
  198. package/dist/components/br-checkgroup.js.map +1 -1
  199. package/dist/components/br-collapse.js +3 -3
  200. package/dist/components/br-divider.js +1 -1
  201. package/dist/components/br-dropdown.js +1 -1
  202. package/dist/components/br-footer-category.js +22 -22
  203. package/dist/components/br-footer-category.js.map +1 -1
  204. package/dist/components/br-footer-item.js +12 -12
  205. package/dist/components/br-footer-item.js.map +1 -1
  206. package/dist/components/br-footer-legal.js +7 -7
  207. package/dist/components/br-footer-legal.js.map +1 -1
  208. package/dist/components/br-footer-logo.js +7 -7
  209. package/dist/components/br-footer-logo.js.map +1 -1
  210. package/dist/components/br-footer-social.js +13 -13
  211. package/dist/components/br-footer-social.js.map +1 -1
  212. package/dist/components/br-footer.js +11 -11
  213. package/dist/components/br-footer.js.map +1 -1
  214. package/dist/components/br-header-function.d.ts +11 -0
  215. package/dist/components/br-header-function.js +198 -0
  216. package/dist/components/br-header-function.js.map +1 -0
  217. package/dist/components/br-header-link.d.ts +11 -0
  218. package/dist/components/br-header-link.js +102 -0
  219. package/dist/components/br-header-link.js.map +1 -0
  220. package/dist/components/br-header-list.d.ts +11 -0
  221. package/dist/components/br-header-list.js +302 -0
  222. package/dist/components/br-header-list.js.map +1 -0
  223. package/dist/components/br-header-logo.d.ts +11 -0
  224. package/dist/components/br-header-logo.js +200 -0
  225. package/dist/components/br-header-logo.js.map +1 -0
  226. package/dist/components/br-header.d.ts +11 -0
  227. package/dist/components/br-header.js +677 -0
  228. package/dist/components/br-header.js.map +1 -0
  229. package/dist/components/br-icon.js +4 -4
  230. package/dist/components/br-input.js +4 -4
  231. package/dist/components/br-item.js +4 -4
  232. package/dist/components/br-list.js +4 -4
  233. package/dist/components/br-loading.js +6 -6
  234. package/dist/components/br-loading.js.map +1 -1
  235. package/dist/components/br-magic-button.js +10 -10
  236. package/dist/components/br-magic-button.js.map +1 -1
  237. package/dist/components/br-menu-header.d.ts +11 -0
  238. package/dist/components/br-menu-header.js +125 -0
  239. package/dist/components/br-menu-header.js.map +1 -0
  240. package/dist/components/br-menu-info.d.ts +11 -0
  241. package/dist/components/br-menu-info.js +76 -0
  242. package/dist/components/br-menu-info.js.map +1 -0
  243. package/dist/components/br-menu-item.d.ts +11 -0
  244. package/dist/components/br-menu-item.js +13 -0
  245. package/dist/components/br-menu-item.js.map +1 -0
  246. package/dist/components/br-menu-link.d.ts +11 -0
  247. package/dist/components/br-menu-link.js +95 -0
  248. package/dist/components/br-menu-link.js.map +1 -0
  249. package/dist/components/br-menu-list.d.ts +11 -0
  250. package/dist/components/br-menu-list.js +199 -0
  251. package/dist/components/br-menu-list.js.map +1 -0
  252. package/dist/components/br-menu-logo.d.ts +11 -0
  253. package/dist/components/br-menu-logo.js +98 -0
  254. package/dist/components/br-menu-logo.js.map +1 -0
  255. package/dist/components/br-menu-social.d.ts +11 -0
  256. package/dist/components/br-menu-social.js +102 -0
  257. package/dist/components/br-menu-social.js.map +1 -0
  258. package/dist/components/br-menu.d.ts +11 -0
  259. package/dist/components/br-menu.js +952 -0
  260. package/dist/components/br-menu.js.map +1 -0
  261. package/dist/components/br-message.js +12 -12
  262. package/dist/components/br-message.js.map +1 -1
  263. package/dist/components/br-modal.js +16 -16
  264. package/dist/components/br-modal.js.map +1 -1
  265. package/dist/components/br-pagination.js +35 -35
  266. package/dist/components/br-pagination.js.map +1 -1
  267. package/dist/components/br-radio.js +3 -3
  268. package/dist/components/br-scrim.js +34 -34
  269. package/dist/components/br-scrim.js.map +1 -1
  270. package/dist/components/br-select.js +4 -4
  271. package/dist/components/br-sign-in.js +18 -18
  272. package/dist/components/br-sign-in.js.map +1 -1
  273. package/dist/components/br-skip-link.d.ts +11 -0
  274. package/dist/components/br-skip-link.js +372 -0
  275. package/dist/components/br-skip-link.js.map +1 -0
  276. package/dist/components/br-skiplink-item.d.ts +11 -0
  277. package/dist/components/br-skiplink-item.js +271 -0
  278. package/dist/components/br-skiplink-item.js.map +1 -0
  279. package/dist/components/br-step-item.js +30 -30
  280. package/dist/components/br-step-item.js.map +1 -1
  281. package/dist/components/br-step.js +14 -14
  282. package/dist/components/br-step.js.map +1 -1
  283. package/dist/components/br-switch.js +12 -12
  284. package/dist/components/br-switch.js.map +1 -1
  285. package/dist/components/br-tab-item.js +13 -13
  286. package/dist/components/br-tab-item.js.map +1 -1
  287. package/dist/components/br-tab.js +17 -17
  288. package/dist/components/br-tab.js.map +1 -1
  289. package/dist/components/br-table-cell.js +12 -12
  290. package/dist/components/br-table-cell.js.map +1 -1
  291. package/dist/components/br-table-header-cell.js +15 -15
  292. package/dist/components/br-table-header-cell.js.map +1 -1
  293. package/dist/components/br-table-header-row.js +10 -10
  294. package/dist/components/br-table-header-row.js.map +1 -1
  295. package/dist/components/br-table-row.js +13 -13
  296. package/dist/components/br-table-row.js.map +1 -1
  297. package/dist/components/br-table.js +13 -13
  298. package/dist/components/br-table.js.map +1 -1
  299. package/dist/components/br-tag.js +4 -409
  300. package/dist/components/br-tag.js.map +1 -1
  301. package/dist/components/br-textarea.js +16 -16
  302. package/dist/components/br-textarea.js.map +1 -1
  303. package/dist/components/br-tooltip.js +24 -24
  304. package/dist/components/br-tooltip.js.map +1 -1
  305. package/dist/components/br-upload.js +46 -43
  306. package/dist/components/br-upload.js.map +1 -1
  307. package/dist/components/index.d.ts +30 -0
  308. package/dist/components/index.js +31 -1
  309. package/dist/components/p-75pWQXE5.js +200 -0
  310. package/dist/components/{p-CvEK2Il7.js.map → p-75pWQXE5.js.map} +1 -1
  311. package/dist/components/p-B3imhKtv.js +164 -0
  312. package/dist/components/{p-C5niSTTq.js.map → p-B3imhKtv.js.map} +1 -1
  313. package/dist/components/p-BQbwSVaT.js +622 -0
  314. package/dist/components/p-BQbwSVaT.js.map +1 -0
  315. package/dist/components/p-CcJHd-EX.js +400 -0
  316. package/dist/components/p-CcJHd-EX.js.map +1 -0
  317. package/dist/components/p-Coy21EGa.js +250 -0
  318. package/dist/components/{p-BGvZWtkB.js.map → p-Coy21EGa.js.map} +1 -1
  319. package/dist/components/p-CqGm9xxH.js +143 -0
  320. package/dist/components/p-CqGm9xxH.js.map +1 -0
  321. package/dist/components/p-CqgyNPQx.js +191 -0
  322. package/dist/components/p-CqgyNPQx.js.map +1 -0
  323. package/dist/components/{p-CDqodOhC.js → p-CwXw4TB_.js} +15 -15
  324. package/dist/components/{p-CDqodOhC.js.map → p-CwXw4TB_.js.map} +1 -1
  325. package/dist/components/{p-Ck56essO.js → p-DPI-6oom.js} +295 -295
  326. package/dist/components/{p-Ck56essO.js.map → p-DPI-6oom.js.map} +1 -1
  327. package/dist/components/{p-DSkSDmzD.js → p-Dl8sbmQD.js} +44 -37
  328. package/dist/components/p-Dl8sbmQD.js.map +1 -0
  329. package/dist/components/p-MRCv9Vq6.js +275 -0
  330. package/dist/components/p-MRCv9Vq6.js.map +1 -0
  331. package/dist/components/p-_1olx8GR.js +179 -0
  332. package/dist/components/{p-0zSorzux.js.map → p-_1olx8GR.js.map} +1 -1
  333. package/dist/components/p-ey_HrFRS.js +415 -0
  334. package/dist/components/p-ey_HrFRS.js.map +1 -0
  335. package/dist/components/p-foGc27n-.js +361 -0
  336. package/dist/components/{p-DGjCsmhy.js.map → p-foGc27n-.js.map} +1 -1
  337. package/dist/components/p-wT-Xw7qJ.js +136 -0
  338. package/dist/components/{p-CodfIeVU.js.map → p-wT-Xw7qJ.js.map} +1 -1
  339. package/dist/custom-elements.json +9262 -4929
  340. package/dist/esm/br-avatar.entry.js +3 -3
  341. package/dist/esm/br-avatar.entry.js.map +1 -1
  342. package/dist/esm/br-breadcrumb.entry.js +3 -3
  343. package/dist/esm/br-breadcrumb.entry.js.map +1 -1
  344. package/dist/esm/br-button_2.entry.js +6 -6
  345. package/dist/esm/br-card.entry.js +3 -3
  346. package/dist/esm/br-card.entry.js.map +1 -1
  347. package/dist/esm/br-checkbox_3.entry.js +71 -10
  348. package/dist/esm/br-checkgroup.entry.js +3 -3
  349. package/dist/esm/br-checkgroup.entry.js.map +1 -1
  350. package/dist/esm/br-collapse_2.entry.js +305 -0
  351. package/dist/esm/br-divider.entry.js +3 -3
  352. package/dist/esm/br-divider.entry.js.map +1 -1
  353. package/dist/esm/br-dropdown_2.entry.js +100 -11
  354. package/dist/esm/br-footer-category.entry.js +3 -3
  355. package/dist/esm/br-footer-category.entry.js.map +1 -1
  356. package/dist/esm/br-footer-item.entry.js +3 -3
  357. package/dist/esm/br-footer-item.entry.js.map +1 -1
  358. package/dist/esm/br-footer-legal.entry.js +3 -3
  359. package/dist/esm/br-footer-legal.entry.js.map +1 -1
  360. package/dist/esm/br-footer-logo.entry.js +3 -3
  361. package/dist/esm/br-footer-logo.entry.js.map +1 -1
  362. package/dist/esm/br-footer-social.entry.js +3 -3
  363. package/dist/esm/br-footer-social.entry.js.map +1 -1
  364. package/dist/esm/br-footer.entry.js +3 -3
  365. package/dist/esm/br-footer.entry.js.map +1 -1
  366. package/dist/esm/br-header-function.entry.js +136 -0
  367. package/dist/esm/br-header-function.entry.js.map +1 -0
  368. package/dist/esm/br-header-link.entry.js +54 -0
  369. package/dist/esm/br-header-link.entry.js.map +1 -0
  370. package/dist/esm/br-header-list.entry.js +246 -0
  371. package/dist/esm/br-header-list.entry.js.map +1 -0
  372. package/dist/esm/br-header-logo.entry.js +158 -0
  373. package/dist/esm/br-header-logo.entry.js.map +1 -0
  374. package/dist/esm/br-header.entry.js +563 -0
  375. package/dist/esm/br-header.entry.js.map +1 -0
  376. package/dist/esm/br-item.entry.js +286 -0
  377. package/dist/esm/br-item.entry.js.map +1 -0
  378. package/dist/esm/br-loading.entry.js +4 -4
  379. package/dist/esm/br-loading.entry.js.map +1 -1
  380. package/dist/esm/br-magic-button.entry.js +4 -4
  381. package/dist/esm/br-magic-button.entry.js.map +1 -1
  382. package/dist/esm/br-menu-header.entry.js +50 -0
  383. package/dist/esm/br-menu-header.entry.js.map +1 -0
  384. package/dist/esm/br-menu-info.entry.js +40 -0
  385. package/dist/esm/br-menu-info.entry.js.map +1 -0
  386. package/dist/esm/br-menu-item.entry.js +70 -0
  387. package/dist/esm/br-menu-item.entry.js.map +1 -0
  388. package/dist/esm/br-menu-link.entry.js +39 -0
  389. package/dist/esm/br-menu-link.entry.js.map +1 -0
  390. package/dist/esm/br-menu-list.entry.js +134 -0
  391. package/dist/esm/br-menu-list.entry.js.map +1 -0
  392. package/dist/esm/br-menu-logo.entry.js +47 -0
  393. package/dist/esm/br-menu-logo.entry.js.map +1 -0
  394. package/dist/esm/br-menu-social.entry.js +31 -0
  395. package/dist/esm/br-menu-social.entry.js.map +1 -0
  396. package/dist/esm/br-menu.entry.js +835 -0
  397. package/dist/esm/br-menu.entry.js.map +1 -0
  398. package/dist/esm/br-message.entry.js +4 -4
  399. package/dist/esm/br-message.entry.js.map +1 -1
  400. package/dist/esm/br-modal.entry.js +3 -3
  401. package/dist/esm/br-modal.entry.js.map +1 -1
  402. package/dist/esm/br-pagination.entry.js +3 -3
  403. package/dist/esm/br-pagination.entry.js.map +1 -1
  404. package/dist/esm/br-scrim.entry.js +4 -4
  405. package/dist/esm/br-scrim.entry.js.map +1 -1
  406. package/dist/esm/br-sign-in.entry.js +4 -4
  407. package/dist/esm/br-sign-in.entry.js.map +1 -1
  408. package/dist/esm/br-skip-link.entry.js +320 -0
  409. package/dist/esm/br-skip-link.entry.js.map +1 -0
  410. package/dist/esm/br-skiplink-item.entry.js +191 -0
  411. package/dist/esm/br-skiplink-item.entry.js.map +1 -0
  412. package/dist/esm/br-step-item.entry.js +4 -4
  413. package/dist/esm/br-step-item.entry.js.map +1 -1
  414. package/dist/esm/br-step.entry.js +4 -4
  415. package/dist/esm/br-step.entry.js.map +1 -1
  416. package/dist/esm/br-switch.entry.js +4 -4
  417. package/dist/esm/br-switch.entry.js.map +1 -1
  418. package/dist/esm/br-tab-item.entry.js +4 -4
  419. package/dist/esm/br-tab-item.entry.js.map +1 -1
  420. package/dist/esm/br-tab.entry.js +5 -5
  421. package/dist/esm/br-tab.entry.js.map +1 -1
  422. package/dist/esm/br-table-cell.entry.js +4 -4
  423. package/dist/esm/br-table-cell.entry.js.map +1 -1
  424. package/dist/esm/br-table-header-cell.entry.js +4 -4
  425. package/dist/esm/br-table-header-cell.entry.js.map +1 -1
  426. package/dist/esm/br-table-header-row.entry.js +4 -4
  427. package/dist/esm/br-table-header-row.entry.js.map +1 -1
  428. package/dist/esm/br-table-row.entry.js +4 -4
  429. package/dist/esm/br-table-row.entry.js.map +1 -1
  430. package/dist/esm/br-table.entry.js +4 -4
  431. package/dist/esm/br-table.entry.js.map +1 -1
  432. package/dist/esm/br-tag.entry.js +4 -4
  433. package/dist/esm/br-tag.entry.js.map +1 -1
  434. package/dist/esm/br-textarea.entry.js +4 -4
  435. package/dist/esm/br-textarea.entry.js.map +1 -1
  436. package/dist/esm/br-tooltip.entry.js +4 -4
  437. package/dist/esm/br-tooltip.entry.js.map +1 -1
  438. package/dist/esm/br-upload.entry.js +7 -4
  439. package/dist/esm/br-upload.entry.js.map +1 -1
  440. package/dist/esm/breakpoint-observer-CqgyNPQx.js +197 -0
  441. package/dist/esm/breakpoint-observer-CqgyNPQx.js.map +1 -0
  442. package/dist/esm/{index-ByGJPTh2.js → index-DULshOxW.js} +80 -14
  443. package/dist/esm/index-DULshOxW.js.map +1 -0
  444. package/dist/esm/index.js +2 -0
  445. package/dist/esm/loader.js +5 -3
  446. package/dist/esm/webcomponents.js +6 -4
  447. package/dist/esm/webcomponents.js.map +1 -1
  448. package/dist/hydrate/index.d.ts +12 -0
  449. package/dist/hydrate/index.js +8533 -4974
  450. package/dist/hydrate/index.mjs +8532 -4975
  451. package/dist/stencil.config.js +93 -125
  452. package/dist/stencil.config.js.map +1 -1
  453. package/dist/types/components/header/header-function/header-function.d.ts +100 -0
  454. package/dist/types/components/header/header-link/header-link.d.ts +41 -0
  455. package/dist/types/components/header/header-list/header-list.d.ts +173 -0
  456. package/dist/types/components/header/header-logo/header-logo.d.ts +120 -0
  457. package/dist/types/components/header/header.d.ts +311 -0
  458. package/dist/types/components/input/input.d.ts +9 -0
  459. package/dist/types/components/menu/menu-header/menu-header.d.ts +42 -0
  460. package/dist/types/components/menu/menu-info/menu-info.d.ts +25 -0
  461. package/dist/types/components/menu/menu-item/menu-item.d.ts +49 -0
  462. package/dist/types/components/menu/menu-link/menu-link.d.ts +34 -0
  463. package/dist/types/components/menu/menu-list/menu-list.d.ts +62 -0
  464. package/dist/types/components/menu/menu-logo/menu-logo.d.ts +43 -0
  465. package/dist/types/components/menu/menu-social/menu-social.d.ts +36 -0
  466. package/dist/types/components/menu/menu.d.ts +260 -0
  467. package/dist/types/components/select/select.d.ts +25 -0
  468. package/dist/types/components/skip-link/skip-link-item/skip-link-item.d.ts +111 -0
  469. package/dist/types/components/skip-link/skip-link.d.ts +173 -0
  470. package/dist/types/components/upload/upload.d.ts +5 -0
  471. package/dist/types/components.d.ts +1496 -47
  472. package/dist/types/stencil-public-runtime.d.ts +43 -0
  473. package/dist/types/utils/breakpoint-observer.d.ts +99 -0
  474. package/dist/webcomponents/p-02106faf.entry.js +63 -0
  475. package/dist/webcomponents/p-02106faf.entry.js.map +1 -0
  476. package/dist/webcomponents/p-04bee121.entry.js +148 -0
  477. package/dist/webcomponents/p-04bee121.entry.js.map +1 -0
  478. package/dist/webcomponents/p-0b68fde3.entry.js +113 -0
  479. package/dist/webcomponents/p-0b68fde3.entry.js.map +1 -0
  480. package/dist/webcomponents/p-13f315b9.entry.js +65 -0
  481. package/dist/webcomponents/p-13f315b9.entry.js.map +1 -0
  482. package/dist/webcomponents/p-19988c40.entry.js +385 -0
  483. package/dist/webcomponents/p-19988c40.entry.js.map +1 -0
  484. package/dist/webcomponents/p-27771bab.entry.js +210 -0
  485. package/dist/webcomponents/p-27771bab.entry.js.map +1 -0
  486. package/dist/webcomponents/p-29575ecc.entry.js +587 -0
  487. package/dist/webcomponents/p-29575ecc.entry.js.map +1 -0
  488. package/dist/webcomponents/p-2baf706b.entry.js +44 -0
  489. package/dist/webcomponents/p-2baf706b.entry.js.map +1 -0
  490. package/dist/webcomponents/p-2f5d6943.entry.js +73 -0
  491. package/dist/webcomponents/p-2f5d6943.entry.js.map +1 -0
  492. package/dist/webcomponents/p-3124fad7.entry.js +348 -0
  493. package/dist/webcomponents/p-3124fad7.entry.js.map +1 -0
  494. package/dist/webcomponents/p-377cfe1d.entry.js +362 -0
  495. package/dist/webcomponents/p-377cfe1d.entry.js.map +1 -0
  496. package/dist/webcomponents/p-3a95b67e.entry.js +120 -0
  497. package/dist/webcomponents/p-3a95b67e.entry.js.map +1 -0
  498. package/dist/webcomponents/p-3b55ea0c.entry.js +389 -0
  499. package/dist/webcomponents/p-3b55ea0c.entry.js.map +1 -0
  500. package/dist/webcomponents/p-3bdc8b39.entry.js +142 -0
  501. package/dist/webcomponents/p-3bdc8b39.entry.js.map +1 -0
  502. package/dist/webcomponents/p-4282727e.entry.js +139 -0
  503. package/dist/webcomponents/p-4282727e.entry.js.map +1 -0
  504. package/dist/webcomponents/p-428c99c3.entry.js +52 -0
  505. package/dist/webcomponents/p-428c99c3.entry.js.map +1 -0
  506. package/dist/webcomponents/p-4dd9d5cd.entry.js +204 -0
  507. package/dist/webcomponents/p-4dd9d5cd.entry.js.map +1 -0
  508. package/dist/webcomponents/p-5d1ff009.entry.js +136 -0
  509. package/dist/webcomponents/p-5d1ff009.entry.js.map +1 -0
  510. package/dist/webcomponents/p-719915a9.entry.js +272 -0
  511. package/dist/webcomponents/p-719915a9.entry.js.map +1 -0
  512. package/dist/webcomponents/p-7a676bbf.entry.js +66 -0
  513. package/dist/webcomponents/p-7a676bbf.entry.js.map +1 -0
  514. package/dist/webcomponents/p-7d2b7cdd.entry.js +52 -0
  515. package/dist/webcomponents/p-7d2b7cdd.entry.js.map +1 -0
  516. package/dist/webcomponents/p-7eeb3f78.entry.js +1015 -0
  517. package/dist/webcomponents/p-7eeb3f78.entry.js.map +1 -0
  518. package/dist/webcomponents/p-7f30b571.entry.js +106 -0
  519. package/dist/webcomponents/p-7f30b571.entry.js.map +1 -0
  520. package/dist/webcomponents/p-80091ce2.entry.js +105 -0
  521. package/dist/webcomponents/p-80091ce2.entry.js.map +1 -0
  522. package/dist/webcomponents/p-8b057d32.entry.js +899 -0
  523. package/dist/webcomponents/p-8b057d32.entry.js.map +1 -0
  524. package/dist/webcomponents/p-8d578007.entry.js +235 -0
  525. package/dist/webcomponents/p-8d578007.entry.js.map +1 -0
  526. package/dist/webcomponents/p-8fdd51b9.entry.js +613 -0
  527. package/dist/webcomponents/p-8fdd51b9.entry.js.map +1 -0
  528. package/dist/webcomponents/p-9092f3dc.entry.js +94 -0
  529. package/dist/webcomponents/p-9092f3dc.entry.js.map +1 -0
  530. package/dist/webcomponents/p-9c2b5fa0.entry.js +616 -0
  531. package/dist/webcomponents/p-9c2b5fa0.entry.js.map +1 -0
  532. package/dist/webcomponents/p-CqgyNPQx.js +191 -0
  533. package/dist/webcomponents/p-CqgyNPQx.js.map +1 -0
  534. package/dist/webcomponents/{p-ByGJPTh2.js → p-DULshOxW.js} +26 -19
  535. package/dist/webcomponents/p-DULshOxW.js.map +1 -0
  536. package/dist/webcomponents/p-a118a0a8.entry.js +62 -0
  537. package/dist/webcomponents/p-a118a0a8.entry.js.map +1 -0
  538. package/dist/webcomponents/p-a1c89064.entry.js +56 -0
  539. package/dist/webcomponents/p-a1c89064.entry.js.map +1 -0
  540. package/dist/webcomponents/{p-a9200224.entry.js → p-a2cd9b08.entry.js} +121 -121
  541. package/dist/webcomponents/p-a2cd9b08.entry.js.map +1 -0
  542. package/dist/webcomponents/p-a3b15b54.entry.js +50 -0
  543. package/dist/webcomponents/p-a3b15b54.entry.js.map +1 -0
  544. package/dist/webcomponents/p-ae73649b.entry.js +235 -0
  545. package/dist/webcomponents/p-ae73649b.entry.js.map +1 -0
  546. package/dist/webcomponents/p-b320f790.entry.js +159 -0
  547. package/dist/webcomponents/p-b320f790.entry.js.map +1 -0
  548. package/dist/webcomponents/p-ba075027.entry.js +169 -0
  549. package/dist/webcomponents/p-ba075027.entry.js.map +1 -0
  550. package/dist/webcomponents/p-bf162cf1.entry.js +286 -0
  551. package/dist/webcomponents/p-bf162cf1.entry.js.map +1 -0
  552. package/dist/webcomponents/p-c3537110.entry.js +131 -0
  553. package/dist/webcomponents/p-c3537110.entry.js.map +1 -0
  554. package/dist/webcomponents/p-c549be31.entry.js +164 -0
  555. package/dist/webcomponents/p-c549be31.entry.js.map +1 -0
  556. package/dist/webcomponents/p-c960983f.entry.js +77 -0
  557. package/dist/webcomponents/p-c960983f.entry.js.map +1 -0
  558. package/dist/webcomponents/p-cca454b0.entry.js +92 -0
  559. package/dist/webcomponents/p-cca454b0.entry.js.map +1 -0
  560. package/dist/webcomponents/p-d391838f.entry.js +271 -0
  561. package/dist/webcomponents/p-d391838f.entry.js.map +1 -0
  562. package/dist/webcomponents/p-d8535324.entry.js +91 -0
  563. package/dist/webcomponents/p-d8535324.entry.js.map +1 -0
  564. package/dist/webcomponents/p-db0eb52b.entry.js +328 -0
  565. package/dist/webcomponents/p-db0eb52b.entry.js.map +1 -0
  566. package/dist/webcomponents/p-df88b55d.entry.js +312 -0
  567. package/dist/webcomponents/p-df88b55d.entry.js.map +1 -0
  568. package/dist/webcomponents/{p-0cfc9f36.entry.js → p-e3d2085a.entry.js} +15 -15
  569. package/dist/webcomponents/p-e3d2085a.entry.js.map +1 -0
  570. package/dist/webcomponents/p-e5e676ff.entry.js +50 -0
  571. package/dist/webcomponents/p-e5e676ff.entry.js.map +1 -0
  572. package/dist/webcomponents/p-e5fabfa7.entry.js +134 -0
  573. package/dist/webcomponents/p-e5fabfa7.entry.js.map +1 -0
  574. package/dist/webcomponents/p-e855ba4f.entry.js +86 -0
  575. package/dist/webcomponents/p-e855ba4f.entry.js.map +1 -0
  576. package/dist/webcomponents/p-fa519b6b.entry.js +60 -0
  577. package/dist/webcomponents/p-fa519b6b.entry.js.map +1 -0
  578. package/dist/webcomponents/p-fa5ec6d6.entry.js +84 -0
  579. package/dist/webcomponents/p-fa5ec6d6.entry.js.map +1 -0
  580. package/dist/webcomponents/p-fef9fc47.entry.js +202 -0
  581. package/dist/webcomponents/p-fef9fc47.entry.js.map +1 -0
  582. package/dist/webcomponents/webcomponents.esm.js +17 -17
  583. package/dist/webcomponents/webcomponents.esm.js.map +1 -1
  584. package/dist/webcomponents.html-custom-data.json +491 -25
  585. package/package.json +1 -1
  586. package/dist/cjs/br-avatar.entry.cjs.js.map +0 -1
  587. package/dist/cjs/br-breadcrumb.entry.cjs.js.map +0 -1
  588. package/dist/cjs/br-button.br-icon.entry.cjs.js.map +0 -1
  589. package/dist/cjs/br-card.entry.cjs.js.map +0 -1
  590. package/dist/cjs/br-checkbox.br-input.br-radio.entry.cjs.js.map +0 -1
  591. package/dist/cjs/br-checkgroup.entry.cjs.js.map +0 -1
  592. package/dist/cjs/br-collapse.cjs.entry.js +0 -187
  593. package/dist/cjs/br-collapse.entry.cjs.js.map +0 -1
  594. package/dist/cjs/br-divider.entry.cjs.js.map +0 -1
  595. package/dist/cjs/br-dropdown.br-select.entry.cjs.js.map +0 -1
  596. package/dist/cjs/br-footer-category.entry.cjs.js.map +0 -1
  597. package/dist/cjs/br-footer-item.entry.cjs.js.map +0 -1
  598. package/dist/cjs/br-footer-legal.entry.cjs.js.map +0 -1
  599. package/dist/cjs/br-footer-logo.entry.cjs.js.map +0 -1
  600. package/dist/cjs/br-footer-social.entry.cjs.js.map +0 -1
  601. package/dist/cjs/br-footer.entry.cjs.js.map +0 -1
  602. package/dist/cjs/br-item.br-list.entry.cjs.js.map +0 -1
  603. package/dist/cjs/br-item_2.cjs.entry.js +0 -409
  604. package/dist/cjs/br-loading.entry.cjs.js.map +0 -1
  605. package/dist/cjs/br-magic-button.entry.cjs.js.map +0 -1
  606. package/dist/cjs/br-message.entry.cjs.js.map +0 -1
  607. package/dist/cjs/br-modal.entry.cjs.js.map +0 -1
  608. package/dist/cjs/br-pagination.entry.cjs.js.map +0 -1
  609. package/dist/cjs/br-scrim.entry.cjs.js.map +0 -1
  610. package/dist/cjs/br-sign-in.entry.cjs.js.map +0 -1
  611. package/dist/cjs/br-step-item.entry.cjs.js.map +0 -1
  612. package/dist/cjs/br-step.entry.cjs.js.map +0 -1
  613. package/dist/cjs/br-switch.entry.cjs.js.map +0 -1
  614. package/dist/cjs/br-tab-item.entry.cjs.js.map +0 -1
  615. package/dist/cjs/br-tab.entry.cjs.js.map +0 -1
  616. package/dist/cjs/br-table-cell.entry.cjs.js.map +0 -1
  617. package/dist/cjs/br-table-header-cell.entry.cjs.js.map +0 -1
  618. package/dist/cjs/br-table-header-row.entry.cjs.js.map +0 -1
  619. package/dist/cjs/br-table-row.entry.cjs.js.map +0 -1
  620. package/dist/cjs/br-table.entry.cjs.js.map +0 -1
  621. package/dist/cjs/br-tag.entry.cjs.js.map +0 -1
  622. package/dist/cjs/br-textarea.entry.cjs.js.map +0 -1
  623. package/dist/cjs/br-tooltip.entry.cjs.js.map +0 -1
  624. package/dist/cjs/br-upload.entry.cjs.js.map +0 -1
  625. package/dist/cjs/index-CFIH680Y.js.map +0 -1
  626. package/dist/components/p-0zSorzux.js +0 -179
  627. package/dist/components/p-BFSUtbLz.js +0 -275
  628. package/dist/components/p-BFSUtbLz.js.map +0 -1
  629. package/dist/components/p-BGvZWtkB.js +0 -250
  630. package/dist/components/p-C5niSTTq.js +0 -164
  631. package/dist/components/p-CbnpaWFn.js +0 -334
  632. package/dist/components/p-CbnpaWFn.js.map +0 -1
  633. package/dist/components/p-CodfIeVU.js +0 -136
  634. package/dist/components/p-CvEK2Il7.js +0 -200
  635. package/dist/components/p-Cw0pxndP.js +0 -525
  636. package/dist/components/p-Cw0pxndP.js.map +0 -1
  637. package/dist/components/p-DGjCsmhy.js +0 -361
  638. package/dist/components/p-DSkSDmzD.js.map +0 -1
  639. package/dist/esm/br-button.br-icon.entry.js.map +0 -1
  640. package/dist/esm/br-checkbox.br-input.br-radio.entry.js.map +0 -1
  641. package/dist/esm/br-collapse.entry.js +0 -185
  642. package/dist/esm/br-collapse.entry.js.map +0 -1
  643. package/dist/esm/br-dropdown.br-select.entry.js.map +0 -1
  644. package/dist/esm/br-item.br-list.entry.js.map +0 -1
  645. package/dist/esm/br-item_2.entry.js +0 -406
  646. package/dist/esm/index-ByGJPTh2.js.map +0 -1
  647. package/dist/webcomponents/br-avatar.entry.esm.js.map +0 -1
  648. package/dist/webcomponents/br-breadcrumb.entry.esm.js.map +0 -1
  649. package/dist/webcomponents/br-button.br-icon.entry.esm.js.map +0 -1
  650. package/dist/webcomponents/br-card.entry.esm.js.map +0 -1
  651. package/dist/webcomponents/br-checkbox.br-input.br-radio.entry.esm.js.map +0 -1
  652. package/dist/webcomponents/br-checkgroup.entry.esm.js.map +0 -1
  653. package/dist/webcomponents/br-collapse.entry.esm.js.map +0 -1
  654. package/dist/webcomponents/br-divider.entry.esm.js.map +0 -1
  655. package/dist/webcomponents/br-dropdown.br-select.entry.esm.js.map +0 -1
  656. package/dist/webcomponents/br-footer-category.entry.esm.js.map +0 -1
  657. package/dist/webcomponents/br-footer-item.entry.esm.js.map +0 -1
  658. package/dist/webcomponents/br-footer-legal.entry.esm.js.map +0 -1
  659. package/dist/webcomponents/br-footer-logo.entry.esm.js.map +0 -1
  660. package/dist/webcomponents/br-footer-social.entry.esm.js.map +0 -1
  661. package/dist/webcomponents/br-footer.entry.esm.js.map +0 -1
  662. package/dist/webcomponents/br-item.br-list.entry.esm.js.map +0 -1
  663. package/dist/webcomponents/br-loading.entry.esm.js.map +0 -1
  664. package/dist/webcomponents/br-magic-button.entry.esm.js.map +0 -1
  665. package/dist/webcomponents/br-message.entry.esm.js.map +0 -1
  666. package/dist/webcomponents/br-modal.entry.esm.js.map +0 -1
  667. package/dist/webcomponents/br-pagination.entry.esm.js.map +0 -1
  668. package/dist/webcomponents/br-scrim.entry.esm.js.map +0 -1
  669. package/dist/webcomponents/br-sign-in.entry.esm.js.map +0 -1
  670. package/dist/webcomponents/br-step-item.entry.esm.js.map +0 -1
  671. package/dist/webcomponents/br-step.entry.esm.js.map +0 -1
  672. package/dist/webcomponents/br-switch.entry.esm.js.map +0 -1
  673. package/dist/webcomponents/br-tab-item.entry.esm.js.map +0 -1
  674. package/dist/webcomponents/br-tab.entry.esm.js.map +0 -1
  675. package/dist/webcomponents/br-table-cell.entry.esm.js.map +0 -1
  676. package/dist/webcomponents/br-table-header-cell.entry.esm.js.map +0 -1
  677. package/dist/webcomponents/br-table-header-row.entry.esm.js.map +0 -1
  678. package/dist/webcomponents/br-table-row.entry.esm.js.map +0 -1
  679. package/dist/webcomponents/br-table.entry.esm.js.map +0 -1
  680. package/dist/webcomponents/br-tag.entry.esm.js.map +0 -1
  681. package/dist/webcomponents/br-textarea.entry.esm.js.map +0 -1
  682. package/dist/webcomponents/br-tooltip.entry.esm.js.map +0 -1
  683. package/dist/webcomponents/br-upload.entry.esm.js.map +0 -1
  684. package/dist/webcomponents/p-0c53e0e8.entry.js +0 -60
  685. package/dist/webcomponents/p-0c53e0e8.entry.js.map +0 -1
  686. package/dist/webcomponents/p-0c7961dc.entry.js +0 -286
  687. package/dist/webcomponents/p-0c7961dc.entry.js.map +0 -1
  688. package/dist/webcomponents/p-0cc360f5.entry.js +0 -271
  689. package/dist/webcomponents/p-0cc360f5.entry.js.map +0 -1
  690. package/dist/webcomponents/p-0cfc9f36.entry.js.map +0 -1
  691. package/dist/webcomponents/p-110e53e5.entry.js +0 -91
  692. package/dist/webcomponents/p-110e53e5.entry.js.map +0 -1
  693. package/dist/webcomponents/p-136fc952.entry.js +0 -459
  694. package/dist/webcomponents/p-136fc952.entry.js.map +0 -1
  695. package/dist/webcomponents/p-13e6e87d.entry.js +0 -73
  696. package/dist/webcomponents/p-13e6e87d.entry.js.map +0 -1
  697. package/dist/webcomponents/p-16cf274f.entry.js +0 -134
  698. package/dist/webcomponents/p-16cf274f.entry.js.map +0 -1
  699. package/dist/webcomponents/p-1b970308.entry.js +0 -159
  700. package/dist/webcomponents/p-1b970308.entry.js.map +0 -1
  701. package/dist/webcomponents/p-1cc6bcdd.entry.js +0 -62
  702. package/dist/webcomponents/p-1cc6bcdd.entry.js.map +0 -1
  703. package/dist/webcomponents/p-1d8feab9.entry.js +0 -385
  704. package/dist/webcomponents/p-1d8feab9.entry.js.map +0 -1
  705. package/dist/webcomponents/p-26a029f7.entry.js +0 -389
  706. package/dist/webcomponents/p-26a029f7.entry.js.map +0 -1
  707. package/dist/webcomponents/p-2b9f0a10.entry.js +0 -361
  708. package/dist/webcomponents/p-2b9f0a10.entry.js.map +0 -1
  709. package/dist/webcomponents/p-2c8976dc.entry.js +0 -86
  710. package/dist/webcomponents/p-2c8976dc.entry.js.map +0 -1
  711. package/dist/webcomponents/p-3407c22c.entry.js +0 -113
  712. package/dist/webcomponents/p-3407c22c.entry.js.map +0 -1
  713. package/dist/webcomponents/p-37c8053c.entry.js +0 -44
  714. package/dist/webcomponents/p-37c8053c.entry.js.map +0 -1
  715. package/dist/webcomponents/p-3ecf55fc.entry.js +0 -92
  716. package/dist/webcomponents/p-3ecf55fc.entry.js.map +0 -1
  717. package/dist/webcomponents/p-531c7f89.entry.js +0 -201
  718. package/dist/webcomponents/p-531c7f89.entry.js.map +0 -1
  719. package/dist/webcomponents/p-5e063914.entry.js +0 -217
  720. package/dist/webcomponents/p-5e063914.entry.js.map +0 -1
  721. package/dist/webcomponents/p-63a7b4fb.entry.js +0 -202
  722. package/dist/webcomponents/p-63a7b4fb.entry.js.map +0 -1
  723. package/dist/webcomponents/p-67d88dcb.entry.js +0 -923
  724. package/dist/webcomponents/p-67d88dcb.entry.js.map +0 -1
  725. package/dist/webcomponents/p-696b898b.entry.js +0 -587
  726. package/dist/webcomponents/p-696b898b.entry.js.map +0 -1
  727. package/dist/webcomponents/p-6dcfc5d7.entry.js +0 -105
  728. package/dist/webcomponents/p-6dcfc5d7.entry.js.map +0 -1
  729. package/dist/webcomponents/p-6f5f88fc.entry.js +0 -120
  730. package/dist/webcomponents/p-6f5f88fc.entry.js.map +0 -1
  731. package/dist/webcomponents/p-709ae70f.entry.js +0 -50
  732. package/dist/webcomponents/p-709ae70f.entry.js.map +0 -1
  733. package/dist/webcomponents/p-850a2df0.entry.js +0 -235
  734. package/dist/webcomponents/p-850a2df0.entry.js.map +0 -1
  735. package/dist/webcomponents/p-85f17810.entry.js +0 -94
  736. package/dist/webcomponents/p-85f17810.entry.js.map +0 -1
  737. package/dist/webcomponents/p-8f481839.entry.js +0 -52
  738. package/dist/webcomponents/p-8f481839.entry.js.map +0 -1
  739. package/dist/webcomponents/p-9cde1441.entry.js +0 -50
  740. package/dist/webcomponents/p-9cde1441.entry.js.map +0 -1
  741. package/dist/webcomponents/p-ByGJPTh2.js.map +0 -1
  742. package/dist/webcomponents/p-a9200224.entry.js.map +0 -1
  743. package/dist/webcomponents/p-abfb0743.entry.js +0 -554
  744. package/dist/webcomponents/p-abfb0743.entry.js.map +0 -1
  745. package/dist/webcomponents/p-b3a7c11a.entry.js +0 -131
  746. package/dist/webcomponents/p-b3a7c11a.entry.js.map +0 -1
  747. package/dist/webcomponents/p-bcb65fc2.entry.js +0 -169
  748. package/dist/webcomponents/p-bcb65fc2.entry.js.map +0 -1
  749. package/dist/webcomponents/p-c0e50bbd.entry.js +0 -136
  750. package/dist/webcomponents/p-c0e50bbd.entry.js.map +0 -1
  751. package/dist/webcomponents/p-ce2e0625.entry.js +0 -139
  752. package/dist/webcomponents/p-ce2e0625.entry.js.map +0 -1
  753. package/dist/webcomponents/p-da3acefd.entry.js +0 -77
  754. package/dist/webcomponents/p-da3acefd.entry.js.map +0 -1
  755. package/dist/webcomponents/p-e86962f6.entry.js +0 -272
  756. package/dist/webcomponents/p-e86962f6.entry.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"br-avatar.entry.esm.js","sources":["../../packages/webcomponents/src/components/avatar/avatar.scss?tag=br-avatar&encapsulation=shadow","../../packages/webcomponents/src/components/avatar/avatar.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/avatar/avatar\";\n\n:host {\n display: inline-block;\n\n .br-avatar .content.text-pure-0 {\n background-color: var(--avatar-text-background-color);\n }\n}\n\n:host([density=\"small\"]) .avatar-icon {\n margin-top: 0.7em;\n}\n\n:host([density=\"medium\"]) .avatar-icon {\n margin-top: 0.95em;\n}\n\n:host([density=\"large\"]) .avatar-icon {\n margin-top: 0.65em;\n}\n","import { Component, Element, h, Host, Prop, State, Watch } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/avatar?tab=designer).\n *\n * @example\n * ```html\n * <br-avatar is-iconic></br-avatar>\n * ```\n */\n@Component({\n tag: 'br-avatar',\n styleUrl: 'avatar.scss',\n shadow: true,\n})\nexport class Avatar {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrAvatarElement\n\n /**\n * Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido.\n */\n @Prop({ mutable: true }) density: 'small' | 'medium' | 'large' = 'medium'\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-avatar-${avatarId++}`\n\n /**\n * URL da imagem a ser exibida no avatar do tipo 'fotográfico'.\n * Deve ser uma URL válida que aponta para a imagem desejada.\n */\n @Prop() readonly src: string\n\n /**\n * Texto alternativo (alt) associado à imagem do avatar. Essencial para acessibilidade.\n * Deve descrever de forma clara e concisa o conteúdo da imagem, por exemplo: \"Foto de perfil de João Silva\".\n */\n @Prop() readonly alt = 'Foto de perfil do usuário'\n\n /**\n * Força a exibição do ícone padrão, sobrescreve outras opções (texto ou imagem).\n * Útil para manter consistência visual ou quando se deseja um avatar neutro independente do conteúdo disponível.\n */\n @Prop() readonly isIconic: boolean = false\n\n /**\n * Conteúdo textual do avatar.\n * Apenas o primeiro caractere será exibido em maiúscula.\n */\n @Prop() readonly text: string\n\n /**\n * Define se o avatar está desabilitado\n */\n @Prop() readonly disabled = false\n\n /**\n * Permite definir a cor de fundo do componente.\n * Aceita os seguintes formatos de cor:\n * - Cores nomeadas do CSS: 'red', 'blue', 'green', 'yellow', etc.\n * - Códigos hexadecimais: '#ff0000', '#00ff00', '#0000ff', etc.\n * - Valores RGB: 'rgb(255, 0, 0)', 'rgb(0, 255, 0)', etc.\n * - Valores RGBA: 'rgba(255, 0, 0, 0.5)', 'rgba(0, 255, 0, 0.8)', etc.\n * - Valores HSL: 'hsl(0, 100%, 50%)', 'hsl(120, 100%, 50%)', etc.\n * - Valores HSLA: 'hsla(0, 100%, 50%, 0.5)', 'hsla(240, 100%, 50%, 0.7)', etc.\n * Se não especificada, usa a cor padrão do tema.\n */\n @Prop({ reflect: true }) readonly bgColor: string = '#DBE8FB'\n\n @State() private hasError = false\n\n /**\n * Observa mudanças na propriedade density para validação e sincronização com atributo DOM.\n * Garante que apenas valores válidos sejam aceitos e atualiza o atributo no elemento host.\n */\n @Watch('density')\n handleDensityChange(newValue: 'small' | 'medium' | 'large') {\n if (!['small', 'medium', 'large'].includes(newValue)) {\n console.warn(`Valor inválido para density: ${newValue}. Usando 'medium'.`)\n this.density = 'medium'\n }\n this.el.setAttribute('density', this.density)\n }\n\n componentWillLoad() {\n this.handleDensityChange(this.density)\n this.setCustomBackgroundColor()\n }\n\n componentDidUpdate() {\n this.setCustomBackgroundColor()\n }\n\n /**\n * Gera um mapa de classes CSS com base nas propriedades do componente.\n * @returns {CssClassMap} Objeto contendo as classes CSS aplicadas.\n */\n private getCssClassMap(): CssClassMap {\n return {\n 'br-avatar': true,\n [this.density]: true,\n error: this.hasError,\n disabled: this.disabled,\n }\n }\n\n /**\n * Verifica se uma string possui conteúdo válido (não vazia após remover espaços em branco).\n * @param value - String a ser verificada\n * @returns {boolean} true se a string possui conteúdo\n */\n private hasContent(value: string): boolean {\n return value?.trim().length > 0\n }\n\n private readonly handleImageError = () => {\n this.hasError = true\n console.error(`Erro ao carregar imagem do avatar: ${this.src}`)\n }\n\n /**\n * Obtém as classes CSS para o elemento content.\n * @returns {string} Classes CSS do content\n */\n private getContentClasses(): string {\n if (this.hasContent(this.text) && !this.isIconic) {\n return 'content text-pure-0'\n }\n return 'content'\n }\n\n /**\n * Define a variável CSS para cor de fundo personalizada para o avatar texto.\n */\n private setCustomBackgroundColor() {\n if (this.hasContent(this.bgColor)) {\n this.el.style.setProperty('--avatar-text-background-color', this.bgColor)\n }\n }\n\n /**\n * Gera aria-label apropriado baseado no tipo de avatar\n * Prioriza aria-label do host, senão gera automaticamente\n */\n private getAriaLabel(): string {\n const hostAriaLabel = this.el.getAttribute('aria-label')\n if (this.hasContent(hostAriaLabel)) {\n return hostAriaLabel\n }\n\n if (this.hasContent(this.text) && !this.isIconic) {\n return `Avatar de ${this.text}`\n }\n\n if (this.hasContent(this.src) && !this.hasError) {\n return this.alt\n }\n\n return 'Avatar com ícone padrão de usuário'\n }\n\n /**\n * Obtém o valor do token do DS para altura do ícone\n */\n private getIconSize(): string {\n const tokenName = `--icon-size-${this.density === 'small' ? '2x' : this.density === 'medium' ? '5x' : '8x'}`\n return getComputedStyle(this.el).getPropertyValue(tokenName).trim()\n }\n\n /**\n * Obtém o valor do token do DS para largura do ícone (altura + 8px)\n */\n private getIconWidth(): string {\n const baseSize = this.getIconSize()\n const numericValue = parseInt(baseSize.replace('px', ''))\n return `${numericValue + 8}px`\n }\n\n /**\n * Renderiza o avatar do tipo 'letra/texto'.\n * Exibe a primeira letra do texto em maiúscula.\n */\n private renderTextAvatar() {\n return this.text[0].toUpperCase()\n }\n\n /**\n * Renderiza o avatar do tipo 'fotográfico/imagem'.\n * Exibe uma imagem carregada via URL.\n */\n private renderImageAvatar() {\n return <img src={this.src} alt={this.alt} loading=\"lazy\" onError={this.handleImageError} />\n }\n\n /**\n * Renderiza o avatar do tipo 'icônico'.\n * Exibe um ícone padrão (fa-solid:user) posicionado na base do avatar.\n */\n private renderIconAvatar() {\n return (\n <br-icon\n icon-name=\"fa-solid:user\"\n height={this.getIconSize()}\n width={this.getIconWidth()}\n aria-hidden=\"true\"\n class=\"avatar-icon\"\n ></br-icon>\n )\n }\n\n /**\n * Método principal de renderização do avatar.\n * Prioridade: isIconic > texto > imagem > ícone (padrão)\n */\n private renderAvatar() {\n if (this.isIconic) {\n return this.renderIconAvatar()\n }\n\n if (this.hasContent(this.text)) {\n return this.renderTextAvatar()\n }\n\n if (this.hasContent(this.src) && !this.hasError) {\n return this.renderImageAvatar()\n }\n\n return this.renderIconAvatar()\n }\n\n render() {\n return (\n <Host>\n <span id={this.customId} class={this.getCssClassMap()} role=\"img\" aria-label={this.getAriaLabel()}>\n <span class={this.getContentClasses()}>{this.renderAvatar()}</span>\n </span>\n </Host>\n )\n }\n}\n\nlet avatarId = 0\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"br-breadcrumb.entry.esm.js","sources":["../../packages/webcomponents/src/components/breadcrumb/breadcrumb.scss?tag=br-breadcrumb&encapsulation=shadow","../../packages/webcomponents/src/components/breadcrumb/breadcrumb.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/breadcrumb/breadcrumb\";\n@import \"~@govbr-ds/core/src/partial/scss/configs/icons\";\n@import \"~@govbr-ds/core/src/components/button/button\";\n@import \"~@govbr-ds/core/src/components/list/list\";\n@import \"~@govbr-ds/core/src/components/item/item\";\n@import \"~@govbr-ds/core/src/components/divider/divider\";\n\n:host {\n display: block;\n}\n\n.br-breadcrumb {\n .br-icon {\n color: #ccc;\n }\n\n .br-icon,\n .mobile-active-page {\n display: flex;\n align-items: center;\n }\n\n .mobile-crumb-list {\n display: none;\n position: absolute;\n width: 200px;\n box-shadow: var(--surface-shadow-sm);\n }\n\n .mobile-crumb-list.show {\n display: block;\n top: 100%;\n z-index: 999;\n }\n\n .buttonFolderGroup,\n .buttonFolderGroup span {\n display: flex;\n align-items: center;\n }\n\n .mobile-active-page {\n span:focus:focus-visible {\n outline: var(--focus-width) var(--focus-style) var(--focus);\n outline-offset: var(--focus-offset);\n }\n\n [data-active] {\n margin: 0 var(--spacing-scale-2x) 0 var(--spacing-scale-base);\n }\n }\n\n .crumb {\n display: flex;\n align-items: center;\n\n span {\n display: flex;\n align-items: center;\n }\n }\n}\n\n.tooltip-box {\n position: fixed;\n background: #1351b4;\n color: #fff;\n padding: 8px 12px;\n border-radius: 4px;\n font-size: 12px;\n white-space: nowrap;\n transform: translate(-50%, -100%);\n pointer-events: none;\n z-index: 9999;\n box-shadow: 0 2px 4px rgb(0 0 0 / 20%);\n opacity: 0;\n transition: opacity 0.2s ease-in-out;\n\n &::after {\n content: \"\";\n position: absolute;\n bottom: -5px;\n left: 50%;\n transform: translateX(-50%);\n width: 0;\n height: 0;\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-top: 6px solid #1351b4;\n }\n}\n\n:host(:hover) {\n .tooltip-box {\n opacity: 1;\n }\n}\n","import { AttachInternals, Component, Element, h, Host, Prop, State } from '@stencil/core'\n\ninterface BreadcrumbItem {\n label: string\n url?: string\n target?: string\n home?: boolean\n active?: boolean\n}\n@Component({\n tag: 'br-breadcrumb',\n styleUrl: 'breadcrumb.scss',\n shadow: true,\n})\n/**\n * Componente de navegação do tipo breadcrumb para indicar o caminho de páginas.\n *\n * @example\n * ```html\n * <br-breadcrumb crumbs='[{\"label\":\"Home\",\"url\":\"/\"},{\"label\":\"Página Atual\",\"active\":true}]'></br-breadcrumb>\n * ```\n */\nexport class Breadcrumb {\n @Element() el: HTMLBrBreadcrumbElement\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-breadcrumb-${breadcrumbId++}`\n\n /**\n * URL para home.\n * Caso não seja fornecido, o valor padrão será /.\n */\n @Prop() homeUrl: string = '/'\n\n /**\n * Define o array de objetos que receberá os nomes e links do breadcrumb.\n * Define valor padrão do breadcrumb 'defaultCrumbs'.\n */\n @Prop() crumbs: string | BreadcrumbItem[]\n\n private defaultCrumbs: BreadcrumbItem[] = [\n { label: 'Página 01', url: '/pagina-01' },\n { label: 'Página 02', url: '/pagina-02' },\n { label: 'Página Atual', active: true },\n ]\n\n /**\n * Define o estado oculto ou visível do tooltip.\n */\n @State() showTooltip: boolean = false\n\n /**\n * Define o posicionamento do tooltip na tela.\n */\n @State() tooltipPosition: { x: number; y: number } = { x: 0, y: 0 }\n\n /**\n * Define o texto do tooltip.\n */\n @State() tooltipText: string = ''\n\n /**\n * Define o estado isSmallScreen, usado para verificar a largura do container pai e aplicar as mudanças do formato mobile.\n * No formato mobile o breadcrumb apresenta um comportamento específico.\n */\n @State() isSmallScreen: boolean = false\n\n /**\n * Define se o breadcrumb deve truncar os itens por falta de espaço.\n */\n @State() isTruncate: boolean = false\n\n /**\n * Largura interna dos itens do breadcrumb.\n */\n @State() larguraInterna: number = 0\n\n /**\n * Largura do container pai do breadcrumb.\n */\n @State() larguraPai: number = 0\n\n /**\n * Define o estado do botão 'Folder'.\n * Caso a lista dropdown esteja oculta o ícone no botão será 'folder-plus'.\n * Caso a lista dropdown esteja visível o ícone no botão será 'folder-minus'.\n */\n @State() isFolderOpen: boolean = false\n\n /**\n * Verifica se o texto do link contém mais de 20 caracteres e realiza o truncamento deste caso positivo.\n * O número de caracteres pode ser configurado na variável 'charactersNumberTruncate'.\n */\n private trunc(word: string) {\n return word.length > charactersNumberTruncate ? `${word.slice(0, charactersNumberTruncate)}...` : word\n }\n\n /**\n * Exibe o tooltip e define seu posicionamento, caso o usuário realize o 'mouse over'.\n */\n private handleMouseOver(event: MouseEvent, text: string) {\n const target = event.target as HTMLElement | null\n if (!target) return\n\n const rect = target.getBoundingClientRect()\n this.tooltipPosition = { x: rect.left + rect.width / 2, y: rect.top - 10 }\n\n if (text.length > charactersNumberTruncate) {\n this.tooltipText = text\n this.showTooltip = true\n }\n }\n\n /**\n * Esconde o tooltip caso o usuário realize o 'mouse out'.\n */\n private handleMouseOut() {\n this.showTooltip = false\n }\n\n /**\n * Converte de string para JSON o valor passado na propriedade 'crumbs'.\n * Retorna o valor padrão do Breadcrumbs caso crumbs seja vazio ou inválido\n */\n private getParsedItems(): BreadcrumbItem[] {\n if (!this.crumbs || this.crumbs === '') {\n return this.defaultCrumbs\n }\n\n try {\n const parsed = typeof this.crumbs === 'string' ? JSON.parse(this.crumbs) : this.crumbs\n return Array.isArray(parsed) && parsed.length > 0 ? parsed : this.defaultCrumbs\n } catch {\n console.error('Invalid JSON format for crumbs:', this.crumbs)\n return this.defaultCrumbs\n }\n }\n\n /**\n * Ao clicar no botão HOME, direciona o usuário para URL passada na propriedade 'homeUrl'.\n */\n private handleHomeClick() {\n window.location.href = this.homeUrl\n }\n\n /**\n * Altera o estado do botão 'Folder', caso a lista dropdown esteja aberta ou fechada.\n */\n private toggleFolder() {\n this.isFolderOpen = !this.isFolderOpen\n }\n\n /**\n * Define as classes CSS usadas no breadcrumb.\n */\n private getCssClassMap(): { [key: string]: boolean } {\n return {\n 'br-breadcrumb': true,\n small: this.isSmallScreen,\n }\n }\n\n /**\n * Atualiza o estado 'isSmallScreen' com base no tamanho do container pai, se menor que 570px.\n */\n private resizeObserver: ResizeObserver\n\n /**\n * Atualiza os estados de largura do breadcrumb ao detectar mudanças no container pai.\n */\n private updateContainerSize = (entries: ResizeObserverEntry[]) => {\n for (const entry of entries) {\n const containerWidth = entry.contentRect.width\n this.isSmallScreen = containerWidth < 570\n this.larguraPai = containerWidth\n this.calcularLarguraItens()\n }\n }\n\n /**\n * Adiciona o 'resizeObserver' para checar o tamanho do container pai.\n */\n connectedCallback() {\n if (typeof ResizeObserver !== 'undefined') {\n this.resizeObserver = new ResizeObserver(this.updateContainerSize)\n if (this.el.parentElement !== null) {\n this.resizeObserver.observe(this.el.parentElement)\n }\n }\n }\n\n /**\n * Remove o 'resizeObserver'.\n */\n disconnectedCallback() {\n if (this.resizeObserver != null) {\n this.resizeObserver.disconnect()\n }\n }\n\n /**\n * Calcula a largura total dos itens do breadcrumb para determinar se precisa de truncamento.\n */\n private calcularLarguraItens() {\n requestAnimationFrame(() => {\n const itens = this.el.shadowRoot?.querySelectorAll('.crumb, .mobile-active-page, br-item')\n if (itens) {\n let totalWidth = 0\n itens.forEach((item) => {\n totalWidth += (item as HTMLElement).getBoundingClientRect().width\n })\n this.larguraInterna = totalWidth\n this.isTruncate = this.larguraInterna > this.larguraPai\n }\n })\n }\n\n /**\n * Executa cálculos de largura após o componente ser carregado.\n */\n componentDidLoad() {\n this.calcularLarguraItens()\n }\n\n /**\n * Renderiza botão Home\n */\n private renderHomeButton() {\n const buttonFolderClass = this.isFolderOpen ? 'fa6-solid:folder-minus' : 'fa6-solid:folder-plus'\n return (\n <br-button\n id=\"circle\"\n shape=\"circle\"\n aria-label={this.isSmallScreen ? 'Exibir lista de páginas' : 'Voltar para Home'}\n onClick={this.isSmallScreen ? () => this.toggleFolder() : () => this.handleHomeClick()}\n >\n <br-icon icon-name={`${this.isSmallScreen ? buttonFolderClass : 'fa6-solid:house'}`}></br-icon>\n </br-button>\n )\n }\n\n /**\n * Renderiza botão Folder no comportamento truncado\n */\n private renderTruncateButton() {\n if (this.isTruncate && !this.isSmallScreen) {\n const buttonFolderClass = this.isFolderOpen ? 'fa6-solid:folder-minus' : 'fa6-solid:folder-plus'\n return (\n <div class=\"buttonFolderGroup\">\n <br-icon class=\"br-icon\" icon-name=\"fa6-solid:chevron-right\" width=\"12\" height=\"12\"></br-icon>\n <br-button\n id=\"circle\"\n shape=\"circle\"\n aria-label={this.isFolderOpen ? 'Recolher lista de páginas' : 'Exibir lista de páginas'}\n onClick={() => this.toggleFolder()}\n onKeyDown={(event) => this.handleKeyDown(event)}\n >\n <br-icon icon-name={buttonFolderClass}></br-icon>\n </br-button>\n </div>\n )\n }\n return null\n }\n\n /**\n * Renderiza itens do Breadcrumb no comportamento mobile ou truncado\n */\n private renderBreadcrumbItems() {\n const parsedItems = this.getParsedItems()\n const lastItem = parsedItems[parsedItems.length - 2]\n\n return this.isSmallScreen || this.isTruncate ? (\n <div class=\"buttonFolderGroup\">\n {this.isTruncate && !this.isSmallScreen && lastItem ? (\n <span>\n <br-icon class=\"br-icon\" icon-name=\"fa6-solid:chevron-right\" width=\"12\" height=\"12\"></br-icon>\n <a\n id=\"nextCrumb\"\n href={lastItem.url || 'javascript:void(0)'}\n target={lastItem.target || '_self'}\n onMouseOver={(event) => this.handleMouseOver(event, lastItem.label)}\n onMouseOut={() => this.handleMouseOut()}\n >\n {this.trunc(lastItem.label)}\n </a>\n </span>\n ) : null}\n {this.renderMobileActiveItem(parsedItems)}\n {this.renderBreadcrumbList(parsedItems)}\n </div>\n ) : (\n parsedItems.map((item, index) => (\n <li\n key={index}\n class={`crumb ${item.home ? 'home' : ''}`}\n data-active={item.active ? 'active' : null}\n aria-label={`Página ${index + 1} de ${parsedItems.length}`}\n >\n {this.renderBreadcrumbLink(item)}\n </li>\n ))\n )\n }\n\n /**\n * Renderiza item da página atual\n */\n private renderMobileActiveItem(parsedItems: BreadcrumbItem[]) {\n const activeItem = parsedItems.find((item) => item.active)\n if (!activeItem) return null\n return (\n <span class=\"mobile-active-page\">\n <br-icon class=\"br-icon\" icon-name=\"fa6-solid:chevron-right\" width=\"12\" height=\"12\"></br-icon>\n <span aria-current=\"page\" data-active=\"active\">\n {activeItem.label}\n </span>\n </span>\n )\n }\n\n /**\n * Renderiza Lista dropdown contendo os itens do Breadcrumb\n */\n private renderBreadcrumbList(parsedItems: BreadcrumbItem[]) {\n return (\n <br-list class={this.isFolderOpen ? 'mobile-crumb-list show' : 'mobile-crumb-list'}>\n {this.isSmallScreen && (\n <div aria-label={`Página 1 de ${parsedItems.length}`}>\n <br-item>\n <a href={this.homeUrl} target=\"_self\">\n Página Inicial\n </a>\n </br-item>\n <span class=\"br-divider\"></span>\n </div>\n )}\n {parsedItems.map((item, index) => {\n if (this.isTruncate && !this.isSmallScreen && index === parsedItems.length - 2) {\n return null\n }\n return (\n !item.active && (\n <div\n key={index}\n aria-label={\n this.isTruncate && !this.isSmallScreen\n ? `Página ${index + 1} de ${parsedItems.length - 2}`\n : `Página ${index + 2} de ${parsedItems.length}`\n }\n >\n <br-item>\n <a\n id={index == 0 ? 'firstElementList' : ''}\n href={item.url || 'javascript:void(0)'}\n target={item.target || '_self'}\n onMouseOver={(event) => this.handleMouseOver(event, item.label)}\n onMouseOut={() => this.handleMouseOut()}\n onKeyDown={\n index == parsedItems.length - 3 && this.isFolderOpen && this.isTruncate && !this.isSmallScreen\n ? (event) => {\n if (event.key === 'Tab') {\n this.handleKeyDownOut(event)\n this.toggleFolder()\n }\n }\n : null\n }\n >\n {this.trunc(item.label)}\n </a>\n </br-item>\n <span class=\"br-divider\"></span>\n </div>\n )\n )\n })}\n </br-list>\n )\n }\n\n /**\n * Renderiza itens do Breadcrumb no formato desktop\n */\n private renderBreadcrumbLink(item: BreadcrumbItem) {\n return item.active ? (\n <span>\n <br-icon class=\"br-icon\" icon-name=\"fa6-solid:chevron-right\" width=\"12\" height=\"12\"></br-icon>\n <span aria-current=\"page\">{item.label}</span>\n </span>\n ) : (\n <span>\n <br-icon class=\"br-icon\" icon-name=\"fa6-solid:chevron-right\" width=\"12\" height=\"12\"></br-icon>\n <a\n href={item.url || 'javascript:void(0)'}\n target={item.target || '_self'}\n onMouseOver={(event) => this.handleMouseOver(event, item.label)}\n onMouseOut={() => this.handleMouseOut()}\n >\n {this.trunc(item.label)}\n </a>\n </span>\n )\n }\n\n /**\n * Renderiza Tooltip\n */\n private renderTooltip() {\n if (!this.showTooltip) return null\n return (\n <div class=\"tooltip-box\" style={{ left: `${this.tooltipPosition.x}px`, top: `${this.tooltipPosition.y}px` }}>\n {this.tooltipText}\n </div>\n )\n }\n\n /**\n * Controla navegação pelo teclado após lista de itens aberta\n * Dispara foco no primeiro item da lista flutuante\n */\n private handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Tab') {\n if (this.isFolderOpen && this.isTruncate && !this.isSmallScreen) {\n setTimeout(() => {\n const element = this.el.shadowRoot?.getElementById('firstElementList')\n if (element) {\n element.focus()\n }\n }, 0) // Aguarda um ciclo de renderização\n }\n }\n }\n\n /**\n * Ao finalizar navegação por teclado dentro da lista, dispara foco no item fora da lista flutuante\n */\n private handleKeyDownOut(event: KeyboardEvent) {\n if (event.key === 'Tab') {\n if (this.isFolderOpen && this.isTruncate && !this.isSmallScreen) {\n setTimeout(() => {\n const element = this.el.shadowRoot?.getElementById('nextCrumb')\n if (element) {\n element.focus()\n }\n }, 0)\n }\n }\n }\n\n render() {\n return (\n <Host>\n <nav class={this.getCssClassMap()} aria-label=\"Breadcrumbs\">\n <ol class=\"crumb-list\">\n {this.renderHomeButton()}\n {this.renderTruncateButton()}\n {this.renderBreadcrumbItems()}\n </ol>\n </nav>\n {this.renderTooltip()}\n </Host>\n )\n }\n}\n\n/**\n * ID do Breadcrumb\n */\nlet breadcrumbId = 0\n\n/**\n * Limite de caracteres para o truncamento\n */\nconst charactersNumberTruncate = 20\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"br-button.br-icon.entry.esm.js","sources":["../../packages/webcomponents/src/components/button/button.scss?tag=br-button&encapsulation=shadow","../../packages/webcomponents/src/components/button/button.tsx","../../node_modules/iconify-icon/dist/iconify-icon.mjs","../../packages/webcomponents/src/components/icon/icon.scss?tag=br-icon&encapsulation=shadow","../../packages/webcomponents/src/components/icon/icon.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/button/button\";\n@import \"~@govbr-ds/core/src/components/loading/loading\";\n\n:host {\n display: inline-block;\n}\n\n:host([shape=\"block\"]) {\n display: block;\n}\n\n::slotted(br-icon) {\n margin: 0 var(--spacing-scale-base);\n}\n\n::slotted(a:not(:disabled):hover) {\n background-image: none !important;\n}\n","import { AttachInternals, Component, Element, h, Host, Prop } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/button?tab=designer).\n *\n * @slot default - Espaço de conteúdo do button. Geralmente usado para incluir o rótulo.\n * @part button - Elemento button interno. Use para aplicar estilos customizados através de ::part(button).\n *\n * @example\n * Uso básico:\n * ```html\n * <br-button id=\"meu-botao\" emphasis=\"primary\">Clique aqui</br-button>\n * ```\n *\n * @example\n * Customizando com CSS Parts:\n * ```css\n * .meu-botao::part(button) {\n * padding: 1rem 2rem;\n * border-radius: 8px;\n * }\n * ```\n\n* **Atenção**:\n* - `margin` aplicado diretamente ao `<br-button>` é seguro para espaçamento externo e **não afeta a área clicável** do botão. Pode ser usado para separar o botão de outros elementos.\n* - `padding` aplicado diretamente ao `<br-button>` **expande a área clicável** além do botão visível, pois o host do componente recebe o padding. Para espaçamento interno, use as propriedades do componente (`density`, `shape`) ou estilize via `::part(button)`.\n* - Recomenda-se o uso de `margin` para espaçamento externo e `padding` via `::part(button)` para espaçamento interno.\n*\n* @example\n * Layout externo (para espaçamento entre componentes):\n* ```html\n* <br-button class=\"m-3\" emphasis=\"primary\">Botão com margin</br-button>\n* ```\n *\n * @example\n * Layout externo (para espaçamento entre componentes):\n * ```html\n * <div class=\"wrapper\">\n * <br-button emphasis=\"primary\">Botão</br-button>\n * </div>\n * ```\n *\n * ```css\n * .wrapper {\n * margin: 1rem;\n * }\n * ```\n *\n */\n@Component({\n tag: 'br-button',\n styleUrl: 'button.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Button {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrButtonElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Define se o botão usará um esquema de cores escuro.\n */\n @Prop({ reflect: true }) readonly colorMode: 'dark'\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-button-${buttonId++}`\n\n /**\n * Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido.\n */\n @Prop({ reflect: true }) readonly density: 'large' | 'medium' | 'small' = 'medium'\n\n /**\n * Desativa o botão, tornando-o não interativo.\n */\n @Prop({ reflect: true }) readonly disabled: boolean = false\n\n /**\n * Define a ênfase do botão, alterando sua aparência para criar hierarquia visual e destacar ações importantes.\n */\n @Prop({ reflect: true }) readonly emphasis: 'primary' | 'secondary' | 'tertiary'\n\n /**\n * Indica se o botão está no estado ativo.\n * Se definido como verdadeiro, o botão será exibido como ativo.\n */\n @Prop({ reflect: true }) readonly isActive: boolean = false\n\n /**\n * Aplica o estado de \"progresso\" ao botão.\n * O botão exibirá um indicador de carregamento ou progresso.\n */\n @Prop({ reflect: true }) readonly isLoading: boolean = false\n\n /**\n * Define o formato do botão.\n * Valores possíveis:\n * - 'circle': Botão com formato circular.\n * - 'block': Botão com formato ovalado ocupando toda a largura disponível.\n * - 'pill': Botão com formato ovalado, com bordas arredondadas.\n */\n @Prop({ reflect: true }) readonly shape: 'circle' | 'block' | 'pill'\n\n /**\n * Define o tipo de botão, especificando seu comportamento padrão.\n * Valores possíveis:\n * - 'button': Um botão padrão.\n * - 'reset': Um botão para redefinir o formulário.\n * - 'submit': Um botão para enviar o formulário.\n */\n @Prop({ reflect: true }) readonly type: 'button' | 'reset' | 'submit'\n\n /**\n * Define o valor inicial do botão em um formulário.\n */\n @Prop({ reflect: true }) readonly value: string\n\n /**\n * Define o rótulo acessível do botão.\n * Este rótulo é usado por tecnologias assistivas para descrever a função do botão.\n * É especialmente importante para botões com formato circular, onde o texto pode não ser visível.\n * Se o botão não tiver um rótulo acessível, uma mensagem de aviso será exibida no console.\n */\n @Prop({ reflect: true }) readonly ariaLabel: string\n\n /**\n * Define o estado de pressionado do botão.\n * Este atributo é usado para indicar se o botão está atualmente pressionado ou não.\n * É especialmente útil para botões que podem ser alternados entre os estados pressionado e não pressionado.\n * O valor deve ser 'true' ou 'false'.\n */\n @Prop({ reflect: true }) readonly ariaPressed: string\n\n private readonly handleClick = () => {\n if (this.type === 'submit') {\n const submitEvent = new SubmitEvent('submit', {\n submitter: this.elementInternals.form,\n composed: true,\n cancelable: true,\n bubbles: true,\n })\n this.elementInternals.form.dispatchEvent(submitEvent)\n }\n\n if (this.type === 'reset') {\n this.elementInternals.form.reset()\n }\n }\n\n componentDidLoad() {\n if (this.shape === 'circle') {\n const ariaLabelValue = this.el.getAttribute('aria-label')\n if (ariaLabelValue === null || ariaLabelValue === undefined || ariaLabelValue.trim() === '') {\n console.warn('[br-button]: Botões circulares devem conter um aria-label.')\n }\n }\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-button': true,\n primary: this.emphasis === 'primary',\n secondary: this.emphasis === 'secondary',\n large: this.density === 'large',\n small: this.density === 'small',\n block: this.shape === 'block',\n circle: this.shape === 'circle',\n active: this.isActive,\n loading: this.isLoading,\n 'dark-mode': this.colorMode === 'dark',\n }\n }\n\n render() {\n return (\n <Host aria-disabled={this.disabled ? 'true' : null}>\n <button\n part=\"button\"\n aria-label={this.shape === 'circle' ? this.ariaLabel : null}\n aria-pressed={this.ariaPressed}\n class={this.getCssClassMap()}\n type={this.type}\n id={this.customId}\n disabled={this.disabled}\n value={this.value}\n onClick={this.handleClick}\n >\n <slot></slot>\n </button>\n </Host>\n )\n }\n}\n\nlet buttonId = 0\n","/**\n* (c) Iconify\n*\n* For the full copyright and license information, please view the license.txt\n* files at https://github.com/iconify/iconify\n*\n* Licensed under MIT.\n*\n* @license MIT\n* @version 3.0.2\n*/\n/** Default values for dimensions */\nconst defaultIconDimensions = Object.freeze({\n\tleft: 0,\n\ttop: 0,\n\twidth: 16,\n\theight: 16\n});\n/** Default values for transformations */\nconst defaultIconTransformations = Object.freeze({\n\trotate: 0,\n\tvFlip: false,\n\thFlip: false\n});\n/** Default values for all optional IconifyIcon properties */\nconst defaultIconProps = Object.freeze({\n\t...defaultIconDimensions,\n\t...defaultIconTransformations\n});\n/** Default values for all properties used in ExtendedIconifyIcon */\nconst defaultExtendedIconProps = Object.freeze({\n\t...defaultIconProps,\n\tbody: \"\",\n\thidden: false\n});\n\n/**\n* Default icon customisations values\n*/\nconst defaultIconSizeCustomisations = Object.freeze({\n\twidth: null,\n\theight: null\n});\nconst defaultIconCustomisations = Object.freeze({\n\t...defaultIconSizeCustomisations,\n\t...defaultIconTransformations\n});\n\n/**\n* Get rotation value\n*/\nfunction rotateFromString(value, defaultValue = 0) {\n\tconst units = value.replace(/^-?[0-9.]*/, \"\");\n\tfunction cleanup(value$1) {\n\t\twhile (value$1 < 0) value$1 += 4;\n\t\treturn value$1 % 4;\n\t}\n\tif (units === \"\") {\n\t\tconst num = parseInt(value);\n\t\treturn isNaN(num) ? 0 : cleanup(num);\n\t} else if (units !== value) {\n\t\tlet split = 0;\n\t\tswitch (units) {\n\t\t\tcase \"%\":\n\t\t\t\tsplit = 25;\n\t\t\t\tbreak;\n\t\t\tcase \"deg\": split = 90;\n\t\t}\n\t\tif (split) {\n\t\t\tlet num = parseFloat(value.slice(0, value.length - units.length));\n\t\t\tif (isNaN(num)) return 0;\n\t\t\tnum = num / split;\n\t\t\treturn num % 1 === 0 ? cleanup(num) : 0;\n\t\t}\n\t}\n\treturn defaultValue;\n}\n\nconst separator = /[\\s,]+/;\n/**\n* Apply \"flip\" string to icon customisations\n*/\nfunction flipFromString(custom, flip) {\n\tflip.split(separator).forEach((str) => {\n\t\tswitch (str.trim()) {\n\t\t\tcase \"horizontal\":\n\t\t\t\tcustom.hFlip = true;\n\t\t\t\tbreak;\n\t\t\tcase \"vertical\":\n\t\t\t\tcustom.vFlip = true;\n\t\t\t\tbreak;\n\t\t}\n\t});\n}\n\nconst defaultCustomisations = {\n ...defaultIconCustomisations,\n preserveAspectRatio: '',\n};\n/**\n * Get customisations\n */\nfunction getCustomisations(node) {\n const customisations = {\n ...defaultCustomisations,\n };\n const attr = (key, def) => node.getAttribute(key) || def;\n // Dimensions\n customisations.width = attr('width', null);\n customisations.height = attr('height', null);\n // Rotation\n customisations.rotate = rotateFromString(attr('rotate', ''));\n // Flip\n flipFromString(customisations, attr('flip', ''));\n // SVG attributes\n customisations.preserveAspectRatio = attr('preserveAspectRatio', attr('preserveaspectratio', ''));\n return customisations;\n}\n/**\n * Check if customisations have been updated\n */\nfunction haveCustomisationsChanged(value1, value2) {\n for (const key in defaultCustomisations) {\n if (value1[key] !== value2[key]) {\n return true;\n }\n }\n return false;\n}\n\n/**\n* Expression to test part of icon name.\n*\n* Used when loading icons from Iconify API due to project naming convension.\n* Ignored when using custom icon sets - convension does not apply.\n*/\nconst matchIconName = /^[a-z0-9]+(-[a-z0-9]+)*$/;\n/**\n* Convert string icon name to IconifyIconName object.\n*/\nconst stringToIcon = (value, validate, allowSimpleName, provider = \"\") => {\n\tconst colonSeparated = value.split(\":\");\n\tif (value.slice(0, 1) === \"@\") {\n\t\tif (colonSeparated.length < 2 || colonSeparated.length > 3) return null;\n\t\tprovider = colonSeparated.shift().slice(1);\n\t}\n\tif (colonSeparated.length > 3 || !colonSeparated.length) return null;\n\tif (colonSeparated.length > 1) {\n\t\tconst name$1 = colonSeparated.pop();\n\t\tconst prefix = colonSeparated.pop();\n\t\tconst result = {\n\t\t\tprovider: colonSeparated.length > 0 ? colonSeparated[0] : provider,\n\t\t\tprefix,\n\t\t\tname: name$1\n\t\t};\n\t\treturn validate && !validateIconName(result) ? null : result;\n\t}\n\tconst name = colonSeparated[0];\n\tconst dashSeparated = name.split(\"-\");\n\tif (dashSeparated.length > 1) {\n\t\tconst result = {\n\t\t\tprovider,\n\t\t\tprefix: dashSeparated.shift(),\n\t\t\tname: dashSeparated.join(\"-\")\n\t\t};\n\t\treturn validate && !validateIconName(result) ? null : result;\n\t}\n\tif (allowSimpleName && provider === \"\") {\n\t\tconst result = {\n\t\t\tprovider,\n\t\t\tprefix: \"\",\n\t\t\tname\n\t\t};\n\t\treturn validate && !validateIconName(result, allowSimpleName) ? null : result;\n\t}\n\treturn null;\n};\n/**\n* Check if icon is valid.\n*\n* This function is not part of stringToIcon because validation is not needed for most code.\n*/\nconst validateIconName = (icon, allowSimpleName) => {\n\tif (!icon) return false;\n\treturn !!((allowSimpleName && icon.prefix === \"\" || !!icon.prefix) && !!icon.name);\n};\n\n/**\n* Resolve icon set icons\n*\n* Returns parent icon for each icon\n*/\nfunction getIconsTree(data, names) {\n\tconst icons = data.icons;\n\tconst aliases = data.aliases || Object.create(null);\n\tconst resolved = Object.create(null);\n\tfunction resolve(name) {\n\t\tif (icons[name]) return resolved[name] = [];\n\t\tif (!(name in resolved)) {\n\t\t\tresolved[name] = null;\n\t\t\tconst parent = aliases[name] && aliases[name].parent;\n\t\t\tconst value = parent && resolve(parent);\n\t\t\tif (value) resolved[name] = [parent].concat(value);\n\t\t}\n\t\treturn resolved[name];\n\t}\n\t(Object.keys(icons).concat(Object.keys(aliases))).forEach(resolve);\n\treturn resolved;\n}\n\n/**\n* Merge transformations\n*/\nfunction mergeIconTransformations(obj1, obj2) {\n\tconst result = {};\n\tif (!obj1.hFlip !== !obj2.hFlip) result.hFlip = true;\n\tif (!obj1.vFlip !== !obj2.vFlip) result.vFlip = true;\n\tconst rotate = ((obj1.rotate || 0) + (obj2.rotate || 0)) % 4;\n\tif (rotate) result.rotate = rotate;\n\treturn result;\n}\n\n/**\n* Merge icon and alias\n*\n* Can also be used to merge default values and icon\n*/\nfunction mergeIconData(parent, child) {\n\tconst result = mergeIconTransformations(parent, child);\n\tfor (const key in defaultExtendedIconProps) if (key in defaultIconTransformations) {\n\t\tif (key in parent && !(key in result)) result[key] = defaultIconTransformations[key];\n\t} else if (key in child) result[key] = child[key];\n\telse if (key in parent) result[key] = parent[key];\n\treturn result;\n}\n\n/**\n* Get icon data, using prepared aliases tree\n*/\nfunction internalGetIconData(data, name, tree) {\n\tconst icons = data.icons;\n\tconst aliases = data.aliases || Object.create(null);\n\tlet currentProps = {};\n\tfunction parse(name$1) {\n\t\tcurrentProps = mergeIconData(icons[name$1] || aliases[name$1], currentProps);\n\t}\n\tparse(name);\n\ttree.forEach(parse);\n\treturn mergeIconData(data, currentProps);\n}\n\n/**\n* Extract icons from an icon set\n*\n* Returns list of icons that were found in icon set\n*/\nfunction parseIconSet(data, callback) {\n\tconst names = [];\n\tif (typeof data !== \"object\" || typeof data.icons !== \"object\") return names;\n\tif (data.not_found instanceof Array) data.not_found.forEach((name) => {\n\t\tcallback(name, null);\n\t\tnames.push(name);\n\t});\n\tconst tree = getIconsTree(data);\n\tfor (const name in tree) {\n\t\tconst item = tree[name];\n\t\tif (item) {\n\t\t\tcallback(name, internalGetIconData(data, name, item));\n\t\t\tnames.push(name);\n\t\t}\n\t}\n\treturn names;\n}\n\n/**\n* Optional properties\n*/\nconst optionalPropertyDefaults = {\n\tprovider: \"\",\n\taliases: {},\n\tnot_found: {},\n\t...defaultIconDimensions\n};\n/**\n* Check props\n*/\nfunction checkOptionalProps(item, defaults) {\n\tfor (const prop in defaults) if (prop in item && typeof item[prop] !== typeof defaults[prop]) return false;\n\treturn true;\n}\n/**\n* Validate icon set, return it as IconifyJSON on success, null on failure\n*\n* Unlike validateIconSet(), this function is very basic.\n* It does not throw exceptions, it does not check metadata, it does not fix stuff.\n*/\nfunction quicklyValidateIconSet(obj) {\n\tif (typeof obj !== \"object\" || obj === null) return null;\n\tconst data = obj;\n\tif (typeof data.prefix !== \"string\" || !obj.icons || typeof obj.icons !== \"object\") return null;\n\tif (!checkOptionalProps(obj, optionalPropertyDefaults)) return null;\n\tconst icons = data.icons;\n\tfor (const name in icons) {\n\t\tconst icon = icons[name];\n\t\tif (!name || typeof icon.body !== \"string\" || !checkOptionalProps(icon, defaultExtendedIconProps)) return null;\n\t}\n\tconst aliases = data.aliases || Object.create(null);\n\tfor (const name in aliases) {\n\t\tconst icon = aliases[name];\n\t\tconst parent = icon.parent;\n\t\tif (!name || typeof parent !== \"string\" || !icons[parent] && !aliases[parent] || !checkOptionalProps(icon, defaultExtendedIconProps)) return null;\n\t}\n\treturn data;\n}\n\n/**\n* Storage by provider and prefix\n*/\nconst dataStorage = Object.create(null);\n/**\n* Create new storage\n*/\nfunction newStorage(provider, prefix) {\n\treturn {\n\t\tprovider,\n\t\tprefix,\n\t\ticons: Object.create(null),\n\t\tmissing: /* @__PURE__ */ new Set()\n\t};\n}\n/**\n* Get storage for provider and prefix\n*/\nfunction getStorage(provider, prefix) {\n\tconst providerStorage = dataStorage[provider] || (dataStorage[provider] = Object.create(null));\n\treturn providerStorage[prefix] || (providerStorage[prefix] = newStorage(provider, prefix));\n}\n/**\n* Add icon set to storage\n*\n* Returns array of added icons\n*/\nfunction addIconSet(storage, data) {\n\tif (!quicklyValidateIconSet(data)) return [];\n\treturn parseIconSet(data, (name, icon) => {\n\t\tif (icon) storage.icons[name] = icon;\n\t\telse storage.missing.add(name);\n\t});\n}\n/**\n* Add icon to storage\n*/\nfunction addIconToStorage(storage, name, icon) {\n\ttry {\n\t\tif (typeof icon.body === \"string\") {\n\t\t\tstorage.icons[name] = { ...icon };\n\t\t\treturn true;\n\t\t}\n\t} catch (err) {}\n\treturn false;\n}\n/**\n* List available icons\n*/\nfunction listIcons$1(provider, prefix) {\n\tlet allIcons = [];\n\t(typeof provider === \"string\" ? [provider] : Object.keys(dataStorage)).forEach((provider$1) => {\n\t\t(typeof provider$1 === \"string\" && typeof prefix === \"string\" ? [prefix] : Object.keys(dataStorage[provider$1] || {})).forEach((prefix$1) => {\n\t\t\tconst storage = getStorage(provider$1, prefix$1);\n\t\t\tallIcons = allIcons.concat(Object.keys(storage.icons).map((name) => (provider$1 !== \"\" ? \"@\" + provider$1 + \":\" : \"\") + prefix$1 + \":\" + name));\n\t\t});\n\t});\n\treturn allIcons;\n}\n\n/**\n* Allow storing icons without provider or prefix, making it possible to store icons like \"home\"\n*/\nlet simpleNames = false;\nfunction allowSimpleNames(allow) {\n\tif (typeof allow === \"boolean\") simpleNames = allow;\n\treturn simpleNames;\n}\n/**\n* Get icon data\n*\n* Returns:\n* - IconifyIcon on success, object directly from storage so don't modify it\n* - null if icon is marked as missing (returned in `not_found` property from API, so don't bother sending API requests)\n* - undefined if icon is missing in storage\n*/\nfunction getIconData(name) {\n\tconst icon = typeof name === \"string\" ? stringToIcon(name, true, simpleNames) : name;\n\tif (icon) {\n\t\tconst storage = getStorage(icon.provider, icon.prefix);\n\t\tconst iconName = icon.name;\n\t\treturn storage.icons[iconName] || (storage.missing.has(iconName) ? null : void 0);\n\t}\n}\n/**\n* Add one icon\n*/\nfunction addIcon$1(name, data) {\n\tconst icon = stringToIcon(name, true, simpleNames);\n\tif (!icon) return false;\n\tconst storage = getStorage(icon.provider, icon.prefix);\n\tif (data) return addIconToStorage(storage, icon.name, data);\n\telse {\n\t\tstorage.missing.add(icon.name);\n\t\treturn true;\n\t}\n}\n/**\n* Add icon set\n*/\nfunction addCollection$1(data, provider) {\n\tif (typeof data !== \"object\") return false;\n\tif (typeof provider !== \"string\") provider = data.provider || \"\";\n\tif (simpleNames && !provider && !data.prefix) {\n\t\tlet added = false;\n\t\tif (quicklyValidateIconSet(data)) {\n\t\t\tdata.prefix = \"\";\n\t\t\tparseIconSet(data, (name, icon) => {\n\t\t\t\tif (addIcon$1(name, icon)) added = true;\n\t\t\t});\n\t\t}\n\t\treturn added;\n\t}\n\tconst prefix = data.prefix;\n\tif (!validateIconName({\n\t\tprefix,\n\t\tname: \"a\"\n\t})) return false;\n\treturn !!addIconSet(getStorage(provider, prefix), data);\n}\n/**\n* Check if icon data is available\n*/\nfunction iconLoaded$1(name) {\n\treturn !!getIconData(name);\n}\n/**\n* Get full icon\n*/\nfunction getIcon$1(name) {\n\tconst result = getIconData(name);\n\treturn result ? {\n\t\t...defaultIconProps,\n\t\t...result\n\t} : result;\n}\n\n/**\n* Remove callback\n*/\nfunction removeCallback(storages, id) {\n\tstorages.forEach((storage) => {\n\t\tconst items = storage.loaderCallbacks;\n\t\tif (items) storage.loaderCallbacks = items.filter((row) => row.id !== id);\n\t});\n}\n/**\n* Update all callbacks for provider and prefix\n*/\nfunction updateCallbacks(storage) {\n\tif (!storage.pendingCallbacksFlag) {\n\t\tstorage.pendingCallbacksFlag = true;\n\t\tsetTimeout(() => {\n\t\t\tstorage.pendingCallbacksFlag = false;\n\t\t\tconst items = storage.loaderCallbacks ? storage.loaderCallbacks.slice(0) : [];\n\t\t\tif (!items.length) return;\n\t\t\tlet hasPending = false;\n\t\t\tconst provider = storage.provider;\n\t\t\tconst prefix = storage.prefix;\n\t\t\titems.forEach((item) => {\n\t\t\t\tconst icons = item.icons;\n\t\t\t\tconst oldLength = icons.pending.length;\n\t\t\t\ticons.pending = icons.pending.filter((icon) => {\n\t\t\t\t\tif (icon.prefix !== prefix) return true;\n\t\t\t\t\tconst name = icon.name;\n\t\t\t\t\tif (storage.icons[name]) icons.loaded.push({\n\t\t\t\t\t\tprovider,\n\t\t\t\t\t\tprefix,\n\t\t\t\t\t\tname\n\t\t\t\t\t});\n\t\t\t\t\telse if (storage.missing.has(name)) icons.missing.push({\n\t\t\t\t\t\tprovider,\n\t\t\t\t\t\tprefix,\n\t\t\t\t\t\tname\n\t\t\t\t\t});\n\t\t\t\t\telse {\n\t\t\t\t\t\thasPending = true;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\t\t\t\tif (icons.pending.length !== oldLength) {\n\t\t\t\t\tif (!hasPending) removeCallback([storage], item.id);\n\t\t\t\t\titem.callback(icons.loaded.slice(0), icons.missing.slice(0), icons.pending.slice(0), item.abort);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n}\n/**\n* Unique id counter for callbacks\n*/\nlet idCounter = 0;\n/**\n* Add callback\n*/\nfunction storeCallback(callback, icons, pendingSources) {\n\tconst id = idCounter++;\n\tconst abort = removeCallback.bind(null, pendingSources, id);\n\tif (!icons.pending.length) return abort;\n\tconst item = {\n\t\tid,\n\t\ticons,\n\t\tcallback,\n\t\tabort\n\t};\n\tpendingSources.forEach((storage) => {\n\t\t(storage.loaderCallbacks || (storage.loaderCallbacks = [])).push(item);\n\t});\n\treturn abort;\n}\n\n/**\n* Check if icons have been loaded\n*/\nfunction sortIcons(icons) {\n\tconst result = {\n\t\tloaded: [],\n\t\tmissing: [],\n\t\tpending: []\n\t};\n\tconst storage = Object.create(null);\n\ticons.sort((a, b) => {\n\t\tif (a.provider !== b.provider) return a.provider.localeCompare(b.provider);\n\t\tif (a.prefix !== b.prefix) return a.prefix.localeCompare(b.prefix);\n\t\treturn a.name.localeCompare(b.name);\n\t});\n\tlet lastIcon = {\n\t\tprovider: \"\",\n\t\tprefix: \"\",\n\t\tname: \"\"\n\t};\n\ticons.forEach((icon) => {\n\t\tif (lastIcon.name === icon.name && lastIcon.prefix === icon.prefix && lastIcon.provider === icon.provider) return;\n\t\tlastIcon = icon;\n\t\tconst provider = icon.provider;\n\t\tconst prefix = icon.prefix;\n\t\tconst name = icon.name;\n\t\tconst providerStorage = storage[provider] || (storage[provider] = Object.create(null));\n\t\tconst localStorage = providerStorage[prefix] || (providerStorage[prefix] = getStorage(provider, prefix));\n\t\tlet list;\n\t\tif (name in localStorage.icons) list = result.loaded;\n\t\telse if (prefix === \"\" || localStorage.missing.has(name)) list = result.missing;\n\t\telse list = result.pending;\n\t\tconst item = {\n\t\t\tprovider,\n\t\t\tprefix,\n\t\t\tname\n\t\t};\n\t\tlist.push(item);\n\t});\n\treturn result;\n}\n\n/**\n* Local storate types and entries\n*/\nconst storage = Object.create(null);\n/**\n* Set API module\n*/\nfunction setAPIModule(provider, item) {\n\tstorage[provider] = item;\n}\n/**\n* Get API module\n*/\nfunction getAPIModule(provider) {\n\treturn storage[provider] || storage[\"\"];\n}\n\n/**\n* Convert icons list from string/icon mix to icons and validate them\n*/\nfunction listToIcons(list, validate = true, simpleNames = false) {\n\tconst result = [];\n\tlist.forEach((item) => {\n\t\tconst icon = typeof item === \"string\" ? stringToIcon(item, validate, simpleNames) : item;\n\t\tif (icon) result.push(icon);\n\t});\n\treturn result;\n}\n\n/**\n* Create full API configuration from partial data\n*/\nfunction createAPIConfig(source) {\n\tlet resources;\n\tif (typeof source.resources === \"string\") resources = [source.resources];\n\telse {\n\t\tresources = source.resources;\n\t\tif (!(resources instanceof Array) || !resources.length) return null;\n\t}\n\treturn {\n\t\tresources,\n\t\tpath: source.path || \"/\",\n\t\tmaxURL: source.maxURL || 500,\n\t\trotate: source.rotate || 750,\n\t\ttimeout: source.timeout || 5e3,\n\t\trandom: source.random === true,\n\t\tindex: source.index || 0,\n\t\tdataAfterTimeout: source.dataAfterTimeout !== false\n\t};\n}\n/**\n* Local storage\n*/\nconst configStorage = Object.create(null);\n/**\n* Redundancy for API servers.\n*\n* API should have very high uptime because of implemented redundancy at server level, but\n* sometimes bad things happen. On internet 100% uptime is not possible.\n*\n* There could be routing problems. Server might go down for whatever reason, but it takes\n* few minutes to detect that downtime, so during those few minutes API might not be accessible.\n*\n* This script has some redundancy to mitigate possible network issues.\n*\n* If one host cannot be reached in 'rotate' (750 by default) ms, script will try to retrieve\n* data from different host. Hosts have different configurations, pointing to different\n* API servers hosted at different providers.\n*/\nconst fallBackAPISources = [\"https://api.simplesvg.com\", \"https://api.unisvg.com\"];\nconst fallBackAPI = [];\nwhile (fallBackAPISources.length > 0) if (fallBackAPISources.length === 1) fallBackAPI.push(fallBackAPISources.shift());\nelse if (Math.random() > .5) fallBackAPI.push(fallBackAPISources.shift());\nelse fallBackAPI.push(fallBackAPISources.pop());\nconfigStorage[\"\"] = createAPIConfig({ resources: [\"https://api.iconify.design\"].concat(fallBackAPI) });\n/**\n* Add custom config for provider\n*/\nfunction addAPIProvider$1(provider, customConfig) {\n\tconst config = createAPIConfig(customConfig);\n\tif (config === null) return false;\n\tconfigStorage[provider] = config;\n\treturn true;\n}\n/**\n* Get API configuration\n*/\nfunction getAPIConfig(provider) {\n\treturn configStorage[provider];\n}\n/**\n* List API providers\n*/\nfunction listAPIProviders() {\n\treturn Object.keys(configStorage);\n}\n\n/**\n* Default RedundancyConfig for API calls\n*/\nconst defaultConfig = {\n\tresources: [],\n\tindex: 0,\n\ttimeout: 2e3,\n\trotate: 750,\n\trandom: false,\n\tdataAfterTimeout: false\n};\n\n/**\n* Send query\n*/\nfunction sendQuery(config, payload, query, done) {\n\tconst resourcesCount = config.resources.length;\n\tconst startIndex = config.random ? Math.floor(Math.random() * resourcesCount) : config.index;\n\tlet resources;\n\tif (config.random) {\n\t\tlet list = config.resources.slice(0);\n\t\tresources = [];\n\t\twhile (list.length > 1) {\n\t\t\tconst nextIndex = Math.floor(Math.random() * list.length);\n\t\t\tresources.push(list[nextIndex]);\n\t\t\tlist = list.slice(0, nextIndex).concat(list.slice(nextIndex + 1));\n\t\t}\n\t\tresources = resources.concat(list);\n\t} else resources = config.resources.slice(startIndex).concat(config.resources.slice(0, startIndex));\n\tconst startTime = Date.now();\n\tlet status = \"pending\";\n\tlet queriesSent = 0;\n\tlet lastError;\n\tlet timer = null;\n\tlet queue = [];\n\tlet doneCallbacks = [];\n\tif (typeof done === \"function\") doneCallbacks.push(done);\n\t/**\n\t* Reset timer\n\t*/\n\tfunction resetTimer() {\n\t\tif (timer) {\n\t\t\tclearTimeout(timer);\n\t\t\ttimer = null;\n\t\t}\n\t}\n\t/**\n\t* Abort everything\n\t*/\n\tfunction abort() {\n\t\tif (status === \"pending\") status = \"aborted\";\n\t\tresetTimer();\n\t\tqueue.forEach((item) => {\n\t\t\tif (item.status === \"pending\") item.status = \"aborted\";\n\t\t});\n\t\tqueue = [];\n\t}\n\t/**\n\t* Add / replace callback to call when execution is complete.\n\t* This can be used to abort pending query implementations when query is complete or aborted.\n\t*/\n\tfunction subscribe(callback, overwrite) {\n\t\tif (overwrite) doneCallbacks = [];\n\t\tif (typeof callback === \"function\") doneCallbacks.push(callback);\n\t}\n\t/**\n\t* Get query status\n\t*/\n\tfunction getQueryStatus() {\n\t\treturn {\n\t\t\tstartTime,\n\t\t\tpayload,\n\t\t\tstatus,\n\t\t\tqueriesSent,\n\t\t\tqueriesPending: queue.length,\n\t\t\tsubscribe,\n\t\t\tabort\n\t\t};\n\t}\n\t/**\n\t* Fail query\n\t*/\n\tfunction failQuery() {\n\t\tstatus = \"failed\";\n\t\tdoneCallbacks.forEach((callback) => {\n\t\t\tcallback(void 0, lastError);\n\t\t});\n\t}\n\t/**\n\t* Clear queue\n\t*/\n\tfunction clearQueue() {\n\t\tqueue.forEach((item) => {\n\t\t\tif (item.status === \"pending\") item.status = \"aborted\";\n\t\t});\n\t\tqueue = [];\n\t}\n\t/**\n\t* Got response from module\n\t*/\n\tfunction moduleResponse(item, response, data) {\n\t\tconst isError = response !== \"success\";\n\t\tqueue = queue.filter((queued) => queued !== item);\n\t\tswitch (status) {\n\t\t\tcase \"pending\": break;\n\t\t\tcase \"failed\":\n\t\t\t\tif (isError || !config.dataAfterTimeout) return;\n\t\t\t\tbreak;\n\t\t\tdefault: return;\n\t\t}\n\t\tif (response === \"abort\") {\n\t\t\tlastError = data;\n\t\t\tfailQuery();\n\t\t\treturn;\n\t\t}\n\t\tif (isError) {\n\t\t\tlastError = data;\n\t\t\tif (!queue.length) if (!resources.length) failQuery();\n\t\t\telse execNext();\n\t\t\treturn;\n\t\t}\n\t\tresetTimer();\n\t\tclearQueue();\n\t\tif (!config.random) {\n\t\t\tconst index = config.resources.indexOf(item.resource);\n\t\t\tif (index !== -1 && index !== config.index) config.index = index;\n\t\t}\n\t\tstatus = \"completed\";\n\t\tdoneCallbacks.forEach((callback) => {\n\t\t\tcallback(data);\n\t\t});\n\t}\n\t/**\n\t* Execute next query\n\t*/\n\tfunction execNext() {\n\t\tif (status !== \"pending\") return;\n\t\tresetTimer();\n\t\tconst resource = resources.shift();\n\t\tif (resource === void 0) {\n\t\t\tif (queue.length) {\n\t\t\t\ttimer = setTimeout(() => {\n\t\t\t\t\tresetTimer();\n\t\t\t\t\tif (status === \"pending\") {\n\t\t\t\t\t\tclearQueue();\n\t\t\t\t\t\tfailQuery();\n\t\t\t\t\t}\n\t\t\t\t}, config.timeout);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tfailQuery();\n\t\t\treturn;\n\t\t}\n\t\tconst item = {\n\t\t\tstatus: \"pending\",\n\t\t\tresource,\n\t\t\tcallback: (status$1, data) => {\n\t\t\t\tmoduleResponse(item, status$1, data);\n\t\t\t}\n\t\t};\n\t\tqueue.push(item);\n\t\tqueriesSent++;\n\t\ttimer = setTimeout(execNext, config.rotate);\n\t\tquery(resource, payload, item.callback);\n\t}\n\tsetTimeout(execNext);\n\treturn getQueryStatus;\n}\n\n/**\n* Redundancy instance\n*/\nfunction initRedundancy(cfg) {\n\tconst config = {\n\t\t...defaultConfig,\n\t\t...cfg\n\t};\n\tlet queries = [];\n\t/**\n\t* Remove aborted and completed queries\n\t*/\n\tfunction cleanup() {\n\t\tqueries = queries.filter((item) => item().status === \"pending\");\n\t}\n\t/**\n\t* Send query\n\t*/\n\tfunction query(payload, queryCallback, doneCallback) {\n\t\tconst query$1 = sendQuery(config, payload, queryCallback, (data, error) => {\n\t\t\tcleanup();\n\t\t\tif (doneCallback) doneCallback(data, error);\n\t\t});\n\t\tqueries.push(query$1);\n\t\treturn query$1;\n\t}\n\t/**\n\t* Find instance\n\t*/\n\tfunction find(callback) {\n\t\treturn queries.find((value) => {\n\t\t\treturn callback(value);\n\t\t}) || null;\n\t}\n\treturn {\n\t\tquery,\n\t\tfind,\n\t\tsetIndex: (index) => {\n\t\t\tconfig.index = index;\n\t\t},\n\t\tgetIndex: () => config.index,\n\t\tcleanup\n\t};\n}\n\nfunction emptyCallback$1() {}\nconst redundancyCache = Object.create(null);\n/**\n* Get Redundancy instance for provider\n*/\nfunction getRedundancyCache(provider) {\n\tif (!redundancyCache[provider]) {\n\t\tconst config = getAPIConfig(provider);\n\t\tif (!config) return;\n\t\tredundancyCache[provider] = {\n\t\t\tconfig,\n\t\t\tredundancy: initRedundancy(config)\n\t\t};\n\t}\n\treturn redundancyCache[provider];\n}\n/**\n* Send API query\n*/\nfunction sendAPIQuery(target, query, callback) {\n\tlet redundancy;\n\tlet send;\n\tif (typeof target === \"string\") {\n\t\tconst api = getAPIModule(target);\n\t\tif (!api) {\n\t\t\tcallback(void 0, 424);\n\t\t\treturn emptyCallback$1;\n\t\t}\n\t\tsend = api.send;\n\t\tconst cached = getRedundancyCache(target);\n\t\tif (cached) redundancy = cached.redundancy;\n\t} else {\n\t\tconst config = createAPIConfig(target);\n\t\tif (config) {\n\t\t\tredundancy = initRedundancy(config);\n\t\t\tconst api = getAPIModule(target.resources ? target.resources[0] : \"\");\n\t\t\tif (api) send = api.send;\n\t\t}\n\t}\n\tif (!redundancy || !send) {\n\t\tcallback(void 0, 424);\n\t\treturn emptyCallback$1;\n\t}\n\treturn redundancy.query(query, send, callback)().abort;\n}\n\nfunction emptyCallback() {}\n/**\n* Function called when new icons have been loaded\n*/\nfunction loadedNewIcons(storage) {\n\tif (!storage.iconsLoaderFlag) {\n\t\tstorage.iconsLoaderFlag = true;\n\t\tsetTimeout(() => {\n\t\t\tstorage.iconsLoaderFlag = false;\n\t\t\tupdateCallbacks(storage);\n\t\t});\n\t}\n}\n/**\n* Check icon names for API\n*/\nfunction checkIconNamesForAPI(icons) {\n\tconst valid = [];\n\tconst invalid = [];\n\ticons.forEach((name) => {\n\t\t(name.match(matchIconName) ? valid : invalid).push(name);\n\t});\n\treturn {\n\t\tvalid,\n\t\tinvalid\n\t};\n}\n/**\n* Parse loader response\n*/\nfunction parseLoaderResponse(storage, icons, data) {\n\tfunction checkMissing() {\n\t\tconst pending = storage.pendingIcons;\n\t\ticons.forEach((name) => {\n\t\t\tif (pending) pending.delete(name);\n\t\t\tif (!storage.icons[name]) storage.missing.add(name);\n\t\t});\n\t}\n\tif (data && typeof data === \"object\") try {\n\t\tif (!addIconSet(storage, data).length) {\n\t\t\tcheckMissing();\n\t\t\treturn;\n\t\t}\n\t} catch (err) {\n\t\tconsole.error(err);\n\t}\n\tcheckMissing();\n\tloadedNewIcons(storage);\n}\n/**\n* Handle response that can be async\n*/\nfunction parsePossiblyAsyncResponse(response, callback) {\n\tif (response instanceof Promise) response.then((data) => {\n\t\tcallback(data);\n\t}).catch(() => {\n\t\tcallback(null);\n\t});\n\telse callback(response);\n}\n/**\n* Load icons\n*/\nfunction loadNewIcons(storage, icons) {\n\tif (!storage.iconsToLoad) storage.iconsToLoad = icons;\n\telse storage.iconsToLoad = storage.iconsToLoad.concat(icons).sort();\n\tif (!storage.iconsQueueFlag) {\n\t\tstorage.iconsQueueFlag = true;\n\t\tsetTimeout(() => {\n\t\t\tstorage.iconsQueueFlag = false;\n\t\t\tconst { provider, prefix } = storage;\n\t\t\tconst icons$1 = storage.iconsToLoad;\n\t\t\tdelete storage.iconsToLoad;\n\t\t\tif (!icons$1 || !icons$1.length) return;\n\t\t\tconst customIconLoader = storage.loadIcon;\n\t\t\tif (storage.loadIcons && (icons$1.length > 1 || !customIconLoader)) {\n\t\t\t\tparsePossiblyAsyncResponse(storage.loadIcons(icons$1, prefix, provider), (data) => {\n\t\t\t\t\tparseLoaderResponse(storage, icons$1, data);\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (customIconLoader) {\n\t\t\t\ticons$1.forEach((name) => {\n\t\t\t\t\tparsePossiblyAsyncResponse(customIconLoader(name, prefix, provider), (data) => {\n\t\t\t\t\t\tparseLoaderResponse(storage, [name], data ? {\n\t\t\t\t\t\t\tprefix,\n\t\t\t\t\t\t\ticons: { [name]: data }\n\t\t\t\t\t\t} : null);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { valid, invalid } = checkIconNamesForAPI(icons$1);\n\t\t\tif (invalid.length) parseLoaderResponse(storage, invalid, null);\n\t\t\tif (!valid.length) return;\n\t\t\tconst api = prefix.match(matchIconName) ? getAPIModule(provider) : null;\n\t\t\tif (!api) {\n\t\t\t\tparseLoaderResponse(storage, valid, null);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tapi.prepare(provider, prefix, valid).forEach((item) => {\n\t\t\t\tsendAPIQuery(provider, item, (data) => {\n\t\t\t\t\tparseLoaderResponse(storage, item.icons, data);\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n}\n/**\n* Load icons\n*/\nconst loadIcons$1 = (icons, callback) => {\n\tconst sortedIcons = sortIcons(listToIcons(icons, true, allowSimpleNames()));\n\tif (!sortedIcons.pending.length) {\n\t\tlet callCallback = true;\n\t\tif (callback) setTimeout(() => {\n\t\t\tif (callCallback) callback(sortedIcons.loaded, sortedIcons.missing, sortedIcons.pending, emptyCallback);\n\t\t});\n\t\treturn () => {\n\t\t\tcallCallback = false;\n\t\t};\n\t}\n\tconst newIcons = Object.create(null);\n\tconst sources = [];\n\tlet lastProvider, lastPrefix;\n\tsortedIcons.pending.forEach((icon) => {\n\t\tconst { provider, prefix } = icon;\n\t\tif (prefix === lastPrefix && provider === lastProvider) return;\n\t\tlastProvider = provider;\n\t\tlastPrefix = prefix;\n\t\tsources.push(getStorage(provider, prefix));\n\t\tconst providerNewIcons = newIcons[provider] || (newIcons[provider] = Object.create(null));\n\t\tif (!providerNewIcons[prefix]) providerNewIcons[prefix] = [];\n\t});\n\tsortedIcons.pending.forEach((icon) => {\n\t\tconst { provider, prefix, name } = icon;\n\t\tconst storage = getStorage(provider, prefix);\n\t\tconst pendingQueue = storage.pendingIcons || (storage.pendingIcons = /* @__PURE__ */ new Set());\n\t\tif (!pendingQueue.has(name)) {\n\t\t\tpendingQueue.add(name);\n\t\t\tnewIcons[provider][prefix].push(name);\n\t\t}\n\t});\n\tsources.forEach((storage) => {\n\t\tconst list = newIcons[storage.provider][storage.prefix];\n\t\tif (list.length) loadNewIcons(storage, list);\n\t});\n\treturn callback ? storeCallback(callback, sortedIcons, sources) : emptyCallback;\n};\n/**\n* Load one icon using Promise\n*/\nconst loadIcon$1 = (icon) => {\n\treturn new Promise((fulfill, reject) => {\n\t\tconst iconObj = typeof icon === \"string\" ? stringToIcon(icon, true) : icon;\n\t\tif (!iconObj) {\n\t\t\treject(icon);\n\t\t\treturn;\n\t\t}\n\t\tloadIcons$1([iconObj || icon], (loaded) => {\n\t\t\tif (loaded.length && iconObj) {\n\t\t\t\tconst data = getIconData(iconObj);\n\t\t\t\tif (data) {\n\t\t\t\t\tfulfill({\n\t\t\t\t\t\t...defaultIconProps,\n\t\t\t\t\t\t...data\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\treject(icon);\n\t\t});\n\t});\n};\n\n/**\n * Test icon string\n */\nfunction testIconObject(value) {\n try {\n const obj = typeof value === 'string' ? JSON.parse(value) : value;\n if (typeof obj.body === 'string') {\n return {\n ...obj,\n };\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (err) {\n //\n }\n}\n\n/**\n * Parse icon value, load if needed\n */\nfunction parseIconValue(value, onload) {\n if (typeof value === 'object') {\n const data = testIconObject(value);\n return {\n data,\n value,\n };\n }\n if (typeof value !== 'string') {\n // Invalid value\n return {\n value,\n };\n }\n // Check for JSON\n if (value.includes('{')) {\n const data = testIconObject(value);\n if (data) {\n return {\n data,\n value,\n };\n }\n }\n // Parse icon name\n const name = stringToIcon(value, true, true);\n if (!name) {\n return {\n value,\n };\n }\n // Valid icon name: check if data is available\n const data = getIconData(name);\n // Icon data exists or icon has no prefix. Do not load icon from API if icon has no prefix\n if (data !== undefined || !name.prefix) {\n return {\n value,\n name,\n data, // could be 'null' -> icon is missing\n };\n }\n // Load icon\n const loading = loadIcons$1([name], () => onload(value, name, getIconData(name)));\n return {\n value,\n name,\n loading,\n };\n}\n\n// Check for Safari\nlet isBuggedSafari = false;\ntry {\n isBuggedSafari = navigator.vendor.indexOf('Apple') === 0;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n}\ncatch (err) {\n //\n}\n/**\n * Get render mode\n */\nfunction getRenderMode(body, mode) {\n switch (mode) {\n // Force mode\n case 'svg':\n case 'bg':\n case 'mask':\n return mode;\n }\n // Check for animation, use 'style' for animated icons, unless browser is Safari\n // (only <a>, which should be ignored or animations start with '<a')\n if (mode !== 'style' &&\n (isBuggedSafari || body.indexOf('<a') === -1)) {\n // Render <svg>\n return 'svg';\n }\n // Use background or mask\n return body.indexOf('currentColor') === -1 ? 'bg' : 'mask';\n}\n\n/**\n* Regular expressions for calculating dimensions\n*/\nconst unitsSplit = /(-?[0-9.]*[0-9]+[0-9.]*)/g;\nconst unitsTest = /^-?[0-9.]*[0-9]+[0-9.]*$/g;\nfunction calculateSize$1(size, ratio, precision) {\n\tif (ratio === 1) return size;\n\tprecision = precision || 100;\n\tif (typeof size === \"number\") return Math.ceil(size * ratio * precision) / precision;\n\tif (typeof size !== \"string\") return size;\n\tconst oldParts = size.split(unitsSplit);\n\tif (oldParts === null || !oldParts.length) return size;\n\tconst newParts = [];\n\tlet code = oldParts.shift();\n\tlet isNumber = unitsTest.test(code);\n\twhile (true) {\n\t\tif (isNumber) {\n\t\t\tconst num = parseFloat(code);\n\t\t\tif (isNaN(num)) newParts.push(code);\n\t\t\telse newParts.push(Math.ceil(num * ratio * precision) / precision);\n\t\t} else newParts.push(code);\n\t\tcode = oldParts.shift();\n\t\tif (code === void 0) return newParts.join(\"\");\n\t\tisNumber = !isNumber;\n\t}\n}\n\nfunction splitSVGDefs(content, tag = \"defs\") {\n\tlet defs = \"\";\n\tconst index = content.indexOf(\"<\" + tag);\n\twhile (index >= 0) {\n\t\tconst start = content.indexOf(\">\", index);\n\t\tconst end = content.indexOf(\"</\" + tag);\n\t\tif (start === -1 || end === -1) break;\n\t\tconst endEnd = content.indexOf(\">\", end);\n\t\tif (endEnd === -1) break;\n\t\tdefs += content.slice(start + 1, end).trim();\n\t\tcontent = content.slice(0, index).trim() + content.slice(endEnd + 1);\n\t}\n\treturn {\n\t\tdefs,\n\t\tcontent\n\t};\n}\n/**\n* Merge defs and content\n*/\nfunction mergeDefsAndContent(defs, content) {\n\treturn defs ? \"<defs>\" + defs + \"</defs>\" + content : content;\n}\n/**\n* Wrap SVG content, without wrapping definitions\n*/\nfunction wrapSVGContent(body, start, end) {\n\tconst split = splitSVGDefs(body);\n\treturn mergeDefsAndContent(split.defs, start + split.content + end);\n}\n\n/**\n* Check if value should be unset. Allows multiple keywords\n*/\nconst isUnsetKeyword = (value) => value === \"unset\" || value === \"undefined\" || value === \"none\";\n/**\n* Get SVG attributes and content from icon + customisations\n*\n* Does not generate style to make it compatible with frameworks that use objects for style, such as React.\n* Instead, it generates 'inline' value. If true, rendering engine should add verticalAlign: -0.125em to icon.\n*\n* Customisations should be normalised by platform specific parser.\n* Result should be converted to <svg> by platform specific parser.\n* Use replaceIDs to generate unique IDs for body.\n*/\nfunction iconToSVG(icon, customisations) {\n\tconst fullIcon = {\n\t\t...defaultIconProps,\n\t\t...icon\n\t};\n\tconst fullCustomisations = {\n\t\t...defaultIconCustomisations,\n\t\t...customisations\n\t};\n\tconst box = {\n\t\tleft: fullIcon.left,\n\t\ttop: fullIcon.top,\n\t\twidth: fullIcon.width,\n\t\theight: fullIcon.height\n\t};\n\tlet body = fullIcon.body;\n\t[fullIcon, fullCustomisations].forEach((props) => {\n\t\tconst transformations = [];\n\t\tconst hFlip = props.hFlip;\n\t\tconst vFlip = props.vFlip;\n\t\tlet rotation = props.rotate;\n\t\tif (hFlip) if (vFlip) rotation += 2;\n\t\telse {\n\t\t\ttransformations.push(\"translate(\" + (box.width + box.left).toString() + \" \" + (0 - box.top).toString() + \")\");\n\t\t\ttransformations.push(\"scale(-1 1)\");\n\t\t\tbox.top = box.left = 0;\n\t\t}\n\t\telse if (vFlip) {\n\t\t\ttransformations.push(\"translate(\" + (0 - box.left).toString() + \" \" + (box.height + box.top).toString() + \")\");\n\t\t\ttransformations.push(\"scale(1 -1)\");\n\t\t\tbox.top = box.left = 0;\n\t\t}\n\t\tlet tempValue;\n\t\tif (rotation < 0) rotation -= Math.floor(rotation / 4) * 4;\n\t\trotation = rotation % 4;\n\t\tswitch (rotation) {\n\t\t\tcase 1:\n\t\t\t\ttempValue = box.height / 2 + box.top;\n\t\t\t\ttransformations.unshift(\"rotate(90 \" + tempValue.toString() + \" \" + tempValue.toString() + \")\");\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\ttransformations.unshift(\"rotate(180 \" + (box.width / 2 + box.left).toString() + \" \" + (box.height / 2 + box.top).toString() + \")\");\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\ttempValue = box.width / 2 + box.left;\n\t\t\t\ttransformations.unshift(\"rotate(-90 \" + tempValue.toString() + \" \" + tempValue.toString() + \")\");\n\t\t\t\tbreak;\n\t\t}\n\t\tif (rotation % 2 === 1) {\n\t\t\tif (box.left !== box.top) {\n\t\t\t\ttempValue = box.left;\n\t\t\t\tbox.left = box.top;\n\t\t\t\tbox.top = tempValue;\n\t\t\t}\n\t\t\tif (box.width !== box.height) {\n\t\t\t\ttempValue = box.width;\n\t\t\t\tbox.width = box.height;\n\t\t\t\tbox.height = tempValue;\n\t\t\t}\n\t\t}\n\t\tif (transformations.length) body = wrapSVGContent(body, \"<g transform=\\\"\" + transformations.join(\" \") + \"\\\">\", \"</g>\");\n\t});\n\tconst customisationsWidth = fullCustomisations.width;\n\tconst customisationsHeight = fullCustomisations.height;\n\tconst boxWidth = box.width;\n\tconst boxHeight = box.height;\n\tlet width;\n\tlet height;\n\tif (customisationsWidth === null) {\n\t\theight = customisationsHeight === null ? \"1em\" : customisationsHeight === \"auto\" ? boxHeight : customisationsHeight;\n\t\twidth = calculateSize$1(height, boxWidth / boxHeight);\n\t} else {\n\t\twidth = customisationsWidth === \"auto\" ? boxWidth : customisationsWidth;\n\t\theight = customisationsHeight === null ? calculateSize$1(width, boxHeight / boxWidth) : customisationsHeight === \"auto\" ? boxHeight : customisationsHeight;\n\t}\n\tconst attributes = {};\n\tconst setAttr = (prop, value) => {\n\t\tif (!isUnsetKeyword(value)) attributes[prop] = value.toString();\n\t};\n\tsetAttr(\"width\", width);\n\tsetAttr(\"height\", height);\n\tconst viewBox = [\n\t\tbox.left,\n\t\tbox.top,\n\t\tboxWidth,\n\t\tboxHeight\n\t];\n\tattributes.viewBox = viewBox.join(\" \");\n\treturn {\n\t\tattributes,\n\t\tviewBox,\n\t\tbody\n\t};\n}\n\n/**\n* Generate <svg>\n*/\nfunction iconToHTML$1(body, attributes) {\n\tlet renderAttribsHTML = body.indexOf(\"xlink:\") === -1 ? \"\" : \" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"\";\n\tfor (const attr in attributes) renderAttribsHTML += \" \" + attr + \"=\\\"\" + attributes[attr] + \"\\\"\";\n\treturn \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\"\" + renderAttribsHTML + \">\" + body + \"</svg>\";\n}\n\n/**\n* Encode SVG for use in url()\n*\n* Short alternative to encodeURIComponent() that encodes only stuff used in SVG, generating\n* smaller code.\n*/\nfunction encodeSVGforURL(svg) {\n\treturn svg.replace(/\"/g, \"'\").replace(/%/g, \"%25\").replace(/#/g, \"%23\").replace(/</g, \"%3C\").replace(/>/g, \"%3E\").replace(/\\s+/g, \" \");\n}\n/**\n* Generate data: URL from SVG\n*/\nfunction svgToData(svg) {\n\treturn \"data:image/svg+xml,\" + encodeSVGforURL(svg);\n}\n/**\n* Generate url() from SVG\n*/\nfunction svgToURL$1(svg) {\n\treturn \"url(\\\"\" + svgToData(svg) + \"\\\")\";\n}\n\nconst detectFetch = () => {\n\tlet callback;\n\ttry {\n\t\tcallback = fetch;\n\t\tif (typeof callback === \"function\") return callback;\n\t} catch (err) {}\n};\n/**\n* Fetch function\n*/\nlet fetchModule = detectFetch();\n/**\n* Set custom fetch() function\n*/\nfunction setFetch(fetch$1) {\n\tfetchModule = fetch$1;\n}\n/**\n* Get fetch() function. Used by Icon Finder Core\n*/\nfunction getFetch() {\n\treturn fetchModule;\n}\n/**\n* Calculate maximum icons list length for prefix\n*/\nfunction calculateMaxLength(provider, prefix) {\n\tconst config = getAPIConfig(provider);\n\tif (!config) return 0;\n\tlet result;\n\tif (!config.maxURL) result = 0;\n\telse {\n\t\tlet maxHostLength = 0;\n\t\tconfig.resources.forEach((item) => {\n\t\t\tconst host = item;\n\t\t\tmaxHostLength = Math.max(maxHostLength, host.length);\n\t\t});\n\t\tconst url = prefix + \".json?icons=\";\n\t\tresult = config.maxURL - maxHostLength - config.path.length - url.length;\n\t}\n\treturn result;\n}\n/**\n* Should query be aborted, based on last HTTP status\n*/\nfunction shouldAbort(status) {\n\treturn status === 404;\n}\n/**\n* Prepare params\n*/\nconst prepare = (provider, prefix, icons) => {\n\tconst results = [];\n\tconst maxLength = calculateMaxLength(provider, prefix);\n\tconst type = \"icons\";\n\tlet item = {\n\t\ttype,\n\t\tprovider,\n\t\tprefix,\n\t\ticons: []\n\t};\n\tlet length = 0;\n\ticons.forEach((name, index) => {\n\t\tlength += name.length + 1;\n\t\tif (length >= maxLength && index > 0) {\n\t\t\tresults.push(item);\n\t\t\titem = {\n\t\t\t\ttype,\n\t\t\t\tprovider,\n\t\t\t\tprefix,\n\t\t\t\ticons: []\n\t\t\t};\n\t\t\tlength = name.length;\n\t\t}\n\t\titem.icons.push(name);\n\t});\n\tresults.push(item);\n\treturn results;\n};\n/**\n* Get path\n*/\nfunction getPath(provider) {\n\tif (typeof provider === \"string\") {\n\t\tconst config = getAPIConfig(provider);\n\t\tif (config) return config.path;\n\t}\n\treturn \"/\";\n}\n/**\n* Load icons\n*/\nconst send = (host, params, callback) => {\n\tif (!fetchModule) {\n\t\tcallback(\"abort\", 424);\n\t\treturn;\n\t}\n\tlet path = getPath(params.provider);\n\tswitch (params.type) {\n\t\tcase \"icons\": {\n\t\t\tconst prefix = params.prefix;\n\t\t\tconst iconsList = params.icons.join(\",\");\n\t\t\tconst urlParams = new URLSearchParams({ icons: iconsList });\n\t\t\tpath += prefix + \".json?\" + urlParams.toString();\n\t\t\tbreak;\n\t\t}\n\t\tcase \"custom\": {\n\t\t\tconst uri = params.uri;\n\t\t\tpath += uri.slice(0, 1) === \"/\" ? uri.slice(1) : uri;\n\t\t\tbreak;\n\t\t}\n\t\tdefault:\n\t\t\tcallback(\"abort\", 400);\n\t\t\treturn;\n\t}\n\tlet defaultError = 503;\n\tfetchModule(host + path).then((response) => {\n\t\tconst status = response.status;\n\t\tif (status !== 200) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tcallback(shouldAbort(status) ? \"abort\" : \"next\", status);\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tdefaultError = 501;\n\t\treturn response.json();\n\t}).then((data) => {\n\t\tif (typeof data !== \"object\" || data === null) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (data === 404) callback(\"abort\", data);\n\t\t\t\telse callback(\"next\", defaultError);\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tsetTimeout(() => {\n\t\t\tcallback(\"success\", data);\n\t\t});\n\t}).catch(() => {\n\t\tcallback(\"next\", defaultError);\n\t});\n};\n/**\n* Export module\n*/\nconst fetchAPIModule = {\n\tprepare,\n\tsend\n};\n\n/**\n* Set custom loader for multiple icons\n*/\nfunction setCustomIconsLoader$1(loader, prefix, provider) {\n\tgetStorage(provider || \"\", prefix).loadIcons = loader;\n}\n/**\n* Set custom loader for one icon\n*/\nfunction setCustomIconLoader$1(loader, prefix, provider) {\n\tgetStorage(provider || \"\", prefix).loadIcon = loader;\n}\n\n/**\n * Attribute to add\n */\nconst nodeAttr = 'data-style';\n/**\n * Custom style to add to each node\n */\nlet customStyle = '';\n/**\n * Set custom style to add to all components\n *\n * Affects only components rendered after function call\n */\nfunction appendCustomStyle(style) {\n customStyle = style;\n}\n/**\n * Add/update style node\n */\nfunction updateStyle(parent, inline) {\n // Get node, create if needed\n let styleNode = Array.from(parent.childNodes).find((node) => node.hasAttribute &&\n node.hasAttribute(nodeAttr));\n if (!styleNode) {\n styleNode = document.createElement('style');\n styleNode.setAttribute(nodeAttr, nodeAttr);\n parent.appendChild(styleNode);\n }\n // Update content\n styleNode.textContent =\n ':host{display:inline-block;vertical-align:' +\n (inline ? '-0.125em' : '0') +\n '}span,svg{display:block;margin:auto}' +\n customStyle;\n}\n\n// Core\n/**\n * Get functions and initialise stuff\n */\nfunction exportFunctions() {\n /**\n * Initialise stuff\n */\n // Set API module\n setAPIModule('', fetchAPIModule);\n // Allow simple icon names\n allowSimpleNames(true);\n let _window;\n try {\n _window = window;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (err) {\n //\n }\n if (_window) {\n // Load icons from global \"IconifyPreload\"\n if (_window.IconifyPreload !== void 0) {\n const preload = _window.IconifyPreload;\n const err = 'Invalid IconifyPreload syntax.';\n if (typeof preload === 'object' && preload !== null) {\n (preload instanceof Array ? preload : [preload]).forEach((item) => {\n try {\n if (\n // Check if item is an object and not null/array\n typeof item !== 'object' ||\n item === null ||\n item instanceof Array ||\n // Check for 'icons' and 'prefix'\n typeof item.icons !== 'object' ||\n typeof item.prefix !== 'string' ||\n // Add icon set\n !addCollection$1(item)) {\n console.error(err);\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (e) {\n console.error(err);\n }\n });\n }\n }\n // Set API from global \"IconifyProviders\"\n if (_window.IconifyProviders !== void 0) {\n const providers = _window.IconifyProviders;\n if (typeof providers === 'object' && providers !== null) {\n for (const key in providers) {\n const err = 'IconifyProviders[' + key + '] is invalid.';\n try {\n const value = providers[key];\n if (typeof value !== 'object' ||\n !value ||\n value.resources === void 0) {\n continue;\n }\n if (!addAPIProvider$1(key, value)) {\n console.error(err);\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (e) {\n console.error(err);\n }\n }\n }\n }\n }\n const _api = {\n getAPIConfig,\n setAPIModule,\n sendAPIQuery,\n setFetch,\n getFetch,\n listAPIProviders,\n };\n return {\n iconLoaded: iconLoaded$1,\n getIcon: getIcon$1,\n listIcons: listIcons$1,\n addIcon: addIcon$1,\n addCollection: addCollection$1,\n calculateSize: calculateSize$1,\n buildIcon: iconToSVG,\n iconToHTML: iconToHTML$1,\n svgToURL: svgToURL$1,\n loadIcons: loadIcons$1,\n loadIcon: loadIcon$1,\n addAPIProvider: addAPIProvider$1,\n setCustomIconLoader: setCustomIconLoader$1,\n setCustomIconsLoader: setCustomIconsLoader$1,\n appendCustomStyle,\n _api,\n };\n}\n\n// List of properties to apply\nconst monotoneProps = {\n 'background-color': 'currentColor',\n};\nconst coloredProps = {\n 'background-color': 'transparent',\n};\n// Dynamically add common props to variables above\nconst propsToAdd = {\n image: 'var(--svg)',\n repeat: 'no-repeat',\n size: '100% 100%',\n};\nconst propsToAddTo = {\n '-webkit-mask': monotoneProps,\n 'mask': monotoneProps,\n 'background': coloredProps,\n};\nfor (const prefix in propsToAddTo) {\n const list = propsToAddTo[prefix];\n for (const prop in propsToAdd) {\n list[prefix + '-' + prop] = propsToAdd[prop];\n }\n}\n/**\n * Fix size: add 'px' to numbers\n */\nfunction fixSize(value) {\n return value ? value + (value.match(/^[-0-9.]+$/) ? 'px' : '') : 'inherit';\n}\n/**\n * Render node as <span>\n */\nfunction renderSPAN(data, icon, useMask) {\n const node = document.createElement('span');\n // Body\n let body = data.body;\n if (body.indexOf('<a') !== -1) {\n // Animated SVG: add something to fix timing bug\n body += '<!-- ' + Date.now() + ' -->';\n }\n // Generate SVG as URL\n const renderAttribs = data.attributes;\n const html = iconToHTML$1(body, {\n ...renderAttribs,\n width: icon.width + '',\n height: icon.height + '',\n });\n const url = svgToURL$1(html);\n // Generate style\n const svgStyle = node.style;\n const styles = {\n '--svg': url,\n 'width': fixSize(renderAttribs.width),\n 'height': fixSize(renderAttribs.height),\n ...(useMask ? monotoneProps : coloredProps),\n };\n // Apply style\n for (const prop in styles) {\n svgStyle.setProperty(prop, styles[prop]);\n }\n return node;\n}\n\nlet policy;\n/**\n* Attempt to create policy\n*/\nfunction createPolicy() {\n\ttry {\n\t\tpolicy = window.trustedTypes.createPolicy(\"iconify\", { createHTML: (s) => s });\n\t} catch (err) {\n\t\tpolicy = null;\n\t}\n}\n/**\n* Clean up value for innerHTML assignment\n*\n* This code doesn't actually clean up anything.\n* It is intended be used with Iconify icon data, which has already been validated\n*/\nfunction cleanUpInnerHTML(html) {\n\tif (policy === void 0) createPolicy();\n\treturn policy ? policy.createHTML(html) : html;\n}\n\n/**\n * Render node as <svg>\n */\nfunction renderSVG(data) {\n const node = document.createElement('span');\n // Add style if needed\n const attr = data.attributes;\n let style = '';\n if (!attr.width) {\n style = 'width: inherit;';\n }\n if (!attr.height) {\n style += 'height: inherit;';\n }\n if (style) {\n attr.style = style;\n }\n // Generate SVG\n const html = iconToHTML$1(data.body, attr);\n node.innerHTML = cleanUpInnerHTML(html);\n return node.firstChild;\n}\n\n/**\n * Find icon node\n */\nfunction findIconElement(parent) {\n return Array.from(parent.childNodes).find((node) => {\n const tag = node.tagName &&\n node.tagName.toUpperCase();\n return tag === 'SPAN' || tag === 'SVG';\n });\n}\n/**\n * Render icon\n */\nfunction renderIcon(parent, state) {\n const iconData = state.icon.data;\n const customisations = state.customisations;\n // Render icon\n const renderData = iconToSVG(iconData, customisations);\n if (customisations.preserveAspectRatio) {\n renderData.attributes['preserveAspectRatio'] =\n customisations.preserveAspectRatio;\n }\n const mode = state.renderedMode;\n let node;\n switch (mode) {\n case 'svg':\n node = renderSVG(renderData);\n break;\n default:\n node = renderSPAN(renderData, {\n ...defaultIconProps,\n ...iconData,\n }, mode === 'mask');\n }\n // Set element\n const oldNode = findIconElement(parent);\n if (oldNode) {\n // Replace old element\n if (node.tagName === 'SPAN' && oldNode.tagName === node.tagName) {\n // Swap style instead of whole node\n oldNode.setAttribute('style', node.getAttribute('style'));\n }\n else {\n parent.replaceChild(node, oldNode);\n }\n }\n else {\n // Add new element\n parent.appendChild(node);\n }\n}\n\n/**\n * Set state to PendingState\n */\nfunction setPendingState(icon, inline, lastState) {\n const lastRender = lastState &&\n (lastState.rendered\n ? lastState\n : lastState.lastRender);\n return {\n rendered: false,\n inline,\n icon,\n lastRender,\n };\n}\n\n/**\n * Register 'iconify-icon' component, if it does not exist\n */\nfunction defineIconifyIcon(name = 'iconify-icon') {\n // Check for custom elements registry and HTMLElement\n let customElements;\n let ParentClass;\n try {\n customElements = window.customElements;\n ParentClass = window.HTMLElement;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (err) {\n return;\n }\n // Make sure registry and HTMLElement exist\n if (!customElements || !ParentClass) {\n return;\n }\n // Check for duplicate\n const ConflictingClass = customElements.get(name);\n if (ConflictingClass) {\n return ConflictingClass;\n }\n // All attributes\n const attributes = [\n // Icon\n 'icon',\n // Mode\n 'mode',\n 'inline',\n 'noobserver',\n // Customisations\n 'width',\n 'height',\n 'rotate',\n 'flip',\n ];\n /**\n * Component class\n */\n const IconifyIcon = class extends ParentClass {\n // Root\n _shadowRoot;\n // Initialised\n _initialised = false;\n // Icon state\n _state;\n // Attributes check queued\n _checkQueued = false;\n // Connected\n _connected = false;\n // Observer\n _observer = null;\n _visible = true;\n /**\n * Constructor\n */\n constructor() {\n super();\n // Attach shadow DOM\n const root = (this._shadowRoot = this.attachShadow({\n mode: 'open',\n }));\n // Add style\n const inline = this.hasAttribute('inline');\n updateStyle(root, inline);\n // Create empty state\n this._state = setPendingState({\n value: '',\n }, inline);\n // Queue icon render\n this._queueCheck();\n }\n /**\n * Connected to DOM\n */\n connectedCallback() {\n this._connected = true;\n this.startObserver();\n }\n /**\n * Disconnected from DOM\n */\n disconnectedCallback() {\n this._connected = false;\n this.stopObserver();\n }\n /**\n * Observed attributes\n */\n static get observedAttributes() {\n return attributes.slice(0);\n }\n /**\n * Observed properties that are different from attributes\n *\n * Experimental! Need to test with various frameworks that support it\n */\n /*\n static get properties() {\n return {\n inline: {\n type: Boolean,\n reflect: true,\n },\n // Not listing other attributes because they are strings or combination\n // of string and another type. Cannot have multiple types\n };\n }\n */\n /**\n * Attribute has changed\n */\n attributeChangedCallback(name) {\n switch (name) {\n case 'inline': {\n // Update immediately: not affected by other attributes\n const newInline = this.hasAttribute('inline');\n const state = this._state;\n if (newInline !== state.inline) {\n // Update style if inline mode changed\n state.inline = newInline;\n updateStyle(this._shadowRoot, newInline);\n }\n break;\n }\n case 'noobserver': {\n const value = this.hasAttribute('noobserver');\n if (value) {\n this.startObserver();\n }\n else {\n this.stopObserver();\n }\n break;\n }\n default:\n // Queue check for other attributes\n this._queueCheck();\n }\n }\n /**\n * Get/set icon\n */\n get icon() {\n const value = this.getAttribute('icon');\n if (value && value.slice(0, 1) === '{') {\n try {\n return JSON.parse(value);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (err) {\n //\n }\n }\n return value;\n }\n set icon(value) {\n if (typeof value === 'object') {\n value = JSON.stringify(value);\n }\n this.setAttribute('icon', value);\n }\n /**\n * Get/set inline\n */\n get inline() {\n return this.hasAttribute('inline');\n }\n set inline(value) {\n if (value) {\n this.setAttribute('inline', 'true');\n }\n else {\n this.removeAttribute('inline');\n }\n }\n /**\n * Get/set observer\n */\n get observer() {\n return this.hasAttribute('observer');\n }\n set observer(value) {\n if (value) {\n this.setAttribute('observer', 'true');\n }\n else {\n this.removeAttribute('observer');\n }\n }\n /**\n * Restart animation\n */\n restartAnimation() {\n const state = this._state;\n if (state.rendered) {\n const root = this._shadowRoot;\n if (state.renderedMode === 'svg') {\n // Update root node\n try {\n root.lastChild.setCurrentTime(0);\n return;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (err) {\n // Failed: setCurrentTime() is not supported\n }\n }\n renderIcon(root, state);\n }\n }\n /**\n * Get status\n */\n get status() {\n const state = this._state;\n return state.rendered\n ? 'rendered'\n : state.icon.data === null\n ? 'failed'\n : 'loading';\n }\n /**\n * Queue attributes re-check\n */\n _queueCheck() {\n if (!this._checkQueued) {\n this._checkQueued = true;\n setTimeout(() => {\n this._check();\n });\n }\n }\n /**\n * Check for changes\n */\n _check() {\n if (!this._checkQueued) {\n return;\n }\n this._checkQueued = false;\n const state = this._state;\n // Get icon\n const newIcon = this.getAttribute('icon');\n if (newIcon !== state.icon.value) {\n this._iconChanged(newIcon);\n return;\n }\n // Ignore other attributes if icon is not rendered\n if (!state.rendered || !this._visible) {\n return;\n }\n // Check for mode and attribute changes\n const mode = this.getAttribute('mode');\n const customisations = getCustomisations(this);\n if (state.attrMode !== mode ||\n haveCustomisationsChanged(state.customisations, customisations) ||\n !findIconElement(this._shadowRoot)) {\n this._renderIcon(state.icon, customisations, mode);\n }\n }\n /**\n * Icon value has changed\n */\n _iconChanged(newValue) {\n const icon = parseIconValue(newValue, (value, name, data) => {\n // Asynchronous callback: re-check values to make sure stuff wasn't changed\n const state = this._state;\n if (state.rendered || this.getAttribute('icon') !== value) {\n // Icon data is already available or icon attribute was changed\n return;\n }\n // Change icon\n const icon = {\n value,\n name,\n data,\n };\n if (icon.data) {\n // Render icon\n this._gotIconData(icon);\n }\n else {\n // Nothing to render: update icon in state\n state.icon = icon;\n }\n });\n if (icon.data) {\n // Icon is ready to render\n this._gotIconData(icon);\n }\n else {\n // Pending icon\n this._state = setPendingState(icon, this._state.inline, this._state);\n }\n }\n /**\n * Force render icon on state change\n */\n _forceRender() {\n if (!this._visible) {\n // Remove icon\n const node = findIconElement(this._shadowRoot);\n if (node) {\n this._shadowRoot.removeChild(node);\n }\n return;\n }\n // Re-render icon\n this._queueCheck();\n }\n /**\n * Got new icon data, icon is ready to (re)render\n */\n _gotIconData(icon) {\n this._checkQueued = false;\n this._renderIcon(icon, getCustomisations(this), this.getAttribute('mode'));\n }\n /**\n * Re-render based on icon data\n */\n _renderIcon(icon, customisations, attrMode) {\n // Get mode\n const renderedMode = getRenderMode(icon.data.body, attrMode);\n // Inline was not changed\n const inline = this._state.inline;\n // Set state and render\n renderIcon(this._shadowRoot, (this._state = {\n rendered: true,\n icon,\n inline,\n customisations,\n attrMode,\n renderedMode,\n }));\n }\n /**\n * Start observer\n */\n startObserver() {\n if (!this._observer && !this.hasAttribute('noobserver')) {\n try {\n this._observer = new IntersectionObserver((entries) => {\n const intersecting = entries.some((entry) => entry.isIntersecting);\n if (intersecting !== this._visible) {\n this._visible = intersecting;\n this._forceRender();\n }\n });\n this._observer.observe(this);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (err) {\n // Something went wrong, possibly observer is not supported\n if (this._observer) {\n try {\n this._observer.disconnect();\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (err) {\n //\n }\n this._observer = null;\n }\n }\n }\n }\n /**\n * Stop observer\n */\n stopObserver() {\n if (this._observer) {\n this._observer.disconnect();\n this._observer = null;\n this._visible = true;\n if (this._connected) {\n // Render icon\n this._forceRender();\n }\n }\n }\n };\n // Add getters and setters\n attributes.forEach((attr) => {\n if (!(attr in IconifyIcon.prototype)) {\n Object.defineProperty(IconifyIcon.prototype, attr, {\n get: function () {\n return this.getAttribute(attr);\n },\n set: function (value) {\n if (value !== null) {\n this.setAttribute(attr, value);\n }\n else {\n this.removeAttribute(attr);\n }\n },\n });\n }\n });\n // Add exported functions: both as static and instance methods\n const functions = exportFunctions();\n for (const key in functions) {\n IconifyIcon[key] = IconifyIcon.prototype[key] = functions[key];\n }\n // Define new component\n customElements.define(name, IconifyIcon);\n return IconifyIcon;\n}\n\n/**\n * Create exported data: either component instance or functions\n */\nconst IconifyIconComponent = defineIconifyIcon() || exportFunctions();\n/**\n * Export functions\n */\nconst { iconLoaded, getIcon, listIcons, addIcon, addCollection, calculateSize, buildIcon, iconToHTML, svgToURL, loadIcons, loadIcon, setCustomIconLoader, setCustomIconsLoader, addAPIProvider, _api, } = IconifyIconComponent;\n\nexport { IconifyIconComponent, _api, addAPIProvider, addCollection, addIcon, appendCustomStyle, buildIcon, calculateSize, getIcon, iconLoaded, iconToHTML, listIcons, loadIcon, loadIcons, setCustomIconLoader, setCustomIconsLoader, svgToURL };\n","@import \"~@govbr-ds/core/src/partial/scss/configs/icons\";\n\n:host {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n\n iconify-icon {\n &:focus {\n @include focus;\n }\n }\n}\n\n:host([is-inline]) {\n display: inline;\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core'\nimport 'iconify-icon'\n\n/**\n * O componente `br-icon` fornece uma maneira flexível e dinâmica de incorporar ícones nas aplicações.\n * Utilizando a biblioteca Iconify, ele permite o uso de uma ampla variedade de ícones.\n *\n * Com opções para especificar a altura e largura, adicionar classes CSS personalizadas, e definir como o ícone\n * deve ser rotacionado ou espelhado, o `br-icon` oferece aos desenvolvedores as ferramentas necessárias para\n * integrar ícones de forma consistente com o estilo e design de suas aplicações, melhorando a experiência do usuário\n * e a clareza das interfaces.\n *\n * Para mais informações sobre quais ícones estão disponíveis, consulte a documentação do [Iconify](https://iconify.design/).\n */\n@Component({\n tag: 'br-icon',\n styleUrl: 'icon.scss',\n shadow: true,\n})\nexport class Icon {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrIconElement\n\n /**\n * Nome do ícone a ser exibido, utilizando a biblioteca Iconify.\n * Este nome deve corresponder ao nome do ícone definido na biblioteca para que ele seja exibido corretamente.\n */\n @Prop({ reflect: true }) readonly iconName: string\n\n /**\n * Define a altura do ícone. Pode ser especificada em qualquer unidade CSS válida, como pixels (px), ems (em), rems (rem), etc.\n * O valor padrão é '16'.\n */\n @Prop({ reflect: true }) readonly height: string = '16'\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-icon-${iconId++}`\n\n /**\n * Define a largura do ícone. Pode ser especificada em qualquer unidade CSS válida, como pixels (px), ems (em), rems (rem), etc.\n * O valor padrão é '24'.\n */\n @Prop({ reflect: true }) readonly width: string = '24'\n\n /**\n * Permite adicionar classes CSS adicionais ao ícone.\n * Use esta propriedade para aplicar estilos personalizados ao ícone, além dos estilos padrão.\n */\n @Prop({ reflect: true }) readonly cssClasses?: string\n\n /**\n * Se definido como verdadeiro, o ícone será alinhado verticalmente ao texto ao seu redor.\n * Útil quando o ícone é usado em linha com texto para garantir que esteja alinhado corretamente com o texto.\n * O valor padrão é `false`.\n */\n @Prop({ reflect: true }) readonly isInline?: boolean = false\n\n /**\n * Define o ângulo de rotação do ícone.\n * Aceita valores como \"90deg\", \"180deg\" e \"270deg\" para rotacionar o ícone em diferentes ângulos.\n */\n @Prop({ reflect: true }) readonly rotate?: '90deg' | '180deg' | '270deg'\n\n /**\n * Define o tipo de espelhamento do ícone.\n * Aceita valores como \"horizontal\" para espelhar o ícone horizontalmente, \"vertical\" para espelhar verticalmente, ou ambos.\n */\n @Prop({ reflect: true }) readonly flip?: 'horizontal' | 'vertical'\n\n /**\n * Determina se o ícone pode receber foco.\n * Se definido como verdadeiro, o ícone pode ser navegado usando Tab.\n * O valor padrão é `false`.\n */\n @Prop({ reflect: true }) readonly isFocusable?: boolean = false\n\n /**\n * Controla o comportamento de carregamento do ícone através do observer interno do Iconify.\n *\n * Comportamento:\n * - Padrão (propriedade não definida): carregamento imediato aplicando `noobserver` para evitar problemas de layout shift\n * - `lazy={true}`: ativa o observer para carregamento lazy otimizado (útil em documentos longos com muitos ícones)\n * - `lazy={false}`: carregamento imediato aplicando `noobserver` (mesmo comportamento do padrão)\n *\n * **Nota**: O padrão foi alterado para carregamento imediato para resolver problemas de deslocamento de layout\n * que ocorriam quando ícones eram carregados depois do conteúdo inicial.\n *\n * @example\n * // Comportamento padrão (carregamento imediato - sem layout shift)\n * <br-icon icon-name=\"mdi:home\"></br-icon>\n *\n * @example\n * // Carregamento lazy para otimizar performance em documentos longos\n * <br-icon icon-name=\"mdi:home\" lazy={true}></br-icon>\n *\n * @example\n * // Carregamento imediato explícito (mesmo comportamento do padrão)\n * <br-icon icon-name=\"mdi:home\" lazy={false}></br-icon>\n */\n @Prop({ reflect: true }) readonly lazy?: boolean\n\n /**\n * Retorna o valor efetivo para o comportamento \"lazy\" do ícone.\n *\n * Explicação:\n * - Se o atributo 'lazy' estiver presente no elemento, o método retorna o valor da propriedade this.lazy (true ou false).\n * - Se o atributo 'lazy' NÃO estiver presente, assume-se o comportamento padrão, retornando false (ou seja, carregamento imediato ativado).\n *\n * Isso permite distinguir entre o caso em que o usuário explicitamente define lazy={true} (carregamento lazy)\n * e o caso em que o atributo não é informado (carregamento imediato por padrão).\n */\n private get effectiveLazy(): boolean {\n return this.el.hasAttribute('lazy') ? this.lazy === true : false\n }\n\n componentDidLoad() {\n const iconElement = this.el.shadowRoot.querySelector('iconify-icon')\n if (iconElement !== null) {\n if (this.isFocusable && !this.el.hasAttribute('aria-label')) {\n const formattedIconName = this.iconName\n .split(':')\n .pop()\n .replace(/-/g, ' ')\n .replace(/^[a-z]/, (match) => match.toUpperCase())\n\n this.el.setAttribute('aria-label', `Ícone: ${formattedIconName}`)\n }\n }\n }\n\n render() {\n return (\n <Host>\n <iconify-icon\n id={this.customId}\n flip={this.flip}\n width={this.width}\n class={this.cssClasses}\n icon={this.iconName}\n inline={this.isInline}\n height={this.height}\n rotate={this.rotate}\n role={this.isFocusable ? 'img' : null}\n tabindex={this.isFocusable ? 0 : '-1'}\n aria-hidden={this.isFocusable ? null : 'true'}\n focusable={this.isFocusable ? true : 'false'}\n {...(this.effectiveLazy === false ? { noobserver: true } : {})}\n ></iconify-icon>\n </Host>\n )\n }\n}\n\nlet iconId = 0\n"],"names":[],"mappings":"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","x_google_ignoreList":[2]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"br-card.entry.esm.js","sources":["../../packages/webcomponents/src/components/card/card.scss?tag=br-card&encapsulation=shadow","../../packages/webcomponents/src/components/card/card.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/card/card\";\n\n:host {\n display: block;\n}\n","import { AttachInternals, Component, Element, h, Host, Prop } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * O componente Card é um container versátil para apresentação de conteúdo estruturado.\n * Suporta cabeçalho, conteúdo principal e rodapé, além de diferentes estilos visuais.\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/card?tab=designer).\n *\n * @slot default - Conteúdo principal do card quando não usar slots estruturados\n * @slot header - Conteúdo do cabeçalho do card\n * @slot content - Conteúdo principal do card (quando usar estrutura com slots)\n * @slot footer - Conteúdo do rodapé do card\n */\n@Component({\n tag: 'br-card',\n styleUrl: 'card.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class BrCard {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrCardElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-card-${brCardId++}`\n\n /**\n * Define se o card está desabilitado.\n * Quando true, o card fica com opacidade reduzida e não responde a interações.\n */\n @Prop({ reflect: true }) disabled: boolean = false\n\n /**\n * Define se o card tem hover interativo.\n * Quando true, o card terá efeitos visuais ao passar o mouse.\n */\n @Prop({ reflect: true }) hover: boolean = false\n\n private hasHeader: boolean = false\n private hasContent: boolean = false\n private hasFooter: boolean = false\n\n componentWillLoad() {\n this.checkSlots()\n }\n\n componentDidLoad() {\n // Observar mudanças nos slots\n const slotElements = this.el.shadowRoot?.querySelectorAll('slot')\n slotElements?.forEach((slot) => {\n slot.addEventListener('slotchange', () => this.checkSlots())\n })\n }\n\n private checkSlots() {\n const headerSlot = this.el.querySelector('[slot=\"header\"]')\n const contentSlot = this.el.querySelector('[slot=\"content\"]')\n const footerSlot = this.el.querySelector('[slot=\"footer\"]')\n\n this.hasHeader = !!headerSlot\n this.hasContent = !!contentSlot\n this.hasFooter = !!footerSlot\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-card': true,\n disabled: this.disabled,\n hover: this.hover && !this.disabled,\n }\n }\n\n private getHeaderClassMap(): CssClassMap {\n return {\n 'card-header': true,\n }\n }\n\n private getContentClassMap(): CssClassMap {\n return {\n 'card-content': true,\n }\n }\n\n private getFooterClassMap(): CssClassMap {\n return {\n 'card-footer': true,\n }\n }\n\n render() {\n const hasStructuredContent = this.hasHeader || this.hasContent || this.hasFooter\n\n return (\n <Host id={this.customId} aria-disabled={this.disabled ? 'true' : null}>\n <div class={this.getCssClassMap()} part=\"wrapper\">\n {hasStructuredContent ? (\n [\n this.hasHeader && (\n <div class={this.getHeaderClassMap()} part=\"header\">\n <slot name=\"header\" />\n </div>\n ),\n (this.hasContent || (!this.hasHeader && !this.hasFooter)) && (\n <div class={this.getContentClassMap()} part=\"content\">\n <slot name=\"content\">\n <slot />\n </slot>\n </div>\n ),\n this.hasFooter && (\n <div class={this.getFooterClassMap()} part=\"footer\">\n <slot name=\"footer\" />\n </div>\n ),\n ]\n ) : (\n <div class={this.getContentClassMap()} part=\"content\">\n <slot />\n </div>\n )}\n </div>\n </Host>\n )\n }\n}\n\nlet brCardId = 0\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"br-checkbox.br-input.br-radio.entry.esm.js","sources":["../../packages/webcomponents/src/components/checkbox/checkbox.scss?tag=br-checkbox&encapsulation=shadow","../../packages/webcomponents/src/components/checkbox/checkbox.tsx","../../packages/webcomponents/src/components/input/input.scss?tag=br-input&encapsulation=shadow","../../packages/webcomponents/src/components/input/input.tsx","../../packages/webcomponents/src/components/radio/radio.scss?tag=br-radio&encapsulation=shadow","../../packages/webcomponents/src/components/radio/radio.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/checkbox/checkbox\";\n\n:host {\n display: inline-block;\n\n .br-checkbox {\n --checkbox-padding: var(--spacing-scale-half);\n --checkbox-size: 24px;\n\n display: flex;\n position: relative;\n }\n\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n white-space: nowrap;\n border: 0;\n }\n}\n","import {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/checkbox?tab=designer).\n *\n * @slot default - O texto descritivo pode ser passado por propriedade (label) ou por slot.\n *\n * @example\n * ```html\n * <br-checkbox label=\"Aceito os termos\"></br-checkbox>\n * ```\n */\n@Component({\n tag: 'br-checkbox',\n styleUrl: 'checkbox.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Checkbox {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrCheckboxElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Define o estado intermediário do checkbox.\n * Quando verdadeiro, exibe uma marcação parcial visual que indica seleção parcial.\n * Útil para representar grupos onde alguns itens estão selecionados, mas não todos.\n * Ao clicar no checkbox neste estado, ele será automaticamente alterado para marcado.\n */\n @Prop({ reflect: true, mutable: true }) indeterminate: boolean = false\n\n /**\n * Define o estado de seleção do checkbox.\n * Se definido como verdadeiro, o checkbox estará marcado. Caso contrário, estará desmarcado.\n */\n @Prop({ reflect: true, mutable: true }) checked: boolean = false\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-checkbox-${checkboxId++}`\n\n /**\n * Desativa o checkbox, tornando-o não interativo.\n */\n @Prop({ reflect: true }) readonly disabled: boolean = false\n\n /**\n * Define se o label associado ao checkbox deve ser oculto.\n * Se definido como verdadeiro, o texto do label será oculto, mas o checkbox ainda estará visível e funcional.\n */\n @Prop({ reflect: true }) readonly hasHiddenLabel: boolean = false\n\n /**\n * Texto descritivo exibido à direita do checkbox.\n * Caso um slot seja utilizado para fornecer um texto alternativo, o valor desta propriedade será ignorado.\n */\n @Prop({ reflect: true }) readonly label: string\n\n /**\n * Define o nome do checkbox, que é utilizado para agrupar checkboxes em formulários e identificar o campo.\n * O valor é obrigatório e deve ser fornecido para garantir o correto funcionamento em formulários.\n */\n @Prop({ reflect: true }) readonly name!: string\n\n /**\n * Indica a validade do checkbox.\n * Valores possíveis:\n * 'valid': O checkbox é considerado válido.\n * 'invalid': O checkbox é considerado inválido.\n * Se não for especificado, o valor padrão é `null`, indicando que a validade não foi definida.\n */\n @Prop({ reflect: true }) readonly state: 'valid' | 'invalid'\n\n /**\n * Define o valor associado ao checkbox quando ele faz parte de um formulário nativo (`<form>`).\n * Esse valor é enviado com o formulário quando o checkbox está selecionado.\n * **Nota:** Esta propriedade não deve ser utilizada para determinar se o checkbox está selecionado; para verificar o estado de seleção, use a propriedade `checked`.\n */\n @Prop({ reflect: true }) readonly value: string\n\n /**\n * Indica se o checkbox é pai de um grupo de checkboxes.\n */\n @Prop({ reflect: false }) readonly isFather: boolean = false\n\n /**\n * Indica se o slot default possui conteúdo.\n */\n @State() slotDefault: boolean = false\n\n /**\n * Define o número de checkboxes filhos em um grupo de checkboxes.\n */\n @State() numberOfChildren: number = 0\n\n /**\n * Disparado depois que o valor do `checked` foi alterado\n */\n @Event() checkedChange: EventEmitter<boolean>\n\n /**\n * Disparado depois que o valor do `indeterminate` foi alterado.\n */\n @Event() indeterminateChange: EventEmitter<boolean>\n\n @Watch('indeterminate')\n updateIndeterminate(newValue: boolean) {\n const input = this.el.shadowRoot.querySelector('input')\n if (input !== null) {\n input.indeterminate = newValue\n }\n }\n\n componentWillLoad() {\n this.hasSlotContentDefault()\n }\n\n private hasSlotContentDefault(): void {\n this.slotDefault = this.el.innerHTML !== ''\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-checkbox': true,\n valid: this.state === 'valid',\n invalid: this.state === 'invalid',\n disabled: this.disabled,\n 'hidden-label': this.hasHiddenLabel,\n }\n }\n\n private getAriaCheckedValue(): string {\n if (this.indeterminate) {\n return 'mixed'\n }\n return this.checked ? 'true' : 'false'\n }\n\n private readonly handleCheckedChange = () => {\n if (this.indeterminate) {\n // Sai do estado indeterminado ao clicar e define como marcado\n this.indeterminate = false\n this.checked = true\n this.indeterminateChange.emit(this.indeterminate)\n } else {\n // Alterna entre marcado e desmarcado\n this.checked = !this.checked\n this.indeterminate = false\n }\n this.checkedChange.emit(this.checked)\n }\n\n /**\n * Define o estado indeterminado do checkbox.\n * @param value Novo valor para o estado indeterminado.\n */\n @Method()\n async setIndeterminate(value: boolean) {\n this.indeterminate = value\n this.updateIndeterminate(value)\n this.indeterminateChange.emit(this.indeterminate)\n }\n\n /**\n * Inverte o valor da prop `checked`\n */\n @Method()\n async toggleChecked() {\n this.checked = !this.checked\n this.checkedChange.emit(this.checked)\n }\n\n /**\n * Define o número de checkboxes filhos em um grupo de checkboxes.\n * @param value Número de checkboxes filhos.\n */\n @Method()\n async setNumberOfChildren(value: number) {\n this.numberOfChildren = value\n }\n\n render() {\n return (\n <Host>\n <div class={this.getCssClassMap()}>\n <input\n type=\"checkbox\"\n id={this.customId}\n name={this.name}\n checked={this.checked}\n disabled={this.disabled}\n value={this.value}\n onChange={this.handleCheckedChange}\n ref={(el) => el && (el.indeterminate = this.indeterminate)}\n aria-checked={this.getAriaCheckedValue()}\n aria-describedby={this.numberOfChildren > 0 ? 'children-number' : null}\n />\n <label htmlFor={this.customId} class={this.hasHiddenLabel ? 'visually-hidden' : undefined}>\n {this.slotDefault ? <slot></slot> : this.label}\n </label>\n </div>\n {this.isFather ? (\n <span id=\"children-number\" class=\"sr-only\">\n Número de opções: {this.numberOfChildren}\n </span>\n ) : null}\n </Host>\n )\n }\n}\n\nlet checkboxId = 0\n","@import \"~@govbr-ds/core/src/components/input/input\";\n\n:host {\n display: inline-block;\n\n .br-input .input-icon {\n margin: 0 var(--spacing-scale-2x);\n }\n\n .br-input .input-icon + input {\n padding-left: var(--spacing-scale-6x);\n }\n}\n\n.br-input {\n br-button {\n float: right;\n margin-right: var(--input-button-margin);\n margin-top: calc((var(--input-size) + var(--spacing-scale-half)) * -1);\n padding: 0;\n position: relative;\n\n &.button-transform {\n transform: translateY(calc((var(--input-size) - 32px) * 0.5));\n }\n }\n\n .input-label {\n margin-top: 0 !important;\n }\n\n &.input-inline {\n display: flex;\n align-items: center;\n }\n}\n\n/* Estilo borderless para composições contextuais */\n:host([borderless]) {\n .br-input input {\n border-color: transparent;\n }\n\n .br-input input:focus,\n .br-input input:focus-visible {\n border-color: var(--border-color-alternative);\n }\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Prop, State } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n *\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/input?tab=designer).\n *\n * @slot action - Botão à direita do input.\n * @slot icon - Ícone à esquerda do input.\n * @slot help-text - Personalização do texto de ajuda.\n * @slot feedback - Mensagem de feedback como resposta específica a uma interação do usuário com o input. Pode ser feedback de erro, aviso, sucesso ou informação.\n *\n * @example\n * ```html\n * <br-input label=\"Nome\" placeholder=\"Digite seu nome\"></br-input>\n * ```\n */\n@Component({\n tag: 'br-input',\n styleUrl: 'input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Input {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrInputElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Especifica o tipo de entrada do campo. Pode ser um dos seguintes:\n * - 'color': Seletor de cor\n * - 'email': Campo para e-mail\n * - 'hidden': Campo oculto\n * - 'password': Campo para senha\n * - 'range': Controle deslizante\n * - 'search': Campo de pesquisa\n * - 'number': Campo para números\n * - 'tel': Campo para números de telefone\n * - 'text': Campo de texto padrão\n * - 'url': Campo para URLs\n */\n @Prop({ reflect: true }) readonly type:\n | 'color'\n | 'email'\n | 'hidden'\n | 'password'\n | 'range'\n | 'search'\n | 'number'\n | 'tel'\n | 'text'\n | 'file'\n | 'url' = 'text'\n\n /**\n * Controla o comportamento de preenchimento automático do navegador para o input.\n */\n @Prop({ reflect: true }) readonly autocomplete: 'on' | 'off'\n\n /**\n * Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido.\n */\n @Prop({ reflect: true }) readonly density: 'large' | 'medium' | 'small' = 'medium'\n\n /**\n * Desativa o input, tornando-o não interativo.\n */\n @Prop({ reflect: true }) readonly disabled: boolean = false\n\n /**\n * Se verdadeiro, o rótulo e o input estarão na mesma linha (layout inline).\n */\n @Prop({ reflect: true }) readonly isInline: boolean = false\n\n /**\n * Se verdadeiro, o input terá destaque visual.\n */\n @Prop({ reflect: true }) readonly isHighlight: boolean = false\n\n /**\n * Define o estado do input\n * Os possíveis valores são:\n * - 'info': Mensagem informativa.\n * - 'warning': Mensagem de aviso.\n * - 'danger': Mensagem de erro ou alerta.\n * - 'success': Mensagem de sucesso.\n * O valor padrão é 'info'.\n */\n @Prop({ reflect: true }) readonly state: 'info' | 'warning' | 'danger' | 'success'\n\n /**\n * Texto exibido como rótulo do input.\n */\n @Prop({ reflect: true }) readonly label: string\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-input-${inputId++}`\n\n /**\n * Nome do input, utilizado para identificação em formulários.\n */\n @Prop({ reflect: true }) readonly name: string\n\n /**\n * Texto exibido dentro do input quando está vazio, fornecendo uma dica ou sugestão ao usuário.\n */\n @Prop({ reflect: true }) readonly placeholder: string\n\n /**\n * Se verdadeiro, o valor do input é exibido, mas não pode ser editado pelo usuário.\n */\n @Prop({ reflect: true }) readonly readonly: boolean = false\n\n /**\n * Se verdadeiro, o input é obrigatório e deve ser preenchido antes que o formulário possa ser enviado.\n */\n @Prop({ reflect: true }) readonly required: boolean = false\n\n /**\n * Valor exibido no input.\n * Pode ser alterado pelo usuário se a propriedade `readonly` não estiver ativa.\n */\n @Prop({ reflect: true, mutable: true }) value: string\n\n /**\n * Largura do campo de entrada (por exemplo, '88px').\n * Quando definido, sobrescreve a largura padrão de 100%.\n */\n @Prop({ reflect: true }) readonly controlWidth?: string\n\n /**\n * Remove a borda do input quando não está em foco.\n * Útil para composições contextuais (ex.: paginação).\n */\n @Prop({ reflect: true }) readonly borderless: boolean = false\n\n /**\n * Texto adicional que fornece ajuda ou informações sobre o input.\n */\n @Prop({ reflect: true }) readonly helpText: string\n\n /**\n * Controla a correção automática do texto.\n */\n @Prop({ reflect: true }) readonly autocorrect: 'off' | 'on' = 'off'\n\n /**\n * Define o valor mínimo para campos de entrada numéricos.\n */\n @Prop({ reflect: true }) readonly min: number\n\n /**\n * Define o valor máximo para campos de entrada numéricos.\n */\n @Prop({ reflect: true }) readonly max: number\n\n /**\n * Define o comprimento mínimo do valor do campo de entrada.\n */\n @Prop({ reflect: true }) readonly minlength: number\n\n /**\n * Define o comprimento máximo do valor do campo de entrada.\n */\n @Prop({ reflect: true }) readonly maxlength: number\n\n /**\n * Se verdadeiro, permite a seleção de múltiplos arquivos.\n */\n @Prop({ reflect: true }) readonly multiple: boolean = false\n\n /**\n * Define o padrão de entrada para validação.\n */\n @Prop({ reflect: true }) readonly pattern: string\n\n /**\n * Define o valor do passo para campos de entrada numéricos.\n */\n @Prop({ reflect: true }) readonly step: number\n\n /**\n * Texto exibido no botão de ação à direita do input.\n */\n @Prop({ reflect: true }) readonly actionLabel: string\n\n @State() isPasswordVisible: boolean = false\n\n @State() internalState: 'info' | 'warning' | 'danger' | 'success' = 'info'\n\n @State() hasIconSlot: boolean = false\n\n @State() hasActionSlot: boolean = false\n\n @State() hasFeedbackSlot: boolean = false\n\n componentWillLoad() {\n this.hasIconSlot = this.hasSlotContent('icon')\n this.hasActionSlot = this.hasSlotContent('action')\n this.hasFeedbackSlot = this.hasSlotContent('feedback')\n this.internalState = this.state\n\n if (this.hasFeedbackSlot) {\n this.initializeStateWithFeedback()\n }\n }\n\n componentDidLoad() {\n if (this.hasFeedbackSlot) {\n this.setupSlotFeedbackListener()\n }\n }\n\n private initializeStateWithFeedback() {\n const initialMessageElement = this.el.querySelector('br-message')\n\n if (initialMessageElement !== null || initialMessageElement !== undefined) {\n const messageState = initialMessageElement.getAttribute('state')\n this.internalState = (messageState as 'info' | 'warning' | 'danger' | 'success') || this.state\n } else {\n this.internalState = this.state\n }\n }\n\n private setupSlotFeedbackListener() {\n const slot = this.el.shadowRoot?.querySelector('slot[name=\"feedback\"]')\n if (slot !== null && slot !== undefined) {\n slot.addEventListener('slotchange', () => {\n this.syncStateWithSlotFeedback()\n })\n }\n }\n\n private syncStateWithSlotFeedback() {\n const messageElement = this.el.querySelector('br-message')\n\n if (messageElement !== null && messageElement !== undefined) {\n this.internalState = messageElement.getAttribute('state') as 'info' | 'warning' | 'danger' | 'success'\n } else {\n this.internalState = this.state\n }\n }\n\n private getInputCssClassMap(): CssClassMap {\n return {\n 'br-input': true,\n 'input-button': this.hasActionSlot,\n small: this.density === 'small',\n large: this.density === 'large',\n medium: this.density === 'medium',\n 'input-inline': this.isInline,\n 'input-highlight': this.isHighlight,\n success: this.internalState === 'success',\n danger: this.internalState === 'danger',\n info: this.internalState === 'info',\n warning: this.internalState === 'warning',\n }\n }\n\n /**\n * Valor atualizado do input\n */\n @Event() valueChange: EventEmitter<string>\n\n private readonly handleInput = (event: Event) => {\n this.value = (event.target as HTMLInputElement).value\n this.valueChange.emit(this.value)\n }\n\n private readonly renderLabel = () => {\n if (this.label?.length > 0) {\n if (this.isInline) {\n return (\n <div class=\"input-label\">\n <label part=\"label\" class=\"text-nowrap\" htmlFor={this.customId}>\n {this.label}\n </label>\n </div>\n )\n } else {\n return (\n <label part=\"label\" htmlFor={this.customId}>\n {this.label}\n </label>\n )\n }\n }\n }\n\n private hasSlotContent(slotName: string): boolean {\n return this.el.querySelector(`[slot=\"${slotName}\"]`) !== null\n }\n\n private readonly renderInput = () => {\n return (\n <input\n class={this.isHighlight ? 'input-highlight' : null}\n id={this.customId}\n style={this.controlWidth !== undefined && this.controlWidth !== null ? { width: this.controlWidth } : undefined}\n autocomplete={this.autocomplete}\n disabled={this.disabled}\n autoCorrect={this.autocorrect}\n min={this.min}\n max={this.max}\n minLength={this.minlength}\n maxLength={this.maxlength}\n multiple={this.multiple}\n name={this.name}\n pattern={this.pattern}\n step={this.step}\n onInput={this.handleInput}\n placeholder={this.placeholder}\n readonly={this.readonly}\n required={this.required}\n title={this.el.title}\n type={this.type}\n value={this.value}\n />\n )\n }\n\n private readonly renderHelpText = () => {\n return this.helpText?.length > 0 ? <p>{this.helpText}</p> : <slot name=\"help-text\"></slot>\n }\n\n private readonly renderIconPassword = () => {\n const iconName = this.isPasswordVisible ? 'fa-solid:eye-slash' : 'fa-solid:eye'\n return <br-icon icon-name={iconName}></br-icon>\n }\n\n private readonly togglePasswordVisibility = () => {\n const input = this.el.shadowRoot.querySelector('input')\n this.isPasswordVisible = !this.isPasswordVisible\n input.type = this.isPasswordVisible ? 'text' : 'password'\n }\n\n private renderIconSlot() {\n if (this.hasSlotContent('icon')) {\n return (\n <div class=\"input-icon\">\n <slot name=\"icon\"></slot>\n </div>\n )\n }\n }\n\n private renderButton() {\n if (this.type === 'password') {\n return (\n <br-button\n class=\"button-transform\"\n shape=\"circle\"\n density=\"small\"\n aria-label={this.isPasswordVisible ? 'Esconder senha' : 'Mostrar senha'}\n aria-pressed={this.isPasswordVisible ? 'true' : 'false'}\n onClick={this.togglePasswordVisibility}\n >\n {this.renderIconPassword()}\n </br-button>\n )\n } else if (this.hasSlotContent('action')) {\n return (\n <br-button class=\"button-transform\" shape=\"circle\" density=\"small\" aria-label={this.actionLabel}>\n <slot name=\"action\"></slot>\n </br-button>\n )\n }\n return null\n }\n\n private readonly renderInlineInputContent = () => {\n if (this.hasIconSlot) {\n return <div class=\"input-content\">{this.renderInputWithIcon()}</div>\n } else {\n return <div class=\"input-content\">{this.renderInputWithoutIcon()}</div>\n }\n }\n\n private readonly renderInputContent = () => {\n return this.hasIconSlot ? this.renderInputWithIcon() : this.renderInputWithoutIcon()\n }\n\n private readonly renderInputWithIcon = () => {\n return (\n <div class=\"input-group\">\n {this.renderIconSlot()}\n {this.renderInput()}\n {this.renderButton()}\n {this.renderHelpText()}\n </div>\n )\n }\n\n private readonly renderInputWithoutIcon = () => {\n return [this.renderInput(), this.renderButton(), this.renderHelpText()]\n }\n\n private renderFeedback() {\n if (this.hasFeedbackSlot) {\n return <slot name=\"feedback\"></slot>\n }\n }\n\n render() {\n return (\n <Host>\n <div class={this.getInputCssClassMap()}>\n {this.renderLabel()}\n\n {this.isInline ? this.renderInlineInputContent() : this.renderInputContent()}\n\n {this.renderFeedback()}\n </div>\n </Host>\n )\n }\n}\n\nlet inputId = 0\n","@import \"~@govbr-ds/core/src/components/radio/radio\";\n@include radio-checked;\n\n:host {\n display: inline-block;\n\n .br-radio.hidden-label {\n label {\n padding-left: calc(var(--checkbox-size) + var(--surface-width-md) * 2);\n text-indent: -10000px;\n white-space: nowrap;\n width: 0;\n }\n }\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/radio?tab=designer).\n *\n * @slot default - O texto descritivo pode ser passado por propriedade (label) ou por slot.\n */\n\n@Component({\n tag: 'br-radio',\n styleUrl: 'radio.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Radio {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrRadioElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Define o estado de seleção do radio.\n * Se definido como verdadeiro, o radio estará marcado. Caso contrário, estará desmarcado.\n */\n @Prop({ reflect: true, mutable: true }) checked: boolean = false\n\n /**\n * Desativa o radio, tornando-o não interativo.\n */\n @Prop({ reflect: true }) readonly disabled: boolean = false\n\n /**\n * Indica a validade do radio.\n * Valores possíveis:\n * - 'valid': O radio é considerado válido.\n * - 'invalid': O radio é considerado inválido.\n * Se não for especificado, o valor padrão é `null`, indicando que a validade não foi definida.\n */\n @Prop({ reflect: true }) readonly state: 'valid' | 'invalid'\n\n /**\n * Define se o label associado ao radio deve ser oculto.\n * Se definido como verdadeiro, o texto do label será oculto, mas o radio ainda estará visível e funcional.\n */\n @Prop({ reflect: true, attribute: 'has-hidden-label' }) readonly hasHiddenLabel: boolean = false\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-radio-${radioId++}`\n\n /**\n * Define o nome do radio, que é utilizado para agrupar radios em formulários e identificar o campo.\n * O valor é obrigatório e deve ser fornecido para garantir o correto funcionamento em formulários.\n */\n\n @Prop({ reflect: true }) readonly name!: string\n\n /**\n * Texto descritivo exibido à direita do radio.\n * Caso um slot seja utilizado para fornecer um texto alternativo, o valor desta propriedade será ignorado.\n */\n @Prop({ reflect: true }) readonly label: string\n\n /**\n * Define o valor associado ao radio quando ele faz parte de um formulário nativo (`<form>`).\n * Esse valor é enviado com o formulário quando o radio está selecionado.\n * **Nota:** Esta propriedade não deve ser utilizada para determinar se o radio está selecionado; para verificar o estado de seleção, use a propriedade `checked`.\n */\n @Prop({ reflect: true }) readonly value: string\n\n /**\n * Disparado depois que o valor do `checked` foi alterado\n */\n @Event({ bubbles: true, composed: true }) checkedChange: EventEmitter<boolean>\n\n @Listen('checkedChange', { target: 'window' })\n handleCheckedChange(event: CustomEvent) {\n if (\n (event.target as HTMLBrRadioElement).customId !== this.customId &&\n (event.target as HTMLBrRadioElement).name === this.name\n ) {\n this.checked = false\n }\n }\n\n /**\n * Navega e seleciona o próximo/anterior rádio habilitado no grupo via teclas de seta.\n * Ativado por 'keydown', move a seleção entre rádios do mesmo 'name'\n * usando as setas, partindo do rádio atualmente checado.\n * @param {KeyboardEvent} event O evento de teclado.\n * @listens keydown\n */\n @Listen('keydown')\n handleKeyDown(event: KeyboardEvent) {\n if (this.disabled || !this.checked) return\n\n const isArrowKey = ['ArrowRight', 'ArrowDown', 'ArrowLeft', 'ArrowUp'].includes(event.key)\n if (!isArrowKey) return\n\n event.preventDefault()\n\n const radios = Array.from(document.querySelectorAll<HTMLBrRadioElement>('br-radio')).filter(\n (el: HTMLBrRadioElement) => el.name === this.name && !el.disabled\n )\n\n const currentIndex = radios.findIndex((radio: HTMLBrRadioElement) => radio.customId === this.customId)\n if (currentIndex === -1) return\n\n let nextIndex = currentIndex\n if (event.key === 'ArrowRight' || event.key === 'ArrowDown') {\n nextIndex = (currentIndex + 1) % radios.length\n } else if (event.key === 'ArrowLeft' || event.key === 'ArrowUp') {\n nextIndex = (currentIndex - 1 + radios.length) % radios.length\n }\n\n const nextRadio: HTMLBrRadioElement | undefined = radios[nextIndex]\n nextRadio?.toggleChecked?.()\n nextRadio?.shadowRoot?.querySelector('input')?.focus()\n }\n\n /**\n * Inverte o valor da prop `checked`\n */\n @Method()\n async toggleChecked() {\n this.checked = !this.checked\n this.checkedChange.emit(this.checked)\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-radio': true,\n valid: this.state === 'valid',\n invalid: this.state === 'invalid',\n disabled: this.disabled,\n 'hidden-label': this.hasHiddenLabel,\n }\n }\n\n /**\n * Handler para o event `click`\n * @param event Objeto Event\n */\n private readonly onClick = (event: MouseEvent) => {\n event.stopPropagation()\n this.checked = (event.target as HTMLInputElement).checked\n }\n\n /**\n * Handler para o evento `change`\n */\n private readonly onChange = () => {\n this.checkedChange.emit(this.checked)\n }\n\n render() {\n return (\n <Host aria-disabled={this.disabled ? 'true' : null}>\n <div class={this.getCssClassMap()}>\n <input\n part=\"radio-input\"\n aria-label={this.hasHiddenLabel && this.label ? this.label : null}\n type=\"radio\"\n id={this.customId}\n name={this.name}\n checked={this.checked}\n disabled={this.disabled}\n value={this.value}\n onClick={this.onClick}\n onChange={this.onChange}\n />\n <label part=\"radio-label\" htmlFor={this.customId}>\n <slot>{this.label}</slot>\n </label>\n </div>\n </Host>\n )\n }\n}\n\nlet radioId = 0\n"],"names":[],"mappings":"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"}