@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
@@ -0,0 +1 @@
1
+ {"version":3,"names":["menuItemCss","MenuItem","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","href","target","divider","active","displayMode","expanded","render","classes","isExpandable","aria","String","targetAttr","anchor","h","Object","assign","key","class","role","icon","Host"],"sources":["../../packages/webcomponents/src/components/menu/menu-item/menu-item.scss?tag=br-menu-item&encapsulation=shadow","../../packages/webcomponents/src/components/menu/menu-item/menu-item.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/menu/mixins\";\n@include menu-header;\n@include menu-body;\n@include menu-footer;\n@include menu-items;\n@include menu-side-menu;\n\n:host {\n display: block;\n}\n\n// Ajustes de densidade propagados a partir do ancestral <br-menu>\n// Densidade alta (small): itens mais compactos\n:host-context(br-menu[density=\"small\"]) .menu-item {\n padding-block: var(--spacing-scale-base);\n}\n\n// Densidade baixa (large): itens com maior espaçamento\n:host-context(br-menu[density=\"large\"]) .menu-item {\n padding-block: var(--spacing-scale-3x);\n}\n\n.divider-item {\n border-bottom: 1px solid var(--border-color);\n}\ns a.menu-item.active {\n background-color: var(--active);\n --interactive: var(--color-dark);\n --interactive-rgb: var(--color-dark-rgb);\n}\n","import { Component, h, Host, Prop } from '@stencil/core'\n\n@Component({\n tag: 'br-menu-item',\n styleUrl: 'menu-item.scss',\n shadow: true,\n})\nexport class MenuItem {\n /**\n * Ícone exibido no item do menu.\n * Utilize esta propriedade para definir o ícone que será mostrado ao lado do conteúdo do item.\n */\n @Prop() icon: string\n\n /**\n * URL de destino do link do item do menu.\n * Utilize esta propriedade para definir o endereço para onde o usuário será direcionado ao clicar no item.\n * @default '#'\n */\n @Prop() href: string = '#'\n\n /**\n * Define como o link será aberto.\n * - `_self`: abre no mesmo contexto de navegação (padrão)\n * - `_blank`: abre em nova aba ou janela\n * - `_parent`: abre no contexto pai\n * - `_top`: abre no contexto de nível superior\n */\n @Prop() target?: '_self' | '_blank' | '_parent' | '_top' = '_blank'\n\n /**\n * Define se o item deve exibir um divisor visual.\n * Quando ativado, adiciona uma linha separadora para organizar visualmente os itens do menu.\n * @default false\n */\n @Prop() divider: boolean = false\n\n /**\n * Define se o item do menu está ativo/selecionado.\n * Quando ativado, aplica estilos visuais para destacar o item como atual ou selecionado.\n * @default false\n */\n @Prop({ mutable: true, reflect: true }) active: boolean = false\n\n /**\n * Define o modo de exibição do item, controlando os ícones de expansão.\n * - `accordion`: exibe setas para cima/baixo (usado em menus de nível 0).\n * - `drill-down`: exibe seta para a direita (usado em menus de níveis 1+).\n * - `none`: não exibe ícones de expansão.\n * @default 'none'\n */\n @Prop() displayMode: 'accordion' | 'drill-down' | 'none' = 'none'\n\n /**\n * Indica se o item está expandido para fins de acessibilidade (ARIA).\n * Este estado é controlado externamente (por exemplo, por br-menu-list).\n * Não altera o estado visual de \"active\".\n * @default false\n */\n @Prop() expanded: boolean = false\n\n render() {\n const classes = {\n 'menu-item': true,\n 'divider-item': this.divider,\n active: this.active,\n }\n\n const isExpandable = this.displayMode !== 'none'\n const aria = isExpandable ? { 'aria-expanded': String(this.expanded), 'aria-haspopup': 'true' } : {}\n const targetAttr = !isExpandable && this.target ? { target: this.target } : {}\n\n const anchor = (\n <a href={this.href} class={classes} role=\"treeitem\" {...aria} {...targetAttr} aria-selected={String(this.active)}>\n {this.icon && (\n <span class=\"icon\">\n <br-icon icon-name={`fa6-solid:${this.icon}`} aria-hidden=\"true\"></br-icon>\n </span>\n )}\n <span class=\"content\">\n <slot></slot>\n </span>\n {this.displayMode === 'accordion' && (\n <span class=\"support\">\n <br-icon\n icon-name={`fa6-solid:${this.active ? 'chevron-up' : 'chevron-down'}`}\n aria-hidden=\"true\"\n ></br-icon>\n </span>\n )}\n {this.displayMode === 'drill-down' && (\n <span class=\"support\">\n <br-icon icon-name={`fa6-solid:angle-right`} aria-hidden=\"true\"></br-icon>\n </span>\n )}\n </a>\n )\n\n return <Host>{anchor}</Host>\n }\n}\n"],"mappings":";;;;;;;;AAAA,MAAMA,cAAc,MAAM;;MCObC,KAAQC,EAAA,MAAAD,UAAAE;EALrB,WAAAC,CAAAC;;;;;;;;;;eAiBUC,KAAIC,OAAW;;;;;;;eASfD,KAAME,SAA6C;;;;;eAOnDF,KAAOG,UAAY;;;;;eAOaH,KAAMI,SAAY;;;;;;;eASlDJ,KAAWK,cAAwC;;;;;;eAQnDL,KAAQM,WAAY;AAyC7B;EAvCC,MAAAC;IACE,MAAMC,IAAU;MACd,aAAa;MACb,gBAAgBR,KAAKG;MACrBC,QAAQJ,KAAKI;;IAGf,MAAMK,IAAeT,KAAKK,gBAAgB;IAC1C,MAAMK,IAAOD,IAAe;MAAE,iBAAiBE,OAAOX,KAAKM;MAAW,iBAAiB;QAAW;IAClG,MAAMM,KAAcH,KAAgBT,KAAKE,SAAS;MAAEA,QAAQF,KAAKE;QAAW;IAE5E,MAAMW,IACJC,EAAG,KAAAC,OAAAC,OAAA;MAAAC,KAAA;MAAAhB,MAAMD,KAAKC;MAAMiB,OAAOV;MAASW,MAAK;OAAeT,GAAUE,GAA2B;MAAA,iBAAAD,OAAOX,KAAKI;QACtGJ,KAAKoB,QACJN,EAAM;MAAAG,KAAA;MAAAC,OAAM;OACVJ,EAAoB;MAAAG,KAAA;MAAA,0BAAajB,KAAKoB;MAAoB;SAG9DN,EAAM;MAAAG,KAAA;MAAAC,OAAM;OACVJ,EAAA;MAAAG,KAAA;SAEDjB,KAAKK,gBAAgB,eACpBS,EAAA;MAAAG,KAAA;MAAMC,OAAM;OACVJ,EAAA;MAAAG,KAAA;MAAA,aACa,aAAajB,KAAKI,SAAS,eAAe;MAAgB,eACzD;SAIjBJ,KAAKK,gBAAgB,gBACpBS,EAAA;MAAAG,KAAA;MAAMC,OAAM;OACVJ,EAAoB;MAAAG,KAAA;MAAA;MAAuB,eAAc;;IAMjE,OAAOH,EAACO,GAAM;MAAAJ,KAAA;OAAAJ","ignoreList":[]}
@@ -0,0 +1,191 @@
1
+ /*!
2
+ * Construído por SERPRO
3
+ * © https://serpro.gov.br/ - MIT License.
4
+ */
5
+ /**
6
+ * Constantes que definem os nomes dos breakpoints.
7
+ */
8
+ const t = {
9
+ X_SMALL: "x-small",
10
+ SMALL: "small",
11
+ MEDIUM: "medium",
12
+ LARGE: "large",
13
+ X_LARGE: "x-large"
14
+ };
15
+
16
+ /**
17
+ * Configurações dos breakpoints, mapeando nome para suas definições.
18
+ * É privada ao módulo.
19
+ */ const i = {
20
+ [t.X_SMALL]: {
21
+ name: t.X_SMALL,
22
+ query: "(max-width: 575px)",
23
+ minWidth: 0,
24
+ maxWidth: 575
25
+ },
26
+ [t.SMALL]: {
27
+ name: t.SMALL,
28
+ query: "(min-width: 576px) and (max-width: 991px)",
29
+ minWidth: 576,
30
+ maxWidth: 991
31
+ },
32
+ [t.MEDIUM]: {
33
+ name: t.MEDIUM,
34
+ query: "(min-width: 992px) and (max-width: 1279px)",
35
+ minWidth: 992,
36
+ maxWidth: 1279
37
+ },
38
+ [t.LARGE]: {
39
+ name: t.LARGE,
40
+ query: "(min-width: 1280px) and (max-width: 1599px)",
41
+ minWidth: 1280,
42
+ maxWidth: 1599
43
+ },
44
+ [t.X_LARGE]: {
45
+ name: t.X_LARGE,
46
+ query: "(min-width: 1600px)",
47
+ minWidth: 1600
48
+ }
49
+ };
50
+
51
+ /**
52
+ * Classe que observa mudanças nos breakpoints baseados em media queries.
53
+ */ class n {
54
+ /**
55
+ * Cria uma nova instância do observador e inicia a observação dos breakpoints.
56
+ */
57
+ constructor() {
58
+ this.currentBreakpoint = null;
59
+ this.mediaQueries = [];
60
+ this.listeners = new Set;
61
+ /**
62
+ * Função chamada quando ocorre mudança em algum media query.
63
+ * Atualiza o breakpoint atual e notifica os listeners se houver mudança.
64
+ */ this.handleChange = () => {
65
+ for (const {config: t, mql: i} of this.mediaQueries) {
66
+ if (i.matches && this.currentBreakpoint !== t.name) {
67
+ this.currentBreakpoint = t.name;
68
+ this.notifyListeners();
69
+ break;
70
+ }
71
+ }
72
+ };
73
+ this.init();
74
+ }
75
+ /**
76
+ * Inicializa os MediaQueryLists para cada breakpoint, adicionando listeners.
77
+ */ init() {
78
+ for (const n of Object.values(t)) {
79
+ const t = i[n];
80
+ const e = window.matchMedia(t.query);
81
+ this.mediaQueries.push({
82
+ config: t,
83
+ mql: e
84
+ });
85
+ if (e.matches) {
86
+ this.currentBreakpoint = t.name;
87
+ }
88
+ e.addEventListener("change", this.handleChange);
89
+ }
90
+ }
91
+ /**
92
+ * Notifica todos os callbacks inscritos sobre a mudança do breakpoint atual.
93
+ */ notifyListeners() {
94
+ if (this.currentBreakpoint === null) return;
95
+ for (const t of this.listeners) {
96
+ t(this.currentBreakpoint);
97
+ }
98
+ }
99
+ /**
100
+ * Retorna o breakpoint atual detectado.
101
+ * @returns {Breakpoint | null} Breakpoint atual ou null se não definido
102
+ */ getCurrentBreakpoint() {
103
+ return this.currentBreakpoint;
104
+ }
105
+ /**
106
+ * Retorna as configurações completas de um breakpoint específico.
107
+ * @param {Breakpoint} breakpoint - Breakpoint para consulta
108
+ * @returns {BreakpointSettings | undefined} Configurações do breakpoint, ou undefined se não encontrado
109
+ */ getBreakpointSettings(t) {
110
+ return i[t];
111
+ }
112
+ /**
113
+ * Retorna a query CSS associada a um breakpoint.
114
+ * @param {Breakpoint} breakpoint - Breakpoint para consulta
115
+ * @returns {string | undefined} Query CSS, ou undefined se não encontrado
116
+ */ getBreakpointQuery(t) {
117
+ var n;
118
+ return (n = i[t]) === null || n === void 0 ? void 0 : n.query;
119
+ }
120
+ /**
121
+ * Retorna uma lista com todos os breakpoints disponíveis.
122
+ * @returns {Breakpoint[]} Array com todos os breakpoints
123
+ */ getAllBreakpoints() {
124
+ return Object.values(t);
125
+ }
126
+ /**
127
+ * Retorna uma lista de breakpoints filtrada segundo o tipo e breakpoint base.
128
+ * Tipos aceitos:
129
+ * - 'above': todos acima do breakpoint informado
130
+ * - 'below': todos abaixo do breakpoint informado
131
+ * - 'from': breakpoint informado e todos acima
132
+ * - 'until': breakpoint informado e todos abaixo
133
+ * - 'only': somente o breakpoint informado
134
+ * @param {'above' | 'below' | 'from' | 'until' | 'only'} type - Tipo de filtro
135
+ * @param {Breakpoint} breakpoint - Breakpoint base para filtro
136
+ * @returns {Breakpoint[]} Lista filtrada de breakpoints
137
+ */ static getBreakpoints(i, n) {
138
+ const e = Object.values(t);
139
+ const s = e.indexOf(n);
140
+ if (s === -1) return [];
141
+ switch (i) {
142
+ case "above":
143
+ return e.slice(s + 1);
144
+
145
+ case "below":
146
+ return e.slice(0, s);
147
+
148
+ case "from":
149
+ return e.slice(s);
150
+
151
+ case "until":
152
+ return e.slice(0, s + 1);
153
+
154
+ case "only":
155
+ return [ n ];
156
+
157
+ default:
158
+ return [];
159
+ }
160
+ }
161
+ /**
162
+ * Adiciona um listener para receber notificações quando o breakpoint mudar.
163
+ * O callback é chamado imediatamente com o breakpoint atual (se houver).
164
+ * @param {(breakpoint: Breakpoint) => void} callback - Função para receber notificações
165
+ */ subscribe(t) {
166
+ this.listeners.add(t);
167
+ if (this.currentBreakpoint !== null) {
168
+ t(this.currentBreakpoint);
169
+ }
170
+ }
171
+ /**
172
+ * Remove um listener previamente registrado.
173
+ * @param {(breakpoint: Breakpoint) => void} callback - Função a ser removida
174
+ */ unsubscribe(t) {
175
+ this.listeners.delete(t);
176
+ }
177
+ /**
178
+ * Remove todos os listeners e para a observação dos media queries.
179
+ */ destroy() {
180
+ for (const {mql: t} of this.mediaQueries) {
181
+ t.removeEventListener("change", this.handleChange);
182
+ }
183
+ this.listeners.clear();
184
+ this.mediaQueries = [];
185
+ this.currentBreakpoint = null;
186
+ }
187
+ }
188
+
189
+ export { n as B, t as a };
190
+ //# sourceMappingURL=p-CqgyNPQx.js.map
191
+ //# sourceMappingURL=p-CqgyNPQx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BREAKPOINTS","X_SMALL","SMALL","MEDIUM","LARGE","X_LARGE","BREAKPOINT_SETTINGS","name","query","minWidth","maxWidth","BreakpointObserver","constructor","this","currentBreakpoint","mediaQueries","listeners","Set","handleChange","config","mql","matches","notifyListeners","init","breakpointName","Object","values","window","matchMedia","push","addEventListener","listener","getCurrentBreakpoint","getBreakpointSettings","breakpoint","getBreakpointQuery","_a","getAllBreakpoints","getBreakpoints","type","breakpointOrder","index","indexOf","slice","subscribe","callback","add","unsubscribe","delete","destroy","removeEventListener","clear"],"sources":["../../packages/webcomponents/src/utils/breakpoint-observer.ts"],"sourcesContent":["/**\n * Constantes que definem os nomes dos breakpoints.\n */\nexport const BREAKPOINTS = {\n X_SMALL: 'x-small',\n SMALL: 'small',\n MEDIUM: 'medium',\n LARGE: 'large',\n X_LARGE: 'x-large',\n} as const\n\n/**\n * Tipo que representa os valores possíveis de breakpoint.\n */\nexport type Breakpoint = (typeof BREAKPOINTS)[keyof typeof BREAKPOINTS]\n\n/**\n * Configurações específicas de um breakpoint.\n */\ntype BreakpointSettings = {\n name: Breakpoint\n query: string\n minWidth: number\n maxWidth?: number\n}\n\n/**\n * Configurações dos breakpoints, mapeando nome para suas definições.\n * É privada ao módulo.\n */\nconst BREAKPOINT_SETTINGS: Record<Breakpoint, BreakpointSettings> = {\n [BREAKPOINTS.X_SMALL]: {\n name: BREAKPOINTS.X_SMALL,\n query: '(max-width: 575px)',\n minWidth: 0,\n maxWidth: 575,\n },\n [BREAKPOINTS.SMALL]: {\n name: BREAKPOINTS.SMALL,\n query: '(min-width: 576px) and (max-width: 991px)',\n minWidth: 576,\n maxWidth: 991,\n },\n [BREAKPOINTS.MEDIUM]: {\n name: BREAKPOINTS.MEDIUM,\n query: '(min-width: 992px) and (max-width: 1279px)',\n minWidth: 992,\n maxWidth: 1279,\n },\n [BREAKPOINTS.LARGE]: {\n name: BREAKPOINTS.LARGE,\n query: '(min-width: 1280px) and (max-width: 1599px)',\n minWidth: 1280,\n maxWidth: 1599,\n },\n [BREAKPOINTS.X_LARGE]: {\n name: BREAKPOINTS.X_LARGE,\n query: '(min-width: 1600px)',\n minWidth: 1600,\n },\n}\n\n/**\n * Classe que observa mudanças nos breakpoints baseados em media queries.\n */\nexport class BreakpointObserver {\n private currentBreakpoint: Breakpoint | null = null\n private mediaQueries: { config: BreakpointSettings; mql: MediaQueryList }[] = []\n private listeners: Set<(breakpoint: Breakpoint) => void> = new Set()\n\n /**\n * Cria uma nova instância do observador e inicia a observação dos breakpoints.\n */\n constructor() {\n this.init()\n }\n\n /**\n * Inicializa os MediaQueryLists para cada breakpoint, adicionando listeners.\n */\n private init() {\n for (const breakpointName of Object.values(BREAKPOINTS)) {\n const config = BREAKPOINT_SETTINGS[breakpointName]\n const mql = window.matchMedia(config.query)\n this.mediaQueries.push({ config, mql })\n\n if (mql.matches) {\n this.currentBreakpoint = config.name\n }\n\n mql.addEventListener('change', this.handleChange)\n }\n }\n\n /**\n * Função chamada quando ocorre mudança em algum media query.\n * Atualiza o breakpoint atual e notifica os listeners se houver mudança.\n */\n private handleChange = () => {\n for (const { config, mql } of this.mediaQueries) {\n if (mql.matches && this.currentBreakpoint !== config.name) {\n this.currentBreakpoint = config.name\n this.notifyListeners()\n break\n }\n }\n }\n\n /**\n * Notifica todos os callbacks inscritos sobre a mudança do breakpoint atual.\n */\n private notifyListeners() {\n if (this.currentBreakpoint === null) return\n\n for (const listener of this.listeners) {\n listener(this.currentBreakpoint)\n }\n }\n\n /**\n * Retorna o breakpoint atual detectado.\n * @returns {Breakpoint | null} Breakpoint atual ou null se não definido\n */\n getCurrentBreakpoint(): Breakpoint | null {\n return this.currentBreakpoint\n }\n\n /**\n * Retorna as configurações completas de um breakpoint específico.\n * @param {Breakpoint} breakpoint - Breakpoint para consulta\n * @returns {BreakpointSettings | undefined} Configurações do breakpoint, ou undefined se não encontrado\n */\n getBreakpointSettings(breakpoint: Breakpoint): BreakpointSettings | undefined {\n return BREAKPOINT_SETTINGS[breakpoint]\n }\n\n /**\n * Retorna a query CSS associada a um breakpoint.\n * @param {Breakpoint} breakpoint - Breakpoint para consulta\n * @returns {string | undefined} Query CSS, ou undefined se não encontrado\n */\n getBreakpointQuery(breakpoint: Breakpoint): string | undefined {\n return BREAKPOINT_SETTINGS[breakpoint]?.query\n }\n\n /**\n * Retorna uma lista com todos os breakpoints disponíveis.\n * @returns {Breakpoint[]} Array com todos os breakpoints\n */\n getAllBreakpoints(): Breakpoint[] {\n return Object.values(BREAKPOINTS)\n }\n\n /**\n * Retorna uma lista de breakpoints filtrada segundo o tipo e breakpoint base.\n * Tipos aceitos:\n * - 'above': todos acima do breakpoint informado\n * - 'below': todos abaixo do breakpoint informado\n * - 'from': breakpoint informado e todos acima\n * - 'until': breakpoint informado e todos abaixo\n * - 'only': somente o breakpoint informado\n * @param {'above' | 'below' | 'from' | 'until' | 'only'} type - Tipo de filtro\n * @param {Breakpoint} breakpoint - Breakpoint base para filtro\n * @returns {Breakpoint[]} Lista filtrada de breakpoints\n */\n static getBreakpoints(type: 'above' | 'below' | 'from' | 'until' | 'only', breakpoint: Breakpoint): Breakpoint[] {\n const breakpointOrder = Object.values(BREAKPOINTS)\n const index = breakpointOrder.indexOf(breakpoint)\n\n if (index === -1) return []\n\n switch (type) {\n case 'above':\n return breakpointOrder.slice(index + 1)\n case 'below':\n return breakpointOrder.slice(0, index)\n case 'from':\n return breakpointOrder.slice(index)\n case 'until':\n return breakpointOrder.slice(0, index + 1)\n case 'only':\n return [breakpoint]\n default:\n return []\n }\n }\n\n /**\n * Adiciona um listener para receber notificações quando o breakpoint mudar.\n * O callback é chamado imediatamente com o breakpoint atual (se houver).\n * @param {(breakpoint: Breakpoint) => void} callback - Função para receber notificações\n */\n subscribe(callback: (breakpoint: Breakpoint) => void): void {\n this.listeners.add(callback)\n if (this.currentBreakpoint !== null) {\n callback(this.currentBreakpoint)\n }\n }\n\n /**\n * Remove um listener previamente registrado.\n * @param {(breakpoint: Breakpoint) => void} callback - Função a ser removida\n */\n unsubscribe(callback: (breakpoint: Breakpoint) => void): void {\n this.listeners.delete(callback)\n }\n\n /**\n * Remove todos os listeners e para a observação dos media queries.\n */\n destroy(): void {\n for (const { mql } of this.mediaQueries) {\n mql.removeEventListener('change', this.handleChange)\n }\n\n this.listeners.clear()\n this.mediaQueries = []\n this.currentBreakpoint = null\n }\n}\n"],"mappings":";;;;;;;AAGa,MAAAA,IAAc;EACzBC,SAAS;EACTC,OAAO;EACPC,QAAQ;EACRC,OAAO;EACPC,SAAS;;;;;;GAsBX,OAAMC,IAA8D;EAClE,CAACN,EAAYC,UAAU;IACrBM,MAAMP,EAAYC;IAClBO,OAAO;IACPC,UAAU;IACVC,UAAU;;EAEZ,CAACV,EAAYE,QAAQ;IACnBK,MAAMP,EAAYE;IAClBM,OAAO;IACPC,UAAU;IACVC,UAAU;;EAEZ,CAACV,EAAYG,SAAS;IACpBI,MAAMP,EAAYG;IAClBK,OAAO;IACPC,UAAU;IACVC,UAAU;;EAEZ,CAACV,EAAYI,QAAQ;IACnBG,MAAMP,EAAYI;IAClBI,OAAO;IACPC,UAAU;IACVC,UAAU;;EAEZ,CAACV,EAAYK,UAAU;IACrBE,MAAMP,EAAYK;IAClBG,OAAO;IACPC,UAAU;;;;;;UAODE;;;;EAQX,WAAAC;IAPQC,KAAiBC,oBAAsB;IACvCD,KAAYE,eAA0D;IACtEF,KAAAG,YAAmD,IAAIC;;;;eA8BvDJ,KAAYK,eAAG;MACrB,KAAK,OAAMC,QAAEA,GAAMC,KAAEA,MAASP,KAAKE,cAAc;QAC/C,IAAIK,EAAIC,WAAWR,KAAKC,sBAAsBK,EAAOZ,MAAM;UACzDM,KAAKC,oBAAoBK,EAAOZ;UAChCM,KAAKS;UACL;;;;IA7BJT,KAAKU;;;;SAMC,IAAAA;IACN,KAAK,MAAMC,KAAkBC,OAAOC,OAAO1B,IAAc;MACvD,MAAMmB,IAASb,EAAoBkB;MACnC,MAAMJ,IAAMO,OAAOC,WAAWT,EAAOX;MACrCK,KAAKE,aAAac,KAAK;QAAEV;QAAQC;;MAEjC,IAAIA,EAAIC,SAAS;QACfR,KAAKC,oBAAoBK,EAAOZ;;MAGlCa,EAAIU,iBAAiB,UAAUjB,KAAKK;;;;;SAqBhC,eAAAI;IACN,IAAIT,KAAKC,sBAAsB,MAAM;IAErC,KAAK,MAAMiB,KAAYlB,KAAKG,WAAW;MACrCe,EAASlB,KAAKC;;;;;;SAQlB,oBAAAkB;IACE,OAAOnB,KAAKC;;;;;;SAQd,qBAAAmB,CAAsBC;IACpB,OAAO5B,EAAoB4B;;;;;;SAQ7B,kBAAAC,CAAmBD;;IACjB,QAAOE,IAAA9B,EAAoB4B,QAAW,QAAAE,WAAA,aAAAA,EAAE5B;;;;;SAO1C,iBAAA6B;IACE,OAAOZ,OAAOC,OAAO1B;;;;;;;;;;;;;SAevB,qBAAOsC,CAAeC,GAAqDL;IACzE,MAAMM,IAAkBf,OAAOC,OAAO1B;IACtC,MAAMyC,IAAQD,EAAgBE,QAAQR;IAEtC,IAAIO,OAAU,GAAI,OAAO;IAEzB,QAAQF;KACN,KAAK;MACH,OAAOC,EAAgBG,MAAMF,IAAQ;;KACvC,KAAK;MACH,OAAOD,EAAgBG,MAAM,GAAGF;;KAClC,KAAK;MACH,OAAOD,EAAgBG,MAAMF;;KAC/B,KAAK;MACH,OAAOD,EAAgBG,MAAM,GAAGF,IAAQ;;KAC1C,KAAK;MACH,OAAO,EAACP;;KACV;MACE,OAAO;;;;;;;SASb,SAAAU,CAAUC;IACRhC,KAAKG,UAAU8B,IAAID;IACnB,IAAIhC,KAAKC,sBAAsB,MAAM;MACnC+B,EAAShC,KAAKC;;;;;;SAQlB,WAAAiC,CAAYF;IACVhC,KAAKG,UAAUgC,OAAOH;;;;SAMxB,OAAAI;IACE,KAAK,OAAM7B,KAAEA,MAASP,KAAKE,cAAc;MACvCK,EAAI8B,oBAAoB,UAAUrC,KAAKK;;IAGzCL,KAAKG,UAAUmC;IACftC,KAAKE,eAAe;IACpBF,KAAKC,oBAAoB","ignoreList":[]}
@@ -2,15 +2,15 @@
2
2
  * Construído por SERPRO
