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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (756) hide show
  1. package/dist/cjs/br-avatar.cjs.entry.js +3 -3
  2. package/dist/cjs/br-breadcrumb.cjs.entry.js +3 -3
  3. package/dist/cjs/br-button_2.cjs.entry.js +6 -6
  4. package/dist/cjs/br-card.cjs.entry.js +3 -3
  5. package/dist/cjs/br-checkbox_3.cjs.entry.js +71 -10
  6. package/dist/cjs/br-checkgroup.cjs.entry.js +3 -3
  7. package/dist/cjs/br-collapse_2.cjs.entry.js +308 -0
  8. package/dist/cjs/br-divider.cjs.entry.js +3 -3
  9. package/dist/cjs/br-dropdown_2.cjs.entry.js +100 -11
  10. package/dist/cjs/br-footer-category.cjs.entry.js +3 -3
  11. package/dist/cjs/br-footer-item.cjs.entry.js +3 -3
  12. package/dist/cjs/br-footer-legal.cjs.entry.js +3 -3
  13. package/dist/cjs/br-footer-logo.cjs.entry.js +3 -3
  14. package/dist/cjs/br-footer-social.cjs.entry.js +3 -3
  15. package/dist/cjs/br-footer.cjs.entry.js +3 -3
  16. package/dist/cjs/br-header-function.cjs.entry.js +138 -0
  17. package/dist/cjs/br-header-link.cjs.entry.js +56 -0
  18. package/dist/cjs/br-header-list.cjs.entry.js +248 -0
  19. package/dist/cjs/br-header-logo.cjs.entry.js +160 -0
  20. package/dist/cjs/br-header.cjs.entry.js +565 -0
  21. package/dist/cjs/br-item.cjs.entry.js +288 -0
  22. package/dist/cjs/br-loading.cjs.entry.js +4 -4
  23. package/dist/cjs/br-magic-button.cjs.entry.js +4 -4
  24. package/dist/cjs/br-menu-header.cjs.entry.js +52 -0
  25. package/dist/cjs/br-menu-info.cjs.entry.js +42 -0
  26. package/dist/cjs/br-menu-item.cjs.entry.js +72 -0
  27. package/dist/cjs/br-menu-link.cjs.entry.js +41 -0
  28. package/dist/cjs/br-menu-list.cjs.entry.js +136 -0
  29. package/dist/cjs/br-menu-logo.cjs.entry.js +49 -0
  30. package/dist/cjs/br-menu-social.cjs.entry.js +33 -0
  31. package/dist/cjs/br-menu.cjs.entry.js +837 -0
  32. package/dist/cjs/br-message.cjs.entry.js +4 -4
  33. package/dist/cjs/br-modal.cjs.entry.js +3 -3
  34. package/dist/cjs/br-pagination.cjs.entry.js +3 -3
  35. package/dist/cjs/br-scrim.cjs.entry.js +4 -4
  36. package/dist/cjs/br-sign-in.cjs.entry.js +4 -4
  37. package/dist/cjs/br-skip-link.cjs.entry.js +322 -0
  38. package/dist/cjs/br-skiplink-item.cjs.entry.js +193 -0
  39. package/dist/cjs/br-step-item.cjs.entry.js +4 -4
  40. package/dist/cjs/br-step.cjs.entry.js +4 -4
  41. package/dist/cjs/br-switch.cjs.entry.js +4 -4
  42. package/dist/cjs/br-tab-item.cjs.entry.js +4 -4
  43. package/dist/cjs/br-tab.cjs.entry.js +5 -5
  44. package/dist/cjs/br-table-cell.cjs.entry.js +4 -4
  45. package/dist/cjs/br-table-header-cell.cjs.entry.js +4 -4
  46. package/dist/cjs/br-table-header-row.cjs.entry.js +4 -4
  47. package/dist/cjs/br-table-row.cjs.entry.js +4 -4
  48. package/dist/cjs/br-table.cjs.entry.js +4 -4
  49. package/dist/cjs/br-tag.cjs.entry.js +4 -4
  50. package/dist/cjs/br-textarea.cjs.entry.js +4 -4
  51. package/dist/cjs/br-tooltip.cjs.entry.js +4 -4
  52. package/dist/cjs/br-upload.cjs.entry.js +7 -4
  53. package/dist/cjs/breakpoint-observer-qqFx-NzP.js +200 -0
  54. package/dist/cjs/breakpoint-observer-qqFx-NzP.js.map +1 -0
  55. package/dist/cjs/{index-CFIH680Y.js → index-BFg1F33U.js} +80 -14
  56. package/dist/cjs/index-BFg1F33U.js.map +1 -0
  57. package/dist/cjs/index.cjs.js +2 -0
  58. package/dist/cjs/loader.cjs.js +4 -2
  59. package/dist/cjs/loader.cjs.js.map +1 -1
  60. package/dist/cjs/webcomponents.cjs.js +5 -3
  61. package/dist/cjs/webcomponents.cjs.js.map +1 -1
  62. package/dist/collection/collection-manifest.json +17 -2
  63. package/dist/collection/components/avatar/avatar.css +1 -1
  64. package/dist/collection/components/breadcrumb/breadcrumb.css +1 -1
  65. package/dist/collection/components/button/button.css +1 -1
  66. package/dist/collection/components/card/card.css +1 -1
  67. package/dist/collection/components/checkbox/checkbox.css +1 -1
  68. package/dist/collection/components/checkgroup/checkgroup.css +1 -1
  69. package/dist/collection/components/collapse/collapse.css +1 -1
  70. package/dist/collection/components/collapse/collapse.js +1 -1
  71. package/dist/collection/components/collapse/collapse.js.map +1 -1
  72. package/dist/collection/components/divider/divider.css +1 -1
  73. package/dist/collection/components/dropdown/dropdown.css +1 -1
  74. package/dist/collection/components/footer/footer-category/footer-category.css +1 -1
  75. package/dist/collection/components/footer/footer-item/footer-item.css +1 -1
  76. package/dist/collection/components/footer/footer-legal/footer-legal.css +1 -1
  77. package/dist/collection/components/footer/footer-logo/footer-logo.css +1 -1
  78. package/dist/collection/components/footer/footer-social/footer-social.css +1 -1
  79. package/dist/collection/components/footer/footer.css +1 -1
  80. package/dist/collection/components/header/header-function/header-function.css +1 -0
  81. package/dist/collection/components/header/header-function/header-function.js +256 -0
  82. package/dist/collection/components/header/header-function/header-function.js.map +1 -0
  83. package/dist/collection/components/header/header-link/header-link.css +1 -0
  84. package/dist/collection/components/header/header-link/header-link.js +134 -0
  85. package/dist/collection/components/header/header-link/header-link.js.map +1 -0
  86. package/dist/collection/components/header/header-list/header-list.css +1 -0
  87. package/dist/collection/components/header/header-list/header-list.js +420 -0
  88. package/dist/collection/components/header/header-list/header-list.js.map +1 -0
  89. package/dist/collection/components/header/header-logo/header-logo.css +1 -0
  90. package/dist/collection/components/header/header-logo/header-logo.js +363 -0
  91. package/dist/collection/components/header/header-logo/header-logo.js.map +1 -0
  92. package/dist/collection/components/header/header.css +1 -0
  93. package/dist/collection/components/header/header.js +901 -0
  94. package/dist/collection/components/header/header.js.map +1 -0
  95. package/dist/collection/components/icon/icon.css +1 -1
  96. package/dist/collection/components/icon/icon.js +1 -1
  97. package/dist/collection/components/input/input.css +1 -1
  98. package/dist/collection/components/input/input.js +87 -2
  99. package/dist/collection/components/input/input.js.map +1 -1
  100. package/dist/collection/components/item/item.css +1 -1
  101. package/dist/collection/components/item/item.js +1 -1
  102. package/dist/collection/components/list/list.css +1 -1
  103. package/dist/collection/components/list/list.js +1 -1
  104. package/dist/collection/components/loading/loading.css +1 -1
  105. package/dist/collection/components/loading/loading.js +1 -1
  106. package/dist/collection/components/magic-button/magic-button.css +1 -1
  107. package/dist/collection/components/magic-button/magic-button.js +1 -1
  108. package/dist/collection/components/menu/menu-header/menu-header.css +1 -0
  109. package/dist/collection/components/menu/menu-header/menu-header.js +154 -0
  110. package/dist/collection/components/menu/menu-header/menu-header.js.map +1 -0
  111. package/dist/collection/components/menu/menu-info/menu-info.css +1 -0
  112. package/dist/collection/components/menu/menu-info/menu-info.js +92 -0
  113. package/dist/collection/components/menu/menu-info/menu-info.js.map +1 -0
  114. package/dist/collection/components/menu/menu-item/menu-item.css +1 -0
  115. package/dist/collection/components/menu/menu-item/menu-item.js +233 -0
  116. package/dist/collection/components/menu/menu-item/menu-item.js.map +1 -0
  117. package/dist/collection/components/menu/menu-link/menu-link.css +1 -0
  118. package/dist/collection/components/menu/menu-link/menu-link.js +123 -0
  119. package/dist/collection/components/menu/menu-link/menu-link.js.map +1 -0
  120. package/dist/collection/components/menu/menu-list/menu-list.css +1 -0
  121. package/dist/collection/components/menu/menu-list/menu-list.js +295 -0
  122. package/dist/collection/components/menu/menu-list/menu-list.js.map +1 -0
  123. package/dist/collection/components/menu/menu-logo/menu-logo.css +1 -0
  124. package/dist/collection/components/menu/menu-logo/menu-logo.js +162 -0
  125. package/dist/collection/components/menu/menu-logo/menu-logo.js.map +1 -0
  126. package/dist/collection/components/menu/menu-social/menu-social.css +1 -0
  127. package/dist/collection/components/menu/menu-social/menu-social.js +139 -0
  128. package/dist/collection/components/menu/menu-social/menu-social.js.map +1 -0
  129. package/dist/collection/components/menu/menu.css +1 -0
  130. package/dist/collection/components/menu/menu.js +1064 -0
  131. package/dist/collection/components/menu/menu.js.map +1 -0
  132. package/dist/collection/components/message/message.css +1 -1
  133. package/dist/collection/components/message/message.js +1 -1
  134. package/dist/collection/components/modal/modal.css +1 -1
  135. package/dist/collection/components/pagination/pagination.css +1 -1
  136. package/dist/collection/components/radio/radio.css +1 -1
  137. package/dist/collection/components/radio/radio.js +1 -1
  138. package/dist/collection/components/scrim/scrim.css +1 -1
  139. package/dist/collection/components/scrim/scrim.js +1 -1
  140. package/dist/collection/components/scrim/scrim.js.map +1 -1
  141. package/dist/collection/components/select/select.css +1 -1
  142. package/dist/collection/components/select/select.js +160 -8
  143. package/dist/collection/components/select/select.js.map +1 -1
  144. package/dist/collection/components/sign-in/sign-in.css +1 -1
  145. package/dist/collection/components/sign-in/sign-in.js +1 -1
  146. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.css +1 -0
  147. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.js +392 -0
  148. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.js.map +1 -0
  149. package/dist/collection/components/skip-link/skip-link.css +1 -0
  150. package/dist/collection/components/skip-link/skip-link.js +588 -0
  151. package/dist/collection/components/skip-link/skip-link.js.map +1 -0
  152. package/dist/collection/components/step/step-item/step-item.css +1 -1
  153. package/dist/collection/components/step/step-item/step-item.js +1 -1
  154. package/dist/collection/components/step/step.css +1 -1
  155. package/dist/collection/components/step/step.js +1 -1
  156. package/dist/collection/components/switch/switch.css +1 -1
  157. package/dist/collection/components/switch/switch.js +1 -1
  158. package/dist/collection/components/tab/tab-item/tab-item.css +1 -1
  159. package/dist/collection/components/tab/tab-item/tab-item.js +1 -1
  160. package/dist/collection/components/tab/tab.css +1 -1
  161. package/dist/collection/components/tab/tab.js +2 -2
  162. package/dist/collection/components/table/table-cell/table-cell.css +1 -1
  163. package/dist/collection/components/table/table-cell/table-cell.js +1 -1
  164. package/dist/collection/components/table/table-header-cell/table-header-cell.css +1 -1
  165. package/dist/collection/components/table/table-header-cell/table-header-cell.js +1 -1
  166. package/dist/collection/components/table/table-header-row/table-header-row.css +1 -1
  167. package/dist/collection/components/table/table-header-row/table-header-row.js +1 -1
  168. package/dist/collection/components/table/table-row/table-row.css +1 -1
  169. package/dist/collection/components/table/table-row/table-row.js +1 -1
  170. package/dist/collection/components/table/table.css +1 -1
  171. package/dist/collection/components/table/table.js +1 -1
  172. package/dist/collection/components/tag/tag.css +1 -1
  173. package/dist/collection/components/tag/tag.js +1 -1
  174. package/dist/collection/components/tag/tag.js.map +1 -1
  175. package/dist/collection/components/textarea/textarea.css +1 -1
  176. package/dist/collection/components/textarea/textarea.js +1 -1
  177. package/dist/collection/components/tooltip/tooltip.css +1 -1
  178. package/dist/collection/components/tooltip/tooltip.js +1 -1
  179. package/dist/collection/components/upload/upload.css +1 -1
  180. package/dist/collection/components/upload/upload.js +26 -1
  181. package/dist/collection/components/upload/upload.js.map +1 -1
  182. package/dist/collection/pages/components/header/index.js +18 -0
  183. package/dist/collection/pages/components/menu/index.js +18 -0
  184. package/dist/collection/pages/components/select/index.js +41 -0
  185. package/dist/collection/pages/components/skip-link/index.js +18 -0
  186. package/dist/collection/pages/components/upload/index.js +1 -1
  187. package/dist/collection/utils/breakpoint-observer.js +193 -0
  188. package/dist/collection/utils/breakpoint-observer.js.map +1 -0
  189. package/dist/components/br-avatar.js +14 -14
  190. package/dist/components/br-avatar.js.map +1 -1
  191. package/dist/components/br-breadcrumb.js +22 -22
  192. package/dist/components/br-breadcrumb.js.map +1 -1
  193. package/dist/components/br-button.js +1 -1
  194. package/dist/components/br-card.js +5 -5
  195. package/dist/components/br-card.js.map +1 -1
  196. package/dist/components/br-checkbox.js +4 -4
  197. package/dist/components/br-checkgroup.js +8 -8
  198. package/dist/components/br-checkgroup.js.map +1 -1
  199. package/dist/components/br-collapse.js +3 -3
  200. package/dist/components/br-divider.js +1 -1
  201. package/dist/components/br-dropdown.js +1 -1
  202. package/dist/components/br-footer-category.js +22 -22
  203. package/dist/components/br-footer-category.js.map +1 -1
  204. package/dist/components/br-footer-item.js +12 -12
  205. package/dist/components/br-footer-item.js.map +1 -1
  206. package/dist/components/br-footer-legal.js +7 -7
  207. package/dist/components/br-footer-legal.js.map +1 -1
  208. package/dist/components/br-footer-logo.js +7 -7
  209. package/dist/components/br-footer-logo.js.map +1 -1
  210. package/dist/components/br-footer-social.js +13 -13
  211. package/dist/components/br-footer-social.js.map +1 -1
  212. package/dist/components/br-footer.js +11 -11
  213. package/dist/components/br-footer.js.map +1 -1
  214. package/dist/components/br-header-function.d.ts +11 -0
  215. package/dist/components/br-header-function.js +198 -0
  216. package/dist/components/br-header-function.js.map +1 -0
  217. package/dist/components/br-header-link.d.ts +11 -0
  218. package/dist/components/br-header-link.js +102 -0
  219. package/dist/components/br-header-link.js.map +1 -0
  220. package/dist/components/br-header-list.d.ts +11 -0
  221. package/dist/components/br-header-list.js +302 -0
  222. package/dist/components/br-header-list.js.map +1 -0
  223. package/dist/components/br-header-logo.d.ts +11 -0
  224. package/dist/components/br-header-logo.js +200 -0
  225. package/dist/components/br-header-logo.js.map +1 -0
  226. package/dist/components/br-header.d.ts +11 -0
  227. package/dist/components/br-header.js +677 -0
  228. package/dist/components/br-header.js.map +1 -0
  229. package/dist/components/br-icon.js +4 -4
  230. package/dist/components/br-input.js +4 -4
  231. package/dist/components/br-item.js +4 -4
  232. package/dist/components/br-list.js +4 -4
  233. package/dist/components/br-loading.js +6 -6
  234. package/dist/components/br-loading.js.map +1 -1
  235. package/dist/components/br-magic-button.js +10 -10
  236. package/dist/components/br-magic-button.js.map +1 -1
  237. package/dist/components/br-menu-header.d.ts +11 -0
  238. package/dist/components/br-menu-header.js +125 -0
  239. package/dist/components/br-menu-header.js.map +1 -0
  240. package/dist/components/br-menu-info.d.ts +11 -0
  241. package/dist/components/br-menu-info.js +76 -0
  242. package/dist/components/br-menu-info.js.map +1 -0
  243. package/dist/components/br-menu-item.d.ts +11 -0
  244. package/dist/components/br-menu-item.js +13 -0
  245. package/dist/components/br-menu-item.js.map +1 -0
  246. package/dist/components/br-menu-link.d.ts +11 -0
  247. package/dist/components/br-menu-link.js +95 -0
  248. package/dist/components/br-menu-link.js.map +1 -0
  249. package/dist/components/br-menu-list.d.ts +11 -0
  250. package/dist/components/br-menu-list.js +199 -0
  251. package/dist/components/br-menu-list.js.map +1 -0
  252. package/dist/components/br-menu-logo.d.ts +11 -0
  253. package/dist/components/br-menu-logo.js +98 -0
  254. package/dist/components/br-menu-logo.js.map +1 -0
  255. package/dist/components/br-menu-social.d.ts +11 -0
  256. package/dist/components/br-menu-social.js +102 -0
  257. package/dist/components/br-menu-social.js.map +1 -0
  258. package/dist/components/br-menu.d.ts +11 -0
  259. package/dist/components/br-menu.js +952 -0
  260. package/dist/components/br-menu.js.map +1 -0
  261. package/dist/components/br-message.js +12 -12
  262. package/dist/components/br-message.js.map +1 -1
  263. package/dist/components/br-modal.js +16 -16
  264. package/dist/components/br-modal.js.map +1 -1
  265. package/dist/components/br-pagination.js +35 -35
  266. package/dist/components/br-pagination.js.map +1 -1
  267. package/dist/components/br-radio.js +3 -3
  268. package/dist/components/br-scrim.js +34 -34
  269. package/dist/components/br-scrim.js.map +1 -1
  270. package/dist/components/br-select.js +4 -4
  271. package/dist/components/br-sign-in.js +18 -18
  272. package/dist/components/br-sign-in.js.map +1 -1
  273. package/dist/components/br-skip-link.d.ts +11 -0
  274. package/dist/components/br-skip-link.js +372 -0
  275. package/dist/components/br-skip-link.js.map +1 -0
  276. package/dist/components/br-skiplink-item.d.ts +11 -0
  277. package/dist/components/br-skiplink-item.js +271 -0
  278. package/dist/components/br-skiplink-item.js.map +1 -0
  279. package/dist/components/br-step-item.js +30 -30
  280. package/dist/components/br-step-item.js.map +1 -1
  281. package/dist/components/br-step.js +14 -14
  282. package/dist/components/br-step.js.map +1 -1
  283. package/dist/components/br-switch.js +12 -12
  284. package/dist/components/br-switch.js.map +1 -1
  285. package/dist/components/br-tab-item.js +13 -13
  286. package/dist/components/br-tab-item.js.map +1 -1
  287. package/dist/components/br-tab.js +17 -17
  288. package/dist/components/br-tab.js.map +1 -1
  289. package/dist/components/br-table-cell.js +12 -12
  290. package/dist/components/br-table-cell.js.map +1 -1
  291. package/dist/components/br-table-header-cell.js +15 -15
  292. package/dist/components/br-table-header-cell.js.map +1 -1
  293. package/dist/components/br-table-header-row.js +10 -10
  294. package/dist/components/br-table-header-row.js.map +1 -1
  295. package/dist/components/br-table-row.js +13 -13
  296. package/dist/components/br-table-row.js.map +1 -1
  297. package/dist/components/br-table.js +13 -13
  298. package/dist/components/br-table.js.map +1 -1
  299. package/dist/components/br-tag.js +4 -409
  300. package/dist/components/br-tag.js.map +1 -1
  301. package/dist/components/br-textarea.js +16 -16
  302. package/dist/components/br-textarea.js.map +1 -1
  303. package/dist/components/br-tooltip.js +24 -24
  304. package/dist/components/br-tooltip.js.map +1 -1
  305. package/dist/components/br-upload.js +46 -43
  306. package/dist/components/br-upload.js.map +1 -1
  307. package/dist/components/index.d.ts +30 -0
  308. package/dist/components/index.js +31 -1
  309. package/dist/components/p-75pWQXE5.js +200 -0
  310. package/dist/components/{p-CvEK2Il7.js.map → p-75pWQXE5.js.map} +1 -1
  311. package/dist/components/p-B3imhKtv.js +164 -0
  312. package/dist/components/{p-C5niSTTq.js.map → p-B3imhKtv.js.map} +1 -1
  313. package/dist/components/p-BQbwSVaT.js +622 -0
  314. package/dist/components/p-BQbwSVaT.js.map +1 -0
  315. package/dist/components/p-CcJHd-EX.js +400 -0
  316. package/dist/components/p-CcJHd-EX.js.map +1 -0
  317. package/dist/components/p-Coy21EGa.js +250 -0
  318. package/dist/components/{p-BGvZWtkB.js.map → p-Coy21EGa.js.map} +1 -1
  319. package/dist/components/p-CqGm9xxH.js +143 -0
  320. package/dist/components/p-CqGm9xxH.js.map +1 -0
  321. package/dist/components/p-CqgyNPQx.js +191 -0
  322. package/dist/components/p-CqgyNPQx.js.map +1 -0
  323. package/dist/components/{p-CDqodOhC.js → p-CwXw4TB_.js} +15 -15
  324. package/dist/components/{p-CDqodOhC.js.map → p-CwXw4TB_.js.map} +1 -1
  325. package/dist/components/{p-Ck56essO.js → p-DPI-6oom.js} +295 -295
  326. package/dist/components/{p-Ck56essO.js.map → p-DPI-6oom.js.map} +1 -1
  327. package/dist/components/{p-DSkSDmzD.js → p-Dl8sbmQD.js} +44 -37
  328. package/dist/components/p-Dl8sbmQD.js.map +1 -0
  329. package/dist/components/p-MRCv9Vq6.js +275 -0
  330. package/dist/components/p-MRCv9Vq6.js.map +1 -0
  331. package/dist/components/p-_1olx8GR.js +179 -0
  332. package/dist/components/{p-0zSorzux.js.map → p-_1olx8GR.js.map} +1 -1
  333. package/dist/components/p-ey_HrFRS.js +415 -0
  334. package/dist/components/p-ey_HrFRS.js.map +1 -0
  335. package/dist/components/p-foGc27n-.js +361 -0
  336. package/dist/components/{p-DGjCsmhy.js.map → p-foGc27n-.js.map} +1 -1
  337. package/dist/components/p-wT-Xw7qJ.js +136 -0
  338. package/dist/components/{p-CodfIeVU.js.map → p-wT-Xw7qJ.js.map} +1 -1
  339. package/dist/custom-elements.json +9262 -4929
  340. package/dist/esm/br-avatar.entry.js +3 -3
  341. package/dist/esm/br-avatar.entry.js.map +1 -1
  342. package/dist/esm/br-breadcrumb.entry.js +3 -3
  343. package/dist/esm/br-breadcrumb.entry.js.map +1 -1
  344. package/dist/esm/br-button_2.entry.js +6 -6
  345. package/dist/esm/br-card.entry.js +3 -3
  346. package/dist/esm/br-card.entry.js.map +1 -1
  347. package/dist/esm/br-checkbox_3.entry.js +71 -10
  348. package/dist/esm/br-checkgroup.entry.js +3 -3
  349. package/dist/esm/br-checkgroup.entry.js.map +1 -1
  350. package/dist/esm/br-collapse_2.entry.js +305 -0
  351. package/dist/esm/br-divider.entry.js +3 -3
  352. package/dist/esm/br-divider.entry.js.map +1 -1
  353. package/dist/esm/br-dropdown_2.entry.js +100 -11
  354. package/dist/esm/br-footer-category.entry.js +3 -3
  355. package/dist/esm/br-footer-category.entry.js.map +1 -1
  356. package/dist/esm/br-footer-item.entry.js +3 -3
  357. package/dist/esm/br-footer-item.entry.js.map +1 -1
  358. package/dist/esm/br-footer-legal.entry.js +3 -3
  359. package/dist/esm/br-footer-legal.entry.js.map +1 -1
  360. package/dist/esm/br-footer-logo.entry.js +3 -3
  361. package/dist/esm/br-footer-logo.entry.js.map +1 -1
  362. package/dist/esm/br-footer-social.entry.js +3 -3
  363. package/dist/esm/br-footer-social.entry.js.map +1 -1
  364. package/dist/esm/br-footer.entry.js +3 -3
  365. package/dist/esm/br-footer.entry.js.map +1 -1
  366. package/dist/esm/br-header-function.entry.js +136 -0
  367. package/dist/esm/br-header-function.entry.js.map +1 -0
  368. package/dist/esm/br-header-link.entry.js +54 -0
  369. package/dist/esm/br-header-link.entry.js.map +1 -0
  370. package/dist/esm/br-header-list.entry.js +246 -0
  371. package/dist/esm/br-header-list.entry.js.map +1 -0
  372. package/dist/esm/br-header-logo.entry.js +158 -0
  373. package/dist/esm/br-header-logo.entry.js.map +1 -0
  374. package/dist/esm/br-header.entry.js +563 -0
  375. package/dist/esm/br-header.entry.js.map +1 -0
  376. package/dist/esm/br-item.entry.js +286 -0
  377. package/dist/esm/br-item.entry.js.map +1 -0
  378. package/dist/esm/br-loading.entry.js +4 -4
  379. package/dist/esm/br-loading.entry.js.map +1 -1
  380. package/dist/esm/br-magic-button.entry.js +4 -4
  381. package/dist/esm/br-magic-button.entry.js.map +1 -1
  382. package/dist/esm/br-menu-header.entry.js +50 -0
  383. package/dist/esm/br-menu-header.entry.js.map +1 -0
  384. package/dist/esm/br-menu-info.entry.js +40 -0
  385. package/dist/esm/br-menu-info.entry.js.map +1 -0
  386. package/dist/esm/br-menu-item.entry.js +70 -0
  387. package/dist/esm/br-menu-item.entry.js.map +1 -0
  388. package/dist/esm/br-menu-link.entry.js +39 -0
  389. package/dist/esm/br-menu-link.entry.js.map +1 -0
  390. package/dist/esm/br-menu-list.entry.js +134 -0
  391. package/dist/esm/br-menu-list.entry.js.map +1 -0
  392. package/dist/esm/br-menu-logo.entry.js +47 -0
  393. package/dist/esm/br-menu-logo.entry.js.map +1 -0
  394. package/dist/esm/br-menu-social.entry.js +31 -0
  395. package/dist/esm/br-menu-social.entry.js.map +1 -0
  396. package/dist/esm/br-menu.entry.js +835 -0
  397. package/dist/esm/br-menu.entry.js.map +1 -0
  398. package/dist/esm/br-message.entry.js +4 -4
  399. package/dist/esm/br-message.entry.js.map +1 -1
  400. package/dist/esm/br-modal.entry.js +3 -3
  401. package/dist/esm/br-modal.entry.js.map +1 -1
  402. package/dist/esm/br-pagination.entry.js +3 -3
  403. package/dist/esm/br-pagination.entry.js.map +1 -1
  404. package/dist/esm/br-scrim.entry.js +4 -4
  405. package/dist/esm/br-scrim.entry.js.map +1 -1
  406. package/dist/esm/br-sign-in.entry.js +4 -4
  407. package/dist/esm/br-sign-in.entry.js.map +1 -1
  408. package/dist/esm/br-skip-link.entry.js +320 -0
  409. package/dist/esm/br-skip-link.entry.js.map +1 -0
  410. package/dist/esm/br-skiplink-item.entry.js +191 -0
  411. package/dist/esm/br-skiplink-item.entry.js.map +1 -0
  412. package/dist/esm/br-step-item.entry.js +4 -4
  413. package/dist/esm/br-step-item.entry.js.map +1 -1
  414. package/dist/esm/br-step.entry.js +4 -4
  415. package/dist/esm/br-step.entry.js.map +1 -1
  416. package/dist/esm/br-switch.entry.js +4 -4
  417. package/dist/esm/br-switch.entry.js.map +1 -1
  418. package/dist/esm/br-tab-item.entry.js +4 -4
  419. package/dist/esm/br-tab-item.entry.js.map +1 -1
  420. package/dist/esm/br-tab.entry.js +5 -5
  421. package/dist/esm/br-tab.entry.js.map +1 -1
  422. package/dist/esm/br-table-cell.entry.js +4 -4
  423. package/dist/esm/br-table-cell.entry.js.map +1 -1
  424. package/dist/esm/br-table-header-cell.entry.js +4 -4
  425. package/dist/esm/br-table-header-cell.entry.js.map +1 -1
  426. package/dist/esm/br-table-header-row.entry.js +4 -4
  427. package/dist/esm/br-table-header-row.entry.js.map +1 -1
  428. package/dist/esm/br-table-row.entry.js +4 -4
  429. package/dist/esm/br-table-row.entry.js.map +1 -1
  430. package/dist/esm/br-table.entry.js +4 -4
  431. package/dist/esm/br-table.entry.js.map +1 -1
  432. package/dist/esm/br-tag.entry.js +4 -4
  433. package/dist/esm/br-tag.entry.js.map +1 -1
  434. package/dist/esm/br-textarea.entry.js +4 -4
  435. package/dist/esm/br-textarea.entry.js.map +1 -1
  436. package/dist/esm/br-tooltip.entry.js +4 -4
  437. package/dist/esm/br-tooltip.entry.js.map +1 -1
  438. package/dist/esm/br-upload.entry.js +7 -4
  439. package/dist/esm/br-upload.entry.js.map +1 -1
  440. package/dist/esm/breakpoint-observer-CqgyNPQx.js +197 -0
  441. package/dist/esm/breakpoint-observer-CqgyNPQx.js.map +1 -0
  442. package/dist/esm/{index-ByGJPTh2.js → index-DULshOxW.js} +80 -14
  443. package/dist/esm/index-DULshOxW.js.map +1 -0
  444. package/dist/esm/index.js +2 -0
  445. package/dist/esm/loader.js +5 -3
  446. package/dist/esm/webcomponents.js +6 -4
  447. package/dist/esm/webcomponents.js.map +1 -1
  448. package/dist/hydrate/index.d.ts +12 -0
  449. package/dist/hydrate/index.js +8533 -4974
  450. package/dist/hydrate/index.mjs +8532 -4975
  451. package/dist/stencil.config.js +93 -125
  452. package/dist/stencil.config.js.map +1 -1
  453. package/dist/types/components/header/header-function/header-function.d.ts +100 -0
  454. package/dist/types/components/header/header-link/header-link.d.ts +41 -0
  455. package/dist/types/components/header/header-list/header-list.d.ts +173 -0
  456. package/dist/types/components/header/header-logo/header-logo.d.ts +120 -0
  457. package/dist/types/components/header/header.d.ts +311 -0
  458. package/dist/types/components/input/input.d.ts +9 -0
  459. package/dist/types/components/menu/menu-header/menu-header.d.ts +42 -0
  460. package/dist/types/components/menu/menu-info/menu-info.d.ts +25 -0
  461. package/dist/types/components/menu/menu-item/menu-item.d.ts +49 -0
  462. package/dist/types/components/menu/menu-link/menu-link.d.ts +34 -0
  463. package/dist/types/components/menu/menu-list/menu-list.d.ts +62 -0
  464. package/dist/types/components/menu/menu-logo/menu-logo.d.ts +43 -0
  465. package/dist/types/components/menu/menu-social/menu-social.d.ts +36 -0
  466. package/dist/types/components/menu/menu.d.ts +260 -0
  467. package/dist/types/components/select/select.d.ts +25 -0
  468. package/dist/types/components/skip-link/skip-link-item/skip-link-item.d.ts +111 -0
  469. package/dist/types/components/skip-link/skip-link.d.ts +173 -0
  470. package/dist/types/components/upload/upload.d.ts +5 -0
  471. package/dist/types/components.d.ts +1496 -47
  472. package/dist/types/stencil-public-runtime.d.ts +43 -0
  473. package/dist/types/utils/breakpoint-observer.d.ts +99 -0
  474. package/dist/webcomponents/p-02106faf.entry.js +63 -0
  475. package/dist/webcomponents/p-02106faf.entry.js.map +1 -0
  476. package/dist/webcomponents/p-04bee121.entry.js +148 -0
  477. package/dist/webcomponents/p-04bee121.entry.js.map +1 -0
  478. package/dist/webcomponents/p-0b68fde3.entry.js +113 -0
  479. package/dist/webcomponents/p-0b68fde3.entry.js.map +1 -0
  480. package/dist/webcomponents/p-13f315b9.entry.js +65 -0
  481. package/dist/webcomponents/p-13f315b9.entry.js.map +1 -0
  482. package/dist/webcomponents/p-19988c40.entry.js +385 -0
  483. package/dist/webcomponents/p-19988c40.entry.js.map +1 -0
  484. package/dist/webcomponents/p-27771bab.entry.js +210 -0
  485. package/dist/webcomponents/p-27771bab.entry.js.map +1 -0
  486. package/dist/webcomponents/p-29575ecc.entry.js +587 -0
  487. package/dist/webcomponents/p-29575ecc.entry.js.map +1 -0
  488. package/dist/webcomponents/p-2baf706b.entry.js +44 -0
  489. package/dist/webcomponents/p-2baf706b.entry.js.map +1 -0
  490. package/dist/webcomponents/p-2f5d6943.entry.js +73 -0
  491. package/dist/webcomponents/p-2f5d6943.entry.js.map +1 -0
  492. package/dist/webcomponents/p-3124fad7.entry.js +348 -0
  493. package/dist/webcomponents/p-3124fad7.entry.js.map +1 -0
  494. package/dist/webcomponents/p-377cfe1d.entry.js +362 -0
  495. package/dist/webcomponents/p-377cfe1d.entry.js.map +1 -0
  496. package/dist/webcomponents/p-3a95b67e.entry.js +120 -0
  497. package/dist/webcomponents/p-3a95b67e.entry.js.map +1 -0
  498. package/dist/webcomponents/p-3b55ea0c.entry.js +389 -0
  499. package/dist/webcomponents/p-3b55ea0c.entry.js.map +1 -0
  500. package/dist/webcomponents/p-3bdc8b39.entry.js +142 -0
  501. package/dist/webcomponents/p-3bdc8b39.entry.js.map +1 -0
  502. package/dist/webcomponents/p-4282727e.entry.js +139 -0
  503. package/dist/webcomponents/p-4282727e.entry.js.map +1 -0
  504. package/dist/webcomponents/p-428c99c3.entry.js +52 -0
  505. package/dist/webcomponents/p-428c99c3.entry.js.map +1 -0
  506. package/dist/webcomponents/p-4dd9d5cd.entry.js +204 -0
  507. package/dist/webcomponents/p-4dd9d5cd.entry.js.map +1 -0
  508. package/dist/webcomponents/p-5d1ff009.entry.js +136 -0
  509. package/dist/webcomponents/p-5d1ff009.entry.js.map +1 -0
  510. package/dist/webcomponents/p-719915a9.entry.js +272 -0
  511. package/dist/webcomponents/p-719915a9.entry.js.map +1 -0
  512. package/dist/webcomponents/p-7a676bbf.entry.js +66 -0
  513. package/dist/webcomponents/p-7a676bbf.entry.js.map +1 -0
  514. package/dist/webcomponents/p-7d2b7cdd.entry.js +52 -0
  515. package/dist/webcomponents/p-7d2b7cdd.entry.js.map +1 -0
  516. package/dist/webcomponents/p-7eeb3f78.entry.js +1015 -0
  517. package/dist/webcomponents/p-7eeb3f78.entry.js.map +1 -0
  518. package/dist/webcomponents/p-7f30b571.entry.js +106 -0
  519. package/dist/webcomponents/p-7f30b571.entry.js.map +1 -0
  520. package/dist/webcomponents/p-80091ce2.entry.js +105 -0
  521. package/dist/webcomponents/p-80091ce2.entry.js.map +1 -0
  522. package/dist/webcomponents/p-8b057d32.entry.js +899 -0
  523. package/dist/webcomponents/p-8b057d32.entry.js.map +1 -0
  524. package/dist/webcomponents/p-8d578007.entry.js +235 -0
  525. package/dist/webcomponents/p-8d578007.entry.js.map +1 -0
  526. package/dist/webcomponents/p-8fdd51b9.entry.js +613 -0
  527. package/dist/webcomponents/p-8fdd51b9.entry.js.map +1 -0
  528. package/dist/webcomponents/p-9092f3dc.entry.js +94 -0
  529. package/dist/webcomponents/p-9092f3dc.entry.js.map +1 -0
  530. package/dist/webcomponents/p-9c2b5fa0.entry.js +616 -0
  531. package/dist/webcomponents/p-9c2b5fa0.entry.js.map +1 -0
  532. package/dist/webcomponents/p-CqgyNPQx.js +191 -0
  533. package/dist/webcomponents/p-CqgyNPQx.js.map +1 -0
  534. package/dist/webcomponents/{p-ByGJPTh2.js → p-DULshOxW.js} +26 -19
  535. package/dist/webcomponents/p-DULshOxW.js.map +1 -0
  536. package/dist/webcomponents/p-a118a0a8.entry.js +62 -0
  537. package/dist/webcomponents/p-a118a0a8.entry.js.map +1 -0
  538. package/dist/webcomponents/p-a1c89064.entry.js +56 -0
  539. package/dist/webcomponents/p-a1c89064.entry.js.map +1 -0
  540. package/dist/webcomponents/{p-a9200224.entry.js → p-a2cd9b08.entry.js} +121 -121
  541. package/dist/webcomponents/p-a2cd9b08.entry.js.map +1 -0
  542. package/dist/webcomponents/p-a3b15b54.entry.js +50 -0
  543. package/dist/webcomponents/p-a3b15b54.entry.js.map +1 -0
  544. package/dist/webcomponents/p-ae73649b.entry.js +235 -0
  545. package/dist/webcomponents/p-ae73649b.entry.js.map +1 -0
  546. package/dist/webcomponents/p-b320f790.entry.js +159 -0
  547. package/dist/webcomponents/p-b320f790.entry.js.map +1 -0
  548. package/dist/webcomponents/p-ba075027.entry.js +169 -0
  549. package/dist/webcomponents/p-ba075027.entry.js.map +1 -0
  550. package/dist/webcomponents/p-bf162cf1.entry.js +286 -0
  551. package/dist/webcomponents/p-bf162cf1.entry.js.map +1 -0
  552. package/dist/webcomponents/p-c3537110.entry.js +131 -0
  553. package/dist/webcomponents/p-c3537110.entry.js.map +1 -0
  554. package/dist/webcomponents/p-c549be31.entry.js +164 -0
  555. package/dist/webcomponents/p-c549be31.entry.js.map +1 -0
  556. package/dist/webcomponents/p-c960983f.entry.js +77 -0
  557. package/dist/webcomponents/p-c960983f.entry.js.map +1 -0
  558. package/dist/webcomponents/p-cca454b0.entry.js +92 -0
  559. package/dist/webcomponents/p-cca454b0.entry.js.map +1 -0
  560. package/dist/webcomponents/p-d391838f.entry.js +271 -0
  561. package/dist/webcomponents/p-d391838f.entry.js.map +1 -0
  562. package/dist/webcomponents/p-d8535324.entry.js +91 -0
  563. package/dist/webcomponents/p-d8535324.entry.js.map +1 -0
  564. package/dist/webcomponents/p-db0eb52b.entry.js +328 -0
  565. package/dist/webcomponents/p-db0eb52b.entry.js.map +1 -0
  566. package/dist/webcomponents/p-df88b55d.entry.js +312 -0
  567. package/dist/webcomponents/p-df88b55d.entry.js.map +1 -0
  568. package/dist/webcomponents/{p-0cfc9f36.entry.js → p-e3d2085a.entry.js} +15 -15
  569. package/dist/webcomponents/p-e3d2085a.entry.js.map +1 -0
  570. package/dist/webcomponents/p-e5e676ff.entry.js +50 -0
  571. package/dist/webcomponents/p-e5e676ff.entry.js.map +1 -0
  572. package/dist/webcomponents/p-e5fabfa7.entry.js +134 -0
  573. package/dist/webcomponents/p-e5fabfa7.entry.js.map +1 -0
  574. package/dist/webcomponents/p-e855ba4f.entry.js +86 -0
  575. package/dist/webcomponents/p-e855ba4f.entry.js.map +1 -0
  576. package/dist/webcomponents/p-fa519b6b.entry.js +60 -0
  577. package/dist/webcomponents/p-fa519b6b.entry.js.map +1 -0
  578. package/dist/webcomponents/p-fa5ec6d6.entry.js +84 -0
  579. package/dist/webcomponents/p-fa5ec6d6.entry.js.map +1 -0
  580. package/dist/webcomponents/p-fef9fc47.entry.js +202 -0
  581. package/dist/webcomponents/p-fef9fc47.entry.js.map +1 -0
  582. package/dist/webcomponents/webcomponents.esm.js +17 -17
  583. package/dist/webcomponents/webcomponents.esm.js.map +1 -1
  584. package/dist/webcomponents.html-custom-data.json +491 -25
  585. package/package.json +1 -1
  586. package/dist/cjs/br-avatar.entry.cjs.js.map +0 -1
  587. package/dist/cjs/br-breadcrumb.entry.cjs.js.map +0 -1
  588. package/dist/cjs/br-button.br-icon.entry.cjs.js.map +0 -1
  589. package/dist/cjs/br-card.entry.cjs.js.map +0 -1
  590. package/dist/cjs/br-checkbox.br-input.br-radio.entry.cjs.js.map +0 -1
  591. package/dist/cjs/br-checkgroup.entry.cjs.js.map +0 -1
  592. package/dist/cjs/br-collapse.cjs.entry.js +0 -187
  593. package/dist/cjs/br-collapse.entry.cjs.js.map +0 -1
  594. package/dist/cjs/br-divider.entry.cjs.js.map +0 -1
  595. package/dist/cjs/br-dropdown.br-select.entry.cjs.js.map +0 -1
  596. package/dist/cjs/br-footer-category.entry.cjs.js.map +0 -1
  597. package/dist/cjs/br-footer-item.entry.cjs.js.map +0 -1
  598. package/dist/cjs/br-footer-legal.entry.cjs.js.map +0 -1
  599. package/dist/cjs/br-footer-logo.entry.cjs.js.map +0 -1
  600. package/dist/cjs/br-footer-social.entry.cjs.js.map +0 -1
  601. package/dist/cjs/br-footer.entry.cjs.js.map +0 -1
  602. package/dist/cjs/br-item.br-list.entry.cjs.js.map +0 -1
  603. package/dist/cjs/br-item_2.cjs.entry.js +0 -409
  604. package/dist/cjs/br-loading.entry.cjs.js.map +0 -1
  605. package/dist/cjs/br-magic-button.entry.cjs.js.map +0 -1
  606. package/dist/cjs/br-message.entry.cjs.js.map +0 -1
  607. package/dist/cjs/br-modal.entry.cjs.js.map +0 -1
  608. package/dist/cjs/br-pagination.entry.cjs.js.map +0 -1
  609. package/dist/cjs/br-scrim.entry.cjs.js.map +0 -1
  610. package/dist/cjs/br-sign-in.entry.cjs.js.map +0 -1
  611. package/dist/cjs/br-step-item.entry.cjs.js.map +0 -1
  612. package/dist/cjs/br-step.entry.cjs.js.map +0 -1
  613. package/dist/cjs/br-switch.entry.cjs.js.map +0 -1
  614. package/dist/cjs/br-tab-item.entry.cjs.js.map +0 -1
  615. package/dist/cjs/br-tab.entry.cjs.js.map +0 -1
  616. package/dist/cjs/br-table-cell.entry.cjs.js.map +0 -1
  617. package/dist/cjs/br-table-header-cell.entry.cjs.js.map +0 -1
  618. package/dist/cjs/br-table-header-row.entry.cjs.js.map +0 -1
  619. package/dist/cjs/br-table-row.entry.cjs.js.map +0 -1
  620. package/dist/cjs/br-table.entry.cjs.js.map +0 -1
  621. package/dist/cjs/br-tag.entry.cjs.js.map +0 -1
  622. package/dist/cjs/br-textarea.entry.cjs.js.map +0 -1
  623. package/dist/cjs/br-tooltip.entry.cjs.js.map +0 -1
  624. package/dist/cjs/br-upload.entry.cjs.js.map +0 -1
  625. package/dist/cjs/index-CFIH680Y.js.map +0 -1
  626. package/dist/components/p-0zSorzux.js +0 -179
  627. package/dist/components/p-BFSUtbLz.js +0 -275
  628. package/dist/components/p-BFSUtbLz.js.map +0 -1
  629. package/dist/components/p-BGvZWtkB.js +0 -250
  630. package/dist/components/p-C5niSTTq.js +0 -164
  631. package/dist/components/p-CbnpaWFn.js +0 -334
  632. package/dist/components/p-CbnpaWFn.js.map +0 -1
  633. package/dist/components/p-CodfIeVU.js +0 -136
  634. package/dist/components/p-CvEK2Il7.js +0 -200
  635. package/dist/components/p-Cw0pxndP.js +0 -525
  636. package/dist/components/p-Cw0pxndP.js.map +0 -1
  637. package/dist/components/p-DGjCsmhy.js +0 -361
  638. package/dist/components/p-DSkSDmzD.js.map +0 -1
  639. package/dist/esm/br-button.br-icon.entry.js.map +0 -1
  640. package/dist/esm/br-checkbox.br-input.br-radio.entry.js.map +0 -1
  641. package/dist/esm/br-collapse.entry.js +0 -185
  642. package/dist/esm/br-collapse.entry.js.map +0 -1
  643. package/dist/esm/br-dropdown.br-select.entry.js.map +0 -1
  644. package/dist/esm/br-item.br-list.entry.js.map +0 -1
  645. package/dist/esm/br-item_2.entry.js +0 -406
  646. package/dist/esm/index-ByGJPTh2.js.map +0 -1
  647. package/dist/webcomponents/br-avatar.entry.esm.js.map +0 -1
  648. package/dist/webcomponents/br-breadcrumb.entry.esm.js.map +0 -1
  649. package/dist/webcomponents/br-button.br-icon.entry.esm.js.map +0 -1
  650. package/dist/webcomponents/br-card.entry.esm.js.map +0 -1
  651. package/dist/webcomponents/br-checkbox.br-input.br-radio.entry.esm.js.map +0 -1
  652. package/dist/webcomponents/br-checkgroup.entry.esm.js.map +0 -1
  653. package/dist/webcomponents/br-collapse.entry.esm.js.map +0 -1
  654. package/dist/webcomponents/br-divider.entry.esm.js.map +0 -1
  655. package/dist/webcomponents/br-dropdown.br-select.entry.esm.js.map +0 -1
  656. package/dist/webcomponents/br-footer-category.entry.esm.js.map +0 -1
  657. package/dist/webcomponents/br-footer-item.entry.esm.js.map +0 -1
  658. package/dist/webcomponents/br-footer-legal.entry.esm.js.map +0 -1
  659. package/dist/webcomponents/br-footer-logo.entry.esm.js.map +0 -1
  660. package/dist/webcomponents/br-footer-social.entry.esm.js.map +0 -1
  661. package/dist/webcomponents/br-footer.entry.esm.js.map +0 -1
  662. package/dist/webcomponents/br-item.br-list.entry.esm.js.map +0 -1
  663. package/dist/webcomponents/br-loading.entry.esm.js.map +0 -1
  664. package/dist/webcomponents/br-magic-button.entry.esm.js.map +0 -1
  665. package/dist/webcomponents/br-message.entry.esm.js.map +0 -1
  666. package/dist/webcomponents/br-modal.entry.esm.js.map +0 -1
  667. package/dist/webcomponents/br-pagination.entry.esm.js.map +0 -1
  668. package/dist/webcomponents/br-scrim.entry.esm.js.map +0 -1
  669. package/dist/webcomponents/br-sign-in.entry.esm.js.map +0 -1
  670. package/dist/webcomponents/br-step-item.entry.esm.js.map +0 -1
  671. package/dist/webcomponents/br-step.entry.esm.js.map +0 -1
  672. package/dist/webcomponents/br-switch.entry.esm.js.map +0 -1
  673. package/dist/webcomponents/br-tab-item.entry.esm.js.map +0 -1
  674. package/dist/webcomponents/br-tab.entry.esm.js.map +0 -1
  675. package/dist/webcomponents/br-table-cell.entry.esm.js.map +0 -1
  676. package/dist/webcomponents/br-table-header-cell.entry.esm.js.map +0 -1
  677. package/dist/webcomponents/br-table-header-row.entry.esm.js.map +0 -1
  678. package/dist/webcomponents/br-table-row.entry.esm.js.map +0 -1
  679. package/dist/webcomponents/br-table.entry.esm.js.map +0 -1
  680. package/dist/webcomponents/br-tag.entry.esm.js.map +0 -1
  681. package/dist/webcomponents/br-textarea.entry.esm.js.map +0 -1
  682. package/dist/webcomponents/br-tooltip.entry.esm.js.map +0 -1
  683. package/dist/webcomponents/br-upload.entry.esm.js.map +0 -1
  684. package/dist/webcomponents/p-0c53e0e8.entry.js +0 -60
  685. package/dist/webcomponents/p-0c53e0e8.entry.js.map +0 -1
  686. package/dist/webcomponents/p-0c7961dc.entry.js +0 -286
  687. package/dist/webcomponents/p-0c7961dc.entry.js.map +0 -1
  688. package/dist/webcomponents/p-0cc360f5.entry.js +0 -271
  689. package/dist/webcomponents/p-0cc360f5.entry.js.map +0 -1
  690. package/dist/webcomponents/p-0cfc9f36.entry.js.map +0 -1
  691. package/dist/webcomponents/p-110e53e5.entry.js +0 -91
  692. package/dist/webcomponents/p-110e53e5.entry.js.map +0 -1
  693. package/dist/webcomponents/p-136fc952.entry.js +0 -459
  694. package/dist/webcomponents/p-136fc952.entry.js.map +0 -1
  695. package/dist/webcomponents/p-13e6e87d.entry.js +0 -73
  696. package/dist/webcomponents/p-13e6e87d.entry.js.map +0 -1
  697. package/dist/webcomponents/p-16cf274f.entry.js +0 -134
  698. package/dist/webcomponents/p-16cf274f.entry.js.map +0 -1
  699. package/dist/webcomponents/p-1b970308.entry.js +0 -159
  700. package/dist/webcomponents/p-1b970308.entry.js.map +0 -1
  701. package/dist/webcomponents/p-1cc6bcdd.entry.js +0 -62
  702. package/dist/webcomponents/p-1cc6bcdd.entry.js.map +0 -1
  703. package/dist/webcomponents/p-1d8feab9.entry.js +0 -385
  704. package/dist/webcomponents/p-1d8feab9.entry.js.map +0 -1
  705. package/dist/webcomponents/p-26a029f7.entry.js +0 -389
  706. package/dist/webcomponents/p-26a029f7.entry.js.map +0 -1
  707. package/dist/webcomponents/p-2b9f0a10.entry.js +0 -361
  708. package/dist/webcomponents/p-2b9f0a10.entry.js.map +0 -1
  709. package/dist/webcomponents/p-2c8976dc.entry.js +0 -86
  710. package/dist/webcomponents/p-2c8976dc.entry.js.map +0 -1
  711. package/dist/webcomponents/p-3407c22c.entry.js +0 -113
  712. package/dist/webcomponents/p-3407c22c.entry.js.map +0 -1
  713. package/dist/webcomponents/p-37c8053c.entry.js +0 -44
  714. package/dist/webcomponents/p-37c8053c.entry.js.map +0 -1
  715. package/dist/webcomponents/p-3ecf55fc.entry.js +0 -92
  716. package/dist/webcomponents/p-3ecf55fc.entry.js.map +0 -1
  717. package/dist/webcomponents/p-531c7f89.entry.js +0 -201
  718. package/dist/webcomponents/p-531c7f89.entry.js.map +0 -1
  719. package/dist/webcomponents/p-5e063914.entry.js +0 -217
  720. package/dist/webcomponents/p-5e063914.entry.js.map +0 -1
  721. package/dist/webcomponents/p-63a7b4fb.entry.js +0 -202
  722. package/dist/webcomponents/p-63a7b4fb.entry.js.map +0 -1
  723. package/dist/webcomponents/p-67d88dcb.entry.js +0 -923
  724. package/dist/webcomponents/p-67d88dcb.entry.js.map +0 -1
  725. package/dist/webcomponents/p-696b898b.entry.js +0 -587
  726. package/dist/webcomponents/p-696b898b.entry.js.map +0 -1
  727. package/dist/webcomponents/p-6dcfc5d7.entry.js +0 -105
  728. package/dist/webcomponents/p-6dcfc5d7.entry.js.map +0 -1
  729. package/dist/webcomponents/p-6f5f88fc.entry.js +0 -120
  730. package/dist/webcomponents/p-6f5f88fc.entry.js.map +0 -1
  731. package/dist/webcomponents/p-709ae70f.entry.js +0 -50
  732. package/dist/webcomponents/p-709ae70f.entry.js.map +0 -1
  733. package/dist/webcomponents/p-850a2df0.entry.js +0 -235
  734. package/dist/webcomponents/p-850a2df0.entry.js.map +0 -1
  735. package/dist/webcomponents/p-85f17810.entry.js +0 -94
  736. package/dist/webcomponents/p-85f17810.entry.js.map +0 -1
  737. package/dist/webcomponents/p-8f481839.entry.js +0 -52
  738. package/dist/webcomponents/p-8f481839.entry.js.map +0 -1
  739. package/dist/webcomponents/p-9cde1441.entry.js +0 -50
  740. package/dist/webcomponents/p-9cde1441.entry.js.map +0 -1
  741. package/dist/webcomponents/p-ByGJPTh2.js.map +0 -1
  742. package/dist/webcomponents/p-a9200224.entry.js.map +0 -1
  743. package/dist/webcomponents/p-abfb0743.entry.js +0 -554
  744. package/dist/webcomponents/p-abfb0743.entry.js.map +0 -1
  745. package/dist/webcomponents/p-b3a7c11a.entry.js +0 -131
  746. package/dist/webcomponents/p-b3a7c11a.entry.js.map +0 -1
  747. package/dist/webcomponents/p-bcb65fc2.entry.js +0 -169
  748. package/dist/webcomponents/p-bcb65fc2.entry.js.map +0 -1
  749. package/dist/webcomponents/p-c0e50bbd.entry.js +0 -136
  750. package/dist/webcomponents/p-c0e50bbd.entry.js.map +0 -1
  751. package/dist/webcomponents/p-ce2e0625.entry.js +0 -139
  752. package/dist/webcomponents/p-ce2e0625.entry.js.map +0 -1
  753. package/dist/webcomponents/p-da3acefd.entry.js +0 -77
  754. package/dist/webcomponents/p-da3acefd.entry.js.map +0 -1
  755. package/dist/webcomponents/p-e86962f6.entry.js +0 -272
  756. package/dist/webcomponents/p-e86962f6.entry.js.map +0 -1
