@govbr-ds/webcomponents 2.0.0-next.57 → 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 (749) 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 +9 -9
  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 +6 -6
  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 +1 -1
  99. package/dist/collection/components/item/item.css +1 -1
  100. package/dist/collection/components/item/item.js +1 -1
  101. package/dist/collection/components/list/list.css +1 -1
  102. package/dist/collection/components/list/list.js +1 -1
  103. package/dist/collection/components/loading/loading.css +1 -1
  104. package/dist/collection/components/loading/loading.js +1 -1
  105. package/dist/collection/components/magic-button/magic-button.css +1 -1
  106. package/dist/collection/components/magic-button/magic-button.js +1 -1
  107. package/dist/collection/components/menu/menu-header/menu-header.css +1 -0
  108. package/dist/collection/components/menu/menu-header/menu-header.js +154 -0
  109. package/dist/collection/components/menu/menu-header/menu-header.js.map +1 -0
  110. package/dist/collection/components/menu/menu-info/menu-info.css +1 -0
  111. package/dist/collection/components/menu/menu-info/menu-info.js +92 -0
  112. package/dist/collection/components/menu/menu-info/menu-info.js.map +1 -0
  113. package/dist/collection/components/menu/menu-item/menu-item.css +1 -0
  114. package/dist/collection/components/menu/menu-item/menu-item.js +233 -0
  115. package/dist/collection/components/menu/menu-item/menu-item.js.map +1 -0
  116. package/dist/collection/components/menu/menu-link/menu-link.css +1 -0
  117. package/dist/collection/components/menu/menu-link/menu-link.js +123 -0
  118. package/dist/collection/components/menu/menu-link/menu-link.js.map +1 -0
  119. package/dist/collection/components/menu/menu-list/menu-list.css +1 -0
  120. package/dist/collection/components/menu/menu-list/menu-list.js +295 -0
  121. package/dist/collection/components/menu/menu-list/menu-list.js.map +1 -0
  122. package/dist/collection/components/menu/menu-logo/menu-logo.css +1 -0
  123. package/dist/collection/components/menu/menu-logo/menu-logo.js +162 -0
  124. package/dist/collection/components/menu/menu-logo/menu-logo.js.map +1 -0
  125. package/dist/collection/components/menu/menu-social/menu-social.css +1 -0
  126. package/dist/collection/components/menu/menu-social/menu-social.js +139 -0
  127. package/dist/collection/components/menu/menu-social/menu-social.js.map +1 -0
  128. package/dist/collection/components/menu/menu.css +1 -0
  129. package/dist/collection/components/menu/menu.js +1064 -0
  130. package/dist/collection/components/menu/menu.js.map +1 -0
  131. package/dist/collection/components/message/message.css +1 -1
  132. package/dist/collection/components/message/message.js +1 -1
  133. package/dist/collection/components/modal/modal.css +1 -1
  134. package/dist/collection/components/pagination/pagination.css +1 -1
  135. package/dist/collection/components/radio/radio.css +1 -1
  136. package/dist/collection/components/radio/radio.js +1 -1
  137. package/dist/collection/components/scrim/scrim.css +1 -1
  138. package/dist/collection/components/scrim/scrim.js +1 -1
  139. package/dist/collection/components/scrim/scrim.js.map +1 -1
  140. package/dist/collection/components/select/select.css +1 -1
  141. package/dist/collection/components/select/select.js +1 -1
  142. package/dist/collection/components/sign-in/sign-in.css +1 -1
  143. package/dist/collection/components/sign-in/sign-in.js +1 -1
  144. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.css +1 -0
  145. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.js +392 -0
  146. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.js.map +1 -0
  147. package/dist/collection/components/skip-link/skip-link.css +1 -0
  148. package/dist/collection/components/skip-link/skip-link.js +588 -0
  149. package/dist/collection/components/skip-link/skip-link.js.map +1 -0
  150. package/dist/collection/components/step/step-item/step-item.css +1 -1
  151. package/dist/collection/components/step/step-item/step-item.js +1 -1
  152. package/dist/collection/components/step/step.css +1 -1
  153. package/dist/collection/components/step/step.js +1 -1
  154. package/dist/collection/components/switch/switch.css +1 -1
  155. package/dist/collection/components/switch/switch.js +1 -1
  156. package/dist/collection/components/tab/tab-item/tab-item.css +1 -1
  157. package/dist/collection/components/tab/tab-item/tab-item.js +1 -1
  158. package/dist/collection/components/tab/tab.css +1 -1
  159. package/dist/collection/components/tab/tab.js +2 -2
  160. package/dist/collection/components/table/table-cell/table-cell.css +1 -1
  161. package/dist/collection/components/table/table-cell/table-cell.js +1 -1
  162. package/dist/collection/components/table/table-header-cell/table-header-cell.css +1 -1
  163. package/dist/collection/components/table/table-header-cell/table-header-cell.js +1 -1
  164. package/dist/collection/components/table/table-header-row/table-header-row.css +1 -1
  165. package/dist/collection/components/table/table-header-row/table-header-row.js +1 -1
  166. package/dist/collection/components/table/table-row/table-row.css +1 -1
  167. package/dist/collection/components/table/table-row/table-row.js +1 -1
  168. package/dist/collection/components/table/table.css +1 -1
  169. package/dist/collection/components/table/table.js +1 -1
  170. package/dist/collection/components/tag/tag.css +1 -1
  171. package/dist/collection/components/tag/tag.js +1 -1
  172. package/dist/collection/components/tag/tag.js.map +1 -1
  173. package/dist/collection/components/textarea/textarea.css +1 -1
  174. package/dist/collection/components/textarea/textarea.js +1 -1
  175. package/dist/collection/components/tooltip/tooltip.css +1 -1
  176. package/dist/collection/components/tooltip/tooltip.js +1 -1
  177. package/dist/collection/components/upload/upload.css +1 -1
  178. package/dist/collection/components/upload/upload.js +26 -1
  179. package/dist/collection/components/upload/upload.js.map +1 -1
  180. package/dist/collection/pages/components/header/index.js +18 -0
  181. package/dist/collection/pages/components/menu/index.js +18 -0
  182. package/dist/collection/pages/components/skip-link/index.js +18 -0
  183. package/dist/collection/pages/components/upload/index.js +1 -1
  184. package/dist/collection/utils/breakpoint-observer.js +193 -0
  185. package/dist/collection/utils/breakpoint-observer.js.map +1 -0
  186. package/dist/components/br-avatar.js +14 -14
  187. package/dist/components/br-avatar.js.map +1 -1
  188. package/dist/components/br-breadcrumb.js +22 -22
  189. package/dist/components/br-breadcrumb.js.map +1 -1
  190. package/dist/components/br-button.js +1 -1
  191. package/dist/components/br-card.js +5 -5
  192. package/dist/components/br-card.js.map +1 -1
  193. package/dist/components/br-checkbox.js +4 -4
  194. package/dist/components/br-checkgroup.js +8 -8
  195. package/dist/components/br-checkgroup.js.map +1 -1
  196. package/dist/components/br-collapse.js +3 -3
  197. package/dist/components/br-divider.js +1 -1
  198. package/dist/components/br-dropdown.js +1 -1
  199. package/dist/components/br-footer-category.js +22 -22
  200. package/dist/components/br-footer-category.js.map +1 -1
  201. package/dist/components/br-footer-item.js +12 -12
  202. package/dist/components/br-footer-item.js.map +1 -1
  203. package/dist/components/br-footer-legal.js +7 -7
  204. package/dist/components/br-footer-legal.js.map +1 -1
  205. package/dist/components/br-footer-logo.js +7 -7
  206. package/dist/components/br-footer-logo.js.map +1 -1
  207. package/dist/components/br-footer-social.js +13 -13
  208. package/dist/components/br-footer-social.js.map +1 -1
  209. package/dist/components/br-footer.js +11 -11
  210. package/dist/components/br-footer.js.map +1 -1
  211. package/dist/components/br-header-function.d.ts +11 -0
  212. package/dist/components/br-header-function.js +198 -0
  213. package/dist/components/br-header-function.js.map +1 -0
  214. package/dist/components/br-header-link.d.ts +11 -0
  215. package/dist/components/br-header-link.js +102 -0
  216. package/dist/components/br-header-link.js.map +1 -0
  217. package/dist/components/br-header-list.d.ts +11 -0
  218. package/dist/components/br-header-list.js +302 -0
  219. package/dist/components/br-header-list.js.map +1 -0
  220. package/dist/components/br-header-logo.d.ts +11 -0
  221. package/dist/components/br-header-logo.js +200 -0
  222. package/dist/components/br-header-logo.js.map +1 -0
  223. package/dist/components/br-header.d.ts +11 -0
  224. package/dist/components/br-header.js +677 -0
  225. package/dist/components/br-header.js.map +1 -0
  226. package/dist/components/br-icon.js +4 -4
  227. package/dist/components/br-input.js +3 -3
  228. package/dist/components/br-item.js +4 -4
  229. package/dist/components/br-list.js +4 -4
  230. package/dist/components/br-loading.js +6 -6
  231. package/dist/components/br-loading.js.map +1 -1
  232. package/dist/components/br-magic-button.js +10 -10
  233. package/dist/components/br-magic-button.js.map +1 -1
  234. package/dist/components/br-menu-header.d.ts +11 -0
  235. package/dist/components/br-menu-header.js +125 -0
  236. package/dist/components/br-menu-header.js.map +1 -0
  237. package/dist/components/br-menu-info.d.ts +11 -0
  238. package/dist/components/br-menu-info.js +76 -0
  239. package/dist/components/br-menu-info.js.map +1 -0
  240. package/dist/components/br-menu-item.d.ts +11 -0
  241. package/dist/components/br-menu-item.js +13 -0
  242. package/dist/components/br-menu-item.js.map +1 -0
  243. package/dist/components/br-menu-link.d.ts +11 -0
  244. package/dist/components/br-menu-link.js +95 -0
  245. package/dist/components/br-menu-link.js.map +1 -0
  246. package/dist/components/br-menu-list.d.ts +11 -0
  247. package/dist/components/br-menu-list.js +199 -0
  248. package/dist/components/br-menu-list.js.map +1 -0
  249. package/dist/components/br-menu-logo.d.ts +11 -0
  250. package/dist/components/br-menu-logo.js +98 -0
  251. package/dist/components/br-menu-logo.js.map +1 -0
  252. package/dist/components/br-menu-social.d.ts +11 -0
  253. package/dist/components/br-menu-social.js +102 -0
  254. package/dist/components/br-menu-social.js.map +1 -0
  255. package/dist/components/br-menu.d.ts +11 -0
  256. package/dist/components/br-menu.js +952 -0
  257. package/dist/components/br-menu.js.map +1 -0
  258. package/dist/components/br-message.js +12 -12
  259. package/dist/components/br-message.js.map +1 -1
  260. package/dist/components/br-modal.js +16 -16
  261. package/dist/components/br-modal.js.map +1 -1
  262. package/dist/components/br-pagination.js +35 -35
  263. package/dist/components/br-pagination.js.map +1 -1
  264. package/dist/components/br-radio.js +3 -3
  265. package/dist/components/br-scrim.js +34 -34
  266. package/dist/components/br-scrim.js.map +1 -1
  267. package/dist/components/br-select.js +3 -3
  268. package/dist/components/br-sign-in.js +18 -18
  269. package/dist/components/br-sign-in.js.map +1 -1
  270. package/dist/components/br-skip-link.d.ts +11 -0
  271. package/dist/components/br-skip-link.js +372 -0
  272. package/dist/components/br-skip-link.js.map +1 -0
  273. package/dist/components/br-skiplink-item.d.ts +11 -0
  274. package/dist/components/br-skiplink-item.js +271 -0
  275. package/dist/components/br-skiplink-item.js.map +1 -0
  276. package/dist/components/br-step-item.js +30 -30
  277. package/dist/components/br-step-item.js.map +1 -1
  278. package/dist/components/br-step.js +14 -14
  279. package/dist/components/br-step.js.map +1 -1
  280. package/dist/components/br-switch.js +12 -12
  281. package/dist/components/br-switch.js.map +1 -1
  282. package/dist/components/br-tab-item.js +13 -13
  283. package/dist/components/br-tab-item.js.map +1 -1
  284. package/dist/components/br-tab.js +17 -17
  285. package/dist/components/br-tab.js.map +1 -1
  286. package/dist/components/br-table-cell.js +12 -12
  287. package/dist/components/br-table-cell.js.map +1 -1
  288. package/dist/components/br-table-header-cell.js +15 -15
  289. package/dist/components/br-table-header-cell.js.map +1 -1
  290. package/dist/components/br-table-header-row.js +10 -10
  291. package/dist/components/br-table-header-row.js.map +1 -1
  292. package/dist/components/br-table-row.js +13 -13
  293. package/dist/components/br-table-row.js.map +1 -1
  294. package/dist/components/br-table.js +13 -13
  295. package/dist/components/br-table.js.map +1 -1
  296. package/dist/components/br-tag.js +4 -409
  297. package/dist/components/br-tag.js.map +1 -1
  298. package/dist/components/br-textarea.js +16 -16
  299. package/dist/components/br-textarea.js.map +1 -1
  300. package/dist/components/br-tooltip.js +24 -24
  301. package/dist/components/br-tooltip.js.map +1 -1
  302. package/dist/components/br-upload.js +46 -43
  303. package/dist/components/br-upload.js.map +1 -1
  304. package/dist/components/index.d.ts +30 -0
  305. package/dist/components/index.js +31 -1
  306. package/dist/components/p-75pWQXE5.js +200 -0
  307. package/dist/components/{p-CvEK2Il7.js.map → p-75pWQXE5.js.map} +1 -1
  308. package/dist/components/p-B3imhKtv.js +164 -0
  309. package/dist/components/{p-C5niSTTq.js.map → p-B3imhKtv.js.map} +1 -1
  310. package/dist/components/p-BQbwSVaT.js +622 -0
  311. package/dist/components/{p-B8JLH_ik.js.map → p-BQbwSVaT.js.map} +1 -1
  312. package/dist/components/p-CcJHd-EX.js +400 -0
  313. package/dist/components/{p-CkOo_SmU.js.map → p-CcJHd-EX.js.map} +1 -1
  314. package/dist/components/p-Coy21EGa.js +250 -0
  315. package/dist/components/{p-BGvZWtkB.js.map → p-Coy21EGa.js.map} +1 -1
  316. package/dist/components/p-CqGm9xxH.js +143 -0
  317. package/dist/components/p-CqGm9xxH.js.map +1 -0
  318. package/dist/components/p-CqgyNPQx.js +191 -0
  319. package/dist/components/p-CqgyNPQx.js.map +1 -0
  320. package/dist/components/{p-CDqodOhC.js → p-CwXw4TB_.js} +15 -15
  321. package/dist/components/{p-CDqodOhC.js.map → p-CwXw4TB_.js.map} +1 -1
  322. package/dist/components/{p-Ck56essO.js → p-DPI-6oom.js} +295 -295
  323. package/dist/components/{p-Ck56essO.js.map → p-DPI-6oom.js.map} +1 -1
  324. package/dist/components/{p-DSkSDmzD.js → p-Dl8sbmQD.js} +44 -37
  325. package/dist/components/p-Dl8sbmQD.js.map +1 -0
  326. package/dist/components/p-MRCv9Vq6.js +275 -0
  327. package/dist/components/p-MRCv9Vq6.js.map +1 -0
  328. package/dist/components/p-_1olx8GR.js +179 -0
  329. package/dist/components/{p-0zSorzux.js.map → p-_1olx8GR.js.map} +1 -1
  330. package/dist/components/p-ey_HrFRS.js +415 -0
  331. package/dist/components/p-ey_HrFRS.js.map +1 -0
  332. package/dist/components/p-foGc27n-.js +361 -0
  333. package/dist/components/{p-DGjCsmhy.js.map → p-foGc27n-.js.map} +1 -1
  334. package/dist/components/p-wT-Xw7qJ.js +136 -0
  335. package/dist/components/{p-CodfIeVU.js.map → p-wT-Xw7qJ.js.map} +1 -1
  336. package/dist/custom-elements.json +10552 -6386
  337. package/dist/esm/br-avatar.entry.js +3 -3
  338. package/dist/esm/br-avatar.entry.js.map +1 -1
  339. package/dist/esm/br-breadcrumb.entry.js +3 -3
  340. package/dist/esm/br-breadcrumb.entry.js.map +1 -1
  341. package/dist/esm/br-button_2.entry.js +6 -6
  342. package/dist/esm/br-card.entry.js +3 -3
  343. package/dist/esm/br-card.entry.js.map +1 -1
  344. package/dist/esm/br-checkbox_3.entry.js +9 -9
  345. package/dist/esm/br-checkgroup.entry.js +3 -3
  346. package/dist/esm/br-checkgroup.entry.js.map +1 -1
  347. package/dist/esm/br-collapse_2.entry.js +305 -0
  348. package/dist/esm/br-divider.entry.js +3 -3
  349. package/dist/esm/br-divider.entry.js.map +1 -1
  350. package/dist/esm/br-dropdown_2.entry.js +6 -6
  351. package/dist/esm/br-footer-category.entry.js +3 -3
  352. package/dist/esm/br-footer-category.entry.js.map +1 -1
  353. package/dist/esm/br-footer-item.entry.js +3 -3
  354. package/dist/esm/br-footer-item.entry.js.map +1 -1
  355. package/dist/esm/br-footer-legal.entry.js +3 -3
  356. package/dist/esm/br-footer-legal.entry.js.map +1 -1
  357. package/dist/esm/br-footer-logo.entry.js +3 -3
  358. package/dist/esm/br-footer-logo.entry.js.map +1 -1
  359. package/dist/esm/br-footer-social.entry.js +3 -3
  360. package/dist/esm/br-footer-social.entry.js.map +1 -1
  361. package/dist/esm/br-footer.entry.js +3 -3
  362. package/dist/esm/br-footer.entry.js.map +1 -1
  363. package/dist/esm/br-header-function.entry.js +136 -0
  364. package/dist/esm/br-header-function.entry.js.map +1 -0
  365. package/dist/esm/br-header-link.entry.js +54 -0
  366. package/dist/esm/br-header-link.entry.js.map +1 -0
  367. package/dist/esm/br-header-list.entry.js +246 -0
  368. package/dist/esm/br-header-list.entry.js.map +1 -0
  369. package/dist/esm/br-header-logo.entry.js +158 -0
  370. package/dist/esm/br-header-logo.entry.js.map +1 -0
  371. package/dist/esm/br-header.entry.js +563 -0
  372. package/dist/esm/br-header.entry.js.map +1 -0
  373. package/dist/esm/br-item.entry.js +286 -0
  374. package/dist/esm/br-item.entry.js.map +1 -0
  375. package/dist/esm/br-loading.entry.js +4 -4
  376. package/dist/esm/br-loading.entry.js.map +1 -1
  377. package/dist/esm/br-magic-button.entry.js +4 -4
  378. package/dist/esm/br-magic-button.entry.js.map +1 -1
  379. package/dist/esm/br-menu-header.entry.js +50 -0
  380. package/dist/esm/br-menu-header.entry.js.map +1 -0
  381. package/dist/esm/br-menu-info.entry.js +40 -0
  382. package/dist/esm/br-menu-info.entry.js.map +1 -0
  383. package/dist/esm/br-menu-item.entry.js +70 -0
  384. package/dist/esm/br-menu-item.entry.js.map +1 -0
  385. package/dist/esm/br-menu-link.entry.js +39 -0
  386. package/dist/esm/br-menu-link.entry.js.map +1 -0
  387. package/dist/esm/br-menu-list.entry.js +134 -0
  388. package/dist/esm/br-menu-list.entry.js.map +1 -0
  389. package/dist/esm/br-menu-logo.entry.js +47 -0
  390. package/dist/esm/br-menu-logo.entry.js.map +1 -0
  391. package/dist/esm/br-menu-social.entry.js +31 -0
  392. package/dist/esm/br-menu-social.entry.js.map +1 -0
  393. package/dist/esm/br-menu.entry.js +835 -0
  394. package/dist/esm/br-menu.entry.js.map +1 -0
  395. package/dist/esm/br-message.entry.js +4 -4
  396. package/dist/esm/br-message.entry.js.map +1 -1
  397. package/dist/esm/br-modal.entry.js +3 -3
  398. package/dist/esm/br-modal.entry.js.map +1 -1
  399. package/dist/esm/br-pagination.entry.js +3 -3
  400. package/dist/esm/br-pagination.entry.js.map +1 -1
  401. package/dist/esm/br-scrim.entry.js +4 -4
  402. package/dist/esm/br-scrim.entry.js.map +1 -1
  403. package/dist/esm/br-sign-in.entry.js +4 -4
  404. package/dist/esm/br-sign-in.entry.js.map +1 -1
  405. package/dist/esm/br-skip-link.entry.js +320 -0
  406. package/dist/esm/br-skip-link.entry.js.map +1 -0
  407. package/dist/esm/br-skiplink-item.entry.js +191 -0
  408. package/dist/esm/br-skiplink-item.entry.js.map +1 -0
  409. package/dist/esm/br-step-item.entry.js +4 -4
  410. package/dist/esm/br-step-item.entry.js.map +1 -1
  411. package/dist/esm/br-step.entry.js +4 -4
  412. package/dist/esm/br-step.entry.js.map +1 -1
  413. package/dist/esm/br-switch.entry.js +4 -4
  414. package/dist/esm/br-switch.entry.js.map +1 -1
  415. package/dist/esm/br-tab-item.entry.js +4 -4
  416. package/dist/esm/br-tab-item.entry.js.map +1 -1
  417. package/dist/esm/br-tab.entry.js +5 -5
  418. package/dist/esm/br-tab.entry.js.map +1 -1
  419. package/dist/esm/br-table-cell.entry.js +4 -4
  420. package/dist/esm/br-table-cell.entry.js.map +1 -1
  421. package/dist/esm/br-table-header-cell.entry.js +4 -4
  422. package/dist/esm/br-table-header-cell.entry.js.map +1 -1
  423. package/dist/esm/br-table-header-row.entry.js +4 -4
  424. package/dist/esm/br-table-header-row.entry.js.map +1 -1
  425. package/dist/esm/br-table-row.entry.js +4 -4
  426. package/dist/esm/br-table-row.entry.js.map +1 -1
  427. package/dist/esm/br-table.entry.js +4 -4
  428. package/dist/esm/br-table.entry.js.map +1 -1
  429. package/dist/esm/br-tag.entry.js +4 -4
  430. package/dist/esm/br-tag.entry.js.map +1 -1
  431. package/dist/esm/br-textarea.entry.js +4 -4
  432. package/dist/esm/br-textarea.entry.js.map +1 -1
  433. package/dist/esm/br-tooltip.entry.js +4 -4
  434. package/dist/esm/br-tooltip.entry.js.map +1 -1
  435. package/dist/esm/br-upload.entry.js +7 -4
  436. package/dist/esm/br-upload.entry.js.map +1 -1
  437. package/dist/esm/breakpoint-observer-CqgyNPQx.js +197 -0
  438. package/dist/esm/breakpoint-observer-CqgyNPQx.js.map +1 -0
  439. package/dist/esm/{index-ByGJPTh2.js → index-DULshOxW.js} +80 -14
  440. package/dist/esm/index-DULshOxW.js.map +1 -0
  441. package/dist/esm/index.js +2 -0
  442. package/dist/esm/loader.js +5 -3
  443. package/dist/esm/webcomponents.js +6 -4
  444. package/dist/esm/webcomponents.js.map +1 -1
  445. package/dist/hydrate/index.d.ts +12 -0
  446. package/dist/hydrate/index.js +8575 -5172
  447. package/dist/hydrate/index.mjs +8574 -5173
  448. package/dist/stencil.config.js +93 -125
  449. package/dist/stencil.config.js.map +1 -1
  450. package/dist/types/components/header/header-function/header-function.d.ts +100 -0
  451. package/dist/types/components/header/header-link/header-link.d.ts +41 -0
  452. package/dist/types/components/header/header-list/header-list.d.ts +173 -0
  453. package/dist/types/components/header/header-logo/header-logo.d.ts +120 -0
  454. package/dist/types/components/header/header.d.ts +311 -0
  455. package/dist/types/components/menu/menu-header/menu-header.d.ts +42 -0
  456. package/dist/types/components/menu/menu-info/menu-info.d.ts +25 -0
  457. package/dist/types/components/menu/menu-item/menu-item.d.ts +49 -0
  458. package/dist/types/components/menu/menu-link/menu-link.d.ts +34 -0
  459. package/dist/types/components/menu/menu-list/menu-list.d.ts +62 -0
  460. package/dist/types/components/menu/menu-logo/menu-logo.d.ts +43 -0
  461. package/dist/types/components/menu/menu-social/menu-social.d.ts +36 -0
  462. package/dist/types/components/menu/menu.d.ts +260 -0
  463. package/dist/types/components/skip-link/skip-link-item/skip-link-item.d.ts +111 -0
  464. package/dist/types/components/skip-link/skip-link.d.ts +173 -0
  465. package/dist/types/components/upload/upload.d.ts +5 -0
  466. package/dist/types/components.d.ts +1467 -40
  467. package/dist/types/stencil-public-runtime.d.ts +43 -0
  468. package/dist/types/utils/breakpoint-observer.d.ts +99 -0
  469. package/dist/webcomponents/p-02106faf.entry.js +63 -0
  470. package/dist/webcomponents/p-02106faf.entry.js.map +1 -0
  471. package/dist/webcomponents/p-04bee121.entry.js +148 -0
  472. package/dist/webcomponents/p-04bee121.entry.js.map +1 -0
  473. package/dist/webcomponents/p-0b68fde3.entry.js +113 -0
  474. package/dist/webcomponents/p-0b68fde3.entry.js.map +1 -0
  475. package/dist/webcomponents/p-13f315b9.entry.js +65 -0
  476. package/dist/webcomponents/p-13f315b9.entry.js.map +1 -0
  477. package/dist/webcomponents/p-19988c40.entry.js +385 -0
  478. package/dist/webcomponents/p-19988c40.entry.js.map +1 -0
  479. package/dist/webcomponents/p-27771bab.entry.js +210 -0
  480. package/dist/webcomponents/p-27771bab.entry.js.map +1 -0
  481. package/dist/webcomponents/p-29575ecc.entry.js +587 -0
  482. package/dist/webcomponents/p-29575ecc.entry.js.map +1 -0
  483. package/dist/webcomponents/p-2baf706b.entry.js +44 -0
  484. package/dist/webcomponents/p-2baf706b.entry.js.map +1 -0
  485. package/dist/webcomponents/p-2f5d6943.entry.js +73 -0
  486. package/dist/webcomponents/p-2f5d6943.entry.js.map +1 -0
  487. package/dist/webcomponents/p-3124fad7.entry.js +348 -0
  488. package/dist/webcomponents/p-3124fad7.entry.js.map +1 -0
  489. package/dist/webcomponents/p-377cfe1d.entry.js +362 -0
  490. package/dist/webcomponents/p-377cfe1d.entry.js.map +1 -0
  491. package/dist/webcomponents/p-3a95b67e.entry.js +120 -0
  492. package/dist/webcomponents/p-3a95b67e.entry.js.map +1 -0
  493. package/dist/webcomponents/p-3b55ea0c.entry.js +389 -0
  494. package/dist/webcomponents/p-3b55ea0c.entry.js.map +1 -0
  495. package/dist/webcomponents/p-3bdc8b39.entry.js +142 -0
  496. package/dist/webcomponents/p-3bdc8b39.entry.js.map +1 -0
  497. package/dist/webcomponents/p-4282727e.entry.js +139 -0
  498. package/dist/webcomponents/p-4282727e.entry.js.map +1 -0
  499. package/dist/webcomponents/p-428c99c3.entry.js +52 -0
  500. package/dist/webcomponents/p-428c99c3.entry.js.map +1 -0
  501. package/dist/webcomponents/p-4dd9d5cd.entry.js +204 -0
  502. package/dist/webcomponents/p-4dd9d5cd.entry.js.map +1 -0
  503. package/dist/webcomponents/p-5d1ff009.entry.js +136 -0
  504. package/dist/webcomponents/p-5d1ff009.entry.js.map +1 -0
  505. package/dist/webcomponents/p-719915a9.entry.js +272 -0
  506. package/dist/webcomponents/p-719915a9.entry.js.map +1 -0
  507. package/dist/webcomponents/p-7a676bbf.entry.js +66 -0
  508. package/dist/webcomponents/p-7a676bbf.entry.js.map +1 -0
  509. package/dist/webcomponents/p-7d2b7cdd.entry.js +52 -0
  510. package/dist/webcomponents/p-7d2b7cdd.entry.js.map +1 -0
  511. package/dist/webcomponents/p-7eeb3f78.entry.js +1015 -0
  512. package/dist/webcomponents/p-7eeb3f78.entry.js.map +1 -0
  513. package/dist/webcomponents/p-7f30b571.entry.js +106 -0
  514. package/dist/webcomponents/p-7f30b571.entry.js.map +1 -0
  515. package/dist/webcomponents/p-80091ce2.entry.js +105 -0
  516. package/dist/webcomponents/p-80091ce2.entry.js.map +1 -0
  517. package/dist/webcomponents/p-8b057d32.entry.js +899 -0
  518. package/dist/webcomponents/p-8b057d32.entry.js.map +1 -0
  519. package/dist/webcomponents/p-8d578007.entry.js +235 -0
  520. package/dist/webcomponents/p-8d578007.entry.js.map +1 -0
  521. package/dist/webcomponents/p-8fdd51b9.entry.js +613 -0
  522. package/dist/webcomponents/p-8fdd51b9.entry.js.map +1 -0
  523. package/dist/webcomponents/p-9092f3dc.entry.js +94 -0
  524. package/dist/webcomponents/p-9092f3dc.entry.js.map +1 -0
  525. package/dist/webcomponents/p-9c2b5fa0.entry.js +616 -0
  526. package/dist/webcomponents/p-9c2b5fa0.entry.js.map +1 -0
  527. package/dist/webcomponents/p-CqgyNPQx.js +191 -0
  528. package/dist/webcomponents/p-CqgyNPQx.js.map +1 -0
  529. package/dist/webcomponents/{p-ByGJPTh2.js → p-DULshOxW.js} +26 -19
  530. package/dist/webcomponents/p-DULshOxW.js.map +1 -0
  531. package/dist/webcomponents/p-a118a0a8.entry.js +62 -0
  532. package/dist/webcomponents/p-a118a0a8.entry.js.map +1 -0
  533. package/dist/webcomponents/p-a1c89064.entry.js +56 -0
  534. package/dist/webcomponents/p-a1c89064.entry.js.map +1 -0
  535. package/dist/webcomponents/{p-a9200224.entry.js → p-a2cd9b08.entry.js} +121 -121
  536. package/dist/webcomponents/p-a2cd9b08.entry.js.map +1 -0
  537. package/dist/webcomponents/p-a3b15b54.entry.js +50 -0
  538. package/dist/webcomponents/p-a3b15b54.entry.js.map +1 -0
  539. package/dist/webcomponents/p-ae73649b.entry.js +235 -0
  540. package/dist/webcomponents/p-ae73649b.entry.js.map +1 -0
  541. package/dist/webcomponents/p-b320f790.entry.js +159 -0
  542. package/dist/webcomponents/p-b320f790.entry.js.map +1 -0
  543. package/dist/webcomponents/p-ba075027.entry.js +169 -0
  544. package/dist/webcomponents/p-ba075027.entry.js.map +1 -0
  545. package/dist/webcomponents/p-bf162cf1.entry.js +286 -0
  546. package/dist/webcomponents/p-bf162cf1.entry.js.map +1 -0
  547. package/dist/webcomponents/p-c3537110.entry.js +131 -0
  548. package/dist/webcomponents/p-c3537110.entry.js.map +1 -0
  549. package/dist/webcomponents/p-c549be31.entry.js +164 -0
  550. package/dist/webcomponents/p-c549be31.entry.js.map +1 -0
  551. package/dist/webcomponents/p-c960983f.entry.js +77 -0
  552. package/dist/webcomponents/p-c960983f.entry.js.map +1 -0
  553. package/dist/webcomponents/p-cca454b0.entry.js +92 -0
  554. package/dist/webcomponents/p-cca454b0.entry.js.map +1 -0
  555. package/dist/webcomponents/p-d391838f.entry.js +271 -0
  556. package/dist/webcomponents/p-d391838f.entry.js.map +1 -0
  557. package/dist/webcomponents/p-d8535324.entry.js +91 -0
  558. package/dist/webcomponents/p-d8535324.entry.js.map +1 -0
  559. package/dist/webcomponents/p-db0eb52b.entry.js +328 -0
  560. package/dist/webcomponents/p-db0eb52b.entry.js.map +1 -0
  561. package/dist/webcomponents/p-df88b55d.entry.js +312 -0
  562. package/dist/webcomponents/p-df88b55d.entry.js.map +1 -0
  563. package/dist/webcomponents/{p-0cfc9f36.entry.js → p-e3d2085a.entry.js} +15 -15
  564. package/dist/webcomponents/p-e3d2085a.entry.js.map +1 -0
  565. package/dist/webcomponents/p-e5e676ff.entry.js +50 -0
  566. package/dist/webcomponents/p-e5e676ff.entry.js.map +1 -0
  567. package/dist/webcomponents/p-e5fabfa7.entry.js +134 -0
  568. package/dist/webcomponents/p-e5fabfa7.entry.js.map +1 -0
  569. package/dist/webcomponents/p-e855ba4f.entry.js +86 -0
  570. package/dist/webcomponents/p-e855ba4f.entry.js.map +1 -0
  571. package/dist/webcomponents/p-fa519b6b.entry.js +60 -0
  572. package/dist/webcomponents/p-fa519b6b.entry.js.map +1 -0
  573. package/dist/webcomponents/p-fa5ec6d6.entry.js +84 -0
  574. package/dist/webcomponents/p-fa5ec6d6.entry.js.map +1 -0
  575. package/dist/webcomponents/p-fef9fc47.entry.js +202 -0
  576. package/dist/webcomponents/p-fef9fc47.entry.js.map +1 -0
  577. package/dist/webcomponents/webcomponents.esm.js +4 -4
  578. package/dist/webcomponents/webcomponents.esm.js.map +1 -1
  579. package/dist/webcomponents.html-custom-data.json +484 -23
  580. package/package.json +1 -1
  581. package/dist/cjs/br-avatar.entry.cjs.js.map +0 -1
  582. package/dist/cjs/br-breadcrumb.entry.cjs.js.map +0 -1
  583. package/dist/cjs/br-button.br-icon.entry.cjs.js.map +0 -1
  584. package/dist/cjs/br-card.entry.cjs.js.map +0 -1
  585. package/dist/cjs/br-checkbox.br-input.br-radio.entry.cjs.js.map +0 -1
  586. package/dist/cjs/br-checkgroup.entry.cjs.js.map +0 -1
  587. package/dist/cjs/br-collapse.cjs.entry.js +0 -187
  588. package/dist/cjs/br-collapse.entry.cjs.js.map +0 -1
  589. package/dist/cjs/br-divider.entry.cjs.js.map +0 -1
  590. package/dist/cjs/br-dropdown.br-select.entry.cjs.js.map +0 -1
  591. package/dist/cjs/br-footer-category.entry.cjs.js.map +0 -1
  592. package/dist/cjs/br-footer-item.entry.cjs.js.map +0 -1
  593. package/dist/cjs/br-footer-legal.entry.cjs.js.map +0 -1
  594. package/dist/cjs/br-footer-logo.entry.cjs.js.map +0 -1
  595. package/dist/cjs/br-footer-social.entry.cjs.js.map +0 -1
  596. package/dist/cjs/br-footer.entry.cjs.js.map +0 -1
  597. package/dist/cjs/br-item.br-list.entry.cjs.js.map +0 -1
  598. package/dist/cjs/br-item_2.cjs.entry.js +0 -409
  599. package/dist/cjs/br-loading.entry.cjs.js.map +0 -1
  600. package/dist/cjs/br-magic-button.entry.cjs.js.map +0 -1
  601. package/dist/cjs/br-message.entry.cjs.js.map +0 -1
  602. package/dist/cjs/br-modal.entry.cjs.js.map +0 -1
  603. package/dist/cjs/br-pagination.entry.cjs.js.map +0 -1
  604. package/dist/cjs/br-scrim.entry.cjs.js.map +0 -1
  605. package/dist/cjs/br-sign-in.entry.cjs.js.map +0 -1
  606. package/dist/cjs/br-step-item.entry.cjs.js.map +0 -1
  607. package/dist/cjs/br-step.entry.cjs.js.map +0 -1
  608. package/dist/cjs/br-switch.entry.cjs.js.map +0 -1
  609. package/dist/cjs/br-tab-item.entry.cjs.js.map +0 -1
  610. package/dist/cjs/br-tab.entry.cjs.js.map +0 -1
  611. package/dist/cjs/br-table-cell.entry.cjs.js.map +0 -1
  612. package/dist/cjs/br-table-header-cell.entry.cjs.js.map +0 -1
  613. package/dist/cjs/br-table-header-row.entry.cjs.js.map +0 -1
  614. package/dist/cjs/br-table-row.entry.cjs.js.map +0 -1
  615. package/dist/cjs/br-table.entry.cjs.js.map +0 -1
  616. package/dist/cjs/br-tag.entry.cjs.js.map +0 -1
  617. package/dist/cjs/br-textarea.entry.cjs.js.map +0 -1
  618. package/dist/cjs/br-tooltip.entry.cjs.js.map +0 -1
  619. package/dist/cjs/br-upload.entry.cjs.js.map +0 -1
  620. package/dist/cjs/index-CFIH680Y.js.map +0 -1
  621. package/dist/components/p-0zSorzux.js +0 -179
  622. package/dist/components/p-B8JLH_ik.js +0 -622
  623. package/dist/components/p-BFSUtbLz.js +0 -275
  624. package/dist/components/p-BFSUtbLz.js.map +0 -1
  625. package/dist/components/p-BGvZWtkB.js +0 -250
  626. package/dist/components/p-C5niSTTq.js +0 -164
  627. package/dist/components/p-CkOo_SmU.js +0 -400
  628. package/dist/components/p-CodfIeVU.js +0 -136
  629. package/dist/components/p-CvEK2Il7.js +0 -200
  630. package/dist/components/p-DGjCsmhy.js +0 -361
  631. package/dist/components/p-DSkSDmzD.js.map +0 -1
  632. package/dist/esm/br-button.br-icon.entry.js.map +0 -1
  633. package/dist/esm/br-checkbox.br-input.br-radio.entry.js.map +0 -1
  634. package/dist/esm/br-collapse.entry.js +0 -185
  635. package/dist/esm/br-collapse.entry.js.map +0 -1
  636. package/dist/esm/br-dropdown.br-select.entry.js.map +0 -1
  637. package/dist/esm/br-item.br-list.entry.js.map +0 -1
  638. package/dist/esm/br-item_2.entry.js +0 -406
  639. package/dist/esm/index-ByGJPTh2.js.map +0 -1
  640. package/dist/webcomponents/br-avatar.entry.esm.js.map +0 -1
  641. package/dist/webcomponents/br-breadcrumb.entry.esm.js.map +0 -1
  642. package/dist/webcomponents/br-button.br-icon.entry.esm.js.map +0 -1
  643. package/dist/webcomponents/br-card.entry.esm.js.map +0 -1
  644. package/dist/webcomponents/br-checkbox.br-input.br-radio.entry.esm.js.map +0 -1
  645. package/dist/webcomponents/br-checkgroup.entry.esm.js.map +0 -1
  646. package/dist/webcomponents/br-collapse.entry.esm.js.map +0 -1
  647. package/dist/webcomponents/br-divider.entry.esm.js.map +0 -1
  648. package/dist/webcomponents/br-dropdown.br-select.entry.esm.js.map +0 -1
  649. package/dist/webcomponents/br-footer-category.entry.esm.js.map +0 -1
  650. package/dist/webcomponents/br-footer-item.entry.esm.js.map +0 -1
  651. package/dist/webcomponents/br-footer-legal.entry.esm.js.map +0 -1
  652. package/dist/webcomponents/br-footer-logo.entry.esm.js.map +0 -1
  653. package/dist/webcomponents/br-footer-social.entry.esm.js.map +0 -1
  654. package/dist/webcomponents/br-footer.entry.esm.js.map +0 -1
  655. package/dist/webcomponents/br-item.br-list.entry.esm.js.map +0 -1
  656. package/dist/webcomponents/br-loading.entry.esm.js.map +0 -1
  657. package/dist/webcomponents/br-magic-button.entry.esm.js.map +0 -1
  658. package/dist/webcomponents/br-message.entry.esm.js.map +0 -1
  659. package/dist/webcomponents/br-modal.entry.esm.js.map +0 -1
  660. package/dist/webcomponents/br-pagination.entry.esm.js.map +0 -1
  661. package/dist/webcomponents/br-scrim.entry.esm.js.map +0 -1
  662. package/dist/webcomponents/br-sign-in.entry.esm.js.map +0 -1
  663. package/dist/webcomponents/br-step-item.entry.esm.js.map +0 -1
  664. package/dist/webcomponents/br-step.entry.esm.js.map +0 -1
  665. package/dist/webcomponents/br-switch.entry.esm.js.map +0 -1
  666. package/dist/webcomponents/br-tab-item.entry.esm.js.map +0 -1
  667. package/dist/webcomponents/br-tab.entry.esm.js.map +0 -1
  668. package/dist/webcomponents/br-table-cell.entry.esm.js.map +0 -1
  669. package/dist/webcomponents/br-table-header-cell.entry.esm.js.map +0 -1
  670. package/dist/webcomponents/br-table-header-row.entry.esm.js.map +0 -1
  671. package/dist/webcomponents/br-table-row.entry.esm.js.map +0 -1
  672. package/dist/webcomponents/br-table.entry.esm.js.map +0 -1
  673. package/dist/webcomponents/br-tag.entry.esm.js.map +0 -1
  674. package/dist/webcomponents/br-textarea.entry.esm.js.map +0 -1
  675. package/dist/webcomponents/br-tooltip.entry.esm.js.map +0 -1
  676. package/dist/webcomponents/br-upload.entry.esm.js.map +0 -1
  677. package/dist/webcomponents/p-0c53e0e8.entry.js +0 -60
  678. package/dist/webcomponents/p-0c53e0e8.entry.js.map +0 -1
  679. package/dist/webcomponents/p-0c7961dc.entry.js +0 -286
  680. package/dist/webcomponents/p-0c7961dc.entry.js.map +0 -1
  681. package/dist/webcomponents/p-0cc360f5.entry.js +0 -271
  682. package/dist/webcomponents/p-0cc360f5.entry.js.map +0 -1
  683. package/dist/webcomponents/p-0cfc9f36.entry.js.map +0 -1
  684. package/dist/webcomponents/p-110e53e5.entry.js +0 -91
  685. package/dist/webcomponents/p-110e53e5.entry.js.map +0 -1
  686. package/dist/webcomponents/p-136fc952.entry.js +0 -459
  687. package/dist/webcomponents/p-136fc952.entry.js.map +0 -1
  688. package/dist/webcomponents/p-13e6e87d.entry.js +0 -73
  689. package/dist/webcomponents/p-13e6e87d.entry.js.map +0 -1
  690. package/dist/webcomponents/p-16cf274f.entry.js +0 -134
  691. package/dist/webcomponents/p-16cf274f.entry.js.map +0 -1
  692. package/dist/webcomponents/p-1b970308.entry.js +0 -159
  693. package/dist/webcomponents/p-1b970308.entry.js.map +0 -1
  694. package/dist/webcomponents/p-1cc6bcdd.entry.js +0 -62
  695. package/dist/webcomponents/p-1cc6bcdd.entry.js.map +0 -1
  696. package/dist/webcomponents/p-1d8feab9.entry.js +0 -385
  697. package/dist/webcomponents/p-1d8feab9.entry.js.map +0 -1
  698. package/dist/webcomponents/p-26a029f7.entry.js +0 -389
  699. package/dist/webcomponents/p-26a029f7.entry.js.map +0 -1
  700. package/dist/webcomponents/p-2b9f0a10.entry.js +0 -361
  701. package/dist/webcomponents/p-2b9f0a10.entry.js.map +0 -1
  702. package/dist/webcomponents/p-2c8976dc.entry.js +0 -86
  703. package/dist/webcomponents/p-2c8976dc.entry.js.map +0 -1
  704. package/dist/webcomponents/p-3407c22c.entry.js +0 -113
  705. package/dist/webcomponents/p-3407c22c.entry.js.map +0 -1
  706. package/dist/webcomponents/p-37c8053c.entry.js +0 -44
  707. package/dist/webcomponents/p-37c8053c.entry.js.map +0 -1
  708. package/dist/webcomponents/p-3ecf55fc.entry.js +0 -92
  709. package/dist/webcomponents/p-3ecf55fc.entry.js.map +0 -1
  710. package/dist/webcomponents/p-531c7f89.entry.js +0 -201
  711. package/dist/webcomponents/p-531c7f89.entry.js.map +0 -1
  712. package/dist/webcomponents/p-5e063914.entry.js +0 -217
  713. package/dist/webcomponents/p-5e063914.entry.js.map +0 -1
  714. package/dist/webcomponents/p-63a7b4fb.entry.js +0 -202
  715. package/dist/webcomponents/p-63a7b4fb.entry.js.map +0 -1
  716. package/dist/webcomponents/p-6511c9cd.entry.js +0 -616
  717. package/dist/webcomponents/p-6511c9cd.entry.js.map +0 -1
  718. package/dist/webcomponents/p-696b898b.entry.js +0 -587
  719. package/dist/webcomponents/p-696b898b.entry.js.map +0 -1
  720. package/dist/webcomponents/p-6dcfc5d7.entry.js +0 -105
  721. package/dist/webcomponents/p-6dcfc5d7.entry.js.map +0 -1
  722. package/dist/webcomponents/p-6f5f88fc.entry.js +0 -120
  723. package/dist/webcomponents/p-6f5f88fc.entry.js.map +0 -1
  724. package/dist/webcomponents/p-709ae70f.entry.js +0 -50
  725. package/dist/webcomponents/p-709ae70f.entry.js.map +0 -1
  726. package/dist/webcomponents/p-850a2df0.entry.js +0 -235
  727. package/dist/webcomponents/p-850a2df0.entry.js.map +0 -1
  728. package/dist/webcomponents/p-85f17810.entry.js +0 -94
  729. package/dist/webcomponents/p-85f17810.entry.js.map +0 -1
  730. package/dist/webcomponents/p-8f481839.entry.js +0 -52
  731. package/dist/webcomponents/p-8f481839.entry.js.map +0 -1
  732. package/dist/webcomponents/p-9cde1441.entry.js +0 -50
  733. package/dist/webcomponents/p-9cde1441.entry.js.map +0 -1
  734. package/dist/webcomponents/p-ByGJPTh2.js.map +0 -1
  735. package/dist/webcomponents/p-a7fa8119.entry.js +0 -1015
  736. package/dist/webcomponents/p-a7fa8119.entry.js.map +0 -1
  737. package/dist/webcomponents/p-a9200224.entry.js.map +0 -1
  738. package/dist/webcomponents/p-b3a7c11a.entry.js +0 -131
  739. package/dist/webcomponents/p-b3a7c11a.entry.js.map +0 -1
  740. package/dist/webcomponents/p-bcb65fc2.entry.js +0 -169
  741. package/dist/webcomponents/p-bcb65fc2.entry.js.map +0 -1
  742. package/dist/webcomponents/p-c0e50bbd.entry.js +0 -136
  743. package/dist/webcomponents/p-c0e50bbd.entry.js.map +0 -1
  744. package/dist/webcomponents/p-ce2e0625.entry.js +0 -139
  745. package/dist/webcomponents/p-ce2e0625.entry.js.map +0 -1
  746. package/dist/webcomponents/p-da3acefd.entry.js +0 -77
  747. package/dist/webcomponents/p-da3acefd.entry.js.map +0 -1
  748. package/dist/webcomponents/p-e86962f6.entry.js +0 -272
  749. package/dist/webcomponents/p-e86962f6.entry.js.map +0 -1