3
3
  * © https://serpro.gov.br/ - MIT License.
4
4
  */
5
- import { p as t, H as e, d as i, h as a, c as r } from "./p-DSkSDmzD.js";
5
+ import { p as t, H as e, d as i, h as a, c as r, t as o } from "./p-Dl8sbmQD.js";
6
6
 
7
- import { _ as o } from "./p-DIPMDb5E.js";
7
+ import { _ as n } from "./p-DIPMDb5E.js";
8
8
 
9
- import { F as n } from "./p-CNNuop_Z.js";
9
+ import { F as s } from "./p-CNNuop_Z.js";
10
10
 
11
- import { H as s } from "./p-BRKK5nMe.js";
11
+ import { H as l } from "./p-BRKK5nMe.js";
12
12
 
13
- const l = "*,*::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;position:relative}:host #trigger{display:inline-block;cursor:pointer;outline:none}:host #trigger::slotted([slot=trigger]):focus:focus{outline:none}:host #trigger::slotted([slot=trigger]):focus:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}:host ::slotted([slot=target] *:focus):focus{outline:none}:host ::slotted([slot=target] *:focus):focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}:host #target{display:none;position:absolute;-webkit-box-shadow:var(--surface-shadow-sm);box-shadow:var(--surface-shadow-sm);z-index:var(--z-index-layer-1)}:host #target:focus:focus{outline:none}:host #target:focus:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}:host([is-open]) #target{display:block;width:-webkit-max-content;width:-moz-max-content;width:max-content}@media (max-width: 575px){:host([is-open]) #target{width:100vw !important;max-width:100vw !important}}";
13
+ const dropdownCss = () => `*,*::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}main{display:block}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))}.col-sm-4{-ms-flex-preferred-size:33.3333333333%;flex-basis:33.3333333333%;max-width:33.3333333333%}}@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))}.col-lg-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}}@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}.mr-1{margin-right:var(--spacing-scale-half) !important}.mb-1{margin-bottom:var(--spacing-scale-half) !important}.ml-1{margin-left: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}.main-content a{text-decoration:underline}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}.bg-interactive{--background:var(--interactive);background:var(--interactive) !important}.text-primary-default{color:var(--color-primary-default) !important}.text-center{text-align:center !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)}.fab{--icon-size:var(--icon-size-base);display:inline-block;font-size:var(--icon-size);text-align:center;width:calc(var(--icon-size) + 8px)}.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;position:relative}:host #trigger{display:inline-block;cursor:pointer;outline:none}:host #trigger::slotted([slot=trigger]):focus:focus{outline:none}:host #trigger::slotted([slot=trigger]):focus:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}:host ::slotted([slot=target] *:focus):focus{outline:none}:host ::slotted([slot=target] *:focus):focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}:host #target{display:none;position:absolute;-webkit-box-shadow:var(--surface-shadow-sm);box-shadow:var(--surface-shadow-sm);z-index:var(--z-index-layer-1)}:host #target:focus:focus{outline:none}:host #target:focus:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}:host([is-open]) #target{display:block;width:-webkit-max-content;width:-moz-max-content;width:max-content}@media (max-width: 575px){:host([is-open]) #target{width:100vw !important;max-width:100vw !important}}`;
14
14
 