@@ -0,0 +1,1064 @@
1
+ /*!
2
+ * Construído por SERPRO
3
+ * © https://serpro.gov.br/ - MIT License.
4
+ */
5
+ import { h, Host } from "@stencil/core";
6
+ /**
7
+ * Componente raiz do Menu responsivo do Design System. Ele organiza navegação hierárquica, rodapé contextual e
8
+ * comportamentos como push/contextual, integrando `br-menu-list`, `br-menu-item` e subcomponentes auxiliares.
9
+ *
10
+ * @example
11
+ * ```html
12
+ * <br-menu push>
13
+ * <div slot="header">Minha aplicação</div>
14
+ * <br-menu-list label="Administração">
15
+ * <br-menu-item href="/dashboard" active>Dashboard</br-menu-item>
16
+ * <br-menu-item href="/usuarios">Usuários</br-menu-item>
17
+ * </br-menu-list>
18
+ * </br-menu>
19
+ * ```
20
+ *
21
+ * @slot default - Conteúdo principal do menu (menu-list e menu-item)
22
+ * @slot header - Cabeçalho do menu (exibido apenas em modo não-contextual)
23
+ * @slot logo - Logotipos de parceiros no rodapé
24
+ * @slot link - Links externos no rodapé (use br-menu-link)
25
+ * @slot social - Ícones de redes sociais no rodapé
26
+ * @slot info - Informações adicionais no rodapé
27
+ *
28
+ * @part footer - O contêiner principal do rodapé do menu, que agrupa as seções de logos, links, redes sociais e informações.
29
+ * @part logo - A área específica para exibir os logotipos de parceiros ou relacionados, dentro do rodapé.
30
+ * @part link - A seção destinada a links úteis ou de navegação secundária no rodapé do menu.
31
+ * @part social - O contêiner para os ícones de redes sociais.
32
+ * @part info - Uma área para informações adicionais, como textos de licença ou direitos autorais.
33
+ */
34
+ export class Menu {
35
+ constructor() {
36
+ /**
37
+ * Classes CSS para definir breakpoints responsivos do menu.
38
+ * Utilize esta propriedade para controlar a largura do menu em diferentes tamanhos de tela.
39
+ * @default 'col-sm-4 col-lg-3'
40
+ */
41
+ // Por padrão não aplica colunas; quando contextual e sem valor definido, usa 'col-sm-4 col-lg-3'
42
+ this.breakpoints = '';
43
+ /**
44
+ * Define se o menu deve usar comportamento push (sempre visível em telas maiores).
45
+ * Quando ativado, o menu permanece fixo na lateral e empurra o conteúdo principal.
46
+ * @default false
47
+ */
48
+ this.push = false;
49
+ /**
50
+ * Define se o menu deve usar comportamento contextual (aparece na parte inferior).
51
+ * Quando ativado, o menu é posicionado na parte inferior da tela em dispositivos móveis.
52
+ * @default false
53
+ */
54
+ this.contextual = false;
55
+ /**
56
+ * Define a densidade dos itens do menu, alterando o espaçamento interno.
57
+ * - `small` (densidade alta): itens mais compactos
58
+ * - `medium` (padrão): equilíbrio entre economia de espaço e separação
59
+ * - `large` (densidade baixa): maior espaçamento (recomendado em touch)
60
+ * @default 'medium'
61
+ */
62
+ this.density = 'medium';
63
+ /**
64
+ * Título da seção de redes sociais exibida no rodapé do menu.
65
+ * Utilize esta propriedade para personalizar o texto que aparece acima dos ícones sociais.
66
+ * @default 'Redes Sociais'
67
+ */
68
+ this.socialTitle = 'Redes Sociais';
69
+ /**
70
+ * Rótulo do botão trigger do menu contextual.
71
+ * Exibido apenas em modo contextual e em telas menores (mobile).
72
+ * @default 'Menu Contextual'
73
+ */
74
+ this.contextualLabel = 'Menu Contextual';
75
+ // Define se o menu está aberto/visível ou fechado
76
+ this.active = false;
77
+ // Indica se o menu está exibindo um submenu (drill-down ativo)
78
+ this.inSubmenu = false;
79
+ // Representa o nível atual de navegação no drill-down (0 para o nível raiz)
80
+ this.currentLevel = 0;
81
+ // Controla quais menus drop-down estão expandidos no modo acordeão
82
+ this.expandedDropMenus = {};
83
+ // Pilha de navegação para controle do drill-down e navegação de volta
84
+ this.navigationStack = [];
85
+ // Armazena o elemento que tinha foco antes do menu abrir (para restaurar o foco ao fechar)
86
+ this.previouslyFocusedElement = null;
87
+ // IDs dos requestAnimationFrame para cancelamento no cleanup
88
+ this.rafIds = [];
89
+ this.handleToggleMenu = () => {
90
+ this.toggleMenu();
91
+ };
92
+ this.handleGoBack = () => {
93
+ this.goBack();
94
+ };
95
+ this.handleCloseMenu = () => {
96
+ this.closeMenu();
97
+ };
98
+ }
99
+ componentDidLoad() {
100
+ // Garante que apenas um item tenha active no carregamento inicial
101
+ this.ensureSingleActiveItem();
102
+ }
103
+ /**
104
+ * Método do ciclo de vida do componente.
105
+ * Este método é chamado quando o componente é desconectado do DOM.
106
+ * Realiza limpeza de recursos para evitar vazamento de memória.
107
+ */
108
+ disconnectedCallback() {
109
+ // Cancela todos os requestAnimationFrame pendentes
110
+ this.rafIds.forEach((id) => cancelAnimationFrame(id));
111
+ this.rafIds = [];
112
+ }
113
+ ensureSingleActiveItem() {
114
+ const allMenuItems = this.el.querySelectorAll('br-menu-item');
115
+ let firstActiveItem = null;
116
+ // Encontra o primeiro item com active e remove dos demais
117
+ for (let i = 0; i < allMenuItems.length; i++) {
118
+ const item = allMenuItems[i];
119
+ // Verifica se o item tem active
120
+ if (item.active || item.hasAttribute('active')) {
121
+ // Se é um header de menu-list (folder), remove o active
122
+ const displayMode = item.getAttribute('display-mode');
123
+ if (displayMode && displayMode !== 'none') {
124
+ item.active = false;
125
+ item.removeAttribute('active');
126
+ continue;
127
+ }
128
+ // Se já encontramos um item ativo antes, remove deste
129
+ if (firstActiveItem) {
130
+ item.active = false;
131
+ item.removeAttribute('active');
132
+ }
133
+ else {
134
+ // É o primeiro item ativo válido
135
+ firstActiveItem = item;
136
+ item.active = true;
137
+ }
138
+ }
139
+ }
140
+ }
141
+ handleMenuItemClick(ev) {
142
+ var _a;
143
+ // Busca o menu-item mais próximo do alvo do clique
144
+ const path = ev.composedPath();
145
+ let menuItemHost = null;
146
+ // Percorre o caminho do evento para encontrar o br-menu-item
147
+ for (const element of path) {
148
+ if (element instanceof HTMLElement && element.tagName === 'BR-MENU-ITEM') {
149
+ menuItemHost = element;
150
+ break;
151
+ }
152
+ // Para quando chegar no host do menu
153
+ if (element === this.el)
154
+ break;
155
+ }
156
+ if (!menuItemHost || !this.el.contains(menuItemHost))
157
+ return;
158
+ // Ignora se for um header de menu-list (folder/dropdown que tem filhos)
159
+ // Menus que expandem/têm submenus não devem receber classe active
160
+ const parentMenuList = menuItemHost.parentElement;
161
+ if ((parentMenuList === null || parentMenuList === void 0 ? void 0 : parentMenuList.tagName) === 'BR-MENU-LIST') {
162
+ // Se é filho direto de br-menu-list, verifica se é o header (primeiro br-menu-item)
163
+ const header = (_a = parentMenuList.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('br-menu-item');
164
+ if (header === menuItemHost) {
165
+ // É um header de folder, não deve receber active
166
+ return;
167
+ }
168
+ }
169
+ // Também verifica via atributo display-mode
170
+ const displayMode = menuItemHost.getAttribute('display-mode');
171
+ if (displayMode && displayMode !== 'none') {
172
+ return;
173
+ }
174
+ // Remove active de todos os menu-items
175
+ const allMenuItems = this.el.querySelectorAll('br-menu-item');
176
+ for (let i = 0; i < allMenuItems.length; i++) {
177
+ const item = allMenuItems[i];
178
+ item.active = false;
179
+ }
180
+ // Marca o item clicado como ativo
181
+ ;
182
+ menuItemHost.active = true;
183
+ }
184
+ handleKeyDown(ev) {
185
+ var _a;
186
+ // Permite ativar o botão contextual com Enter ou Espaço quando o menu está fechado
187
+ if (!this.active && this.contextual && (ev.key === 'Enter' || ev.key === ' ')) {
188
+ const target = ev.target;
189
+ const isContextualButton = ((_a = target === null || target === void 0 ? void 0 : target.closest) === null || _a === void 0 ? void 0 : _a.call(target, '#contextual-trigger')) || (target === null || target === void 0 ? void 0 : target.id) === 'contextual-trigger';
190
+ if (isContextualButton) {
191
+ ev.preventDefault();
192
+ this.toggleMenu();
193
+ return;
194
+ }
195
+ }
196
+ if (!this.active)
197
+ return;
198
+ const targetEl = ev.target;
199
+ const isFormField = targetEl &&
200
+ (targetEl.tagName === 'INPUT' ||
201
+ targetEl.tagName === 'TEXTAREA' ||
202
+ targetEl.tagName === 'SELECT' ||
203
+ targetEl.isContentEditable);
204
+ // Focus trap: gerencia Tab/Shift+Tab para manter o foco dentro do menu
205
+ if (ev.key === 'Tab') {
206
+ const focusableElements = this.getFocusableElements();
207
+ if (focusableElements.length === 0)
208
+ return;
209
+ const firstElement = focusableElements[0];
210
+ const lastElement = focusableElements[focusableElements.length - 1];
211
+ const deepActive = this.getDeepActiveElement();
212
+ // Se Tab sem Shift e está no último elemento, volta para o primeiro
213
+ if (!ev.shiftKey && deepActive === lastElement) {
214
+ ev.preventDefault();
215
+ firstElement.focus();
216
+ return;
217
+ }
218
+ // Se Shift+Tab e está no primeiro elemento, vai para o último
219
+ if (ev.shiftKey && deepActive === firstElement) {
220
+ ev.preventDefault();
221
+ lastElement.focus();
222
+ return;
223
+ }
224
+ }
225
+ // Voltar/fechar
226
+ if (this.inSubmenu && (ev.key === 'ArrowLeft' || ev.key === 'Backspace' || ev.key === 'Escape')) {
227
+ ev.preventDefault();
228
+ this.goBack();
229
+ return;
230
+ }
231
+ if (!this.inSubmenu && ev.key === 'Escape') {
232
+ ev.preventDefault();
233
+ this.closeMenu();
234
+ return;
235
+ }
236
+ // Navegação global por setas (fallback para todos os tipos de menu)
237
+ if (!isFormField && (ev.key === 'ArrowDown' || ev.key === 'ArrowUp')) {
238
+ const deepActive = this.getDeepActiveElement();
239
+ if (deepActive == null || !this.isNodeWithinHost(deepActive))
240
+ return;
241
+ ev.preventDefault();
242
+ ev.stopPropagation();
243
+ // No modo contextual ou quando não há drill-down ativo, navega por todos os itens visíveis
244
+ const useGlobalNavigation = this.contextual || !this.inSubmenu;
245
+ const targets = useGlobalNavigation ? this.getAllVisibleTargets() : this.getScopedTargets(deepActive);
246
+ if (targets.length === 0)
247
+ return;
248
+ let index = targets.findIndex((t) => t === deepActive || (deepActive instanceof Node && t.contains(deepActive)));
249
+ if (index === -1)
250
+ index = 0;
251
+ const nextIndex = ev.key === 'ArrowDown' ? (index + 1) % targets.length : (index - 1 + targets.length) % targets.length;
252
+ targets[nextIndex].focus();
253
+ }
254
+ }
255
+ handleNavigateToSubmenu(ev) {
256
+ const { element, label } = ev.detail;
257
+ const itemId = element.getAttribute('data-menu-id') || `menu-${Date.now()}`;
258
+ // Obter o nível real do menu do elemento
259
+ const menuLevel = parseInt(element.getAttribute('menu-level') || '0', 10);
260
+ // Aplicar a regra principal: comportamento por nível
261
+ if (menuLevel === 0) {
262
+ // Camada 1: Comportamento de acordeão
263
+ this.toggleDropMenu(itemId);
264
+ }
265
+ else {
266
+ // Camada 2+: Comportamento drill-down
267
+ this.navigateToLevel({ element, label, id: itemId });
268
+ }
269
+ }
270
+ handleFolderToggled(ev) {
271
+ const element = ev.target;
272
+ const itemId = element.getAttribute('data-menu-id') || `menu-${Date.now()}`;
273
+ if (ev.detail) {
274
+ // Se o folder foi expandido, fecha todos os outros no nível 0
275
+ this.collapseOtherFolders(itemId);
276
+ }
277
+ }
278
+ handleMenuHeaderClose() {
279
+ this.closeMenu();
280
+ }
281
+ /**
282
+ * Alterna o estado expandido de um menu drop-down no modo acordeão.
283
+ *
284
+ * Este método recebe o identificador único (`itemId`) de um menu do tipo drop-down (nível 0)
285
+ * e inverte o seu estado de expansão dentro do objeto `expandedDropMenus`.
286
+ *
287
+ * Se o menu estiver atualmente expandido, ele será recolhido; se estiver recolhido, será expandido.
288
+ * O spread operator (`...this.expandedDropMenus`) garante que os estados dos outros menus sejam preservados.
289
+ *
290
+ * @param itemId - Identificador único do menu drop-down a ser alternado.
291
+ */
292
+ toggleDropMenu(itemId) {
293
+ this.expandedDropMenus = Object.assign(Object.assign({}, this.expandedDropMenus), { [itemId]: !this.expandedDropMenus[itemId] });
294
+ }
295
+ /**
296
+ * Recolhe todos os folders do nível 0, exceto o especificado.
297
+ * Garante que apenas um folder possa estar expandido por vez no comportamento acordeão.
298
+ *
299
+ * @param activeItemId - ID do folder que deve permanecer expandido
300
+ */
301
+ collapseOtherFolders(activeItemId) {
302
+ // Encontra todos os menu-list no nível 0
303
+ const level0MenuLists = this.el.querySelectorAll('br-menu-list[menu-level="0"]');
304
+ level0MenuLists.forEach((menuList) => {
305
+ const element = menuList;
306
+ const itemId = element.getAttribute('data-menu-id');
307
+ // Se é um folder diferente do ativo, força o recolhimento
308
+ if (itemId && itemId !== activeItemId) {
309
+ // Força o estado recolhido no menu-list
310
+ ;
311
+ element.expanded = false;
312
+ // Remove do estado de expandedDropMenus
313
+ if (this.expandedDropMenus[itemId]) {
314
+ this.expandedDropMenus = Object.assign(Object.assign({}, this.expandedDropMenus), { [itemId]: false });
315
+ }
316
+ }
317
+ });
318
+ }
319
+ /**
320
+ * Navega para um nível específico do menu (drill-down).
321
+ *
322
+ * Este método é chamado quando o usuário interage com um item de menu de nível 2 ou superior,
323
+ * ou seja, quando o comportamento esperado é de drill-down (aprofundamento em submenus).
324
+ *
325
+ * Funcionamento:
326
+ * 1. Adiciona o item atual à pilha de navegação (`navigationStack`), permitindo que o usuário volte para níveis anteriores.
327
+ * 2. Obtém o nível do menu a partir do atributo `menu-level` do elemento clicado.
328
+ * 3. Atualiza o estado `currentLevel` para refletir o novo nível de profundidade (sempre um nível abaixo do atual).
329
+ * 4. Define `inSubmenu` como `true`, indicando que o usuário está navegando em um submenu.
330
+ * 5. Oculta todos os itens do menu, exceto o submenu selecionado, para garantir foco e clareza na navegação.
331
+ * 6. Marca o elemento ativo como "drill active" para controle visual e de acessibilidade.
332
+ *
333
+ * @param item - Objeto contendo o elemento do menu, seu rótulo e identificador único.
334
+ */
335
+ navigateToLevel(item) {
336
+ // Adiciona o item à pilha de navegação para possibilitar o retorno (back)
337
+ this.navigationStack.push(item);
338
+ // Obtém o nível do menu a partir do atributo do elemento
339
+ const menuLevel = parseInt(item.element.getAttribute('menu-level') || '0', 10);
340
+ // Atualiza o nível atual para o próximo nível após o elemento clicado
341
+ this.currentLevel = menuLevel + 1;
342
+ // Indica que estamos em um submenu (drill-down ativo)
343
+ this.inSubmenu = true;
344
+ // Oculta todos os menus, exceto o submenu selecionado
345
+ this.hideAllExcept(item.element);
346
+ // Marca o submenu como ativo para controle visual e de acessibilidade
347
+ this.setDrillActive(item.element, true);
348
+ // Após entrar no submenu, foca no primeiro item visível
349
+ const rafId = requestAnimationFrame(() => this.focusFirstChildOfList(item.element));
350
+ this.rafIds.push(rafId);
351
+ }
352
+ focusFirstChildOfList(listEl) {
353
+ var _a, _b, _c, _d, _e;
354
+ const slotEl = (_a = listEl.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('ul slot');
355
+ const assigned = ((_b = slotEl === null || slotEl === void 0 ? void 0 : slotEl.assignedElements) === null || _b === void 0 ? void 0 : _b.call(slotEl)) || [];
356
+ for (const el of assigned) {
357
+ if (el.tagName === 'BR-MENU-ITEM') {
358
+ const anchor = (_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('a');
359
+ if (this.isVisibleElement(el) && this.isVisibleElement(anchor)) {
360
+ anchor.focus();
361
+ return;
362
+ }
363
+ }
364
+ else if (el.tagName === 'BR-MENU-LIST') {
365
+ const header = (_d = el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('br-menu-item');
366
+ const anchor = (_e = header === null || header === void 0 ? void 0 : header.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('a');
367
+ if (this.isVisibleElement(el) && this.isVisibleElement(anchor)) {
368
+ anchor.focus();
369
+ return;
370
+ }
371
+ }
372
+ }
373
+ }
374
+ toggleMenu() {
375
+ this.active = !this.active;
376
+ if (this.active) {
377
+ // Armazena o elemento que estava com foco antes de abrir o menu
378
+ this.previouslyFocusedElement = this.getDeepActiveElement();
379
+ // Foca no primeiro elemento visível do menu
380
+ const rafId = requestAnimationFrame(() => this.focusFirstVisibleTarget());
381
+ this.rafIds.push(rafId);
382
+ }
383
+ else {
384
+ // Se está fechando, chama closeMenu para fazer a limpeza completa
385
+ this.closeMenu();
386
+ }
387
+ }
388
+ closeMenu() {
389
+ this.active = false;
390
+ this.inSubmenu = false;
391
+ this.resetNavigation();
392
+ // Restaura o foco para o elemento que estava focado antes do menu abrir
393
+ if (this.previouslyFocusedElement) {
394
+ const rafId = requestAnimationFrame(() => {
395
+ var _a;
396
+ (_a = this.previouslyFocusedElement) === null || _a === void 0 ? void 0 : _a.focus();
397
+ this.previouslyFocusedElement = null;
398
+ });
399
+ this.rafIds.push(rafId);
400
+ }
401
+ else {
402
+ // Se não há elemento anterior, foca no botão toggle
403
+ const rafId = requestAnimationFrame(() => {
404
+ var _a, _b, _c;
405
+ const toggleButton = this.contextual
406
+ ? (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#contextual-trigger')
407
+ : (_b = this.el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#toggle-menu');
408
+ if (toggleButton) {
409
+ const button = (_c = toggleButton.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('button');
410
+ button === null || button === void 0 ? void 0 : button.focus();
411
+ }
412
+ });
413
+ this.rafIds.push(rafId);
414
+ }
415
+ }
416
+ resetNavigation() {
417
+ this.navigationStack = [];
418
+ this.currentLevel = 0;
419
+ this.expandedDropMenus = {};
420
+ this.clearAllDrillMarkers();
421
+ this.showAllMenuItems();
422
+ }
423
+ isVisibleElement(el) {
424
+ var _a;
425
+ if (el == null)
426
+ return false;
427
+ const htmlEl = el;
428
+ if (!htmlEl.isConnected)
429
+ return false;
430
+ if (htmlEl.hasAttribute('hidden'))
431
+ return false;
432
+ const rects = (_a = htmlEl.getClientRects) === null || _a === void 0 ? void 0 : _a.call(htmlEl);
433
+ return rects != null && rects.length > 0;
434
+ }
435
+ getTopLevelTargets() {
436
+ var _a, _b, _c, _d, _e;
437
+ const targets = [];
438
+ const bodySlot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('nav.menu-body slot:not([name])');
439
+ const children = ((_b = bodySlot === null || bodySlot === void 0 ? void 0 : bodySlot.assignedElements) === null || _b === void 0 ? void 0 : _b.call(bodySlot)) || [];
440
+ for (const child of children) {
441
+ if (child.tagName === 'BR-MENU-ITEM') {
442
+ if (!this.isVisibleElement(child))
443
+ continue;
444
+ const anchor = (_c = child.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('a');
445
+ if (this.isVisibleElement(anchor))
446
+ targets.push(anchor);
447
+ }
448
+ else if (child.tagName === 'BR-MENU-LIST') {
449
+ if (!this.isVisibleElement(child))
450
+ continue;
451
+ const header = (_d = child.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('br-menu-item');
452
+ const anchor = (_e = header === null || header === void 0 ? void 0 : header.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('a');
453
+ if (this.isVisibleElement(anchor))
454
+ targets.push(anchor);
455
+ }
456
+ }
457
+ return targets;
458
+ }
459
+ /**
460
+ * Obtém todos os elementos navegáveis visíveis no menu, incluindo itens dentro de agrupamentos expandidos.
461
+ * Utilizado para navegação global por setas no modo contextual.
462
+ */
463
+ getAllVisibleTargets() {
464
+ var _a, _b;
465
+ const targets = [];
466
+ const bodySlot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('nav.menu-body slot:not([name])');
467
+ const children = ((_b = bodySlot === null || bodySlot === void 0 ? void 0 : bodySlot.assignedElements) === null || _b === void 0 ? void 0 : _b.call(bodySlot)) || [];
468
+ for (const child of children) {
469
+ this.collectVisibleTargetsFrom(child, targets);
470
+ }
471
+ return targets;
472
+ }
473
+ /**
474
+ * Coleta recursivamente todos os targets visíveis de um elemento e seus descendentes.
475
+ * Respeita o estado expandido/recolhido dos agrupamentos.
476
+ */
477
+ collectVisibleTargetsFrom(element, targets) {
478
+ var _a, _b, _c, _d, _e;
479
+ if (element.tagName === 'BR-MENU-ITEM') {
480
+ if (!this.isVisibleElement(element))
481
+ return;
482
+ const anchor = (_a = element.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('a');
483
+ if (this.isVisibleElement(anchor)) {
484
+ targets.push(anchor);
485
+ }
486
+ }
487
+ else if (element.tagName === 'BR-MENU-LIST') {
488
+ if (!this.isVisibleElement(element))
489
+ return;
490
+ // Adiciona o header do menu-list
491
+ const header = (_b = element.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('br-menu-item');
492
+ const headerAnchor = (_c = header === null || header === void 0 ? void 0 : header.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('a');
493
+ if (this.isVisibleElement(headerAnchor)) {
494
+ targets.push(headerAnchor);
495
+ }
496
+ // Verifica se o menu-list está expandido antes de processar os filhos
497
+ const menuListEl = element;
498
+ const isExpanded = menuListEl.expanded || menuListEl.hasAttribute('expanded');
499
+ if (isExpanded) {
500
+ // Verifica também se o <ul> está realmente visível (para nível 0 que usa display:none)
501
+ const ulElement = (_d = element.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('ul');
502
+ const isUlVisible = ulElement ? this.isVisibleElement(ulElement) : false;
503
+ if (isUlVisible) {
504
+ // Coleta os filhos do slot do menu-list
505
+ const slotEl = ulElement.querySelector('slot');
506
+ const assigned = ((_e = slotEl === null || slotEl === void 0 ? void 0 : slotEl.assignedElements) === null || _e === void 0 ? void 0 : _e.call(slotEl)) || [];
507
+ for (const child of assigned) {
508
+ this.collectVisibleTargetsFrom(child, targets);
509
+ }
510
+ }
511
+ }
512
+ }
513
+ }
514
+ /**
515
+ * Obtém targets com escopo limitado ao menu-list mais próximo (usado em drill-down).
516
+ */
517
+ getScopedTargets(deepActive) {
518
+ const listScope = this.findClosestMenuListFrom(deepActive);
519
+ return listScope ? this.getTargetsForMenuList(listScope) : this.getTopLevelTargets();
520
+ }
521
+ isNodeWithinHost(node) {
522
+ let current = node;
523
+ while (current != null) {
524
+ if (current === this.el)
525
+ return true;
526
+ if (current instanceof Element && current.parentElement != null) {
527
+ current = current.parentElement;
528
+ }
529
+ else {
530
+ const root = current instanceof Element ? current.getRootNode() : current;
531
+ current = root != null && 'host' in root ? root.host : null;
532
+ }
533
+ }
534
+ return false;
535
+ }
536
+ findClosestMenuListFrom(node) {
537
+ let current = node;
538
+ while (current != null) {
539
+ if (current instanceof Element && current.tagName === 'BR-MENU-LIST')
540
+ return current;
541
+ if (current instanceof Element && current.parentElement != null) {
542
+ current = current.parentElement;
543
+ }
544
+ else {
545
+ const root = current instanceof Element ? current.getRootNode() : current;
546
+ current = root != null && 'host' in root ? root.host : null;
547
+ }
548
+ }
549
+ return null;
550
+ }
551
+ getTargetsForMenuList(listEl) {
552
+ var _a, _b, _c, _d, _e, _f, _g;
553
+ const targets = [];
554
+ const header = (_a = listEl.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('br-menu-item');
555
+ const headerAnchor = (_b = header === null || header === void 0 ? void 0 : header.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('a');
556
+ if (this.isVisibleElement(header) && this.isVisibleElement(headerAnchor))
557
+ targets.push(headerAnchor);
558
+ const slotEl = (_c = listEl.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('ul slot');
559
+ const assigned = ((_d = slotEl === null || slotEl === void 0 ? void 0 : slotEl.assignedElements) === null || _d === void 0 ? void 0 : _d.call(slotEl)) || [];
560
+ for (const el of assigned) {
561
+ if (el.tagName === 'BR-MENU-ITEM') {
562
+ const anchor = (_e = el.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('a');
563
+ if (this.isVisibleElement(el) && this.isVisibleElement(anchor))
564
+ targets.push(anchor);
565
+ }
566
+ else if (el.tagName === 'BR-MENU-LIST') {
567
+ const subHeader = (_f = el.shadowRoot) === null || _f === void 0 ? void 0 : _f.querySelector('br-menu-item');
568
+ const subAnchor = (_g = subHeader === null || subHeader === void 0 ? void 0 : subHeader.shadowRoot) === null || _g === void 0 ? void 0 : _g.querySelector('a');
569
+ if (this.isVisibleElement(el) && this.isVisibleElement(subAnchor))
570
+ targets.push(subAnchor);
571
+ }
572
+ }
573
+ return targets;
574
+ }
575
+ focusFirstVisibleTarget() {
576
+ const targets = this.getTopLevelTargets();
577
+ if (targets.length > 0)
578
+ targets[0].focus();
579
+ }
580
+ /**
581
+ * Coleta recursivamente os elementos focáveis no modo drill-down.
582
+ * Respeita a ordem do DOM e a hierarquia dos elementos.
583
+ * Apenas coleta elementos que não têm o atributo 'hidden'.
584
+ */
585
+ collectDrillDownTargets(element, targets) {
586
+ var _a, _b, _c;
587
+ const children = Array.from(element.children);
588
+ for (const child of children) {
589
+ if (child.hasAttribute('hidden'))
590
+ continue;
591
+ if (!this.isVisibleElement(child))
592
+ continue;
593
+ if (child.tagName === 'BR-MENU-ITEM') {
594
+ const anchor = (_a = child.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('a');
595
+ if (anchor && this.isVisibleElement(anchor)) {
596
+ targets.push(anchor);
597
+ }
598
+ }
599
+ else if (child.tagName === 'BR-MENU-LIST') {
600
+ // Adiciona o header do menu-list
601
+ const header = (_b = child.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('br-menu-item');
602
+ const headerAnchor = (_c = header === null || header === void 0 ? void 0 : header.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('a');
603
+ if (headerAnchor && this.isVisibleElement(headerAnchor)) {
604
+ targets.push(headerAnchor);
605
+ }
606
+ // Coleta recursivamente os filhos do menu-list
607
+ this.collectDrillDownTargets(child, targets);
608
+ }
609
+ else {
610
+ // Para outros elementos, continua a busca recursiva
611
+ this.collectDrillDownTargets(child, targets);
612
+ }
613
+ }
614
+ }
615
+ /**
616
+ * Obtém todos os elementos focáveis dentro do menu que estão visíveis.
617
+ * Inclui botões, links e outros elementos interativos.
618
+ * No modo contextual, inclui itens dentro de agrupamentos expandidos.
619
+ */
620
+ getFocusableElements() {
621
+ var _a, _b, _c, _d, _e;
622
+ const focusable = [];
623
+ const menuPanel = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.menu-panel');
624
+ if (!menuPanel)
625
+ return focusable;
626
+ // Adiciona o botão trigger (toggle/contextual) como primeiro elemento com foco
627
+ const triggerButton = this.contextual
628
+ ? (_b = this.el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#contextual-trigger')
629
+ : (_c = this.el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('#toggle-menu');
630
+ if (triggerButton) {
631
+ const button = (_d = triggerButton.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('button');
632
+ if (button && this.isVisibleElement(button)) {
633
+ focusable.push(button);
634
+ }
635
+ }
636
+ // Busca o botão de voltar se estiver em submenu
637
+ const backButton = (_e = this.el.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('.back-btn');
638
+ if (backButton && this.isVisibleElement(backButton)) {
639
+ focusable.push(backButton);
640
+ }
641
+ // No modo contextual ou quando não há drill-down, usa navegação global que respeita estado expandido
642
+ if (this.contextual || !this.inSubmenu) {
643
+ const targets = this.getAllVisibleTargets();
644
+ focusable.push(...targets);
645
+ }
646
+ else {
647
+ // Em drill-down, coleta elementos na ordem do DOM respeitando a hierarquia
648
+ // O método hideAllExcept() já controla a visibilidade via atributo 'hidden'
649
+ this.collectDrillDownTargets(this.el, focusable);
650
+ }
651
+ return focusable;
652
+ }
653
+ // Navegação por setas é tratada via listener global de teclado
654
+ getDeepActiveElement(root = document) {
655
+ const active = root.activeElement;
656
+ const shadowRoot = active && 'shadowRoot' in active ? active.shadowRoot : null;
657
+ if (shadowRoot && shadowRoot.activeElement)
658
+ return this.getDeepActiveElement(shadowRoot);
659
+ return active;
660
+ }
661
+ /**
662
+ * Oculta todos os elementos do menu, exceto o elemento ativo e sua cadeia de ancestrais,
663
+ * garantindo que apenas o submenu relevante esteja visível durante a navegação drill-down.
664
+ *
665
+ * Funcionamento detalhado:
666
+ * 1. Oculta todos os elementos <br-menu-list> e <br-menu-item> do menu, aplicando o atributo 'hidden'.
667
+ * Isso garante que nada além do caminho de navegação atual fique visível.
668
+ * 2. Remove o atributo 'drill-ancestor' de quaisquer listas marcadas anteriormente, limpando o estado visual.
669
+ * 3. Remove o atributo 'hidden' do elemento ativo (o submenu ou item selecionado), tornando-o visível.
670
+ * 4. Percorre a cadeia de ancestrais do elemento ativo:
671
+ * - Para cada ancestral do tipo <br-menu-list> ou <br-menu-item>, remove o 'hidden' para garantir visibilidade.
672
+ * - Para ancestrais <br-menu-list> (exceto o próprio ativo), adiciona o atributo 'drill-ancestor' para permitir
673
+ * estilização diferenciada (por exemplo, ocultar cabeçalhos mas manter o conteúdo visível).
674
+ * - Interrompe o loop ao chegar no elemento host do componente.
675
+ * 5. Exibe todos os filhos diretos do elemento ativo que sejam <br-menu-list> ou <br-menu-item>,
676
+ * removendo o 'hidden' para mostrar as opções do submenu.
677
+ * 6. Exibe também filhos que estejam dentro de um <ul> (estrutura comum em subníveis),
678
+ * garantindo que todos os itens relevantes do submenu estejam visíveis.
679
+ *
680
+ * Este método é fundamental para a experiência de navegação drill-down, pois controla
681
+ * exatamente quais partes do menu são exibidas ao usuário em cada etapa da navegação.
682
+ *
683
+ * @param activeElement O elemento <br-menu-list> ou <br-menu-item> que representa o submenu/item atualmente ativo.
684
+ */
685
+ hideAllExcept(activeElement) {
686
+ // 1. Oculta todos os elementos do menu
687
+ const allMenuElements = this.el.querySelectorAll('br-menu-list, br-menu-item');
688
+ allMenuElements.forEach((element) => {
689
+ ;
690
+ element.setAttribute('hidden', '');
691
+ });
692
+ // 2. Limpa marcadores de ancestrais anteriores
693
+ this.el.querySelectorAll('br-menu-list[drill-ancestor]').forEach((e) => {
694
+ ;
695
+ e.removeAttribute('drill-ancestor');
696
+ });
697
+ // 3. Garante que o elemento ativo esteja visível
698
+ activeElement.removeAttribute('hidden');
699
+ // 4. Exibe a cadeia de ancestrais do elemento ativo
700
+ let ancestor = activeElement.parentElement;
701
+ while (ancestor !== null) {
702
+ const tag = ancestor.tagName;
703
+ if (tag === 'BR-MENU-LIST' || tag === 'BR-MENU-ITEM') {
704
+ ancestor.removeAttribute('hidden');
705
+ }
706
+ if (tag === 'BR-MENU-LIST' && ancestor !== activeElement) {
707
+ ancestor.setAttribute('drill-ancestor', '');
708
+ }
709
+ if (ancestor === this.el)
710
+ break;
711
+ ancestor = ancestor.parentElement;
712
+ }
713
+ // 5. Exibe filhos diretos do elemento ativo
714
+ const directChildren = activeElement.querySelectorAll(':scope > br-menu-list, :scope > br-menu-item');
715
+ directChildren.forEach((child) => {
716
+ ;
717
+ child.removeAttribute('hidden');
718
+ });
719
+ // 6. Exibe filhos dentro de <ul> do elemento ativo
720
+ const listChildren = activeElement.querySelectorAll(':scope > ul br-menu-list, :scope > ul br-menu-item');
721
+ listChildren.forEach((child) => {
722
+ ;
723
+ child.removeAttribute('hidden');
724
+ });
725
+ }
726
+ /**
727
+ * Exibe todos os itens e listas do menu, removendo o atributo 'hidden' de cada um.
728
+ *
729
+ * Esta função é utilizada para restaurar a visualização completa do menu,
730
+ * normalmente após uma navegação drill-down ou ao retornar ao nível raiz.
731
+ *
732
+ * O método percorre todos os elementos <br-menu-list> e <br-menu-item> dentro do componente
733
+ * e garante que estejam visíveis, removendo o atributo 'hidden' que pode ter sido
734
+ * adicionado durante a navegação entre submenus.
735
+ */
736
+ showAllMenuItems() {
737
+ const allMenuLists = this.el.querySelectorAll('br-menu-list');
738
+ const allMenuItems = this.el.querySelectorAll('br-menu-item');
739
+ allMenuLists.forEach((menuList) => {
740
+ ;
741
+ menuList.removeAttribute('hidden');
742
+ });
743
+ allMenuItems.forEach((menuItem) => {
744
+ ;
745
+ menuItem.removeAttribute('hidden');
746
+ });
747
+ }
748
+ /**
749
+ * Marca ou desmarca um elemento <br-menu-list> como ativo no contexto de navegação drill-down.
750
+ *
751
+ * Quando 'active' é true, adiciona o atributo 'drill-active' ao elemento, indicando que
752
+ * ele está no foco da navegação. Quando 'active' é false, remove esse atributo.
753
+ *
754
+ * Esse atributo pode ser utilizado para aplicar estilos visuais ou lógica condicional
755
+ * durante a navegação entre níveis do menu.
756
+ *
757
+ * @param element Elemento <br-menu-list> a ser marcado/desmarcado
758
+ * @param active Boolean indicando se o elemento deve ser marcado como ativo
759
+ */
760
+ setDrillActive(element, active) {
761
+ if (active) {
762
+ element.setAttribute('drill-active', '');
763
+ }
764
+ else {
765
+ element.removeAttribute('drill-active');
766
+ }
767
+ }
768
+ /**
769
+ * Remove todos os marcadores de navegação drill-down do menu.
770
+ *
771
+ * Esta função percorre todos os elementos <br-menu-list> que possuem os atributos
772
+ * 'drill-active' ou 'drill-ancestor' e remove esses atributos. Isso é necessário
773
+ * para garantir que, ao retornar ao nível raiz ou reiniciar a navegação, nenhum
774
+ * marcador visual ou lógico de navegação anterior permaneça ativo.
775
+ */
776
+ clearAllDrillMarkers() {
777
+ // Remove o atributo 'drill-active' de todos os <br-menu-list>
778
+ this.el.querySelectorAll('br-menu-list[drill-active]').forEach((e) => {
779
+ ;
780
+ e.removeAttribute('drill-active');
781
+ });
782
+ // Remove o atributo 'drill-ancestor' de todos os <br-menu-list>
783
+ this.el.querySelectorAll('br-menu-list[drill-ancestor]').forEach((e) => {
784
+ ;
785
+ e.removeAttribute('drill-ancestor');
786
+ });
787
+ }
788
+ /**
789
+ * Realiza a navegação de retorno (voltar) em menus do tipo drill-down.
790
+ *
791
+ * Esta função é chamada quando o usuário deseja voltar um nível na navegação do menu.
792
+ * Ela utiliza uma pilha de navegação (navigationStack) para controlar o histórico de navegação.
793
+ *
794
+ * - Se houver elementos na pilha, remove o elemento do topo (nível atual) e desmarca como ativo.
795
+ * - Se, após a remoção, a pilha estiver vazia, significa que o usuário retornou ao nível raiz:
796
+ * - Restaura o estado inicial do menu, mostrando todos os itens e limpando marcadores de navegação.
797
+ * - Caso contrário, ativa o elemento do nível anterior e oculta os demais, mantendo o contexto do drill-down.
798
+ */
799
+ goBack() {
800
+ if (this.navigationStack.length > 0) {
801
+ // Remove o elemento do topo da pilha (nível atual)
802
+ const removed = this.navigationStack.pop();
803
+ if (removed !== undefined)
804
+ this.setDrillActive(removed.element, false);
805
+ if (this.navigationStack.length === 0) {
806
+ // Se a pilha está vazia, voltamos ao nível raiz do menu
807
+ this.currentLevel = 0;
808
+ this.inSubmenu = false;
809
+ this.clearAllDrillMarkers();
810
+ this.showAllMenuItems();
811
+ }
812
+ else {
813
+ // Caso ainda haja elementos na pilha, voltamos ao nível anterior do drill-down
814
+ const previousElement = this.navigationStack[this.navigationStack.length - 1].element;
815
+ const previousLevel = parseInt(previousElement.getAttribute('menu-level') || '0', 10);
816
+ // Atualiza o nível atual para refletir o contexto correto
817
+ this.currentLevel = previousLevel + 1;
818
+ // Marca o elemento anterior como ativo
819
+ this.setDrillActive(previousElement, true);
820
+ // Oculta todos os itens, exceto o submenu ativo
821
+ this.hideAllExcept(previousElement);
822
+ }
823
+ }
824
+ }
825
+ /**
826
+ * Verifica se um slot específico possui conteúdo.
827
+ */
828
+ hasSlotContent(slotName) {
829
+ return this.el.querySelector(`[slot="${slotName}"]`) !== null;
830
+ }
831
+ getEffectiveBreakpoints() {
832
+ // Se o usuário definiu explicitamente, respeita o valor
833
+ if (this.breakpoints && this.breakpoints.trim() !== '')
834
+ return this.breakpoints.trim();
835
+ // Não aplicar breakpoints para o modo contextual para evitar que ele se torne uma barra lateral em telas maiores.
836
+ if (this.contextual) {
837
+ return '';
838
+ }
839
+ // O padrão para menu flutuante é não ter breakpoints, a menos que o usuário especifique.
840
+ return '';
841
+ }
842
+ getCssClassMap() {
843
+ const effective = this.getEffectiveBreakpoints();
844
+ return Object.assign({ 'br-menu': true, active: this.active, push: this.push, contextual: this.contextual, large: this.density === 'large', small: this.density === 'small' }, (effective ? effective.split(' ').reduce((acc, bp) => (Object.assign(Object.assign({}, acc), { [bp]: true })), {}) : {}));
845
+ }
846
+ /**
847
+ * Retorna as classes CSS para o painel do menu.
848
+ * Aplica breakpoints apenas quando o menu NÃO está no modo push ou contextual.
849
+ */
850
+ getMenuPanelClasses() {
851
+ const baseClass = 'menu-panel';
852
+ // No modo push ou contextual, não aplica breakpoints
853
+ if (this.push || this.contextual) {
854
+ return baseClass;
855
+ }
856
+ // Nos outros modos, aplica os breakpoints responsivos
857
+ const breakpoints = this.getEffectiveBreakpoints();
858
+ return breakpoints ? `${baseClass} ${breakpoints}` : baseClass;
859
+ }
860
+ render() {
861
+ return (h(Host, { key: 'dc433ee9679e6d3658991f1d3a921da7c1fc8dbe' }, h("div", { key: '424c81d5ed7b576ad3588e451063fa65ce580f70', class: this.getCssClassMap() }, !this.contextual && (h("br-button", { key: '9581d584a026cbd91069fa38ea4518306d33a322', id: "toggle-menu", shape: "circle", density: "small", "aria-label": "Menu", onClick: this.handleToggleMenu }, h("br-icon", { key: '383cb09f823db7b46079a6a77399e3ffd5bebeb9', "icon-name": `fa6-solid:bars`, "aria-hidden": "true" }))), this.contextual && (h("div", { key: '5756be1c8f87d7d29af305178ff868e63aca8ccf', class: "menu-trigger" }, h("br-button", { key: 'ed120bf2d3e647925e573852afd1ae8778147ca4', id: "contextual-trigger", emphasis: "primary", shape: "block", "aria-label": this.contextualLabel, "aria-expanded": String(this.active), "aria-controls": "contextual-menu-panel", onClick: this.handleToggleMenu }, h("span", { key: 'ef74a127c6a2861945e64968d84623ad707ffc11', class: "trigger-label" }, this.contextualLabel), h("br-icon", { key: '99456da11e2132b96341d78affaf9669224393f3', "icon-name": `fa6-solid:chevron-${this.active ? 'down' : 'up'}`, class: "trigger-icon", "aria-hidden": "true" })))), h("div", { key: '27fd28bb50b6e4753b87e50032010063695ec319', class: 'menu-container' }, h("div", { key: '8a7c9e105e23cfbbe00d6afedf06b752aebe4cb9', id: this.contextual ? 'contextual-menu-panel' : undefined, class: this.getMenuPanelClasses() }, !this.contextual && this.hasSlotContent('header') && h("slot", { key: 'cd80c2e9b7a714203d781ed52b1c455d512a53ab', name: "header" }), h("nav", { key: 'fd55ccb07b30cf7acd4386a1daf4f63da5212421', class: "menu-body" }, this.inSubmenu && this.currentLevel > 0 && (h("div", { key: 'be4d46b2893cf52351c59287650ca29327fd4fb9', class: "menu-back-button" }, h("button", { key: 'd747cc47a0b52dff0d7478325d50649bf6cc8cce', class: "back-btn", onClick: this.handleGoBack, "aria-label": "Voltar ao n\u00EDvel anterior" }, h("br-icon", { key: 'b46935e70497c4362d56b1c4938990badcf626f0', class: "back-icon", "icon-name": "fa6-solid:angle-left", "aria-hidden": "true" }), h("span", { key: 'ac5766c92caa17ba12c849a83b0f2181b2760c4e', class: "back-title" }, this.navigationStack.length > 0
862
+ ? `${this.navigationStack[this.navigationStack.length - 1].label}`
863
+ : ''), this.navigationStack.length > 0 && (h("span", { key: 'ba4ee408387c63e0ae07eb1b083f5bc42dfc606c', class: "current-icon", "aria-hidden": "true" }, h("br-icon", { key: '9512d98ca5c0f87161968667ae6ec21084c81658', "icon-name": `fa6-solid:${this.navigationStack[this.navigationStack.length - 1].element.getAttribute('icon') || 'bars'}` })))))), h("slot", { key: '306675bb2fa2f45e25ac1ea8f52f58f34cb1927b' })), !this.contextual && (h("div", { key: 'e816587dee2f7407509ac8953b0be125aceb98f5', class: "menu-footer", part: "footer" }, this.hasSlotContent('logo') && (h("div", { key: 'a182ecefc91c5d012b80a76d48dc4699aed61d3d', class: "menu-logos", part: "logo" }, h("slot", { key: '33fc108075057678980a9818f91c4b7b67e55539', name: "logo" }))), this.hasSlotContent('link') && (h("div", { key: 'bb4d761ad39879e6aa7ba1f903ecef254c8f7350', class: "menu-links", part: "link" }, h("slot", { key: 'b5e002bd663f20c0a48b9de66a356d5a1bda154a', name: "link" }))), this.hasSlotContent('social') && (h("div", { key: 'b033f48137a84cbf0cfdfbe47c869e96d650659a', class: "social-network", part: "social" }, this.socialTitle && h("div", { key: 'fa35c93d090e6e69fe2e3499f2f2e98c4181f64e', class: "social-network-title" }, this.socialTitle), h("div", { key: '2f4e268f09256c345f5c828c40e708f65341a346', class: "sharegroup" }, h("slot", { key: '0b5df8caef454336393eba151b0257fb22efaf78', name: "social" })))), this.hasSlotContent('info') && (h("div", { key: '6457d37c96afee1b6eaf83ebefb9de32831c56b6', class: "menu-info", part: "info" }, h("slot", { key: '5e529e0b6603060f704b0bc9248ea2c8e326cd3e', name: "info" })))))), this.active && h("div", { key: 'e3213ed68204e856f72952b834581e6aabef84af', class: "menu-scrim", onClick: this.handleCloseMenu })))));
864
+ }
865
+ static get is() { return "br-menu"; }
866
+ static get encapsulation() { return "shadow"; }
867
+ static get formAssociated() { return true; }
868
+ static get originalStyleUrls() {
869
+ return {
870
+ "$": ["menu.scss"]
871
+ };
872
+ }
873
+ static get styleUrls() {
874
+ return {
875
+ "$": ["menu.css"]
876
+ };
877
+ }
878
+ static get properties() {
879
+ return {
880
+ "breakpoints": {
881
+ "type": "string",
882
+ "mutable": false,
883
+ "complexType": {
884
+ "original": "string",
885
+ "resolved": "string",
886
+ "references": {}
887
+ },
888
+ "required": false,
889
+ "optional": false,
890
+ "docs": {
891
+ "tags": [{
892
+ "name": "default",
893
+ "text": "'col-sm-4 col-lg-3'"
894
+ }],
895
+ "text": "Classes CSS para definir breakpoints responsivos do menu.\nUtilize esta propriedade para controlar a largura do menu em diferentes tamanhos de tela."
896
+ },
897
+ "getter": false,
898
+ "setter": false,
899
+ "reflect": false,
900
+ "attribute": "breakpoints",
901
+ "defaultValue": "''"
902
+ },
903
+ "push": {
904
+ "type": "boolean",
905
+ "mutable": false,
906
+ "complexType": {
907
+ "original": "boolean",
908
+ "resolved": "boolean",
909
+ "references": {}
910
+ },
911
+ "required": false,
912
+ "optional": false,
913
+ "docs": {
914
+ "tags": [{
915
+ "name": "default",
916
+ "text": "false"
917
+ }],
918
+ "text": "Define se o menu deve usar comportamento push (sempre vis\u00EDvel em telas maiores).\nQuando ativado, o menu permanece fixo na lateral e empurra o conte\u00FAdo principal."
919
+ },
920
+ "getter": false,
921
+ "setter": false,
922
+ "reflect": false,
923
+ "attribute": "push",
924
+ "defaultValue": "false"
925
+ },
926
+ "contextual": {
927
+ "type": "boolean",
928
+ "mutable": false,
929
+ "complexType": {
930
+ "original": "boolean",
931
+ "resolved": "boolean",
932
+ "references": {}
933
+ },
934
+ "required": false,
935
+ "optional": false,
936
+ "docs": {
937
+ "tags": [{
938
+ "name": "default",
939
+ "text": "false"
940
+ }],
941
+ "text": "Define se o menu deve usar comportamento contextual (aparece na parte inferior).\nQuando ativado, o menu \u00E9 posicionado na parte inferior da tela em dispositivos m\u00F3veis."
942
+ },
943
+ "getter": false,
944
+ "setter": false,
945
+ "reflect": false,
946
+ "attribute": "contextual",
947
+ "defaultValue": "false"
948
+ },
949
+ "density": {
950
+ "type": "string",
951
+ "mutable": false,
952
+ "complexType": {
953
+ "original": "'large' | 'medium' | 'small'",
954
+ "resolved": "\"large\" | \"medium\" | \"small\"",
955
+ "references": {}
956
+ },
957
+ "required": false,
958
+ "optional": false,
959
+ "docs": {
960
+ "tags": [{
961
+ "name": "default",
962
+ "text": "'medium'"
963
+ }],
964
+ "text": "Define a densidade dos itens do menu, alterando o espa\u00E7amento interno.\n- `small` (densidade alta): itens mais compactos\n- `medium` (padr\u00E3o): equil\u00EDbrio entre economia de espa\u00E7o e separa\u00E7\u00E3o\n- `large` (densidade baixa): maior espa\u00E7amento (recomendado em touch)"
965
+ },
966
+ "getter": false,
967
+ "setter": false,
968
+ "reflect": true,
969
+ "attribute": "density",
970
+ "defaultValue": "'medium'"
971
+ },
972
+ "socialTitle": {
973
+ "type": "string",
974
+ "mutable": false,
975
+ "complexType": {
976
+ "original": "string",
977
+ "resolved": "string",
978
+ "references": {}
979
+ },
980
+ "required": false,
981
+ "optional": false,
982
+ "docs": {
983
+ "tags": [{
984
+ "name": "default",
985
+ "text": "'Redes Sociais'"
986
+ }],
987
+ "text": "T\u00EDtulo da se\u00E7\u00E3o de redes sociais exibida no rodap\u00E9 do menu.\nUtilize esta propriedade para personalizar o texto que aparece acima dos \u00EDcones sociais."
988
+ },
989
+ "getter": false,
990
+ "setter": false,
991
+ "reflect": true,
992
+ "attribute": "social-title",
993
+ "defaultValue": "'Redes Sociais'"
994
+ },
995
+ "contextualLabel": {
996
+ "type": "string",
997
+ "mutable": false,
998
+ "complexType": {
999
+ "original": "string",
1000
+ "resolved": "string",
1001
+ "references": {}
1002
+ },
1003
+ "required": false,
1004
+ "optional": false,
1005
+ "docs": {
1006
+ "tags": [{
1007
+ "name": "default",
1008
+ "text": "'Menu Contextual'"
1009
+ }],
1010
+ "text": "R\u00F3tulo do bot\u00E3o trigger do menu contextual.\nExibido apenas em modo contextual e em telas menores (mobile)."
1011
+ },
1012
+ "getter": false,
1013
+ "setter": false,
1014
+ "reflect": false,
1015
+ "attribute": "contextual-label",
1016
+ "defaultValue": "'Menu Contextual'"
1017
+ }
1018
+ };
1019
+ }
1020
+ static get states() {
1021
+ return {
1022
+ "active": {},
1023
+ "inSubmenu": {},
1024
+ "currentLevel": {},
1025
+ "expandedDropMenus": {},
1026
+ "navigationStack": {}
1027
+ };
1028
+ }
1029
+ static get elementRef() { return "el"; }
1030
+ static get listeners() {
1031
+ return [{
1032
+ "name": "click",
1033
+ "method": "handleMenuItemClick",
1034
+ "target": undefined,
1035
+ "capture": true,
1036
+ "passive": false
1037
+ }, {
1038
+ "name": "keydown",
1039
+ "method": "handleKeyDown",
1040
+ "target": "window",
1041
+ "capture": false,
1042
+ "passive": false
1043
+ }, {
1044
+ "name": "navigateToSubmenu",
1045
+ "method": "handleNavigateToSubmenu",
1046
+ "target": undefined,
1047
+ "capture": false,
1048
+ "passive": false
1049
+ }, {
1050
+ "name": "folderToggled",
1051
+ "method": "handleFolderToggled",
1052
+ "target": undefined,
1053
+ "capture": false,
1054
+ "passive": false
1055
+ }, {
1056
+ "name": "brMenuHeaderClose",
1057
+ "method": "handleMenuHeaderClose",
1058
+ "target": undefined,
1059
+ "capture": false,
1060
+ "passive": false
1061
+ }];
1062
+ }
1063
+ }
1064
+ //# sourceMappingURL=menu.js.map