@@ -1,187 +0,0 @@
1
- /*!
2
- * Construído por SERPRO
3
- * © https://serpro.gov.br/ - MIT License.
4
- */
5
- 'use strict';
6
-
7
- var index = require('./index-CFIH680Y.js');
8
- var tslib_es6 = require('./tslib.es6-CF44W9Bn.js');
9
- var helpers = require('./helpers-BOXIHVCc.js');
10
-
11
- const collapseCss = "*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}a{background-color:rgba(0,0,0,0)}b,strong{font-weight:bolder}small{font-size:80%}img{border-style:none}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.d-none{display:none !important}.d-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}@media (min-width: 576px){.d-sm-block{display:block !important}.d-sm-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}}.justify-content-start{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-end{-webkit-box-pack:end !important;-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-center{-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important}.align-items-center{-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter)*.5);padding-right:calc(var(--grid-gutter)*.5);width:100%}.col{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;min-width:8.3333333333%}.col-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-2{-ms-flex-preferred-size:16.6666666667%;flex-basis:16.6666666667%;max-width:16.6666666667%}.container,.container-lg{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:calc(var(--grid-gutter)*-0.5);margin-right:calc(var(--grid-gutter)*-0.5)}@media (min-width: 576px){.container,.container-lg{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}}@media (min-width: 992px){.container,.container-lg{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container,.container-lg{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container,.container-lg{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}}@media (min-width: 1600px){.container,.container-lg{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container,.container-lg{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mt-1{margin-top:var(--spacing-scale-half) !important}.mb-1{margin-bottom:var(--spacing-scale-half) !important}.mr-n2{margin-right:calc(var(--spacing-scale-base)*-1) !important}.ml-2{margin-left:var(--spacing-scale-base) !important}.m-3{margin:var(--spacing-scale-2x) !important}.mx-3{margin-left:var(--spacing-scale-2x) !important;margin-right:var(--spacing-scale-2x) !important}.mr-auto{margin-right:auto !important}.ml-auto{margin-left:auto !important}.pt-half{padding-top:var(--spacing-scale-half) !important}.py-3{padding-bottom:var(--spacing-scale-2x) !important;padding-top:var(--spacing-scale-2x) !important}.py-4{padding-bottom:var(--spacing-scale-3x) !important;padding-top:var(--spacing-scale-3x) !important}@media (min-width: 576px){.ml-sm-0{margin-left:var(--spacing-scale-default) !important}}body{--bg-color:var(--background);--bg-color-rgb:var(--background-rgb);--bg-color-hsl:var(--background-hsl);--font-size:var(--font-size-scale-base);--font-weight:var(--font-weight-regular);--link-color:var(--interactive);--link-color-rgb:var(--interactive-rgb);--link-color-hsl:var(--interactive-hsl);--line-height:var(--font-line-height-medium);--text-color:var(--color);--text-color-rgb:var(--color-rgb);--text-color-hsl:var(--color-hsl);background:var(--bg-color);color:var(--text-color);font-family:var(--font-family-base);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height)}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half)}a:focus{outline:none}a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--pressed))), to(rgba(var(--interactive-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}a{color:var(--interactive);text-decoration:none}button{cursor:pointer}img{max-width:100%;vertical-align:middle}ul,ol{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}table{--table-background:var(--background);--table-color:var(--color);--table-border-color:var(--gray-20);--table-border-style:solid;--table-border-width:1px;--table-hover:var(--color-rgb);--table-padding:var(--spacing-scale-3x);--table-font-weight:var(--font-weight-medium);--table-th-background:var(--background-alternative);--table-th-font-weight:var(--font-weight-semi-bold);--table-row-size:var(--spacing-scale-2x);border-collapse:collapse;width:100%}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}::-webkit-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-moz-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}.text-pure-0{color:var(--pure-0) !important}.text-primary-default{color:var(--color-primary-default) !important}.text-right{text-align:right !important}.text-nowrap{white-space:nowrap !important}.text-uppercase{text-transform:uppercase !important}.text-medium{font-weight:500 !important}.text-bold{font-weight:700 !important}.text-base{font-size:var(--font-size-scale-base) !important}.text-down-01{font-size:var(--font-size-scale-down-01) !important}@media (min-width: 576px){.text-sm-center{text-align:center !important}.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}}.ease{-webkit-animation-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1);animation-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1)}.ease-in-out{-webkit-animation-timing-function:cubic-bezier(0.42, 0, 0.58, 1);animation-timing-function:cubic-bezier(0.42, 0, 0.58, 1)}.highlight{background:var(--status-highlight-background) -webkit-gradient(linear, left top, left bottom, from(var(--status-highlight-overlay)), to(var(--status-highlight-overlay)));background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{-webkit-box-shadow:var(--surface-shadow-sm);box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}*[data-toggle=collapse]:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}*[data-toggle=collapse]:focus{outline:none}*[data-toggle=collapse]:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}:host{display:block;width:100%}:host .br-collapse .trigger{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}:host .br-collapse .trigger:not(:disabled):hover,:host .br-collapse .trigger:not(:disabled):focus-visible{background-image:-webkit-gradient(linear, left top, left bottom, from(rgb(var(--color-rgb), var(--hover))), to(rgb(var(--color-rgb), var(--hover))));background-image:linear-gradient(rgb(var(--color-rgb), var(--hover)), rgb(var(--color-rgb), var(--hover)))}:host .br-collapse .trigger-content{-webkit-box-flex:1 !important;-ms-flex:1 1 auto !important;flex:1 1 auto !important}:host .br-collapse .content{-webkit-transition:height .3s;transition:height .3s;overflow:hidden}:host .br-collapse br-icon{color:var(--interactive)}:host details{width:100%}:host details summary{list-style:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;cursor:pointer;padding:8px 12px;height:48px;outline:none}:host details summary::-webkit-details-marker{display:none}:host details summary:focus-visible{outline:var(--focus-width) var(--focus-style) var(--focus)}:host .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}";
12
-
13
- const Collapse = class {
14
- constructor(hostRef) {
15
- index.registerInstance(this, hostRef);
16
- this.brDidOpen = index.createEvent(this, "brDidOpen", 7);
17
- this.brDidClose = index.createEvent(this, "brDidClose", 7);
18
- if (hostRef.$hostElement$["s-ei"]) {
19
- this.elementInternals = hostRef.$hostElement$["s-ei"];
20
- }
21
- else {
22
- this.elementInternals = hostRef.$hostElement$.attachInternals();
23
- hostRef.$hostElement$["s-ei"] = this.elementInternals;
24
- }
25
- /**
26
- * Identificador único.
27
- * Caso não seja fornecido, um ID gerado automaticamente será usado.
28
- */
29
- this.customId = helpers.Helpers.generateUniqueId('clp');
30
- /**
31
- * Define se o collapse está aberto ou fechado.
32
- * @default false
33
- */
34
- this.open = false;
35
- /**
36
- * Define se o collapse faz parte de um accordion
37
- * @default null
38
- */
39
- this.accordionGroup = null;
40
- /**
41
- * Classe CSS para o ícone de expansão
42
- * @default 'fa6-solid:chevron-down'
43
- */
44
- this.iconToShow = 'fa6-solid:chevron-down';
45
- /**
46
- * Classe CSS para o ícone de recolhimento
47
- * @default 'fa6-solid:chevron-up'
48
- */
49
- this.iconToHide = 'fa6-solid:chevron-up';
50
- /**
51
- * Define a posição do ícone: 'left' ou 'right'
52
- * @default 'right'
53
- */
54
- this.iconPosition = 'right';
55
- /**
56
- * Método chamado quando o elemento <details> é aberto ou fechado.
57
- * Atualiza o estado interno do componente e emite eventos apropriados.
58
- * @param event O evento de toggle do elemento <details>.
59
- */
60
- this.handleCollapse = (event) => {
61
- const details = event.target;
62
- const isOpen = details.open;
63
- this.open = isOpen;
64
- if (this.open) {
65
- // Fecha outros do mesmo grupo de forma determinística antes de emitir evento
66
- this.closeOthersInGroup();
67
- this.brDidOpen.emit({ id: this.customId, accordionGroup: this.accordionGroup });
68
- }
69
- else {
70
- this.brDidClose.emit({ id: this.customId, accordionGroup: this.accordionGroup });
71
- }
72
- };
73
- }
74
- /**
75
- * Evento disparado quando o componente é aberto.
76
- * @param event Evento disparado quando o componente é aberto.
77
- */
78
- /**
79
- * Handler para o evento de abertura do componente.
80
- * Fecha o collapse atual se ele não for parte do mesmo grupo de accordion.
81
- * @param event Evento disparado quando o componente é aberto.
82
- */
83
- handleOpen(event) {
84
- if (this.accordionGroup &&
85
- this.accordionGroup === event.detail.accordionGroup &&
86
- event.detail.id !== this.customId) {
87
- this.closeCollapse();
88
- }
89
- }
90
- /**
91
- * Ciclo de vida do componente. Chamado uma vez logo após o componente ser adicionado ao DOM.
92
- */
93
- componentWillLoad() {
94
- this.syncDetailsWithOpen();
95
- }
96
- /**
97
- * Ciclo de vida do componente. Chamado quando o componente é removido do DOM.
98
- */
99
- disconnectedCallback() {
100
- var _a;
101
- const details = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('details');
102
- if (details !== null) {
103
- details.removeEventListener('toggle', this.handleCollapse);
104
- }
105
- }
106
- /**
107
- * Sincroniza o estado do elemento <details> com a propriedade open.
108
- * Isso garante que o estado visual do componente corresponda ao estado interno.
109
- */
110
- syncDetailsWithOpen() {
111
- var _a;
112
- const details = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('details');
113
- if (details !== null) {
114
- details.open = this.open;
115
- }
116
- }
117
- /**
118
- * Método público para abrir.
119
- * Este método pode ser chamado externamente para abrir o componente.
120
- */
121
- openCollapse() {
122
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
123
- this.open = true;
124
- this.syncDetailsWithOpen();
125
- // Fecha outros do mesmo grupo antes de emitir evento
126
- this.closeOthersInGroup();
127
- this.brDidOpen.emit({ id: this.customId, accordionGroup: this.accordionGroup });
128
- });
129
- }
130
- /**
131
- * Método público para fechar.
132
- * Este método pode ser chamado externamente para fechar o componente.
133
- */
134
- closeCollapse() {
135
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
136
- this.open = false;
137
- this.syncDetailsWithOpen();
138
- this.brDidClose.emit({ id: this.customId, accordionGroup: this.accordionGroup });
139
- });
140
- }
141
- /**
142
- * Fecha outros collapses abertos no mesmo grupo de accordion.
143
- * Usa busca no parent imediato para evitar varredura global desnecessária.
144
- */
145
- closeOthersInGroup() {
146
- if (this.accordionGroup == null || this.accordionGroup === '')
147
- return;
148
- const parent = this.el.parentElement;
149
- if (!parent)
150
- return;
151
- const others = Array.from(parent.querySelectorAll('br-collapse'));
152
- others
153
- .filter((c) => c !== this.el && c.getAttribute('accordion-group') === this.accordionGroup && c.hasAttribute('open'))
154
- .forEach((c) => {
155
- var _a;
156
- // seta prop open=false diretamente para evitar múltiplas emissões desnecessárias
157
- c.open = false;
158
- const details = (_a = c.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('details');
159
- if (details)
160
- details.open = false;
161
- });
162
- }
163
- /**
164
- * Renderiza o ícone de acordo com o estado do collapse.
165
- * Se o collapse estiver aberto, renderiza o ícone para ocultar.
166
- * Caso contrário, renderiza o ícone para mostrar.
167
- * @returns JSX do ícone
168
- */
169
- renderIcon() {
170
- return index.h("br-icon", { "icon-name": this.open ? this.iconToHide : this.iconToShow });
171
- }
172
- /**
173
- * Renderiza o componente.
174
- * O componente é renderizado como um elemento <details> com um <summary> que contém o acionador.
175
- * @returns JSX do componente.
176
- */
177
- render() {
178
- const itemCount = this.el.querySelectorAll('br-item').length;
179
- return (index.h(index.Host, { key: 'd060bf4d5b93ce7b4d117e6d9462e2dc97365cc9' }, index.h("details", { key: 'd41336f073d9095d91df03a3f73bdcc4bb50dd82', class: "br-collapse", open: this.open, onToggle: this.handleCollapse, id: this.customId }, index.h("summary", { key: '1df7c2b671ced7073dbd00ae77b2bf6cdb00e469', class: "trigger", role: "button", "aria-expanded": String(this.open), "aria-controls": `content-${this.customId}`, "aria-labelledby": `label-${this.customId}`, tabindex: "0", "aria-live": "polite" }, this.iconPosition === 'left' && this.renderIcon(), index.h("div", { key: '7eb883fba9c887c8a8f5463a1ce191b021107795', class: "trigger-content", id: `label-${this.customId}` }, index.h("slot", { key: '3a91865b257ca2172f6d171411c0cd8943fb3060', name: "trigger" })), this.iconPosition === 'right' && this.renderIcon()), index.h("div", { key: '802fce60539ca45e9ae6f285dc8e33acd08bdfdf', class: "content", id: `content-${this.customId}`, "aria-live": "polite", "aria-labelledby": `label-${this.customId}` }, this.open && itemCount > 0 && (index.h("div", { key: '851321b214784a74097964dc05ba19b3549e9b66', class: "visually-hidden" }, itemCount, " ", itemCount === 1 ? 'item' : 'itens', " na lista")), index.h("slot", { key: '99c52f714dfa58bbc3cdfadc2e94e7d1977e329e' })))));
180
- }
181
- static get formAssociated() { return true; }
182
- get el() { return index.getElement(this); }
183
- };
184
- Collapse.style = collapseCss;
185
-
186
- exports.br_collapse = Collapse;
187
- //# sourceMappingURL=br-collapse.entry.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"br-collapse.entry.cjs.js","sources":["../../packages/webcomponents/src/components/collapse/collapse.scss?tag=br-collapse&encapsulation=shadow","../../packages/webcomponents/src/components/collapse/collapse.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n\n .br-collapse {\n .trigger {\n display: flex;\n justify-content: center;\n align-items: center;\n\n &:not(:disabled):hover,\n &:not(:disabled):focus-visible {\n background-image: linear-gradient(rgb(var(--color-rgb), var(--hover)), rgb(var(--color-rgb), var(--hover)));\n }\n }\n\n .trigger-content {\n flex: 1 1 auto !important;\n }\n\n .content {\n transition: height 0.3s;\n overflow: hidden;\n }\n\n br-icon {\n color: var(--interactive);\n }\n }\n\n details {\n width: 100%;\n\n summary {\n list-style: none;\n display: flex;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n padding: 8px 12px;\n height: 48px;\n outline: none;\n\n &::-webkit-details-marker {\n display: none;\n }\n\n &:focus-visible {\n outline: var(--focus-width) var(--focus-style) var(--focus);\n }\n }\n }\n\n .visually-hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n }\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop } from '@stencil/core'\n\nimport Helpers from '../../utils/helpers'\n\n/**\n * O componente `br-collapse` pode ser utilizado em dois cenários principais: collapse simples ou accordion.\n *\n * - Collapse simples: Cada instância funciona de forma independente, permitindo abrir ou fechar o conteúdo conforme necessário, sem impactar outros componentes na página.\n * - Accordion: Quando configurado com a propriedade `accordionGroup`, múltiplos componentes `br-collapse` são agrupados. Nesse caso, apenas um item pode estar expandido por vez. Ao abrir um novo item, o anteriormente expandido será automaticamente fechado.\n *\n * @slot default - O conteúdo expansível mostrado/ocultado dinamicamente.\n * @slot trigger - Permite personalizar o conteúdo do acionador (texto, imagens, etc.).\n *\n * @example\n * ```html\n * <br-collapse open>\n * <div slot=\"trigger\">Clique para expandir</div>\n * <div>Conteúdo expansível</div>\n * </br-collapse>\n * ```\n */\n@Component({\n tag: 'br-collapse',\n styleUrl: 'collapse.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Collapse {\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: HTMLBrCollapseElement\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 = Helpers.generateUniqueId('clp')\n\n /**\n * Define se o collapse está aberto ou fechado.\n * @default false\n */\n @Prop({ reflect: true, mutable: true }) open: boolean = false\n\n /**\n * Define se o collapse faz parte de um accordion\n * @default null\n */\n @Prop() accordionGroup?: string = null\n\n /**\n * Classe CSS para o ícone de expansão\n * @default 'fa6-solid:chevron-down'\n */\n @Prop() iconToShow: string = 'fa6-solid:chevron-down'\n\n /**\n * Classe CSS para o ícone de recolhimento\n * @default 'fa6-solid:chevron-up'\n */\n @Prop() iconToHide: string = 'fa6-solid:chevron-up'\n\n /**\n * Define a posição do ícone: 'left' ou 'right'\n * @default 'right'\n */\n @Prop() iconPosition: 'left' | 'right' = 'right'\n\n /**\n * Evento emitido ao expandir.\n */\n @Event({ bubbles: true, composed: true }) brDidOpen: EventEmitter<{ id: string; accordionGroup: string }>\n\n /**\n * Evento emitido ao recolher.\n */\n @Event({ bubbles: true, composed: true }) brDidClose: EventEmitter<{ id: string; accordionGroup: string }>\n\n /**\n * Evento disparado quando o componente é aberto.\n * @param event Evento disparado quando o componente é aberto.\n */\n @Listen('brDidOpen', { target: 'document' })\n /**\n * Handler para o evento de abertura do componente.\n * Fecha o collapse atual se ele não for parte do mesmo grupo de accordion.\n * @param event Evento disparado quando o componente é aberto.\n */\n handleOpen(event: CustomEvent) {\n if (\n this.accordionGroup &&\n this.accordionGroup === event.detail.accordionGroup &&\n event.detail.id !== this.customId\n ) {\n this.closeCollapse()\n }\n }\n\n /**\n * Ciclo de vida do componente. Chamado uma vez logo após o componente ser adicionado ao DOM.\n */\n componentWillLoad() {\n this.syncDetailsWithOpen()\n }\n\n /**\n * Ciclo de vida do componente. Chamado quando o componente é removido do DOM.\n */\n disconnectedCallback() {\n const details = this.el.shadowRoot?.querySelector('details')\n if (details !== null) {\n details.removeEventListener('toggle', this.handleCollapse)\n }\n }\n\n /**\n * Sincroniza o estado do elemento <details> com a propriedade open.\n * Isso garante que o estado visual do componente corresponda ao estado interno.\n */\n private syncDetailsWithOpen() {\n const details = this.el.shadowRoot?.querySelector('details')\n if (details !== null) {\n details.open = this.open\n }\n }\n\n /**\n * Método chamado quando o elemento <details> é aberto ou fechado.\n * Atualiza o estado interno do componente e emite eventos apropriados.\n * @param event O evento de toggle do elemento <details>.\n */\n private handleCollapse = (event: Event) => {\n const details = event.target as HTMLDetailsElement\n const isOpen = details.open\n\n this.open = isOpen\n if (this.open) {\n // Fecha outros do mesmo grupo de forma determinística antes de emitir evento\n this.closeOthersInGroup()\n this.brDidOpen.emit({ id: this.customId, accordionGroup: this.accordionGroup })\n } else {\n this.brDidClose.emit({ id: this.customId, accordionGroup: this.accordionGroup })\n }\n }\n\n /**\n * Método público para abrir.\n * Este método pode ser chamado externamente para abrir o componente.\n */\n @Method()\n async openCollapse() {\n this.open = true\n this.syncDetailsWithOpen()\n // Fecha outros do mesmo grupo antes de emitir evento\n this.closeOthersInGroup()\n this.brDidOpen.emit({ id: this.customId, accordionGroup: this.accordionGroup })\n }\n\n /**\n * Método público para fechar.\n * Este método pode ser chamado externamente para fechar o componente.\n */\n @Method()\n async closeCollapse() {\n this.open = false\n this.syncDetailsWithOpen()\n this.brDidClose.emit({ id: this.customId, accordionGroup: this.accordionGroup })\n }\n\n /**\n * Fecha outros collapses abertos no mesmo grupo de accordion.\n * Usa busca no parent imediato para evitar varredura global desnecessária.\n */\n private closeOthersInGroup() {\n if (this.accordionGroup == null || this.accordionGroup === '') return\n const parent = this.el.parentElement\n if (!parent) return\n const others = Array.from(parent.querySelectorAll('br-collapse')) as HTMLBrCollapseElement[]\n others\n .filter((c) => c !== this.el && c.getAttribute('accordion-group') === this.accordionGroup && c.hasAttribute('open'))\n .forEach((c) => {\n // seta prop open=false diretamente para evitar múltiplas emissões desnecessárias\n c.open = false\n const details = c.shadowRoot?.querySelector('details')\n if (details) details.open = false\n })\n }\n\n /**\n * Renderiza o ícone de acordo com o estado do collapse.\n * Se o collapse estiver aberto, renderiza o ícone para ocultar.\n * Caso contrário, renderiza o ícone para mostrar.\n * @returns JSX do ícone\n */\n private renderIcon() {\n return <br-icon icon-name={this.open ? this.iconToHide : this.iconToShow}></br-icon>\n }\n\n /**\n * Renderiza o componente.\n * O componente é renderizado como um elemento <details> com um <summary> que contém o acionador.\n * @returns JSX do componente.\n */\n render() {\n const itemCount = this.el.querySelectorAll('br-item').length\n\n return (\n <Host>\n <details class=\"br-collapse\" open={this.open} onToggle={this.handleCollapse} id={this.customId}>\n <summary\n class=\"trigger\"\n role=\"button\"\n aria-expanded={String(this.open)}\n aria-controls={`content-${this.customId}`}\n aria-labelledby={`label-${this.customId}`}\n tabindex=\"0\"\n aria-live=\"polite\"\n >\n {this.iconPosition === 'left' && this.renderIcon()}\n <div class=\"trigger-content\" id={`label-${this.customId}`}>\n <slot name=\"trigger\"></slot>\n </div>\n {this.iconPosition === 'right' && this.renderIcon()}\n </summary>\n\n <div\n class=\"content\"\n id={`content-${this.customId}`}\n aria-live=\"polite\"\n aria-labelledby={`label-${this.customId}`}\n >\n {this.open && itemCount > 0 && (\n <div class=\"visually-hidden\">\n {itemCount} {itemCount === 1 ? 'item' : 'itens'} na lista\n </div>\n )}\n <slot></slot>\n </div>\n </details>\n </Host>\n )\n }\n}\n"],"names":["Helpers","h","Host"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"br-divider.entry.cjs.js","sources":["../../packages/webcomponents/src/components/divider/divider.scss?tag=br-divider&encapsulation=shadow","../../packages/webcomponents/src/components/divider/divider.tsx"],"sourcesContent":[":host {\n display: block;\n\n .br-divider {\n align-items: center;\n background-color: transparent;\n border: none;\n display: flex;\n justify-content: space-between;\n margin-bottom: var(--divider-margin-bottom, 20px);\n margin-left: var(--divider-margin-left, 0);\n margin-right: var(--divider-margin-right, 0);\n margin-top: var(--divider-margin-top, 20px);\n\n &::before,\n &::after {\n content: \"\";\n flex: 1;\n border-top: var(--divider-size, 1px) solid var(--border-color, black);\n }\n\n &.dashed {\n border-top: none;\n background: none;\n\n &::before,\n &::after {\n border-top: var(--divider-size, 1px) dashed var(--border-color);\n }\n }\n\n &.dashed.vertical {\n border-right: var(--divider-size, 1px) dashed var(--border-color);\n border-top: none;\n\n &::before,\n &::after {\n border-right: var(--divider-size, 1px) dashed var(--border-color);\n border-top: none;\n }\n }\n\n &.vertical {\n flex-direction: column;\n height: 100%;\n width: auto;\n margin: var(--divider-margin-top, 0) var(--divider-margin-right, 10px) var(--divider-margin-bottom, 0)\n var(--divider-margin-left, 10px);\n align-self: stretch;\n border-right-width: var(--divider-size);\n border-top-width: 0;\n\n &::before,\n &::after {\n border-right: var(--divider-size, 1px) solid var(--border-color, black);\n border-top: none;\n margin: 0;\n }\n }\n\n &.small {\n --divider-size: var(--surface-width-sm);\n }\n\n &.medium {\n --divider-size: var(--surface-width-md);\n }\n\n &.large {\n --divider-size: var(--surface-width-lg);\n }\n\n &.divider-start {\n justify-content: flex-start;\n\n &::before {\n flex: 0 0 0px;\n margin-right: var(--spacing-scale-base);\n }\n }\n\n &.divider-center {\n justify-content: center;\n }\n\n &.divider-end {\n justify-content: flex-end;\n\n &::after {\n flex: 0 0 0px;\n margin-left: var(--spacing-scale-base);\n }\n }\n\n &.dark-mode {\n --border-color: var(--pure-0);\n }\n\n .divider-start::after,\n .divider-center::before,\n .divider-center::after,\n .divider-end::before {\n margin: 0 var(--spacing-scale-base);\n }\n\n .divider-start::before {\n margin-right: var(--spacing-scale-base);\n }\n\n .divider-end::after {\n margin-left: var(--spacing-scale-base);\n }\n }\n}\n","import { Component, Element, h, Host, Prop, Watch } from '@stencil/core'\n\nimport Helpers from '../../utils/helpers'\n\ntype DividerOrientation = 'horizontal' | 'vertical'\ntype DividerThickness = 'small' | 'medium' | 'large'\ntype DividerBorderStyle = 'dashed' | 'solid'\ntype DividerAlign = 'start' | 'center' | 'end'\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/divider?tab=designer).\n *\n * @slot default - Conteúdo opcional que pode ser exibido dentro do divisor, como texto, ícones ou outros elementos personalizados.\n */\n@Component({\n tag: 'br-divider',\n styleUrl: 'divider.scss',\n shadow: true,\n})\nexport class Divider {\n @Element() el: HTMLBrDividerElement\n\n /**\n * ID personalizado para o elemento, útil para acessibilidade e identificação única.\n * Se não for fornecido, um ID único será gerado automaticamente.\n */\n @Prop({ reflect: true }) readonly customId: string = Helpers.generateUniqueId()\n\n /**\n * Define a orientação do divisor.\n * Pode ser 'horizontal' ou 'vertical'.\n * Caso seja usado como vertical, o divider deve ser colocado dentro de um container com altura definida.\n * @default horizontal\n */\n @Prop({ reflect: true }) orientation: DividerOrientation = 'horizontal'\n\n /**\n * Define a espessura do divisor.\n * Pode ser 'small', 'medium' ou 'large'.\n * @default small\n */\n @Prop({ reflect: true }) thickness: DividerThickness = 'small'\n\n /**\n * Define o estilo da borda do divisor.\n * Pode ser 'dashed' ou 'solid'.\n * @default solid\n */\n @Prop({ reflect: true }) borderStyle: DividerBorderStyle = 'solid'\n\n /**\n * Define se o divisor deve ser exibido no modo escuro.\n * @default false\n */\n @Prop({ reflect: true }) isDarkMode: boolean = false\n\n /**\n * Cor do divisor.\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 for especificada, o divisor usará a cor padrão definida pelo tema.\n * @default null\n */\n @Prop({ reflect: true }) color: string = ''\n\n /**\n * Alinhamento do conteúdo do divisor.\n * Pode ser 'start', 'center' ou 'end'.\n * @default undefined\n */\n @Prop() align: DividerAlign\n\n /**\n * Define se o divisor deve \"sangrar\" (bleed) nas laterais, ou seja, se deve ocupar toda a largura do container pai.\n * Isso é útil quando o divisor precisa se estender além do padding do container pai.\n * @default false\n */\n @Prop() bleed: boolean = false\n\n /**\n * Define o margin top do divisor em pixels.\n * Se não for especificado, usa o valor padrão de 20px para horizontal e 0px para vertical.\n * @default null\n */\n @Prop() marginTop: number = null\n\n /**\n * Define o margin bottom do divisor em pixels.\n * Se não for especificado, usa o valor padrão de 20px para horizontal e 0px para vertical.\n * @default null\n */\n @Prop() marginBottom: number = null\n\n /**\n * Define o margin left do divisor em pixels.\n * Se não for especificado, usa o valor padrão de 0px para horizontal e 10px para vertical.\n * @default null\n */\n @Prop() marginLeft: number = null\n\n /**\n * Define o margin right do divisor em pixels.\n * Se não for especificado, usa o valor padrão de 0px para horizontal e 10px para vertical.\n * @default null\n */\n @Prop() marginRight: number = null\n\n /**\n * Watcher para a cor do divisor.\n * Atualiza a propriedade CSS '--border-color' do elemento para refletir a cor definida.\n * Isso permite que o divisor use cores personalizadas sem precisar de estilos adicionais.\n */\n @Watch('color')\n updateColor() {\n this.el.style.setProperty('--border-color', this.color)\n }\n\n /**\n * Watcher para as propriedades de margin.\n * Atualiza as propriedades CSS customizáveis do elemento para refletir os margins definidos.\n */\n @Watch('marginTop')\n @Watch('marginBottom')\n @Watch('marginLeft')\n @Watch('marginRight')\n updateMargins() {\n if (this.marginTop !== null) {\n this.el.style.setProperty('--divider-margin-top', `${this.marginTop}px`)\n }\n if (this.marginBottom !== null) {\n this.el.style.setProperty('--divider-margin-bottom', `${this.marginBottom}px`)\n }\n if (this.marginLeft !== null) {\n this.el.style.setProperty('--divider-margin-left', `${this.marginLeft}px`)\n }\n if (this.marginRight !== null) {\n this.el.style.setProperty('--divider-margin-right', `${this.marginRight}px`)\n }\n }\n\n /**\n * Ciclo de vida do componente.\n * Chamado quando o componente é conectado ao DOM.\n */\n connectedCallback() {\n this.hasDefaultSlotContent()\n }\n\n /**\n * Ciclo de vida do componente.\n * Chamado após o componente ser renderizado no DOM.\n */\n componentDidLoad() {\n this.setVerticalOrientation()\n this.setBleed()\n this.updateColor()\n this.updateMargins()\n }\n\n /**\n * Ciclo de vida do componente.\n * Chamado quando o componente é desconectado do DOM.\n */\n disconnectedCallback() {\n this.unsetBleed()\n }\n /**\n * Configura o divisor para orientação vertical.\n * Se a orientação for 'vertical', cria um elemento <div> adicional para manter o layout correto.\n */\n private setVerticalOrientation() {\n if (this.orientation === 'vertical') {\n const div = document.createElement('div')\n div.className = 'vertical-divider'\n div.style.display = 'flex'\n div.style.height = '100%'\n this.el.insertAdjacentElement('beforebegin', div)\n div.appendChild(this.el)\n }\n }\n\n /**\n * Configura o divisor para sangrar (bleed) nas laterais.\n */\n private setBleed() {\n if (this.bleed) {\n this.applyMarginOnRootElement()\n window.addEventListener('resize', this.applyMarginOnRootElement.bind(this))\n }\n }\n\n /**\n * Remove o sangramento (bleed) do divisor.\n */\n private unsetBleed() {\n if (this.bleed) {\n window.removeEventListener('resize', this.applyMarginOnRootElement.bind(this))\n }\n }\n\n /**\n * Verifica se o divisor tem conteúdo no slot padrão.\n * @returns true se o divisor tiver conteúdo no slot padrão, false caso contrário.\n */\n private hasDefaultSlotContent(): boolean {\n return this.el.innerHTML.trim() !== ''\n }\n\n /**\n * Determina o paddingLeft e paddingRight do elemento pai do host.\n * @returns Um objeto contendo os valores de paddingLeft e paddingRight do elemento pai do host.\n */\n private getHostParentPadding() {\n const hostParent = this.el.parentElement\n if (hostParent !== null) {\n const style = getComputedStyle(hostParent)\n return { paddingLeft: parseFloat(style.paddingLeft), paddingRight: parseFloat(style.paddingRight) }\n }\n return { paddingLeft: 0, paddingRight: 0 }\n }\n\n /**\n * Aplica margens negativas no elemento raiz do divisor para compensar o padding do elemento pai.\n * Isso é necessário quando o divisor está configurado para sangrar (bleed).\n * IMPORTANTE: Preserva as variáveis CSS customizadas de margin.\n */\n private applyMarginOnRootElement() {\n const { paddingLeft, paddingRight } = this.getHostParentPadding()\n const rootElement = this.el.shadowRoot?.querySelector('.br-divider') as HTMLElement | null\n\n if (rootElement !== null) {\n rootElement.style.setProperty('margin-left', `-${paddingLeft}px`)\n rootElement.style.setProperty('margin-right', `-${paddingRight}px`)\n }\n }\n\n /**\n * Define as classes CSS que serão aplicadas ao divisor.\n * @returns Uma string contendo as classes CSS que serão aplicadas ao divisor.\n */\n private getCssClassMap() {\n return `br-divider divider-${this.align} ${this.orientation} ${this.borderStyle} ${this.thickness} ${this.isDarkMode ? 'dark-mode' : ''}`\n }\n\n /**\n * Renderiza o divisor quando há conteúdo no slot padrão.\n * @returns JSX.Element\n */\n private renderDefaultSlotDivider() {\n return (\n <div\n class={this.getCssClassMap()}\n role=\"separator\"\n aria-orientation={this.orientation}\n aria-labelledby={this.customId}\n >\n <span id={this.customId}>\n <slot></slot>\n </span>\n </div>\n )\n }\n\n /**\n * Renderiza o divisor quando não há conteúdo no slot padrão.\n * @returns JSX.Element\n */\n private renderStandardDivider() {\n return <hr class={this.getCssClassMap()} />\n }\n\n render() {\n return <Host>{this.hasDefaultSlotContent() ? this.renderDefaultSlotDivider() : this.renderStandardDivider()}</Host>\n }\n}\n"],"names":["Helpers","h","Host"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"br-dropdown.br-select.entry.cjs.js","sources":["../../packages/webcomponents/src/components/dropdown/dropdown.scss?tag=br-dropdown&encapsulation=shadow","../../packages/webcomponents/src/components/dropdown/dropdown.tsx","../../packages/webcomponents/src/components/select/select.scss?tag=br-select&encapsulation=shadow","../../packages/webcomponents/src/components/select/select.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/partial/scss/base\";\n\n:host {\n display: block;\n position: relative;\n\n #trigger {\n display: inline-block;\n cursor: pointer;\n outline: none;\n }\n\n #trigger::slotted([slot=\"trigger\"]) {\n &:focus {\n @include focus;\n }\n }\n\n ::slotted([slot=\"target\"] *:focus) {\n @include focus;\n }\n\n #target {\n display: none;\n position: absolute;\n /* Garante que o conteúdo do dropdown fique acima do trigger/botões ao redor */\n box-shadow: var(--surface-shadow-sm);\n z-index: var(--z-index-layer-1);\n\n &:focus {\n @include focus;\n }\n }\n}\n\n:host([is-open]) {\n #target {\n display: block;\n width: max-content;\n }\n}\n\n@include media-breakpoint-down(xs) {\n :host([is-open]) {\n #target {\n width: 100vw !important;\n max-width: 100vw !important;\n }\n }\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Method, Prop, Watch } from '@stencil/core'\n\nimport { FloatingUIManager } from '../../utils/floating-ui'\nimport Helpers from '../../utils/helpers'\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/dropdown?tab=designer).\n *\n * @slot trigger - Slot que recebe o elemento acionador\n * @slot target - Slot que recebe o elemento alvo\n */\n@Component({\n tag: 'br-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Dropdown {\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: HTMLBrDropdownElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Indica se o dropdown está aberto ou fechado.\n * Esta propriedade é refletida no DOM e pode ser alterada externamente.\n * O valor padrão é falso (fechado).\n */\n @Prop({ reflect: true, mutable: true }) isOpen: 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 = Helpers.generateUniqueId()\n\n /**\n * Define o posicionamento do target (alvo) em relação ao trigger (acionador).\n * Valores possíveis: 'bottom-start' (padrão), 'bottom-end', 'top-start', 'top-end', 'left', 'right', 'bottom', 'top'.\n */\n @Prop({ reflect: true }) placement:\n | 'bottom-start'\n | 'bottom-end'\n | 'top-start'\n | 'top-end'\n | 'left'\n | 'right'\n | 'bottom'\n | 'top' = 'bottom-start'\n\n /**\n * Define se o dropdown deve permanecer aberto quando outro dropdown é aberto.\n * Quando definido como false (padrão), o dropdown será fechado automaticamente quando outro dropdown for aberto.\n * Quando definido como true, o dropdown permanecerá aberto mesmo quando outro dropdown for aberto.\n */\n @Prop({ reflect: true }) preventAutoDismiss: boolean = false\n\n /**\n * Define o z-index do elemento target (alvo) do dropdown.\n * Permite customizar a ordem de sobreposição do painel dropdown em relação aos demais elementos da página.\n * O valor padrão utiliza a variável CSS do design system: var(--z-index-layer-1).\n */\n @Prop() targetZIndex: string = 'var(--z-index-layer-1)'\n\n // Elementos DOM privados\n private triggerElement: HTMLElement\n private targetElement: HTMLElement | null = null\n private dropdownItems: HTMLElement[] = []\n private dropdownLinks: HTMLElement[] = []\n private focusableElement: HTMLElement | null | undefined = null\n\n // FloatingUI Manager\n private floatingManager: FloatingUIManager\n\n // Event handlers\n private clickHandler: (event: MouseEvent) => void\n private triggerKeydownHandler: (event: KeyboardEvent) => void\n private targetKeydownHandler: (event: KeyboardEvent) => void\n\n // Handler para o evento brDidOpen de outros dropdowns\n private dropdownOpenHandler: EventListener\n\n /**\n * Evento emitido quando o estado do dropdown muda.\n */\n @Event() brDropdownChange: EventEmitter<{ isOpen: boolean }>\n /**\n * Evento emitido quando o dropdown é aberto.\n * Este evento é usado para implementar o auto-dismiss de outros dropdowns.\n */\n @Event() brDidOpen: EventEmitter<{ id: string }>\n\n /**\n * Método chamado sempre que a propriedade `isOpen` muda.\n * Emite um evento com o novo estado do dropdown.\n */\n @Watch('isOpen')\n isOpenChanged(newValue: boolean) {\n if (newValue) {\n this.brDidOpen.emit({ id: this.customId })\n\n this.initializeDropdownItems()\n this.positionDropdown()\n } else {\n this.cleanupPositioning()\n\n if (this.triggerElement !== null && this.triggerElement !== undefined) {\n this.focusOnTriggerElement()\n }\n }\n\n this.brDropdownChange.emit({ isOpen: newValue })\n }\n\n /**\n * Aplica o novo valor de z-index ao elemento target.\n */\n @Watch('targetZIndex')\n targetZIndexChanged() {\n this.updateTargetZIndex()\n }\n\n connectedCallback() {\n this.clickHandler = this.onClickOutside.bind(this)\n document.addEventListener('click', this.clickHandler)\n\n this.dropdownOpenHandler = this.onDropdownDidOpen.bind(this)\n document.addEventListener('brDidOpen', this.dropdownOpenHandler)\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.clickHandler)\n document.removeEventListener('brDidOpen', this.dropdownOpenHandler)\n\n if (this.triggerElement !== null && this.triggerElement !== undefined) {\n this.triggerElement.removeEventListener('keydown', this.triggerKeydownHandler)\n }\n\n if (this.targetElement !== null && this.targetElement !== undefined) {\n this.targetElement.removeEventListener('keydown', this.targetKeydownHandler)\n }\n\n this.cleanupPositioning()\n this.clearDropdownItemListeners()\n }\n\n /**\n * Método que lida com o evento brDidOpen de outros dropdowns\n * Fecha este dropdown se não for o emissor do evento e preventAutoDismiss=false\n */\n private onDropdownDidOpen(event: Event) {\n if (this.preventAutoDismiss) {\n return\n }\n\n const customEvent = event as CustomEvent<{ id: string }>\n if (this.isOpen && customEvent.detail.id !== this.customId) {\n this.hide()\n }\n }\n\n private clearDropdownItemListeners() {\n this.dropdownItems.forEach((item) => {\n item.removeEventListener('keydown', this.handleItemKeydown)\n })\n\n this.dropdownLinks.forEach((link) => {\n link.removeEventListener('keydown', this.handleLinkKeydown)\n })\n\n this.dropdownItems = []\n this.dropdownLinks = []\n }\n\n componentDidLoad() {\n this.triggerElement = this.el.shadowRoot.querySelector('#trigger')\n this.targetElement = this.el.shadowRoot.querySelector('#target')\n\n this.setBehavior()\n this.updateTargetZIndex()\n\n if (this.isOpen) {\n this.initializeDropdownItems()\n this.positionDropdown()\n }\n }\n\n /**\n * Posiciona o dropdown usando Floating UI\n */\n private positionDropdown() {\n if (this.triggerElement == null || this.targetElement == null) return\n\n this.floatingManager = new FloatingUIManager({\n triggerElement: this.triggerElement,\n contentElement: this.targetElement,\n placement: this.placement,\n })\n\n this.floatingManager.start()\n }\n\n /**\n * Limpa o posicionamento do Floating UI\n */\n private cleanupPositioning() {\n this.floatingManager?.stop()\n }\n\n /**\n * Atualiza o z-index do target conforme a propriedade targetZIndex\n */\n private updateTargetZIndex() {\n if (this.targetElement === null) {\n return\n }\n\n if (this.targetZIndex !== null && this.targetZIndex !== undefined) {\n this.targetElement.style.zIndex = this.targetZIndex\n }\n }\n\n /**\n * Configura os comportamentos de interação do dropdown\n */\n private setBehavior() {\n if (this.triggerElement === null) return\n\n this.triggerKeydownHandler = (event: KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n this.handleTriggerBehavior(event)\n } else if (event.key === 'Escape') {\n event.preventDefault()\n this.hide()\n this.focusOnTriggerElement()\n } else if (event.key === 'ArrowDown' && this.isOpen) {\n event.preventDefault()\n this.initializeDropdownItems()\n if (this.dropdownLinks.length > 0) {\n this.focusOnElement(this.dropdownLinks[0])\n } else if (this.dropdownItems.length > 0) {\n this.focusOnElement(this.dropdownItems[0])\n }\n }\n }\n\n this.targetKeydownHandler = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n event.preventDefault()\n this.hide()\n this.focusOnTriggerElement()\n }\n }\n\n this.triggerElement.addEventListener('keydown', this.triggerKeydownHandler)\n if (this.targetElement !== null) {\n this.targetElement.addEventListener('keydown', this.targetKeydownHandler)\n }\n }\n\n /**\n * Lida com o comportamento no trigger\n */\n private handleTriggerBehavior(event: Event) {\n event.preventDefault()\n this.toggle(event)\n\n if (this.isOpen) {\n setTimeout(() => {\n this.initializeDropdownItems()\n }, 0)\n }\n }\n\n /**\n * Inicializa os itens do dropdown com comportamentos de navegação com teclado,\n * separando claramente entre elementos navegáveis por Tab e elementos navegáveis por setas\n */\n private initializeDropdownItems() {\n if (this.targetElement === null) return\n\n this.clearDropdownItemListeners()\n\n this.targetElement.setAttribute('tabindex', '-1')\n this.targetElement.focus()\n\n const targetSlot = this.el.shadowRoot.querySelector('slot[name=\"target\"]') as HTMLSlotElement\n if (targetSlot === null || targetSlot === undefined) return\n\n const assignedElements = targetSlot.assignedElements()\n if (assignedElements.length === 0) return\n\n const nonLinkSelector =\n 'button, br-button, input, br-input, br-item:not([href]), textarea, br-textarea, select, br-select, details, [tabindex]:not([tabindex=\"-1\"]):not(a[href])'\n\n const linkSelector = 'a[href], br-item[href]'\n\n assignedElements.forEach((element) => {\n if (element instanceof HTMLElement) {\n if (element.matches(linkSelector)) {\n this.dropdownLinks.push(element)\n } else if (element.matches(nonLinkSelector)) {\n this.dropdownItems.push(element)\n }\n }\n\n const linkChildren = Array.from(element.querySelectorAll(linkSelector)) as HTMLElement[]\n this.dropdownLinks = this.dropdownLinks.concat(linkChildren)\n\n const nonLinkChildren = Array.from(element.querySelectorAll(nonLinkSelector)) as HTMLElement[]\n this.dropdownItems = this.dropdownItems.concat(nonLinkChildren)\n })\n\n this.dropdownItems.forEach((item) => {\n item.addEventListener('keydown', this.handleItemKeydown)\n })\n\n this.dropdownLinks.forEach((link) => {\n link.addEventListener('keydown', this.handleLinkKeydown)\n })\n\n if (this.dropdownLinks.length > 0) {\n this.focusOnElement(this.dropdownLinks[0])\n this.focusableElement = this.dropdownLinks[0]\n } else if (this.dropdownItems.length > 0) {\n this.focusOnElement(this.dropdownItems[0])\n this.focusableElement = this.dropdownItems[0]\n }\n }\n\n /**\n * Handler específico para links\n */\n private handleLinkKeydown = (event: KeyboardEvent) => {\n const link = event.currentTarget as HTMLElement\n const key = event.key\n const linkIndex = this.dropdownLinks.indexOf(link)\n const lastLinkIndex = this.dropdownLinks.length - 1\n\n switch (key) {\n case 'ArrowUp':\n case 'ArrowDown':\n case 'Home':\n case 'End':\n event.preventDefault()\n event.stopPropagation()\n break\n case 'Tab':\n event.preventDefault()\n\n if (!event.shiftKey) {\n if (linkIndex >= lastLinkIndex) {\n this.focusOnElement(this.dropdownLinks[0])\n } else {\n this.focusOnElement(this.dropdownLinks[linkIndex + 1])\n }\n } else {\n if (linkIndex <= 0) {\n this.focusOnElement(this.dropdownLinks[lastLinkIndex])\n } else {\n this.focusOnElement(this.dropdownLinks[linkIndex - 1])\n }\n }\n break\n case 'Enter':\n case ' ':\n if (key === ' ' && link.tagName.toLowerCase() === 'a') {\n event.preventDefault()\n }\n setTimeout(() => this.hide(), 100)\n break\n case 'Escape':\n event.preventDefault()\n this.hide()\n this.focusOnTriggerElement()\n break\n default:\n break\n }\n }\n\n /**\n * Handler para eventos de keydown nos itens não-link\n * Implementa navegação completa por setas, Tab não navega entre estes itens\n */\n private handleItemKeydown = (event: KeyboardEvent) => {\n const item = event.currentTarget as HTMLElement\n const key = event.key\n const currentIndex = this.dropdownItems.indexOf(item)\n const lastIndex = this.dropdownItems.length - 1\n\n switch (key) {\n case 'ArrowUp':\n event.preventDefault()\n if (currentIndex <= 0) {\n this.focusOnElement(this.dropdownItems[lastIndex])\n } else {\n this.focusOnElement(this.dropdownItems[currentIndex - 1])\n }\n break\n\n case 'ArrowDown':\n event.preventDefault()\n if (currentIndex >= lastIndex) {\n this.focusOnElement(this.dropdownItems[0])\n } else {\n this.focusOnElement(this.dropdownItems[currentIndex + 1])\n }\n break\n\n case 'Home':\n event.preventDefault()\n this.focusOnElement(this.dropdownItems[0])\n break\n\n case 'End':\n event.preventDefault()\n this.focusOnElement(this.dropdownItems[lastIndex])\n break\n\n case 'Enter':\n case ' ':\n event.preventDefault()\n item.click()\n this.hide()\n this.focusOnTriggerElement()\n break\n\n case 'Tab':\n break\n\n case 'Escape':\n event.preventDefault()\n this.hide()\n this.focusOnTriggerElement()\n break\n\n default:\n break\n }\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-dropdown': true,\n }\n }\n\n /**\n * Alterna o estado do dropdown entre aberto e fechado.\n */\n private readonly toggle = (event: Event) => {\n event.stopPropagation()\n this.isOpen = !this.isOpen\n }\n\n /**\n * Método que lida com cliques fora do dropdown.\n *\n * @param {MouseEvent} event - O evento de clique que ocorreu.\n */\n private onClickOutside(event: MouseEvent) {\n if (!this.isOpen) return\n\n const path = event.composedPath()\n\n if (\n this.triggerElement &&\n this.targetElement &&\n !path.includes(this.triggerElement) &&\n !path.includes(this.targetElement)\n ) {\n this.hide()\n }\n }\n\n /**\n * Abre o dropdown.\n * Define a propriedade `isOpen` como verdadeira e retorna o novo estado.\n * Este método pode ser chamado externamente.\n */\n @Method()\n async open(): Promise<{ isOpen: boolean }> {\n this.isOpen = true\n return { isOpen: this.isOpen }\n }\n\n /**\n * Esconde o dropdown.\n * Define a propriedade `isOpen` como falsa e retorna o novo estado.\n * Este método pode ser chamado externamente.\n */\n @Method()\n async hide(): Promise<{ isOpen: boolean }> {\n this.isOpen = false\n return { isOpen: this.isOpen }\n }\n\n /**\n * Foca em um elemento específico com suporte a componentes personalizados\n * @param targetElement Elemento a receber o foco\n */\n private focusOnElement(targetElement: HTMLElement) {\n if (targetElement && targetElement !== this.el) {\n if ('setFocus' in targetElement) {\n ;(targetElement as { setFocus: () => void }).setFocus()\n } else {\n targetElement.focus()\n }\n targetElement.scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'nearest' })\n }\n }\n\n /**\n * Foca no elemento interativo dentro do slot trigger\n * Esta função procura pelo elemento dentro do slot trigger e aplica o foco nele\n */\n private focusOnTriggerElement() {\n const triggerSlot = this.el.shadowRoot.querySelector('slot[name=\"trigger\"]') as HTMLSlotElement\n if (triggerSlot !== null) {\n const slotElements = triggerSlot.assignedElements()\n if (slotElements.length > 0) {\n const firstElement = slotElements[0] as HTMLElement\n if ('setFocus' in firstElement) {\n ;(firstElement as { setFocus: () => void }).setFocus()\n } else {\n firstElement.focus()\n }\n firstElement.scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'nearest' })\n } else {\n this.focusTrigger()\n }\n } else {\n this.focusTrigger()\n }\n }\n\n /**\n * Auxiliar para focar no elemento trigger\n */\n private focusTrigger() {\n if (typeof this.triggerElement !== 'undefined') {\n this.triggerElement.focus()\n this.triggerElement.scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'nearest' })\n }\n }\n\n /**\n * Define o foco no elemento interno do componente.\n * Este método pode ser chamado externamente para garantir que o foco seja aplicado ao elemento correto.\n */\n @Method()\n async setFocus() {\n if (this.focusableElement !== null && this.focusableElement !== undefined) {\n this.focusableElement.focus()\n } else {\n this.focusOnTriggerElement()\n }\n }\n\n render() {\n return (\n <Host is-open={this.isOpen} placement={this.placement} prevent-auto-dismiss={this.preventAutoDismiss}>\n <div class={this.getCssClassMap()} id={this.customId}>\n <div\n id=\"trigger\"\n onClick={this.toggle}\n aria-controls=\"target\"\n aria-haspopup=\"true\"\n aria-expanded={this.isOpen ? 'true' : 'false'}\n >\n <slot name=\"trigger\"></slot>\n </div>\n\n <div id=\"target\" aria-hidden={this.isOpen ? 'false' : 'true'}>\n <slot name=\"target\"></slot>\n </div>\n </div>\n </Host>\n )\n }\n}\n","@import \"~@govbr-ds/core/src/components/select/select\";\n@import \"~@govbr-ds/core/src/components/item/item\";\n\n:host {\n display: inline-block;\n\n .br-select br-list {\n background-color: var(--bg-color);\n box-shadow: var(--select-shadow);\n margin-top: -2px;\n max-height: 404px;\n overflow: auto;\n position: absolute;\n resize: none;\n width: 100%;\n z-index: 1;\n\n @include scrollbar;\n\n &:focus,\n &:active {\n color: var(--color-secondary-09);\n outline: none;\n }\n\n &:hover {\n &::-webkit-scrollbar-thumb {\n background: var(--color-secondary-07);\n }\n }\n\n .br-item br-radio::part(radio-input) {\n visibility: hidden;\n height: 0;\n width: 0;\n }\n\n .br-item br-radio::part(radio-label) {\n padding-left: var(--spacing-scale-base);\n position: relative;\n\n &::before,\n &::after {\n display: none;\n }\n }\n }\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Componente de seleção de opções com suporte a múltipla seleção, busca e acessibilidade.\n *\n * @example\n * ```html\n * <br-select label=\"Estado\" placeholder=\"Selecione\" options='[{\"label\":\"SP\",\"value\":\"sp\"},{\"label\":\"RJ\",\"value\":\"rj\"}]'></br-select>\n * ```\n */\n@Component({\n tag: 'br-select',\n styleUrl: 'select.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Select {\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: HTMLBrSelectElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Rótulo que indica o tipo de informação que deve ser selecionada.\n */\n @Prop({ reflect: true }) label: string\n\n /**\n * Texto auxiliar exibido antes de uma seleção.\n */\n @Prop({ reflect: true }) placeholder: string = ''\n\n /**\n * Habilita o modo múltiplo para selecionar várias opções.\n */\n @Prop({ reflect: true }) isMultiple: boolean = false\n\n /**\n * Define as opções disponíveis no componente de seleção.\n * Pode ser fornecida como:\n * - Uma **string** contendo um JSON válido que será analisado em um array de objetos. Exemplo: `'[{\"label\": \"Opção 1\", \"value\": \"1\"}]'.\n * - Um **array de objetos**, onde cada objeto representa uma opção com as propriedades:\n * - `label`: O texto exibido para o usuário (obrigatório).\n * - `value`: O valor associado à opção (obrigatório).\n * - `selected`: Um boolean opcional que indica se a opção está pré-selecionada (padrão: `false`).\n * Se uma string for fornecida, ela será convertida internamente para um array via `JSON.parse`. Caso o formato seja inválido, um erro será registrado e as opções serão definidas como um array vazio.\n * Exemplo de uso:\n * ```typescript\n * options='[{\"label\": \"Sim\", \"value\": \"1\"}, {\"label\": \"Não\", \"value\": \"0\"}]'\n * // ou\n * options=[{ label: \"Sim\", value: \"1\" }, { label: \"Não\", value: \"0\" }]\n * ```\n */\n @Prop({ reflect: true }) options:\n | string\n | {\n label: string\n value: string\n selected?: boolean\n }[] = []\n\n /**\n * Rótulo para selecionar todas as opções.\n */\n @Prop({ reflect: true }) selectAllLabel: string = 'Selecionar todos'\n\n /**\n * Rótulo para desmarcar todas as opções.\n */\n @Prop({ reflect: true }) unselectAllLabel: string = 'Desselecionar todos'\n\n /**\n * Exibe o ícone de busca no campo de entrada.\n */\n @Prop({ reflect: true }) showSearchIcon: boolean = false\n\n /**\n * Indica se a listagem de itens do select está expandida\n */\n @Prop({ reflect: true }) isOpen: boolean = false\n\n /**\n * Exibe o rótulo e o controle em linha (ao lado), ao invés de empilhados.\n * Útil para casos contextuais como paginação.\n */\n @Prop({ reflect: true }) isInline: boolean = false\n\n /**\n * Largura do campo de entrada interno (por exemplo, '88px').\n * Quando definido, sobrescreve a largura padrão de 100% do input.\n */\n @Prop({ reflect: true }) inputWidth?: string\n\n /**\n * Propaga para o input interno a remoção da borda quando desfocado.\n */\n @Prop({ reflect: true }) borderless: 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-select-${selectId++}`\n\n // Representa as opções do select disponíveis para renderização.\n // Cada opção contém `label`, `value` e o estado de seleção (`selected`).\n @State() parsedOptions: { label: string; value: string; selected?: boolean }[] = []\n\n // Opções filtradas de acordo com o termo de busca digitado.\n @State() filteredOptions: { label: string; value: string; selected?: boolean }[] = []\n\n // Valor exibido no input, refletindo as opções selecionadas.\n @State() inputValue: string = ''\n\n // Termo digitado no input (modo busca).\n @State() searchTerm: string = ''\n\n /** Valor selecionado (string para single, string[] para multiple) */\n @Prop({ reflect: false, mutable: true }) value?: string | string[]\n\n @State() selectedValue?: string | string[]\n\n // Indica se todas as opções estão selecionadas. Comportamento do checkbox \"Selecionar Todos\".\n @State() isAllSelected: boolean = false\n\n // Controla se a lista de opções do select está expandida (aberta) ou colapsada (fechada).\n @State() isExpanded: boolean = false\n\n // Armazena o índice do item atualmente focado, usado para navegação por teclado.\n @State() focusedIndex: number = -1\n\n /**\n * Evento emitido sempre que houver atualização nos itens selecionados.\n * RENOMEADO PARA valueChange para compatibilidade com ngModel.\n */\n @Event({ bubbles: true, composed: true }) valueChange: EventEmitter\n\n @Watch('options')\n synchronizeSelect() {\n try {\n let parsedOptions: { label: string; value: string; selected?: boolean }[] = []\n if (typeof this.options === 'string') {\n try {\n const jsonData = JSON.parse(this.options)\n if (Array.isArray(jsonData)) {\n parsedOptions = jsonData\n } else {\n throw new Error('JSON inválido: deve ser um array')\n }\n } catch (error) {\n console.error('Erro ao converter options para JSON:', error.message)\n parsedOptions = []\n }\n } else if (Array.isArray(this.options)) {\n parsedOptions = this.options\n }\n\n // Sanitiza as opções (remove opções inválidas, etc.)\n this.parsedOptions = parsedOptions\n\n // Atualiza lista filtrada considerando o termo atual\n this.filteredOptions = this.getFilteredOptions(this.searchTerm)\n\n // Atualiza o estado do componente\n this.updateSelectedOptions()\n this.updateSelectedAllState()\n this.emitSelectedOptions()\n } catch (error) {\n console.error('Erro ao processar as opções do select:', error)\n this.parsedOptions = []\n }\n }\n\n @Watch('value')\n syncValueFromOutside(newVal: string | string[]) {\n // Atualize parsedOptions a partir de newVal\n this.parsedOptions = this.parsedOptions.map((o) => ({\n ...o,\n selected: this.isMultiple ? Array.isArray(newVal) && newVal.includes(o.value) : newVal === o.value,\n }))\n this.selectedValue = newVal\n this.updateSelectedOptions() // mantém inputValue coeso\n this.updateSelectedAllState()\n this.filteredOptions = this.getFilteredOptions(this.searchTerm)\n }\n\n componentWillLoad() {\n this.isExpanded = this.isOpen\n this.synchronizeSelect()\n }\n\n componentDidLoad() {\n document.addEventListener('click', this.handleClickOutside)\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.handleClickOutside)\n }\n\n /**\n * Fecha a lista suspensa (`dropdown`) do `br-select` quando o usuário clica fora do componente.\n * O listener global é adicionado no `componentDidLoad` e removido no `disconnectedCallback` para evitar vazamentos de memória.\n * Se a lista estiver aberta (`this.isExpanded`) e o clique ocorrer fora (`!this.el.contains(target)`), ela é fechada.\n * A reatividade do StencilJS garante a atualização automática da interface.\n * A arrow function (`=>`) mantém o contexto correto de `this` ao ser usada como callback.\n *\n * @param {MouseEvent} event O evento de clique.\n * @returns {void}\n */\n private readonly handleClickOutside = (event: MouseEvent) => {\n // Usa composedPath para considerar nós dentro de Shadow DOM como \"dentro\" do componente\n const path = (event.composedPath && event.composedPath()) || []\n const clickedInside = path.includes(this.el) || (event.target instanceof Node && this.el.contains(event.target))\n\n if (this.isExpanded && !clickedInside) {\n this.isExpanded = false\n }\n }\n\n private handleKeydownOnInput(event: KeyboardEvent) {\n switch (event.key) {\n case 'Tab':\n this.closeSelect()\n break\n case 'ArrowDown':\n event.preventDefault()\n if (!this.isExpanded) {\n this.openSelect()\n }\n this.focusItemInDirection('next')\n break\n case 'ArrowUp':\n event.preventDefault()\n if (!this.isExpanded) {\n this.openSelect()\n }\n this.focusItemInDirection('previous')\n break\n case 'Escape':\n this.closeSelect()\n this.resetFocus()\n break\n case 'Enter':\n this.toggleOpen()\n break\n default:\n }\n }\n\n private handleKeydownOnList(event: KeyboardEvent) {\n event.preventDefault()\n switch (event.key) {\n case 'Tab':\n case 'Escape':\n this.resetFocus()\n break\n case 'ArrowUp':\n this.focusItemInDirection('previous')\n break\n case 'ArrowDown':\n this.focusItemInDirection('next')\n break\n default:\n break\n }\n }\n\n private handleKeydownOnItem(event: KeyboardEvent, index: number) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n this.handleSelection(index)\n } else if (event.key === 'Escape') {\n this.closeSelect()\n }\n }\n\n private handleSelectAllKeyDown(event: KeyboardEvent) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n this.toggleSelectAll()\n } else if (event.key === 'Escape') {\n event.preventDefault()\n this.closeSelect()\n }\n }\n\n private resetFocus() {\n const input = this.el.shadowRoot.querySelector('br-input') as HTMLBrInputElement | null\n input?.focus()\n }\n\n private focusItemInDirection(direction: 'next' | 'previous') {\n let itemCount = this.parsedOptions.length\n if (this.isMultiple) itemCount += 1\n\n this.focusedIndex =\n direction === 'next' ? (this.focusedIndex + 1) % itemCount : (this.focusedIndex - 1 + itemCount) % itemCount\n\n this.focusItem(this.focusedIndex)\n }\n\n private focusItem(index: number) {\n const items = this.el.shadowRoot.querySelectorAll('.br-item')\n if (items[index]) {\n const item = items[index] as HTMLElement\n item.focus()\n }\n }\n\n private openSelect() {\n this.isExpanded = true\n }\n\n private closeSelect() {\n this.isExpanded = false\n // Resetar o índice focado ao fechar o select\n this.focusedIndex = -1\n }\n\n private handleSelection(index: number) {\n if (index < 0 || index >= this.filteredOptions.length) {\n return\n }\n\n // Localiza opção original a partir da lista filtrada\n const selectedOption = this.filteredOptions[index]\n const originalIndex = this.parsedOptions.findIndex((o) => o.value === selectedOption.value)\n if (originalIndex === -1) {\n return\n }\n\n if (this.isMultiple) {\n const updatedOptions = [...this.parsedOptions]\n updatedOptions[originalIndex].selected = !updatedOptions[originalIndex].selected\n this.parsedOptions = updatedOptions\n } else {\n const updatedOptions = this.parsedOptions.map((option) => ({ ...option, selected: false }))\n updatedOptions[originalIndex].selected = true\n this.parsedOptions = updatedOptions\n this.isExpanded = false\n }\n\n // Atualiza a prop 'value' interna do componente\n this.selectedValue = this.isMultiple\n ? this.parsedOptions.filter((o) => o.selected).map((o) => o.value)\n : this.parsedOptions.find((o) => o.selected)?.value\n\n this.value = this.selectedValue\n\n // Emite o evento 'valueChange' para que o ngModel possa capturar\n this.valueChange.emit(this.selectedValue)\n\n this.updateSelectedOptions()\n this.updateSelectedAllState()\n this.filteredOptions = this.getFilteredOptions(this.searchTerm)\n try {\n this.elementInternals.setFormValue(JSON.stringify(this.selectedValue ?? []))\n } catch {\n // Ignora erro em testes onde setFormValue não é implementado\n }\n }\n\n private updateSelectedOptions() {\n this.inputValue = this.getStringValue(this.parsedOptions.filter((option) => option.selected))\n }\n\n private normalizeText(text: string): string {\n return (text || '')\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '')\n .toLowerCase()\n }\n\n private getFilteredOptions(term: string) {\n if (!term) {\n return this.parsedOptions\n }\n\n const normalizedTerm = this.normalizeText(term)\n return this.parsedOptions.filter((option) => {\n const normalizedLabel = this.normalizeText(option.label || option.value)\n const normalizedValue = this.normalizeText(option.value)\n return normalizedLabel.includes(normalizedTerm) || normalizedValue.includes(normalizedTerm)\n })\n }\n\n private getStringValue(options: { label: string; value: string; selected?: boolean }[]) {\n if (options.length > 0) {\n const firstSelected = options[0].label || options[0].value\n if (this.isMultiple) {\n const howManySelected = options.length > 1 ? ` + (${options.length - 1})` : ''\n return `${firstSelected}${howManySelected}`\n } else {\n return firstSelected\n }\n }\n return ''\n }\n\n private emitSelectedOptions() {\n // A lógica de emissão do evento já está no handleSelection para o ngModel.\n // Esta função pode ser simplificada ou removida se a única finalidade era emitir para ngModel.\n // No entanto, se houver outros consumidores deste evento, você pode mantê-la.\n const selectedValues = this.parsedOptions.filter((option) => option.selected === true).map((option) => option.value) // É importante emitir o 'value' para o ngModel.\n\n // Já emitimos em handleSelection, mas se quiser ter certeza, pode emitir aqui também.\n // this.valueChange.emit(this.isMultiple ? selectedValues : selectedValues[0] ?? undefined);\n\n // Atualiza o valor do form associado\n try {\n this.elementInternals.setFormValue(JSON.stringify(this.isMultiple ? selectedValues : (selectedValues[0] ?? null)))\n } catch {\n // Ignora erro em testes onde setFormValue não é implementado\n }\n }\n\n private updateSelectedAllState() {\n const allSelected = this.parsedOptions.every((option) => option.selected)\n this.isAllSelected = allSelected\n }\n\n private toggleSelectAll() {\n const updatedOptions = this.parsedOptions.map((option) => ({ ...option, selected: !this.isAllSelected }))\n this.parsedOptions = updatedOptions\n this.isAllSelected = !this.isAllSelected\n\n this.updateSelectedOptions()\n\n // Atualiza a prop 'value' e emite o evento para ngModel\n this.selectedValue = this.isMultiple\n ? this.parsedOptions.filter((o) => o.selected).map((o) => o.value)\n : this.parsedOptions.find((o) => o.selected)?.value\n this.value = this.selectedValue\n this.valueChange.emit(this.selectedValue)\n\n try {\n this.elementInternals.setFormValue(JSON.stringify(this.selectedValue ?? []))\n } catch {\n // Ignora erro em testes onde setFormValue não é implementado\n }\n }\n\n private renderInput() {\n return (\n <br-input\n exportparts=\"label\"\n value={this.searchTerm || this.inputValue}\n label={this.label}\n isInline={this.isInline}\n controlWidth={this.inputWidth}\n borderless={this.borderless}\n placeholder={this.placeholder}\n actionLabel={this.isExpanded ? 'Recolher lista de opções' : 'Exibir lista de opções'}\n readonly={false}\n onClick={() => this.toggleOpen()}\n onInput={(event) => this.handleSearchInput(event)}\n onFocus={() => this.handleSearchFocus()}\n onBlur={() => this.handleSearchBlur()}\n onKeyDown={(event) => this.handleKeydownOnInput(event)}\n >\n {this.showSearchIcon && <br-icon slot=\"icon\" icon-name=\"fa-solid:search\" aria-hidden=\"true\"></br-icon>}\n <br-icon\n slot=\"action\"\n icon-name={this.isExpanded ? 'fa-solid:angle-up' : 'fa-solid:angle-down'}\n height=\"16\"\n aria-hidden=\"true\"\n ></br-icon>\n </br-input>\n )\n }\n\n private renderSelectAllCheckbox() {\n return (\n <div\n class={`br-item highlighted ${this.isAllSelected ? 'selected' : ''}`}\n data-all=\"data-all\"\n tabindex=\"-1\"\n role=\"option\"\n aria-selected={this.isAllSelected}\n onKeyDown={(event) => this.handleSelectAllKeyDown(event)}\n onClick={() => this.toggleSelectAll()}\n >\n <br-checkbox\n name={`checkbox-${this.customId}`}\n label={this.isAllSelected ? this.unselectAllLabel : this.selectAllLabel}\n checked={this.isAllSelected}\n onCheckedChange={() => this.toggleSelectAll()}\n ></br-checkbox>\n </div>\n )\n }\n\n private renderOptions() {\n if (this.filteredOptions.length === 0) {\n return (\n <div class=\"br-item empty\" role=\"option\" aria-selected=\"false\" tabindex={-1}>\n Nenhum resultado encontrado\n </div>\n )\n }\n\n return this.filteredOptions.map((option, index) => (\n <div\n class={`br-item ${option.selected ? 'selected' : ''}`}\n key={`${option.label}-${this.customId}`}\n role=\"option\"\n tabindex={this.focusedIndex === index ? 0 : -1}\n aria-selected={option.selected}\n onClick={() => this.handleSelection(index)}\n onKeyDown={(event) => this.handleKeydownOnItem(event, index)}\n >\n {this.isMultiple ? (\n <br-checkbox\n name={`checkbox-${index}-${this.customId}`}\n label={option.label || option.value}\n checked={option.selected === true}\n onCheckedChange={() => this.handleSelection(index)}\n />\n ) : (\n <br-radio\n exportparts=\"radio-input, radio-label\"\n name={`radio-${index}-${this.customId}`}\n label={option.label || option.value}\n checked={option.selected === true}\n onCheckedChange={() => this.handleSelection(index)}\n />\n )}\n </div>\n ))\n }\n\n /**\n * Determina um id para o radio.\n */\n private getComputedId() {\n return this.customId?.length > 0 ? this.customId : `br-select-${this.customId}`\n }\n\n /**\n * Inverte o valor da prop `isOpen`\n */\n @Method()\n async toggleOpen() {\n this.isExpanded = !this.isExpanded\n }\n\n /**\n * Limpa todas as opções selecionadas.\n */\n @Method()\n async clear() {\n const updatedOptions = this.parsedOptions.map((option) => ({ ...option, selected: false }))\n this.parsedOptions = updatedOptions\n\n const newValue = this.isMultiple ? [] : undefined\n this.selectedValue = newValue\n this.value = newValue\n\n this.updateSelectedOptions()\n this.updateSelectedAllState()\n this.valueChange.emit(newValue)\n\n try {\n this.elementInternals.setFormValue(JSON.stringify(newValue ?? (this.isMultiple ? [] : null)))\n } catch {\n // Ignora erro em testes onde setFormValue não é implementado\n }\n }\n\n /**\n * Retorna o valor selecionado.\n * @returns {Promise<string | string[]>} O valor atual.\n */\n @Method()\n async getValue() {\n return this.value\n }\n\n /**\n * Define o valor do componente.\n * @param {string | string[]} newValue O novo valor a ser definido.\n */\n @Method()\n async setValue(newValue: string | string[]) {\n this.value = newValue\n // O @Watch('value') cuidará da sincronização\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-select': true,\n }\n }\n\n private handleSearchInput(event: Event) {\n const value = (event.target as HTMLInputElement).value ?? ''\n this.searchTerm = value\n this.filteredOptions = this.getFilteredOptions(value)\n this.isExpanded = true\n }\n\n private handleSearchFocus() {\n this.filteredOptions = this.getFilteredOptions(this.searchTerm)\n }\n\n private handleSearchBlur() {\n // Ao sair do campo, volta a exibir o resumo das seleções\n this.searchTerm = ''\n this.filteredOptions = this.getFilteredOptions('')\n }\n\n render() {\n return (\n <div class={this.getCssClassMap()} id={this.getComputedId()}>\n {this.renderInput()}\n\n {this.isExpanded && (\n <br-list tabindex={-1} onKeyDown={(event) => this.handleKeydownOnList(event)}>\n {this.isMultiple && this.renderSelectAllCheckbox()}\n {this.renderOptions()}\n </br-list>\n )}\n </div>\n )\n }\n}\n\nlet selectId = 0\n"],"names":["Helpers","FloatingUIManager","h","Host","index"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"br-footer-category.entry.cjs.js","sources":["../../packages/webcomponents/src/components/footer/footer-category/footer-category.scss?tag=br-footer-category&encapsulation=shadow","../../packages/webcomponents/src/components/footer/footer-category/footer-category.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n@media (width >= 992px) {\n .br-footer-category {\n padding-bottom: 48px;\n }\n}\n","import { Component, Element, h, Host, Prop, State } from '@stencil/core'\n\nimport Helpers from '../../../utils/helpers'\nimport { CssClassMap } from '../../../utils/interfaces'\n\n/**\n * O subcomponente `br-footer-category` representa o mapa do site, de acordo com a documentação de design do GovBR.\n *\n * O `br-footer-category` deve ser utilizado com filho direto do componente [`br-footer`](/docs/components/footer) e possui um slot para os itens da categoria.\n * Esses itens são representados pelo componente [`br-footer-item`](/docs/components/footer-item).\n *\n * O componente `br-footer-category` é responsivo e se adapta a diferentes tamanhos de tela.\n * Em telas menores, ele se comporta como um accordion, enquanto em telas maiores, ele é exibido como uma lista.\n *\n * @slot default - Área destinada aos itens da categoria. Utilize o componente [`br-footer-item`](/docs/components/footer-item) para adicionar itens.\n *\n * @example\n * ```html\n * <br-footer>\n * <br-footer-category label=\"Links úteis\">\n * <br-footer-item href=\"/docs\">Documentação</br-footer-item>\n * </br-footer-category>\n * </br-footer>\n * ```\n */\n@Component({\n tag: 'br-footer-category',\n styleUrl: 'footer-category.scss',\n shadow: true,\n})\nexport class FooterCategory {\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: HTMLBrFooterCategoryElement\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 = Helpers.generateUniqueId()\n\n /**\n * Título da lista.\n * @default ''\n */\n @Prop({ reflect: true }) label: string = ''\n\n /**\n * Define se o componente é exibido em um layout de desktop ou não.\n * @default false\n */\n @State() isDesktop: boolean = false\n\n /**\n * Define o nome do grupo de accordion.\n */\n @State() accordionGroup: string = null\n\n /**\n * Define o media query para o componente.\n * O media query é usado para determinar se o componente deve ser exibido em um layout de desktop ou não.\n */\n private mediaQuery: MediaQueryList\n\n /**\n * Define um nome para o grupo de accordion.\n * O nome do grupo é definido com base no atributo `custom-id` do elemento pai.\n */\n private setAccordionGroup() {\n this.accordionGroup = `group-${this.el.parentElement.getAttribute('custom-id')}`\n }\n\n /**\n * Método que retorna as classes CSS do componente.\n */\n private getCssClassMap(): CssClassMap {\n return {\n 'br-footer-category': true,\n }\n }\n\n /**\n * Método que retorna as classes baseadas no tamanho da tela.\n */\n private getRootClassMap(): CssClassMap {\n return {\n 'col-2': this.isDesktop,\n col: !this.isDesktop,\n }\n }\n\n /**\n * Define o media query para o componente.\n * O media query é usado para determinar se o componente deve ser exibido em um layout de desktop ou não.\n * O valor padrão é `(min-width: 992px)`, que corresponde a telas de desktop.\n * O valor pode ser alterado para atender às necessidades específicas do projeto.\n * @default '(min-width: 992px)'\n */\n private setMedia() {\n this.mediaQuery = window.matchMedia('(min-width: 992px)')\n this.isDesktop = this.mediaQuery.matches\n this.mediaQuery.addEventListener('change', this.handleMediaQueryChange)\n }\n\n /**\n * Método do ciclo de vida do componente, que é chamado uma vez após o componente começar a ser renderizado no DOM.\n */\n componentWillLoad() {\n this.setMedia()\n this.setAccordionGroup()\n }\n\n /**\n * Método do ciclo de vida do componente, que é chamado quando o componente é removido do DOM.\n */\n disconnectedCallback() {\n this.mediaQuery.removeEventListener('change', this.handleMediaQueryChange)\n }\n\n /**\n * Trata a mudança de media query.\n * @param event O evento de mudança de media query.\n */\n private handleMediaQueryChange = (event: MediaQueryListEvent) => {\n this.isDesktop = event.matches\n }\n\n /**\n * Renderiza o componente.\n * @returns JSX do componente.\n */\n render() {\n return (\n <Host class={this.getRootClassMap()}>\n <br-list\n id={this.customId}\n class={this.getCssClassMap()}\n role=\"list\"\n hide-header-divider={this.isDesktop ? true : null}\n accordion={!this.isDesktop ? this.accordionGroup : null}\n >\n {this.label &&\n this.label.trim() !== '' &&\n (this.isDesktop ? (\n <br-item>\n <div class=\"content text-down-01 text-bold text-uppercase\">{this.label}</div>\n </br-item>\n ) : (\n <div slot=\"header\" class=\"content text-down-01 text-bold text-uppercase\">\n {this.label}\n </div>\n ))}\n <slot></slot>\n {!this.isDesktop && <br-divider></br-divider>}\n </br-list>\n </Host>\n )\n }\n}\n"],"names":["Helpers","h","Host"],"mappings":";;;;;;;;;AAAA,MAAM,iBAAiB,GAAG,oqXAAoqX;;MC8BjrX,cAAc,GAAA,MAAA;AAL3B,IAAA,WAAA,CAAA,OAAA,EAAA;;AAYE;;;AAGG;AAC+B,QAAA,IAAA,CAAA,QAAQ,GAAWA,eAAO,CAAC,gBAAgB,EAAE;AAE/E;;;AAGG;AACsB,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE;AAE3C;;;AAGG;AACM,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK;AAEnC;;AAEG;AACM,QAAA,IAAc,CAAA,cAAA,GAAW,IAAI;AA+DtC;;;AAGG;AACK,QAAA,IAAA,CAAA,sBAAsB,GAAG,CAAC,KAA0B,KAAI;AAC9D,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO;AAChC,SAAC;AAiCF;AA9FC;;;AAGG;IACK,iBAAiB,GAAA;AACvB,QAAA,IAAI,CAAC,cAAc,GAAG,CAAA,MAAA,EAAS,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE;;AAGlF;;AAEG;IACK,cAAc,GAAA;QACpB,OAAO;AACL,YAAA,oBAAoB,EAAE,IAAI;SAC3B;;AAGH;;AAEG;IACK,eAAe,GAAA;QACrB,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,SAAS;AACvB,YAAA,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS;SACrB;;AAGH;;;;;;AAMG;IACK,QAAQ,GAAA;QACd,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO;QACxC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,sBAAsB,CAAC;;AAGzE;;AAEG;IACH,iBAAiB,GAAA;QACf,IAAI,CAAC,QAAQ,EAAE;QACf,IAAI,CAAC,iBAAiB,EAAE;;AAG1B;;AAEG;IACH,oBAAoB,GAAA;QAClB,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,sBAAsB,CAAC;;AAW5E;;;AAGG;IACH,MAAM,GAAA;AACJ,QAAA,QACEC,QAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,EAAA,EACjCD,OACE,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,QAAQ,EACjB,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAC5B,IAAI,EAAC,MAAM,yBACU,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,IAAI,EACjD,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,EAAA,EAEtD,IAAI,CAAC,KAAK;AACT,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;AACxB,aAAC,IAAI,CAAC,SAAS,IACbA,OAAA,CAAA,SAAA,EAAA,IAAA,EACEA,OAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,+CAA+C,EAAA,EAAE,IAAI,CAAC,KAAK,CAAO,CACrE,KAEVA,OAAK,CAAA,KAAA,EAAA,EAAA,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,+CAA+C,EACrE,EAAA,IAAI,CAAC,KAAK,CACP,CACP,CAAC,EACJA,OAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,EACZ,CAAC,IAAI,CAAC,SAAS,IAAIA,0EAAyB,CACrC,CACL;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"br-footer-item.entry.cjs.js","sources":["../../packages/webcomponents/src/components/footer/footer-item/footer-item.scss?tag=br-footer-item&encapsulation=shadow","../../packages/webcomponents/src/components/footer/footer-item/footer-item.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core'\n\nimport Helpers from '../../../utils/helpers'\nimport { CssClassMap } from '../../../utils/interfaces'\n\n/**\n * O subcomponente `br-footer-item` deve ser utilizado juntamente com o subcomponente [`br-footer-category`](/docs/components/footer-category) para representar os itens dentro de uma categoria no rodapé.\n * De acordo com o a documentação de design do GovBR, esses dois subcomponentes formam o mapa do site.\n * Portanto sob esse contexto, o `br-footer-item` representa uma página no site.\n *\n * O `br-footer-item` deve ser utilizado como filho direto do componente [`br-footer-category`](/docs/components/footer-category).\n *\n * ## Uso em SPAs (Single Page Applications)\n *\n * Para Single Page Applications, recomenda-se usar o slot para passar o componente de roteamento específico do framework:\n *\n * ### React Router:\n * ```html\n * <br-footer-item>\n * <Link to=\"/pagina\">Nome da Página</Link>\n * </br-footer-item>\n * ```\n *\n * ### Vue Router:\n * ```html\n * <br-footer-item>\n * <router-link to=\"/pagina\">Nome da Página</router-link>\n * </br-footer-item>\n * ```\n *\n * ### Angular Router:\n * ```html\n * <br-footer-item>\n * <a routerLink=\"/pagina\">Nome da Página</a>\n * </br-footer-item>\n * ```\n *\n * ### Next.js:\n * ```html\n * <br-footer-item>\n * <Link href=\"/pagina\">Nome da Página</Link>\n * </br-footer-item>\n * ```\n *\n * **Nota:** Quando usar o slot para SPAs, não defina a propriedade `href` no componente, pois a navegação será controlada pelo framework de roteamento.\n *\n * @slot default - Área destinada ao conteúdo do item. Para SPAs, utilize este slot para inserir componentes de roteamento.\n */\n@Component({\n tag: 'br-footer-item',\n styleUrl: 'footer-item.scss',\n shadow: true,\n})\nexport class FooterItem {\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: HTMLBrFooterItemElement\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 = Helpers.generateUniqueId()\n\n /**\n * URL ou caminho para o qual o usuário será direcionado ao clicar no item.\n * Quando definido, o item será renderizado como um link.\n * @example 'https://www.gov.br'\n * @example '/home'\n * @example '#section'\n */\n @Prop({ reflect: true }) readonly href?: string\n\n /**\n * Monta o objeto com as classes CSS do componente\n * @returns Objeto com as classes CSS do componente\n */\n private getCssClassMap(): CssClassMap {\n return {\n 'br-footer-item': true,\n }\n }\n\n /**\n * Renderiza o componente\n * @returns JSX do componente\n */\n render() {\n return (\n <Host>\n <br-item id={this.customId} href={this.href} role=\"listitem\" class={this.getCssClassMap()}>\n <slot></slot>\n </br-item>\n </Host>\n )\n }\n}\n"],"names":["Helpers","h","Host"],"mappings":";;;;;;;;;AAAA,MAAM,aAAa,GAAG,mmXAAmmX;;MCqD5mX,UAAU,GAAA,MAAA;AALvB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAYE;;;AAGG;AAC+B,QAAA,IAAA,CAAA,QAAQ,GAAWA,eAAO,CAAC,gBAAgB,EAAE;AAkChF;AAvBC;;;AAGG;IACK,cAAc,GAAA;QACpB,OAAO;AACL,YAAA,gBAAgB,EAAE,IAAI;SACvB;;AAGH;;;AAGG;IACH,MAAM,GAAA;QACJ,QACEC,QAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACHD,OAAS,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAC,UAAU,EAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAAA,EACvFA,OAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACL,CACL;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"br-footer-legal.entry.cjs.js","sources":["../../packages/webcomponents/src/components/footer/footer-legal/footer-legal.scss?tag=br-footer-legal&encapsulation=shadow","../../packages/webcomponents/src/components/footer/footer-legal/footer-legal.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/footer/mixins\";\n@include footer-info;\n\n:host {\n display: block;\n}\n\n.info {\n ::slotted(*) {\n font-size: var(--font-size-scale-down-01) !important;\n font-weight: 500 !important;\n }\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core'\n\nimport Helpers from '../../../utils/helpers'\nimport { CssClassMap } from '../../../utils/interfaces'\n\n/**\n * O subcomponente `br-footer-legal` representa a área destinada a informações legais no rodapé do site, de acordo com a documentação de design do GovBR.\n * Ele deve ser utilizado como filho direto do componente [`br-footer`](/docs/components/footer).\n *\n * @slot default - Área destinada a informações legais.\n */\n@Component({\n tag: 'br-footer-legal',\n styleUrl: 'footer-legal.scss',\n shadow: true,\n})\nexport class FooterLegal {\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: HTMLBrFooterLegalElement\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 = Helpers.generateUniqueId()\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-footer-legal': true,\n info: true,\n 'text-down-01': true,\n 'text-medium': true,\n }\n }\n\n /**\n * Renderiza o componente.\n * @returns JSX do componente.\n */\n render() {\n return (\n <Host>\n <div id={this.customId} class={this.getCssClassMap()}>\n <slot></slot>\n </div>\n </Host>\n )\n }\n}\n"],"names":["Helpers","h","Host"],"mappings":";;;;;;;;;AAAA,MAAM,cAAc,GAAG,6tXAA6tX;;MCgBvuX,WAAW,GAAA,MAAA;AALxB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAYE;;;AAGG;AAC+B,QAAA,IAAA,CAAA,QAAQ,GAAWA,eAAO,CAAC,gBAAgB,EAAE;AAwBhF;IAtBS,cAAc,GAAA;QACpB,OAAO;AACL,YAAA,iBAAiB,EAAE,IAAI;AACvB,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,aAAa,EAAE,IAAI;SACpB;;AAGH;;;AAGG;IACH,MAAM,GAAA;QACJ,QACEC,QAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACHD,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAAA,EAClDA,OAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT,CACD;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"br-footer-logo.entry.cjs.js","sources":["../../packages/webcomponents/src/components/footer/footer-logo/footer-logo.scss?tag=br-footer-logo&encapsulation=shadow","../../packages/webcomponents/src/components/footer/footer-logo/footer-logo.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/footer/mixins\";\n@include footer-logo;\n\n:host {\n display: block;\n}\n\n:host(.partner) {\n display: inline-block;\n}\n\n.logo {\n &.partner {\n margin-left: var(--spacing-scale-3x);\n text-decoration: none;\n padding: 0;\n }\n\n a {\n text-decoration: none;\n\n &:hover,\n &:focus {\n background-image: none;\n }\n }\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core'\n\nimport Helpers from '../../../utils/helpers'\nimport { CssClassMap } from '../../../utils/interfaces'\n\n/**\n * O subcomponente `br-footer-logo` representa a logo principal do site ou a logo dos parceiros.\n * Ele deve ser utilizado como filho direto do componente [`br-footer`](/docs/components/footer).\n * Para que ele represente a logo principal do site, o atributo `is-partner` deve ser definido como `false`, ou não deve ser definido.\n * Para que ele represente a logo de um parceiro, o atributo `is-partner` deve ser definido como `true`.\n */\n@Component({\n tag: 'br-footer-logo',\n styleUrl: 'footer-logo.scss',\n shadow: true,\n})\nexport class FooterLogo {\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: HTMLBrFooterLogoElement\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 = Helpers.generateUniqueId()\n\n /**\n * Url da logo padrão.\n */\n @Prop({ reflect: true }) src: string = ''\n\n /**\n * Descrição da logo.\n */\n @Prop({ reflect: true }) description: string = 'logo'\n\n /**\n * Posição da logo.\n */\n @Prop({ reflect: true }) position: 'left' | 'center' | 'right' = 'left'\n\n /**\n * Define se a logo é de um parceiro.\n */\n @Prop({ reflect: true }) readonly isPartner: boolean = false\n\n /**\n * URL de destino quando a logo for clicada.\n * Se fornecido, a logo será envolvida em um link.\n */\n @Prop({ reflect: true }) href?: string\n\n /**\n * Target do link quando href é fornecido.\n */\n @Prop({ reflect: true }) target?: '_blank' | '_self' | '_parent' | '_top' = '_self'\n\n /**\n * Monta o mapa de classes CSS que serão aplicadas ao componente.\n * @returns Objeto com as classes CSS que serão aplicadas ao componente.\n */\n private getCssClassMap(): CssClassMap {\n return {\n 'br-footer-logo': true,\n logo: true,\n 'text-sm-left': this.position === 'left',\n 'text-sm-center': this.position === 'center',\n 'text-sm-right': this.position === 'right',\n partner: this.isPartner,\n }\n }\n\n /**\n * Monta o mapa de classes CSS que serão aplicadas ao host do componente.\n * @returns Objeto com as classes CSS que serão aplicadas ao host do componente.\n */\n private getRootCssClassMap(): CssClassMap {\n return {\n partner: this.isPartner,\n }\n }\n\n /**\n * Cria o elemento de imagem da logo.\n * @returns JSX do elemento img.\n */\n private createImageElement() {\n return <img src={this.src} alt={this.description} />\n }\n\n /**\n * Monta o JSX que representa o componente.\n * @returns JSX que representa o componente.\n */\n render() {\n return (\n <Host class={this.getRootCssClassMap()}>\n <div id={this.customId} class={this.getCssClassMap()}>\n {this.href && this.href.trim() !== '' ? (\n <a href={this.href} target={this.target} {...(this.target === '_blank' && { rel: 'noopener noreferrer' })}>\n {this.createImageElement()}\n </a>\n ) : (\n this.createImageElement()\n )}\n </div>\n </Host>\n )\n }\n}\n"],"names":["Helpers","h","Host"],"mappings":";;;;;;;;;AAAA,MAAM,aAAa,GAAG,q6XAAq6X;;MCgB96X,UAAU,GAAA,MAAA;AALvB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAYE;;;AAGG;AAC+B,QAAA,IAAA,CAAA,QAAQ,GAAWA,eAAO,CAAC,gBAAgB,EAAE;AAE/E;;AAEG;AACsB,QAAA,IAAG,CAAA,GAAA,GAAW,EAAE;AAEzC;;AAEG;AACsB,QAAA,IAAW,CAAA,WAAA,GAAW,MAAM;AAErD;;AAEG;AACsB,QAAA,IAAQ,CAAA,QAAA,GAAgC,MAAM;AAEvE;;AAEG;AAC+B,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK;AAQ5D;;AAEG;AACsB,QAAA,IAAM,CAAA,MAAA,GAA6C,OAAO;AAsDpF;AApDC;;;AAGG;IACK,cAAc,GAAA;QACpB,OAAO;AACL,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,cAAc,EAAE,IAAI,CAAC,QAAQ,KAAK,MAAM;AACxC,YAAA,gBAAgB,EAAE,IAAI,CAAC,QAAQ,KAAK,QAAQ;AAC5C,YAAA,eAAe,EAAE,IAAI,CAAC,QAAQ,KAAK,OAAO;YAC1C,OAAO,EAAE,IAAI,CAAC,SAAS;SACxB;;AAGH;;;AAGG;IACK,kBAAkB,GAAA;QACxB,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,SAAS;SACxB;;AAGH;;;AAGG;IACK,kBAAkB,GAAA;AACxB,QAAA,OAAOC,OAAK,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAI;;AAGtD;;;AAGG;IACH,MAAM,GAAA;QACJ,QACEA,QAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAA,EACpCD,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EACjD,EAAA,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IACnCA,6BAAG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAM,GAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,EAAE,GAAG,EAAE,qBAAqB,EAAE,EAAC,EACtG,IAAI,CAAC,kBAAkB,EAAE,CACxB,KAEJ,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CACG,CACD;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"br-footer-social.entry.cjs.js","sources":["../../packages/webcomponents/src/components/footer/footer-social/footer-social.scss?tag=br-footer-social&encapsulation=shadow","../../packages/webcomponents/src/components/footer/footer-social/footer-social.tsx"],"sourcesContent":[".spacing-icons {\n margin-right: var(--spacing-scale-2x);\n text-decoration: none;\n}\n\nbr-button {\n display: inline-block;\n}\n","import { Component, Element, h, Prop } from '@stencil/core'\n\nimport Helpers from '../../../utils/helpers'\nimport { CssClassMap } from '../../../utils/interfaces'\n\n/**\n * O subcomponente `br-footer-social` representa os ícones de redes sociais no rodapé do site, de acordo com a documentação de design do GovBR.\n * Ele deve ser utilizado como filho direto do componente [`br-footer`](/docs/components/footer).\n */\n@Component({\n tag: 'br-footer-social',\n styleUrl: 'footer-social.scss',\n shadow: true,\n})\nexport class FooterSocial {\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: HTMLBrFooterSocialElement\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 = Helpers.generateUniqueId()\n\n /**\n * Ícone da rede social\n * */\n @Prop({ reflect: true }) readonly icon: string\n\n /**\n * Descrição do ícone da rede social\n * */\n @Prop({ reflect: true }) readonly description: string\n\n /**\n * URL da rede social\n */\n @Prop({ reflect: true }) readonly href: string = null\n\n /**\n * Monta o objeto com as classes CSS do componente.\n * @returns Objeto com as classes CSS do componente.\n */\n private getCssClassMap(): CssClassMap {\n return {\n 'br-footer-social': true,\n 'spacing-icons': true,\n }\n }\n\n /**\n * Renderiza o componente.\n * @returns JSX do componente.\n */\n render() {\n return (\n <br-button\n role=\"link\"\n class={this.getCssClassMap()}\n id={this.customId}\n emphasis=\"tertiary\"\n shape=\"circle\"\n aria-label={this.description}\n >\n <a href={this.href} tabindex=\"-1\">\n <br-icon icon-name={`fa-brands:${this.icon}`} aria-hidden=\"true\"></br-icon>\n </a>\n </br-button>\n )\n }\n}\n"],"names":["Helpers","h"],"mappings":";;;;;;;;;AAAA,MAAM,eAAe,GAAG,urXAAurX;;MCclsX,YAAY,GAAA,MAAA;AALzB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAYE;;;AAGG;AAC+B,QAAA,IAAA,CAAA,QAAQ,GAAWA,eAAO,CAAC,gBAAgB,EAAE;AAY/E;;AAEG;AAC+B,QAAA,IAAI,CAAA,IAAA,GAAW,IAAI;AAiCtD;AA/BC;;;AAGG;IACK,cAAc,GAAA;QACpB,OAAO;AACL,YAAA,kBAAkB,EAAE,IAAI;AACxB,YAAA,eAAe,EAAE,IAAI;SACtB;;AAGH;;;AAGG;IACH,MAAM,GAAA;AACJ,QAAA,QACEC,OAAA,CAAA,WAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAC5B,EAAE,EAAE,IAAI,CAAC,QAAQ,EACjB,QAAQ,EAAC,UAAU,EACnB,KAAK,EAAC,QAAQ,EACF,YAAA,EAAA,IAAI,CAAC,WAAW,EAAA,EAE5BA,OAAG,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAC,IAAI,EAAA,EAC/BA,OAAoB,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,WAAA,EAAA,CAAA,UAAA,EAAa,IAAI,CAAC,IAAI,EAAE,EAAc,aAAA,EAAA,MAAM,EAAW,CAAA,CACzE,CACM;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"br-footer.entry.cjs.js","sources":["../../packages/webcomponents/src/components/footer/footer.scss?tag=br-footer&encapsulation=shadow","../../packages/webcomponents/src/components/footer/footer.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/divider/divider\";\n@import \"~@govbr-ds/core/src/partial/scss/configs/grid\";\n@import \"~@govbr-ds/core/src/partial/scss/utilities/flexbox\";\n@import \"~@govbr-ds/core/src/components/footer/footer\";\n@import \"~@govbr-ds/core/src/components/footer/mixins\";\n@include footer-social;\n\n:host {\n display: block;\n width: 100%;\n}\n\n.br-footer {\n display: flex;\n flex-flow: column nowrap;\n\n &.inverted {\n --background: var(--background-light);\n\n @include light-mode;\n }\n}\n\n.site-map {\n display: flex;\n flex-flow: column nowrap;\n padding: var(--footer-padding-bottom);\n}\n\n.social-and-partners {\n display: none;\n padding: var(--footer-padding-bottom);\n}\n\n.social-newtwork,\n.partners {\n display: flex;\n flex-flow: row wrap;\n justify-content: flex-start;\n}\n\n.social-title {\n flex-basis: 100%;\n}\n\n@media (width >= 576px) {\n .social-and-partners {\n display: flex;\n flex-flow: row wrap;\n justify-content: space-between;\n align-items: flex-end;\n }\n}\n\n@media (width >= 992px) {\n .site-map {\n flex-flow: row wrap;\n justify-content: flex-start;\n }\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core'\n\nimport Helpers from '../../utils/helpers'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * O componente `br-footer` representa o rodapé do site, de acordo com a documentação de design do GovBR.\n * Ele é composto por vários subcomponentes, como [`br-footer-category`](/docs/components/footer-category), [`br-footer-item`](/docs/components/footer-item), [`br-footer-social`](/docs/components/footer-social), [`br-footer-legal`](/docs/components/footer-legal) e [`br-logo`](/docs/components/footer-logo).\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/footer?tab=designer).\n *\n * @slot logo - Área destinada ao logo do rodapé. Utilize o componente `br-logo` para adicionar o logo.\n * @slot default - Área destinada ao mapa do site. Utilize o componente `br-footer-category` juntamente com o componente `br-footer-item` para adicionar itens.\n * @slot social-network - Área destinada às redes sociais. Utilize o componente `br-footer-social` para adicionar redes sociais.\n * @slot partner-logo - Área destinada aos logos de parceiros. Utilize o componente `br-logo` para adicionar os logos.\n * @slot legal - Área destinada às informações legais. Utilize o componente `br-footer-legal` para adicionar informações legais.\n *\n * @example\n * ```html\n * <br-footer theme=\"dark\">\n * <br-footer-category label=\"Mapa do Site\">\n * <br-footer-item href=\"/docs\">Documentação</br-footer-item>\n * </br-footer-category>\n * </br-footer>\n * ```\n */\n@Component({\n tag: 'br-footer',\n styleUrl: 'footer.scss',\n shadow: true,\n})\nexport class Footer {\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: HTMLBrFooterElement\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 = Helpers.generateUniqueId()\n\n /**\n * Indica o tema do rodapé.\n */\n @Prop({ reflect: true }) theme: 'dark' | 'light' = 'dark'\n\n /**\n * Texto de descrição das redes sociais.\n */\n @Prop({ reflect: true }) socialNetworkTitle: string = 'Redes Sociais'\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-footer': true,\n inverted: this.theme === 'light',\n }\n }\n\n /**\n * Verifica se o slot possui conteúdo.\n * @param slotName Nome do slot a ser verificado.\n * @returns true se o slot possui conteúdo, false caso contrário.\n */\n private hasSlotContent(slotName: string): boolean {\n return this.el.querySelector(`[slot=\"${slotName}\"]`) !== null\n }\n\n /**\n * Renderiza o componente.\n * @returns JSX do componente.\n */\n render() {\n return (\n <Host>\n <div id={this.customId} class={this.getCssClassMap()}>\n <div class=\"container-lg\">\n <slot name=\"logo\"></slot>\n <div class=\"site-map\">\n <slot></slot>\n </div>\n <div class=\"social-and-partners\">\n <div class=\"social-network\">\n <p class=\"social-network-title\">{this.socialNetworkTitle}</p>\n <slot name=\"social-network\"></slot>\n </div>\n <div class=\"partners text-right\">\n <slot name=\"partner-logo\"></slot>\n </div>\n </div>\n {this.hasSlotContent('legal') && <br-divider bleed></br-divider>}\n <slot name=\"legal\"></slot>\n </div>\n </div>\n </Host>\n )\n }\n}\n"],"names":["Helpers","h","Host"],"mappings":";;;;;;;;;AAAA,MAAM,SAAS,GAAG,snpBAAsnpB;;MC8B3npB,MAAM,GAAA,MAAA;AALnB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAYE;;;AAGG;AAC+B,QAAA,IAAA,CAAA,QAAQ,GAAWA,eAAO,CAAC,gBAAgB,EAAE;AAE/E;;AAEG;AACsB,QAAA,IAAK,CAAA,KAAA,GAAqB,MAAM;AAEzD;;AAEG;AACsB,QAAA,IAAkB,CAAA,kBAAA,GAAW,eAAe;AA+CtE;IA7CS,cAAc,GAAA;QACpB,OAAO;AACL,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,QAAQ,EAAE,IAAI,CAAC,KAAK,KAAK,OAAO;SACjC;;AAGH;;;;AAIG;AACK,IAAA,cAAc,CAAC,QAAgB,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAU,OAAA,EAAA,QAAQ,CAAI,EAAA,CAAA,CAAC,KAAK,IAAI;;AAG/D;;;AAGG;IACH,MAAM,GAAA;QACJ,QACEC,QAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACHD,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAAA,EAClDA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,cAAc,EAAA,EACvBA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,MAAM,EAAQ,CAAA,EACzBA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,UAAU,EAAA,EACnBA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,EACNA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,qBAAqB,EAAA,EAC9BA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,gBAAgB,EAAA,EACzBA,OAAA,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAG,KAAK,EAAC,sBAAsB,IAAE,IAAI,CAAC,kBAAkB,CAAK,EAC7DA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,gBAAgB,EAAA,CAAQ,CAC/B,EACNA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,qBAAqB,EAAA,EAC9BA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,cAAc,EAAA,CAAQ,CAC7B,CACF,EACL,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAIA,OAAA,CAAA,YAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAY,KAAK,EAAc,IAAA,EAAA,CAAA,EAChEA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,OAAO,EAAA,CAAQ,CACtB,CACF,CACD;;;;;;;;"}