15
15
  const c = t(class t extends e {
16
16
  constructor(t) {
@@ -30,7 +30,7 @@ const c = t(class t extends e {
30
30
  /**
31
31
  * Identificador único.
32
32
  * Caso não seja fornecido, um ID gerado automaticamente será usado.
33
- */ this.customId = s.generateUniqueId();
33
+ */ this.customId = l.generateUniqueId();
34
34
  /**
35
35
  * Define o posicionamento do target (alvo) em relação ao trigger (acionador).
36
36
  * Valores possíveis: 'bottom-start' (padrão), 'bottom-end', 'top-start', 'top-end', 'left', 'right', 'bottom', 'top'.
@@ -238,7 +238,7 @@ const c = t(class t extends e {
238
238
  * Posiciona o dropdown usando Floating UI
239
239
  */ positionDropdown() {
240
240
  if (this.triggerElement == null || this.targetElement == null) return;
241
- this.floatingManager = new n({
241
+ this.floatingManager = new s({
242
242
  triggerElement: this.triggerElement,
243
243
  contentElement: this.targetElement,
244
244
  placement: this.placement
@@ -368,7 +368,7 @@ const c = t(class t extends e {
368
368
  * Define a propriedade `isOpen` como verdadeira e retorna o novo estado.
369
369
  * Este método pode ser chamado externamente.
370
370
  */ open() {
371
- return o(this, void 0, void 0, (function*() {
371
+ return n(this, void 0, void 0, (function*() {
372
372
  this.isOpen = true;
373
373
  return {
374
374
  isOpen: this.isOpen
@@ -380,7 +380,7 @@ const c = t(class t extends e {
380
380
  * Define a propriedade `isOpen` como falsa e retorna o novo estado.
381
381
  * Este método pode ser chamado externamente.
382
382
  */ hide() {
383
- return o(this, void 0, void 0, (function*() {
383
+ return n(this, void 0, void 0, (function*() {
384
384
  this.isOpen = false;
385
385
  return {
386
386
  isOpen: this.isOpen
@@ -446,7 +446,7 @@ const c = t(class t extends e {
446
446
  * Define o foco no elemento interno do componente.
447
447
  * Este método pode ser chamado externamente para garantir que o foco seja aplicado ao elemento correto.
448
448
  */ setFocus() {
449
- return o(this, void 0, void 0, (function*() {
449
+ return n(this, void 0, void 0, (function*() {
450
450
  if (this.focusableElement !== null && this.focusableElement !== undefined) {
451
451
  this.focusableElement.focus();
452
452
  } else {
@@ -496,7 +496,7 @@ const c = t(class t extends e {
496
496
  };
497
497
  }
498
498
  static get style() {
499
- return l;
499
+ return dropdownCss();
500
500
  }
501
501
  }, [ 321, "br-dropdown", {
502
502
  isOpen: [ 1540, "is-open" ],
@@ -520,8 +520,8 @@ function defineCustomElement() {
520
520
  t.forEach((t => {
521
521
  switch (t) {
522
522
  case "br-dropdown":
523
- if (!customElements.get(t)) {
524
- customElements.define(t, c);
523
+ if (!customElements.get(o(t))) {
524
+ customElements.define(o(t), c);
525
525
  }
526
526
  break;
527
527
  }
@@ -529,5 +529,5 @@ function defineCustomElement() {
529
529
  }
530
530
 
531
531
  export { c as D, defineCustomElement as d };
532
- //# sourceMappingURL=p-CDqodOhC.js.map
533
- //# sourceMappingURL=p-CDqodOhC.js.map
532
+ //# sourceMappingURL=p-CwXw4TB_.js.map
533
+ //# sourceMappingURL=p-CwXw4TB_.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["dropdownCss","Dropdown","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","isOpen","customId","Helpers","generateUniqueId","placement","preventAutoDismiss","targetZIndex","targetElement","dropdownItems","dropdownLinks","focusableElement","handleLinkKeydown","event","link","currentTarget","key","linkIndex","indexOf","lastLinkIndex","length","preventDefault","stopPropagation","shiftKey","focusOnElement","tagName","toLowerCase","setTimeout","hide","focusOnTriggerElement","handleItemKeydown","item","currentIndex","lastIndex","click","toggle","isOpenChanged","newValue","brDidOpen","emit","id","initializeDropdownItems","positionDropdown","cleanupPositioning","triggerElement","undefined","brDropdownChange","targetZIndexChanged","updateTargetZIndex","connectedCallback","clickHandler","onClickOutside","bind","document","addEventListener","dropdownOpenHandler","onDropdownDidOpen","disconnectedCallback","removeEventListener","triggerKeydownHandler","targetKeydownHandler","clearDropdownItemListeners","customEvent","detail","forEach","componentDidLoad","el","shadowRoot","querySelector","setBehavior","floatingManager","FloatingUIManager","contentElement","start","_a","stop","style","zIndex","handleTriggerBehavior","setAttribute","focus","targetSlot","assignedElements","nonLinkSelector","linkSelector","element","matches","push","linkChildren","Array","from","querySelectorAll","concat","nonLinkChildren","getCssClassMap","path","composedPath","includes","open","setFocus","scrollIntoView","behavior","block","inline","triggerSlot","slotElements","firstElement","focusTrigger","render","h","Host","class","onClick","name"],"sources":["../../packages/webcomponents/src/components/dropdown/dropdown.scss?tag=br-dropdown&encapsulation=shadow","../../packages/webcomponents/src/components/dropdown/dropdown.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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["dropdownCss","Dropdown","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","isOpen","customId","Helpers","generateUniqueId","placement","preventAutoDismiss","targetZIndex","targetElement","dropdownItems","dropdownLinks","focusableElement","handleLinkKeydown","event","link","currentTarget","key","linkIndex","indexOf","lastLinkIndex","length","preventDefault","stopPropagation","shiftKey","focusOnElement","tagName","toLowerCase","setTimeout","hide","focusOnTriggerElement","handleItemKeydown","item","currentIndex","lastIndex","click","toggle","isOpenChanged","newValue","brDidOpen","emit","id","initializeDropdownItems","positionDropdown","cleanupPositioning","triggerElement","undefined","brDropdownChange","targetZIndexChanged","updateTargetZIndex","connectedCallback","clickHandler","onClickOutside","bind","document","addEventListener","dropdownOpenHandler","onDropdownDidOpen","disconnectedCallback","removeEventListener","triggerKeydownHandler","targetKeydownHandler","clearDropdownItemListeners","customEvent","detail","forEach","componentDidLoad","el","shadowRoot","querySelector","setBehavior","floatingManager","FloatingUIManager","contentElement","start","_a","stop","style","zIndex","handleTriggerBehavior","setAttribute","focus","targetSlot","assignedElements","nonLinkSelector","linkSelector","element","matches","push","linkChildren","Array","from","querySelectorAll","concat","nonLinkChildren","getCssClassMap","path","composedPath","includes","open","setFocus","scrollIntoView","behavior","block","inline","triggerSlot","slotElements","firstElement","focusTrigger","render","h","Host","class","onClick","name"],"sources":["../../packages/webcomponents/src/components/dropdown/dropdown.scss?tag=br-dropdown&encapsulation=shadow","../../packages/webcomponents/src/components/dropdown/dropdown.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"],"mappings":"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","ignoreList":[]}