@govbr-ds/webcomponents 2.1.2 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (960) hide show
  1. package/README.md +87 -46
  2. package/cem/custom-elements.json +6367 -1134
  3. package/cem/webcomponents.html-custom-data.json +399 -286
  4. package/dist/cjs/br-avatar.cjs.entry.js +21 -14
  5. package/dist/cjs/br-breadcrumb-item.cjs.entry.js +2 -2
  6. package/dist/cjs/br-breadcrumb.cjs.entry.js +49 -22
  7. package/dist/cjs/br-button_2.cjs.entry.js +72 -35
  8. package/dist/cjs/br-card.cjs.entry.js +6 -5
  9. package/dist/cjs/br-carousel-page.cjs.entry.js +3 -3
  10. package/dist/cjs/br-carousel.cjs.entry.js +77 -21
  11. package/dist/cjs/br-checkbox-group.cjs.entry.js +157 -27
  12. package/dist/cjs/br-checkbox.cjs.entry.js +85 -15
  13. package/dist/cjs/br-checkgroup.cjs.entry.js +5 -2
  14. package/dist/cjs/br-collapse_2.cjs.entry.js +85 -26
  15. package/dist/cjs/br-cookiebar-cookie.cjs.entry.js +4 -4
  16. package/dist/cjs/br-cookiebar-group.cjs.entry.js +4 -4
  17. package/dist/cjs/br-cookiebar-header.cjs.entry.js +4 -4
  18. package/dist/cjs/br-cookiebar-link.cjs.entry.js +14 -6
  19. package/dist/cjs/br-cookiebar-note-group.cjs.entry.js +3 -5
  20. package/dist/cjs/br-cookiebar-note.cjs.entry.js +4 -4
  21. package/dist/cjs/br-cookiebar.cjs.entry.js +38 -25
  22. package/dist/cjs/br-crumb.cjs.entry.js +2 -2
  23. package/dist/cjs/br-date-picker_3.cjs.entry.js +246 -88
  24. package/dist/cjs/br-datetime-picker.cjs.entry.js +115 -527
  25. package/dist/cjs/br-divider.cjs.entry.js +70 -17
  26. package/dist/cjs/br-dropdown_2.cjs.entry.js +304 -122
  27. package/dist/cjs/br-footer-category.cjs.entry.js +10 -6
  28. package/dist/cjs/br-footer-item.cjs.entry.js +9 -4
  29. package/dist/cjs/br-footer-legal.cjs.entry.js +4 -4
  30. package/dist/cjs/br-footer-logo.cjs.entry.js +22 -10
  31. package/dist/cjs/br-footer-social.cjs.entry.js +14 -6
  32. package/dist/cjs/br-footer.cjs.entry.js +16 -7
  33. package/dist/cjs/br-header-function.cjs.entry.js +28 -7
  34. package/dist/cjs/br-header-link.cjs.entry.js +25 -4
  35. package/dist/cjs/br-header-list.cjs.entry.js +6 -17
  36. package/dist/cjs/br-header-logo.cjs.entry.js +18 -7
  37. package/dist/cjs/br-header.cjs.entry.js +72 -17
  38. package/dist/cjs/br-icon.cjs.entry.js +160 -23
  39. package/dist/cjs/br-input.cjs.entry.js +130 -39
  40. package/dist/cjs/br-item.cjs.entry.js +96 -48
  41. package/dist/cjs/br-link.cjs.entry.js +20 -7
  42. package/dist/cjs/br-loading.cjs.entry.js +100 -38
  43. package/dist/cjs/br-magic-button.cjs.entry.js +26 -9
  44. package/dist/cjs/br-menu-group.cjs.entry.js +14 -3
  45. package/dist/cjs/br-menu-header.cjs.entry.js +4 -4
  46. package/dist/cjs/br-menu-info.cjs.entry.js +4 -4
  47. package/dist/cjs/br-menu-item.cjs.entry.js +27 -5
  48. package/dist/cjs/br-menu-link.cjs.entry.js +14 -6
  49. package/dist/cjs/br-menu-list.cjs.entry.js +23 -27
  50. package/dist/cjs/br-menu-logo.cjs.entry.js +4 -4
  51. package/dist/cjs/br-menu-social.cjs.entry.js +16 -6
  52. package/dist/cjs/br-menu.cjs.entry.js +41 -64
  53. package/dist/cjs/br-modal.cjs.entry.js +26 -40
  54. package/dist/cjs/br-notification-body.cjs.entry.js +4 -4
  55. package/dist/cjs/br-notification-header.cjs.entry.js +4 -4
  56. package/dist/cjs/br-notification-item.cjs.entry.js +14 -8
  57. package/dist/cjs/br-notification.cjs.entry.js +23 -8
  58. package/dist/cjs/br-pagination.cjs.entry.js +119 -87
  59. package/dist/cjs/br-radio-group.cjs.entry.js +106 -57
  60. package/dist/cjs/br-radio.cjs.entry.js +61 -11
  61. package/dist/cjs/br-scrim.cjs.entry.js +161 -67
  62. package/dist/cjs/br-select-input_3.cjs.entry.js +283 -90
  63. package/dist/cjs/br-sign-in.cjs.entry.js +34 -15
  64. package/dist/cjs/br-skip-link-item.cjs.entry.js +39 -2
  65. package/dist/cjs/br-skip-link.cjs.entry.js +50 -33
  66. package/dist/cjs/br-skiplink-item.cjs.entry.js +22 -6
  67. package/dist/cjs/br-slider.cjs.entry.js +521 -99
  68. package/dist/cjs/br-step_2.cjs.entry.js +98 -44
  69. package/dist/cjs/br-switch.cjs.entry.js +20 -11
  70. package/dist/cjs/br-tab-item.cjs.entry.js +38 -14
  71. package/dist/cjs/br-tab.cjs.entry.js +57 -44
  72. package/dist/cjs/br-table-body.cjs.entry.js +3 -3
  73. package/dist/cjs/br-table-cell.cjs.entry.js +30 -13
  74. package/dist/cjs/br-table-header-cell.cjs.entry.js +23 -7
  75. package/dist/cjs/br-table-header.cjs.entry.js +3 -3
  76. package/dist/cjs/br-table-row.cjs.entry.js +17 -3
  77. package/dist/cjs/br-table.cjs.entry.js +67 -21
  78. package/dist/cjs/br-tag.cjs.entry.js +48 -30
  79. package/dist/cjs/br-textarea.cjs.entry.js +117 -12
  80. package/dist/cjs/br-tooltip.cjs.entry.js +87 -41
  81. package/dist/cjs/br-upload.cjs.entry.js +83 -24
  82. package/dist/cjs/br-wizard-panel.cjs.entry.js +16 -3
  83. package/dist/cjs/br-wizard.cjs.entry.js +52 -28
  84. package/dist/cjs/{isValid-Fu3kaWNn.js → datetime-picker-props-validation-DmNKSXsy.js} +481 -4
  85. package/dist/cjs/{floating-ui-MBI1osio.js → floating-ui-B6nsdYUU.js} +24 -1
  86. package/dist/cjs/{floating-ui.dom-BUSTaaxR.js → floating-ui.dom-wzdGZjyG.js} +201 -113
  87. package/dist/cjs/{focus-DuywwJPR.js → focus-BhfJnFgJ.js} +21 -0
  88. package/dist/cjs/header-context-CdawuLsH.js +17 -0
  89. package/dist/cjs/id-DE4jSi-L.js +36 -0
  90. package/dist/cjs/{index-CRdcutym.js → index-CGgZBuyy.js} +68 -752
  91. package/dist/cjs/loader.cjs.js +2 -2
  92. package/dist/cjs/motion-CgIooxWS.js +29 -0
  93. package/dist/cjs/ownership-UnpufyCx.js +116 -0
  94. package/dist/cjs/prop-warning-xvEHQz8H.js +60 -0
  95. package/dist/cjs/props-D8dybmr0.js +124 -0
  96. package/dist/cjs/{swipe-BU8_XE9f.js → swipe-BGF-h9WY.js} +11 -1
  97. package/dist/cjs/webcomponents.cjs.js +3 -3
  98. package/dist/collection/collection-manifest.json +1 -1
  99. package/dist/collection/components/avatar/avatar.css +1 -1
  100. package/dist/collection/components/avatar/avatar.js +48 -16
  101. package/dist/collection/components/breadcrumb/breadcrumb-item/breadcrumb-item.js +15 -3
  102. package/dist/collection/components/breadcrumb/breadcrumb.css +1 -1
  103. package/dist/collection/components/breadcrumb/breadcrumb.js +107 -22
  104. package/dist/collection/components/breadcrumb/crumb/crumb.js +14 -2
  105. package/dist/collection/components/button/button.css +1 -1
  106. package/dist/collection/components/button/button.js +88 -24
  107. package/dist/collection/components/card/card.css +1 -1
  108. package/dist/collection/components/card/card.js +33 -5
  109. package/dist/collection/components/carousel/carousel-page/carousel-page.css +1 -1
  110. package/dist/collection/components/carousel/carousel-page/carousel-page.js +11 -4
  111. package/dist/collection/components/carousel/carousel.css +1 -1
  112. package/dist/collection/components/carousel/carousel.js +107 -21
  113. package/dist/collection/components/checkbox/checkbox.css +1 -1
  114. package/dist/collection/components/checkbox/checkbox.js +134 -20
  115. package/dist/collection/components/checkbox-group/checkbox-group.css +1 -1
  116. package/dist/collection/components/checkbox-group/checkbox-group.js +210 -30
  117. package/dist/collection/components/checkgroup/checkgroup.js +42 -4
  118. package/dist/collection/components/collapse/collapse.css +1 -1
  119. package/dist/collection/components/collapse/collapse.js +48 -8
  120. package/dist/collection/components/cookiebar/cookiebar-cookie/cookiebar-cookie.css +1 -1
  121. package/dist/collection/components/cookiebar/cookiebar-cookie/cookiebar-cookie.js +17 -4
  122. package/dist/collection/components/cookiebar/cookiebar-group/cookiebar-group.css +1 -1
  123. package/dist/collection/components/cookiebar/cookiebar-group/cookiebar-group.js +16 -7
  124. package/dist/collection/components/cookiebar/cookiebar-header/cookiebar-header.css +1 -1
  125. package/dist/collection/components/cookiebar/cookiebar-header/cookiebar-header.js +15 -9
  126. package/dist/collection/components/cookiebar/cookiebar-link/cookiebar-link.css +1 -1
  127. package/dist/collection/components/cookiebar/cookiebar-link/cookiebar-link.js +24 -8
  128. package/dist/collection/components/cookiebar/cookiebar-note/cookiebar-note.css +1 -1
  129. package/dist/collection/components/cookiebar/cookiebar-note/cookiebar-note.js +14 -4
  130. package/dist/collection/components/cookiebar/cookiebar-note-group/cookiebar-note-group.css +1 -1
  131. package/dist/collection/components/cookiebar/cookiebar-note-group/cookiebar-note-group.js +13 -5
  132. package/dist/collection/components/cookiebar/cookiebar.css +1 -1
  133. package/dist/collection/components/cookiebar/cookiebar.js +67 -32
  134. package/dist/collection/components/datetime-picker/date-picker/date-picker.css +1 -1
  135. package/dist/collection/components/datetime-picker/date-picker/date-picker.js +134 -35
  136. package/dist/collection/components/datetime-picker/datetime-input/datetime-input.css +1 -1
  137. package/dist/collection/components/datetime-picker/datetime-input/datetime-input.js +112 -22
  138. package/dist/collection/components/datetime-picker/datetime-picker-props-validation.js +13 -5
  139. package/dist/collection/components/datetime-picker/datetime-picker.css +1 -1
  140. package/dist/collection/components/datetime-picker/datetime-picker.js +158 -42
  141. package/dist/collection/components/datetime-picker/time-picker/time-picker.css +1 -1
  142. package/dist/collection/components/datetime-picker/time-picker/time-picker.js +78 -9
  143. package/dist/collection/components/divider/divider.css +1 -1
  144. package/dist/collection/components/divider/divider.js +101 -26
  145. package/dist/collection/components/dropdown/dropdown.css +1 -1
  146. package/dist/collection/components/dropdown/dropdown.js +166 -18
  147. package/dist/collection/components/footer/footer-category/footer-category.css +1 -1
  148. package/dist/collection/components/footer/footer-category/footer-category.js +23 -4
  149. package/dist/collection/components/footer/footer-item/footer-item.css +1 -1
  150. package/dist/collection/components/footer/footer-item/footer-item.js +21 -2
  151. package/dist/collection/components/footer/footer-legal/footer-legal.css +1 -1
  152. package/dist/collection/components/footer/footer-legal/footer-legal.js +16 -2
  153. package/dist/collection/components/footer/footer-logo/footer-logo.css +1 -1
  154. package/dist/collection/components/footer/footer-logo/footer-logo.js +35 -9
  155. package/dist/collection/components/footer/footer-social/footer-social.css +1 -1
  156. package/dist/collection/components/footer/footer-social/footer-social.js +26 -6
  157. package/dist/collection/components/footer/footer.css +1 -1
  158. package/dist/collection/components/footer/footer.js +48 -7
  159. package/dist/collection/components/header/header-context.js +13 -0
  160. package/dist/collection/components/header/header-function/header-function.css +1 -1
  161. package/dist/collection/components/header/header-function/header-function.js +51 -8
  162. package/dist/collection/components/header/header-link/header-link.css +1 -1
  163. package/dist/collection/components/header/header-link/header-link.js +52 -2
  164. package/dist/collection/components/header/header-list/header-list.css +1 -1
  165. package/dist/collection/components/header/header-list/header-list.js +20 -23
  166. package/dist/collection/components/header/header-logo/header-logo.css +1 -1
  167. package/dist/collection/components/header/header-logo/header-logo.js +33 -8
  168. package/dist/collection/components/header/header.css +1 -1
  169. package/dist/collection/components/header/header.js +110 -24
  170. package/dist/collection/components/icon/default-icons-cache.js +111 -3
  171. package/dist/collection/components/icon/icon.css +1 -1
  172. package/dist/collection/components/icon/icon.js +80 -33
  173. package/dist/collection/components/input/input.css +1 -1
  174. package/dist/collection/components/input/input.js +169 -54
  175. package/dist/collection/components/item/item.css +1 -1
  176. package/dist/collection/components/item/item.js +134 -51
  177. package/dist/collection/components/link/link.css +1 -1
  178. package/dist/collection/components/link/link.js +48 -15
  179. package/dist/collection/components/list/list.css +1 -1
  180. package/dist/collection/components/list/list.js +106 -25
  181. package/dist/collection/components/loading/loading.css +1 -1
  182. package/dist/collection/components/loading/loading.js +131 -43
  183. package/dist/collection/components/magic-button/magic-button.css +1 -1
  184. package/dist/collection/components/magic-button/magic-button.js +51 -9
  185. package/dist/collection/components/menu/menu-group/menu-group.css +1 -1
  186. package/dist/collection/components/menu/menu-group/menu-group.js +60 -2
  187. package/dist/collection/components/menu/menu-header/menu-header.css +1 -1
  188. package/dist/collection/components/menu/menu-header/menu-header.js +17 -2
  189. package/dist/collection/components/menu/menu-info/menu-info.css +1 -1
  190. package/dist/collection/components/menu/menu-info/menu-info.js +15 -2
  191. package/dist/collection/components/menu/menu-item/menu-item.css +1 -1
  192. package/dist/collection/components/menu/menu-item/menu-item.js +72 -8
  193. package/dist/collection/components/menu/menu-link/menu-link.css +1 -1
  194. package/dist/collection/components/menu/menu-link/menu-link.js +25 -4
  195. package/dist/collection/components/menu/menu-list/menu-list.css +1 -1
  196. package/dist/collection/components/menu/menu-list/menu-list.js +64 -29
  197. package/dist/collection/components/menu/menu-logo/menu-logo.css +1 -1
  198. package/dist/collection/components/menu/menu-logo/menu-logo.js +15 -2
  199. package/dist/collection/components/menu/menu-social/menu-social.css +1 -1
  200. package/dist/collection/components/menu/menu-social/menu-social.js +29 -7
  201. package/dist/collection/components/menu/menu.css +1 -1
  202. package/dist/collection/components/menu/menu.js +75 -68
  203. package/dist/collection/components/menu/menu.utils.js +8 -18
  204. package/dist/collection/components/message/message.css +1 -1
  205. package/dist/collection/components/message/message.js +50 -24
  206. package/dist/collection/components/modal/modal.css +1 -1
  207. package/dist/collection/components/modal/modal.js +54 -41
  208. package/dist/collection/components/notification/notification-body/notification-body.css +1 -1
  209. package/dist/collection/components/notification/notification-body/notification-body.js +13 -4
  210. package/dist/collection/components/notification/notification-header/notification-header.css +1 -1
  211. package/dist/collection/components/notification/notification-header/notification-header.js +13 -4
  212. package/dist/collection/components/notification/notification-item/notification-item.css +1 -1
  213. package/dist/collection/components/notification/notification-item/notification-item.js +23 -9
  214. package/dist/collection/components/notification/notification.css +1 -1
  215. package/dist/collection/components/notification/notification.js +54 -10
  216. package/dist/collection/components/pagination/pagination.css +1 -1
  217. package/dist/collection/components/pagination/pagination.js +161 -74
  218. package/dist/collection/components/radio/radio.css +1 -1
  219. package/dist/collection/components/radio/radio.js +109 -14
  220. package/dist/collection/components/radio-group/radio-group.css +1 -1
  221. package/dist/collection/components/radio-group/radio-group.js +153 -63
  222. package/dist/collection/components/scrim/scrim.css +1 -1
  223. package/dist/collection/components/scrim/scrim.js +215 -74
  224. package/dist/collection/components/scrim/scrim.utils.js +5 -51
  225. package/dist/collection/components/select/select-input/select-input.css +1 -1
  226. package/dist/collection/components/select/select-input/select-input.js +58 -5
  227. package/dist/collection/components/select/select-list/select-list.css +1 -1
  228. package/dist/collection/components/select/select-list/select-list.js +247 -52
  229. package/dist/collection/components/select/select-option/select-option.css +1 -1
  230. package/dist/collection/components/select/select-option/select-option.js +108 -46
  231. package/dist/collection/components/select/select.css +1 -1
  232. package/dist/collection/components/select/select.js +323 -118
  233. package/dist/collection/components/sign-in/sign-in.css +1 -1
  234. package/dist/collection/components/sign-in/sign-in.js +55 -16
  235. package/dist/collection/components/skip-link/skip-link-item/skip-link-item-alias.js +112 -3
  236. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.css +1 -1
  237. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.js +58 -5
  238. package/dist/collection/components/skip-link/skip-link.css +1 -1
  239. package/dist/collection/components/skip-link/skip-link.js +78 -39
  240. package/dist/collection/components/slider/slider.css +1 -1
  241. package/dist/collection/components/slider/slider.js +530 -132
  242. package/dist/collection/components/slider/slider.utils.js +178 -0
  243. package/dist/collection/components/step/step-item/step-item.css +1 -1
  244. package/dist/collection/components/step/step-item/step-item.js +29 -12
  245. package/dist/collection/components/step/step.css +1 -1
  246. package/dist/collection/components/step/step.js +119 -44
  247. package/dist/collection/components/switch/switch.css +1 -1
  248. package/dist/collection/components/switch/switch.js +48 -15
  249. package/dist/collection/components/tab/tab-item/tab-item.css +1 -1
  250. package/dist/collection/components/tab/tab-item/tab-item.js +49 -14
  251. package/dist/collection/components/tab/tab.css +1 -1
  252. package/dist/collection/components/tab/tab.js +89 -46
  253. package/dist/collection/components/table/table-body/table-body.css +1 -1
  254. package/dist/collection/components/table/table-body/table-body.js +11 -7
  255. package/dist/collection/components/table/table-cell/table-cell.css +1 -1
  256. package/dist/collection/components/table/table-cell/table-cell.js +36 -17
  257. package/dist/collection/components/table/table-header/table-header.css +1 -1
  258. package/dist/collection/components/table/table-header/table-header.js +11 -7
  259. package/dist/collection/components/table/table-header-cell/table-header-cell.css +1 -1
  260. package/dist/collection/components/table/table-header-cell/table-header-cell.js +35 -13
  261. package/dist/collection/components/table/table-row/table-row.css +1 -1
  262. package/dist/collection/components/table/table-row/table-row.js +24 -7
  263. package/dist/collection/components/table/table.css +1 -1
  264. package/dist/collection/components/table/table.js +107 -31
  265. package/dist/collection/components/tag/tag.css +1 -1
  266. package/dist/collection/components/tag/tag.js +86 -36
  267. package/dist/collection/components/textarea/textarea.css +1 -1
  268. package/dist/collection/components/textarea/textarea.js +222 -19
  269. package/dist/collection/components/tooltip/tooltip.css +1 -1
  270. package/dist/collection/components/tooltip/tooltip.js +134 -45
  271. package/dist/collection/components/upload/upload.css +1 -1
  272. package/dist/collection/components/upload/upload.js +135 -33
  273. package/dist/collection/components/wizard/wizard-panel/wizard-panel.css +1 -1
  274. package/dist/collection/components/wizard/wizard-panel/wizard-panel.js +54 -3
  275. package/dist/collection/components/wizard/wizard.css +1 -1
  276. package/dist/collection/components/wizard/wizard.js +82 -28
  277. package/dist/collection/pages/scripts/component-controls-core.js +95 -0
  278. package/dist/collection/pages/scripts/component-controls.js +238 -153
  279. package/dist/collection/pages/scripts/dev-event-console.js +5 -1
  280. package/dist/collection/pages/scripts/menu.js +90 -5
  281. package/dist/collection/pages/scripts/pageLoader.js +1486 -586
  282. package/dist/collection/pages/scripts/pageloader-preview.js +787 -0
  283. package/dist/collection/pages/scripts/playground-core.js +173 -0
  284. package/dist/collection/shared/utils/cssVariables.js +2 -0
  285. package/dist/collection/shared/utils/date.js +8 -4
  286. package/dist/collection/shared/utils/floating-ui.js +24 -1
  287. package/dist/collection/shared/utils/focus.js +31 -0
  288. package/dist/collection/shared/utils/getRandom.js +16 -1
  289. package/dist/collection/shared/utils/helpers.js +4 -11
  290. package/dist/collection/shared/utils/id.js +23 -7
  291. package/dist/collection/shared/utils/index.js +6 -1
  292. package/dist/collection/shared/utils/isEmpty.js +5 -3
  293. package/dist/collection/shared/utils/motion.js +25 -0
  294. package/dist/collection/shared/utils/ownership.js +113 -0
  295. package/dist/collection/shared/utils/prop-warning.js +47 -0
  296. package/dist/collection/shared/utils/props.js +79 -0
  297. package/dist/collection/shared/utils/swipe.js +11 -1
  298. package/dist/collection/shared/utils/transition.js +3 -0
  299. package/dist/collection/shared/utils/virtual-scroll.js +24 -0
  300. package/dist/components/br-avatar.d.ts +1 -1
  301. package/dist/components/br-avatar.js +1 -1
  302. package/dist/components/br-breadcrumb-item.d.ts +1 -1
  303. package/dist/components/br-breadcrumb-item.js +1 -1
  304. package/dist/components/br-breadcrumb.d.ts +1 -1
  305. package/dist/components/br-breadcrumb.js +1 -1
  306. package/dist/components/br-button.d.ts +1 -1
  307. package/dist/components/br-button.js +1 -1
  308. package/dist/components/br-card.d.ts +1 -1
  309. package/dist/components/br-card.js +1 -1
  310. package/dist/components/br-carousel-page.d.ts +1 -1
  311. package/dist/components/br-carousel-page.js +1 -1
  312. package/dist/components/br-carousel.d.ts +1 -1
  313. package/dist/components/br-carousel.js +1 -1
  314. package/dist/components/br-checkbox-group.d.ts +1 -1
  315. package/dist/components/br-checkbox-group.js +1 -1
  316. package/dist/components/br-checkbox.d.ts +1 -1
  317. package/dist/components/br-checkbox.js +1 -1
  318. package/dist/components/br-checkgroup.d.ts +1 -1
  319. package/dist/components/br-checkgroup.js +1 -1
  320. package/dist/components/br-collapse.d.ts +1 -1
  321. package/dist/components/br-collapse.js +1 -1
  322. package/dist/components/br-cookiebar-cookie.d.ts +1 -1
  323. package/dist/components/br-cookiebar-cookie.js +1 -1
  324. package/dist/components/br-cookiebar-group.d.ts +1 -1
  325. package/dist/components/br-cookiebar-group.js +1 -1
  326. package/dist/components/br-cookiebar-header.d.ts +1 -1
  327. package/dist/components/br-cookiebar-header.js +1 -1
  328. package/dist/components/br-cookiebar-link.d.ts +1 -1
  329. package/dist/components/br-cookiebar-link.js +1 -1
  330. package/dist/components/br-cookiebar-note-group.d.ts +1 -1
  331. package/dist/components/br-cookiebar-note-group.js +1 -1
  332. package/dist/components/br-cookiebar-note.d.ts +1 -1
  333. package/dist/components/br-cookiebar-note.js +1 -1
  334. package/dist/components/br-cookiebar.d.ts +1 -1
  335. package/dist/components/br-cookiebar.js +1 -1
  336. package/dist/components/br-crumb.d.ts +1 -1
  337. package/dist/components/br-crumb.js +1 -1
  338. package/dist/components/br-date-picker.d.ts +1 -1
  339. package/dist/components/br-date-picker.js +1 -1
  340. package/dist/components/br-datetime-input.d.ts +1 -1
  341. package/dist/components/br-datetime-input.js +1 -1
  342. package/dist/components/br-datetime-picker.d.ts +1 -1
  343. package/dist/components/br-datetime-picker.js +1 -1
  344. package/dist/components/br-divider.d.ts +1 -1
  345. package/dist/components/br-divider.js +1 -1
  346. package/dist/components/br-dropdown.d.ts +1 -1
  347. package/dist/components/br-dropdown.js +1 -1
  348. package/dist/components/br-footer-category.d.ts +1 -1
  349. package/dist/components/br-footer-category.js +1 -1
  350. package/dist/components/br-footer-item.d.ts +1 -1
  351. package/dist/components/br-footer-item.js +1 -1
  352. package/dist/components/br-footer-legal.d.ts +1 -1
  353. package/dist/components/br-footer-legal.js +1 -1
  354. package/dist/components/br-footer-logo.d.ts +1 -1
  355. package/dist/components/br-footer-logo.js +1 -1
  356. package/dist/components/br-footer-social.d.ts +1 -1
  357. package/dist/components/br-footer-social.js +1 -1
  358. package/dist/components/br-footer.d.ts +1 -1
  359. package/dist/components/br-footer.js +1 -1
  360. package/dist/components/br-header-function.d.ts +1 -1
  361. package/dist/components/br-header-function.js +1 -1
  362. package/dist/components/br-header-link.d.ts +1 -1
  363. package/dist/components/br-header-link.js +1 -1
  364. package/dist/components/br-header-list.d.ts +1 -1
  365. package/dist/components/br-header-list.js +1 -1
  366. package/dist/components/br-header-logo.d.ts +1 -1
  367. package/dist/components/br-header-logo.js +1 -1
  368. package/dist/components/br-header.d.ts +1 -1
  369. package/dist/components/br-header.js +1 -1
  370. package/dist/components/br-icon.d.ts +1 -1
  371. package/dist/components/br-icon.js +1 -1
  372. package/dist/components/br-input.d.ts +1 -1
  373. package/dist/components/br-input.js +1 -1
  374. package/dist/components/br-item.d.ts +1 -1
  375. package/dist/components/br-item.js +1 -1
  376. package/dist/components/br-link.d.ts +1 -1
  377. package/dist/components/br-link.js +1 -1
  378. package/dist/components/br-list.d.ts +1 -1
  379. package/dist/components/br-list.js +1 -1
  380. package/dist/components/br-loading.d.ts +1 -1
  381. package/dist/components/br-loading.js +1 -1
  382. package/dist/components/br-magic-button.d.ts +1 -1
  383. package/dist/components/br-magic-button.js +1 -1
  384. package/dist/components/br-menu-group.d.ts +1 -1
  385. package/dist/components/br-menu-group.js +1 -1
  386. package/dist/components/br-menu-header.d.ts +1 -1
  387. package/dist/components/br-menu-header.js +1 -1
  388. package/dist/components/br-menu-info.d.ts +1 -1
  389. package/dist/components/br-menu-info.js +1 -1
  390. package/dist/components/br-menu-item.d.ts +1 -1
  391. package/dist/components/br-menu-item.js +1 -1
  392. package/dist/components/br-menu-link.d.ts +1 -1
  393. package/dist/components/br-menu-link.js +1 -1
  394. package/dist/components/br-menu-list.d.ts +1 -1
  395. package/dist/components/br-menu-list.js +1 -1
  396. package/dist/components/br-menu-logo.d.ts +1 -1
  397. package/dist/components/br-menu-logo.js +1 -1
  398. package/dist/components/br-menu-social.d.ts +1 -1
  399. package/dist/components/br-menu-social.js +1 -1
  400. package/dist/components/br-menu.d.ts +1 -1
  401. package/dist/components/br-menu.js +1 -1
  402. package/dist/components/br-message.d.ts +1 -1
  403. package/dist/components/br-message.js +1 -1
  404. package/dist/components/br-modal.d.ts +1 -1
  405. package/dist/components/br-modal.js +1 -1
  406. package/dist/components/br-notification-body.d.ts +1 -1
  407. package/dist/components/br-notification-body.js +1 -1
  408. package/dist/components/br-notification-header.d.ts +1 -1
  409. package/dist/components/br-notification-header.js +1 -1
  410. package/dist/components/br-notification-item.d.ts +1 -1
  411. package/dist/components/br-notification-item.js +1 -1
  412. package/dist/components/br-notification.d.ts +1 -1
  413. package/dist/components/br-notification.js +1 -1
  414. package/dist/components/br-pagination.d.ts +1 -1
  415. package/dist/components/br-pagination.js +1 -1
  416. package/dist/components/br-radio-group.d.ts +1 -1
  417. package/dist/components/br-radio-group.js +1 -1
  418. package/dist/components/br-radio.d.ts +1 -1
  419. package/dist/components/br-radio.js +1 -1
  420. package/dist/components/br-scrim.d.ts +1 -1
  421. package/dist/components/br-scrim.js +1 -1
  422. package/dist/components/br-select-input.d.ts +1 -1
  423. package/dist/components/br-select-input.js +1 -1
  424. package/dist/components/br-select-list.d.ts +1 -1
  425. package/dist/components/br-select-list.js +1 -1
  426. package/dist/components/br-select-option.d.ts +1 -1
  427. package/dist/components/br-select-option.js +1 -1
  428. package/dist/components/br-select.d.ts +1 -1
  429. package/dist/components/br-select.js +1 -1
  430. package/dist/components/br-sign-in.d.ts +1 -1
  431. package/dist/components/br-sign-in.js +1 -1
  432. package/dist/components/br-skip-link-item.d.ts +1 -1
  433. package/dist/components/br-skip-link-item.js +1 -1
  434. package/dist/components/br-skip-link.d.ts +1 -1
  435. package/dist/components/br-skip-link.js +1 -1
  436. package/dist/components/br-skiplink-item.d.ts +1 -1
  437. package/dist/components/br-skiplink-item.js +1 -1
  438. package/dist/components/br-slider.d.ts +1 -1
  439. package/dist/components/br-slider.js +1 -1
  440. package/dist/components/br-step-item.d.ts +1 -1
  441. package/dist/components/br-step-item.js +1 -1
  442. package/dist/components/br-step.d.ts +1 -1
  443. package/dist/components/br-step.js +1 -1
  444. package/dist/components/br-switch.d.ts +1 -1
  445. package/dist/components/br-switch.js +1 -1
  446. package/dist/components/br-tab-item.d.ts +1 -1
  447. package/dist/components/br-tab-item.js +1 -1
  448. package/dist/components/br-tab.d.ts +1 -1
  449. package/dist/components/br-tab.js +1 -1
  450. package/dist/components/br-table-body.d.ts +1 -1
  451. package/dist/components/br-table-body.js +1 -1
  452. package/dist/components/br-table-cell.d.ts +1 -1
  453. package/dist/components/br-table-cell.js +1 -1
  454. package/dist/components/br-table-header-cell.d.ts +1 -1
  455. package/dist/components/br-table-header-cell.js +1 -1
  456. package/dist/components/br-table-header.d.ts +1 -1
  457. package/dist/components/br-table-header.js +1 -1
  458. package/dist/components/br-table-row.d.ts +1 -1
  459. package/dist/components/br-table-row.js +1 -1
  460. package/dist/components/br-table.d.ts +1 -1
  461. package/dist/components/br-table.js +1 -1
  462. package/dist/components/br-tag.d.ts +1 -1
  463. package/dist/components/br-tag.js +1 -1
  464. package/dist/components/br-textarea.d.ts +1 -1
  465. package/dist/components/br-textarea.js +1 -1
  466. package/dist/components/br-time-picker.d.ts +1 -1
  467. package/dist/components/br-time-picker.js +1 -1
  468. package/dist/components/br-tooltip.d.ts +1 -1
  469. package/dist/components/br-tooltip.js +1 -1
  470. package/dist/components/br-upload.d.ts +1 -1
  471. package/dist/components/br-upload.js +1 -1
  472. package/dist/components/br-wizard-panel.d.ts +1 -1
  473. package/dist/components/br-wizard-panel.js +1 -1
  474. package/dist/components/br-wizard.d.ts +1 -1
  475. package/dist/components/br-wizard.js +1 -1
  476. package/dist/components/index.d.ts +89 -89
  477. package/dist/components/index.js +1 -1
  478. package/dist/components/p-B0o70fWP.js +5 -0
  479. package/dist/components/p-B96LROz9.js +5 -0
  480. package/dist/components/p-BDqef5-y.js +5 -0
  481. package/dist/components/p-BEJGB0Nd.js +5 -0
  482. package/dist/{webcomponents/p-Dmfk7eEe.js → components/p-BJZC_NuV.js} +1 -1
  483. package/dist/components/p-BJtdabsr.js +5 -0
  484. package/dist/components/p-BP5zMCxG.js +5 -0
  485. package/dist/components/p-BRaphxoP.js +5 -0
  486. package/dist/components/p-BUzBa9L1.js +5 -0
  487. package/dist/components/{p-DA5GS53D.js → p-BblZlUp2.js} +1 -1
  488. package/dist/components/p-Bc4nAk5i.js +5 -0
  489. package/dist/components/{p-C1yRmdso.js → p-BcqVlof7.js} +1 -1
  490. package/dist/components/p-BeJxz5TQ.js +5 -0
  491. package/dist/components/p-Bezou5CQ.js +5 -0
  492. package/dist/components/p-BrNh9KdF.js +5 -0
  493. package/dist/components/p-C5th2dxu.js +5 -0
  494. package/dist/components/p-CDtFCbKp.js +5 -0
  495. package/dist/components/p-CEdUp183.js +5 -0
  496. package/dist/components/p-CF7t0uxQ.js +5 -0
  497. package/dist/components/p-CFzHx6zV.js +5 -0
  498. package/dist/components/p-CG4em0S6.js +5 -0
  499. package/dist/components/p-CI4D3-pf.js +5 -0
  500. package/dist/components/p-CIrVPkVg.js +5 -0
  501. package/dist/components/p-CNwZRgyL.js +5 -0
  502. package/dist/components/p-CppRJiyC.js +5 -0
  503. package/dist/components/p-Cvk1Ggs5.js +5 -0
  504. package/dist/components/p-D12US39c.js +5 -0
  505. package/dist/components/p-D9Zo6FlV.js +5 -0
  506. package/dist/components/p-DGPJkJsj.js +5 -0
  507. package/dist/components/p-DSHbttu9.js +5 -0
  508. package/dist/components/p-DTGNra9m.js +5 -0
  509. package/dist/components/p-DWhzxlCx.js +5 -0
  510. package/dist/components/p-DX1wAFn4.js +5 -0
  511. package/dist/components/p-DiLI514I.js +5 -0
  512. package/dist/components/p-Dma14GVa.js +5 -0
  513. package/dist/components/p-DpRZ4B0d.js +5 -0
  514. package/dist/components/p-G35qEQZd.js +5 -0
  515. package/dist/components/p-Ho_IybzR.js +5 -0
  516. package/dist/components/p-SvVnvJdC.js +5 -0
  517. package/dist/components/p-emAWunES.js +5 -0
  518. package/dist/components/p-fB79wKCm.js +5 -0
  519. package/dist/components/p-k7p4QJ8a.js +5 -0
  520. package/dist/esm/br-avatar.entry.js +21 -14
  521. package/dist/esm/br-breadcrumb-item.entry.js +2 -2
  522. package/dist/esm/br-breadcrumb.entry.js +49 -22
  523. package/dist/esm/br-button_2.entry.js +72 -35
  524. package/dist/esm/br-card.entry.js +6 -5
  525. package/dist/esm/br-carousel-page.entry.js +3 -3
  526. package/dist/esm/br-carousel.entry.js +78 -22
  527. package/dist/esm/br-checkbox-group.entry.js +157 -27
  528. package/dist/esm/br-checkbox.entry.js +86 -16
  529. package/dist/esm/br-checkgroup.entry.js +5 -2
  530. package/dist/esm/br-collapse_2.entry.js +86 -27
  531. package/dist/esm/br-cookiebar-cookie.entry.js +4 -4
  532. package/dist/esm/br-cookiebar-group.entry.js +4 -4
  533. package/dist/esm/br-cookiebar-header.entry.js +4 -4
  534. package/dist/esm/br-cookiebar-link.entry.js +14 -6
  535. package/dist/esm/br-cookiebar-note-group.entry.js +3 -5
  536. package/dist/esm/br-cookiebar-note.entry.js +4 -4
  537. package/dist/esm/br-cookiebar.entry.js +39 -26
  538. package/dist/esm/br-crumb.entry.js +2 -2
  539. package/dist/esm/br-date-picker_3.entry.js +207 -49
  540. package/dist/esm/br-datetime-picker.entry.js +82 -494
  541. package/dist/esm/br-divider.entry.js +70 -17
  542. package/dist/esm/br-dropdown_2.entry.js +305 -123
  543. package/dist/esm/br-footer-category.entry.js +10 -6
  544. package/dist/esm/br-footer-item.entry.js +9 -4
  545. package/dist/esm/br-footer-legal.entry.js +4 -4
  546. package/dist/esm/br-footer-logo.entry.js +22 -10
  547. package/dist/esm/br-footer-social.entry.js +14 -6
  548. package/dist/esm/br-footer.entry.js +16 -7
  549. package/dist/esm/br-header-function.entry.js +28 -7
  550. package/dist/esm/br-header-link.entry.js +25 -4
  551. package/dist/esm/br-header-list.entry.js +7 -18
  552. package/dist/esm/br-header-logo.entry.js +18 -7
  553. package/dist/esm/br-header.entry.js +72 -17
  554. package/dist/esm/br-icon.entry.js +160 -23
  555. package/dist/esm/br-input.entry.js +132 -41
  556. package/dist/esm/br-item.entry.js +96 -48
  557. package/dist/esm/br-link.entry.js +20 -7
  558. package/dist/esm/br-loading.entry.js +100 -38
  559. package/dist/esm/br-magic-button.entry.js +26 -9
  560. package/dist/esm/br-menu-group.entry.js +14 -3
  561. package/dist/esm/br-menu-header.entry.js +4 -4
  562. package/dist/esm/br-menu-info.entry.js +4 -4
  563. package/dist/esm/br-menu-item.entry.js +27 -5
  564. package/dist/esm/br-menu-link.entry.js +14 -6
  565. package/dist/esm/br-menu-list.entry.js +23 -27
  566. package/dist/esm/br-menu-logo.entry.js +4 -4
  567. package/dist/esm/br-menu-social.entry.js +16 -6
  568. package/dist/esm/br-menu.entry.js +42 -65
  569. package/dist/esm/br-modal.entry.js +26 -40
  570. package/dist/esm/br-notification-body.entry.js +4 -4
  571. package/dist/esm/br-notification-header.entry.js +4 -4
  572. package/dist/esm/br-notification-item.entry.js +14 -8
  573. package/dist/esm/br-notification.entry.js +24 -9
  574. package/dist/esm/br-pagination.entry.js +119 -87
  575. package/dist/esm/br-radio-group.entry.js +107 -58
  576. package/dist/esm/br-radio.entry.js +62 -12
  577. package/dist/esm/br-scrim.entry.js +161 -67
  578. package/dist/esm/br-select-input_3.entry.js +283 -90
  579. package/dist/esm/br-sign-in.entry.js +34 -15
  580. package/dist/esm/br-skip-link-item.entry.js +39 -2
  581. package/dist/esm/br-skip-link.entry.js +50 -33
  582. package/dist/esm/br-skiplink-item.entry.js +22 -6
  583. package/dist/esm/br-slider.entry.js +519 -97
  584. package/dist/esm/br-step_2.entry.js +98 -44
  585. package/dist/esm/br-switch.entry.js +21 -12
  586. package/dist/esm/br-tab-item.entry.js +38 -14
  587. package/dist/esm/br-tab.entry.js +57 -44
  588. package/dist/esm/br-table-body.entry.js +3 -3
  589. package/dist/esm/br-table-cell.entry.js +30 -13
  590. package/dist/esm/br-table-header-cell.entry.js +23 -7
  591. package/dist/esm/br-table-header.entry.js +3 -3
  592. package/dist/esm/br-table-row.entry.js +17 -3
  593. package/dist/esm/br-table.entry.js +68 -22
  594. package/dist/esm/br-tag.entry.js +49 -31
  595. package/dist/esm/br-textarea.entry.js +118 -13
  596. package/dist/esm/br-tooltip.entry.js +88 -42
  597. package/dist/esm/br-upload.entry.js +84 -25
  598. package/dist/esm/br-wizard-panel.entry.js +16 -3
  599. package/dist/esm/br-wizard.entry.js +52 -28
  600. package/dist/esm/{datetime-picker-constants-Bfm58jO6.js → datetime-picker-constants-BtRPYRvA.js} +1 -1
  601. package/dist/esm/{isValid-DIUZX1qS.js → datetime-picker-props-validation-BeTcUTnE.js} +476 -5
  602. package/dist/esm/{event-DFN_so7I.js → event-CfuJQ1DY.js} +1 -1
  603. package/dist/esm/{floating-ui-BavFwMnx.js → floating-ui-CskvaxD5.js} +24 -1
  604. package/dist/esm/{floating-ui.dom-DIK54tTj.js → floating-ui.dom-D9Zo6FlV.js} +201 -114
  605. package/dist/esm/{focus-DxZJrIyL.js → focus-CNwZRgyL.js} +20 -1
  606. package/dist/esm/header-context-BEJGB0Nd.js +15 -0
  607. package/dist/esm/id-BeJxz5TQ.js +34 -0
  608. package/dist/esm/{index-Bo-2igoO.js → index-BQPOWxe5.js} +1 -1
  609. package/dist/esm/{index-C2RBydfd.js → index-Dcn7tRST.js} +68 -752
  610. package/dist/esm/index.js +2 -2
  611. package/dist/esm/loader.js +3 -3
  612. package/dist/esm/motion-DWhzxlCx.js +27 -0
  613. package/dist/esm/ownership-CDtFCbKp.js +111 -0
  614. package/dist/esm/prop-warning-BlGV-x0w.js +56 -0
  615. package/dist/esm/props-D07GjR4_.js +116 -0
  616. package/dist/esm/{swipe-Dmfk7eEe.js → swipe-BJZC_NuV.js} +11 -1
  617. package/dist/esm/webcomponents.js +4 -4
  618. package/dist/hydrate/index.js +7370 -2603
  619. package/dist/hydrate/index.mjs +7370 -2603
  620. package/dist/loader/index.d.ts +1 -1
  621. package/dist/types/components/avatar/avatar.d.ts +34 -4
  622. package/dist/types/components/breadcrumb/breadcrumb-item/breadcrumb-item.d.ts +14 -2
  623. package/dist/types/components/breadcrumb/breadcrumb.d.ts +66 -5
  624. package/dist/types/components/breadcrumb/crumb/crumb.d.ts +13 -1
  625. package/dist/types/components/button/button.d.ts +45 -9
  626. package/dist/types/components/card/card.d.ts +31 -3
  627. package/dist/types/components/carousel/carousel-page/carousel-page.d.ts +10 -3
  628. package/dist/types/components/carousel/carousel.d.ts +46 -3
  629. package/dist/types/components/checkbox/checkbox.d.ts +59 -6
  630. package/dist/types/components/checkbox-group/checkbox-group.d.ts +47 -5
  631. package/dist/types/components/checkgroup/checkgroup.d.ts +27 -5
  632. package/dist/types/components/collapse/collapse.d.ts +33 -4
  633. package/dist/types/components/cookiebar/cookiebar-cookie/cookiebar-cookie.d.ts +16 -3
  634. package/dist/types/components/cookiebar/cookiebar-group/cookiebar-group.d.ts +15 -6
  635. package/dist/types/components/cookiebar/cookiebar-header/cookiebar-header.d.ts +14 -8
  636. package/dist/types/components/cookiebar/cookiebar-link/cookiebar-link.d.ts +16 -5
  637. package/dist/types/components/cookiebar/cookiebar-note/cookiebar-note.d.ts +13 -3
  638. package/dist/types/components/cookiebar/cookiebar-note-group/cookiebar-note-group.d.ts +13 -3
  639. package/dist/types/components/cookiebar/cookiebar.d.ts +35 -10
  640. package/dist/types/components/datetime-picker/date-picker/date-picker.d.ts +63 -7
  641. package/dist/types/components/datetime-picker/datetime-input/datetime-input.d.ts +51 -9
  642. package/dist/types/components/datetime-picker/datetime-picker-props-validation.d.ts +4 -2
  643. package/dist/types/components/datetime-picker/datetime-picker.d.ts +118 -12
  644. package/dist/types/components/datetime-picker/time-picker/time-picker.d.ts +38 -4
  645. package/dist/types/components/divider/divider.d.ts +45 -8
  646. package/dist/types/components/dropdown/dropdown.d.ts +41 -3
  647. package/dist/types/components/footer/footer-category/footer-category.d.ts +16 -1
  648. package/dist/types/components/footer/footer-item/footer-item.d.ts +17 -1
  649. package/dist/types/components/footer/footer-legal/footer-legal.d.ts +15 -1
  650. package/dist/types/components/footer/footer-logo/footer-logo.d.ts +21 -2
  651. package/dist/types/components/footer/footer-social/footer-social.d.ts +20 -3
  652. package/dist/types/components/footer/footer.d.ts +39 -3
  653. package/dist/types/components/header/header-context.d.ts +1 -0
  654. package/dist/types/components/header/header-function/header-function.d.ts +24 -2
  655. package/dist/types/components/header/header-link/header-link.d.ts +22 -1
  656. package/dist/types/components/header/header-list/header-list.d.ts +16 -8
  657. package/dist/types/components/header/header-logo/header-logo.d.ts +20 -1
  658. package/dist/types/components/header/header.d.ts +45 -7
  659. package/dist/types/components/icon/icon.d.ts +44 -13
  660. package/dist/types/components/input/input.d.ts +65 -15
  661. package/dist/types/components/item/item.d.ts +38 -5
  662. package/dist/types/components/link/link.d.ts +41 -9
  663. package/dist/types/components/list/list.d.ts +58 -8
  664. package/dist/types/components/loading/loading.d.ts +48 -8
  665. package/dist/types/components/magic-button/magic-button.d.ts +37 -3
  666. package/dist/types/components/menu/menu-group/menu-group.d.ts +19 -1
  667. package/dist/types/components/menu/menu-header/menu-header.d.ts +16 -1
  668. package/dist/types/components/menu/menu-info/menu-info.d.ts +14 -1
  669. package/dist/types/components/menu/menu-item/menu-item.d.ts +27 -3
  670. package/dist/types/components/menu/menu-link/menu-link.d.ts +17 -1
  671. package/dist/types/components/menu/menu-list/menu-list.d.ts +22 -4
  672. package/dist/types/components/menu/menu-logo/menu-logo.d.ts +14 -1
  673. package/dist/types/components/menu/menu-social/menu-social.d.ts +21 -2
  674. package/dist/types/components/menu/menu.d.ts +42 -9
  675. package/dist/types/components/menu/menu.utils.d.ts +2 -6
  676. package/dist/types/components/message/message.d.ts +38 -9
  677. package/dist/types/components/modal/modal.d.ts +34 -4
  678. package/dist/types/components/notification/notification-body/notification-body.d.ts +12 -3
  679. package/dist/types/components/notification/notification-header/notification-header.d.ts +12 -3
  680. package/dist/types/components/notification/notification-item/notification-item.d.ts +15 -3
  681. package/dist/types/components/notification/notification.d.ts +36 -5
  682. package/dist/types/components/pagination/pagination.d.ts +56 -20
  683. package/dist/types/components/radio/radio.d.ts +49 -4
  684. package/dist/types/components/radio-group/radio-group.d.ts +52 -10
  685. package/dist/types/components/scrim/scrim.d.ts +72 -11
  686. package/dist/types/components/scrim/scrim.utils.d.ts +2 -17
  687. package/dist/types/components/select/select-input/select-input.d.ts +22 -4
  688. package/dist/types/components/select/select-list/select-list.d.ts +51 -5
  689. package/dist/types/components/select/select-option/select-option.d.ts +31 -8
  690. package/dist/types/components/select/select.d.ts +152 -13
  691. package/dist/types/components/select/select.types.d.ts +5 -0
  692. package/dist/types/components/sign-in/sign-in.d.ts +30 -3
  693. package/dist/types/components/skip-link/skip-link-item/skip-link-item-alias.d.ts +15 -2
  694. package/dist/types/components/skip-link/skip-link-item/skip-link-item.d.ts +22 -1
  695. package/dist/types/components/skip-link/skip-link.d.ts +37 -3
  696. package/dist/types/components/slider/slider.d.ts +147 -21
  697. package/dist/types/components/slider/slider.types.d.ts +7 -2
  698. package/dist/types/components/slider/slider.utils.d.ts +27 -0
  699. package/dist/types/components/step/step-item/step-item.d.ts +15 -3
  700. package/dist/types/components/step/step.d.ts +47 -12
  701. package/dist/types/components/switch/switch.d.ts +39 -6
  702. package/dist/types/components/tab/tab-item/tab-item.d.ts +20 -4
  703. package/dist/types/components/tab/tab.d.ts +41 -11
  704. package/dist/types/components/table/table-body/table-body.d.ts +10 -6
  705. package/dist/types/components/table/table-cell/table-cell.d.ts +10 -6
  706. package/dist/types/components/table/table-header/table-header.d.ts +10 -6
  707. package/dist/types/components/table/table-header-cell/table-header-cell.d.ts +18 -6
  708. package/dist/types/components/table/table-row/table-row.d.ts +11 -6
  709. package/dist/types/components/table/table.d.ts +49 -11
  710. package/dist/types/components/tag/tag.d.ts +55 -7
  711. package/dist/types/components/textarea/textarea.d.ts +75 -5
  712. package/dist/types/components/textarea/textarea.types.d.ts +4 -0
  713. package/dist/types/components/tooltip/tooltip.d.ts +46 -8
  714. package/dist/types/components/upload/upload.d.ts +78 -10
  715. package/dist/types/components/wizard/wizard-panel/wizard-panel.d.ts +20 -2
  716. package/dist/types/components/wizard/wizard.d.ts +44 -7
  717. package/dist/types/components.d.ts +5825 -1352
  718. package/dist/types/shared/utils/floating-ui.d.ts +4 -0
  719. package/dist/types/shared/utils/focus.d.ts +14 -0
  720. package/dist/types/shared/utils/getRandom.d.ts +1 -0
  721. package/dist/types/shared/utils/id.d.ts +1 -1
  722. package/dist/types/shared/utils/index.d.ts +6 -1
  723. package/dist/types/shared/utils/motion.d.ts +14 -0
  724. package/dist/types/shared/utils/ownership.d.ts +33 -0
  725. package/dist/types/shared/utils/prop-warning.d.ts +7 -0
  726. package/dist/types/shared/utils/props.d.ts +38 -0
  727. package/dist/types/shared/utils/swipe.d.ts +5 -0
  728. package/dist/types/shared/utils/virtual-scroll.d.ts +25 -0
  729. package/dist/types/stencil-public-runtime.d.ts +12 -0
  730. package/dist/webcomponents/index.esm.js +1 -1
  731. package/dist/webcomponents/p-01baafce.entry.js +5 -0
  732. package/dist/webcomponents/p-01fb0754.entry.js +5 -0
  733. package/dist/webcomponents/p-030c02f8.entry.js +5 -0
  734. package/dist/webcomponents/p-03359c92.entry.js +5 -0
  735. package/dist/webcomponents/p-09770c98.entry.js +5 -0
  736. package/dist/webcomponents/p-0b9714f1.entry.js +5 -0
  737. package/dist/webcomponents/p-12aa36a8.entry.js +5 -0
  738. package/dist/webcomponents/p-130b6e06.entry.js +5 -0
  739. package/dist/webcomponents/p-144f8c8d.entry.js +5 -0
  740. package/dist/webcomponents/p-14fe22e2.entry.js +5 -0
  741. package/dist/webcomponents/p-1ff9210a.entry.js +5 -0
  742. package/dist/webcomponents/p-2605cdc3.entry.js +5 -0
  743. package/dist/webcomponents/p-27afaec9.entry.js +5 -0
  744. package/dist/webcomponents/p-2a50e42d.entry.js +5 -0
  745. package/dist/webcomponents/p-327f034f.entry.js +5 -0
  746. package/dist/webcomponents/p-342650b8.entry.js +5 -0
  747. package/dist/webcomponents/p-38f6a78b.entry.js +5 -0
  748. package/dist/webcomponents/p-3920fe3a.entry.js +5 -0
  749. package/dist/webcomponents/p-3ae97345.entry.js +5 -0
  750. package/dist/webcomponents/p-3cce767c.entry.js +5 -0
  751. package/dist/webcomponents/p-3df6c5d2.entry.js +5 -0
  752. package/dist/webcomponents/p-3e287899.entry.js +5 -0
  753. package/dist/webcomponents/p-3e5580ba.entry.js +5 -0
  754. package/dist/webcomponents/p-403637dd.entry.js +5 -0
  755. package/dist/webcomponents/p-435c8ef2.entry.js +5 -0
  756. package/dist/webcomponents/p-59da5b55.entry.js +5 -0
  757. package/dist/webcomponents/p-5dd4314c.entry.js +5 -0
  758. package/dist/webcomponents/p-646af6a5.entry.js +5 -0
  759. package/dist/webcomponents/p-670e8fec.entry.js +5 -0
  760. package/dist/webcomponents/p-68046544.entry.js +5 -0
  761. package/dist/webcomponents/p-68ec76b8.entry.js +5 -0
  762. package/dist/webcomponents/p-6c0ea20c.entry.js +5 -0
  763. package/dist/webcomponents/p-6c2fe5e4.entry.js +5 -0
  764. package/dist/webcomponents/p-707df9b9.entry.js +5 -0
  765. package/dist/webcomponents/p-72b839fe.entry.js +5 -0
  766. package/dist/webcomponents/p-73dcc05b.entry.js +5 -0
  767. package/dist/webcomponents/p-7acf20d3.entry.js +5 -0
  768. package/dist/webcomponents/p-7b01bddb.entry.js +5 -0
  769. package/dist/webcomponents/p-7cd38850.entry.js +5 -0
  770. package/dist/webcomponents/p-82454383.entry.js +5 -0
  771. package/dist/webcomponents/p-91e959a8.entry.js +5 -0
  772. package/dist/webcomponents/p-964c01e6.entry.js +5 -0
  773. package/dist/webcomponents/p-9858e42a.entry.js +5 -0
  774. package/dist/webcomponents/p-9c4200b0.entry.js +5 -0
  775. package/dist/webcomponents/p-9d9c87b1.entry.js +5 -0
  776. package/dist/webcomponents/p-B0PbhaxL.js +5 -0
  777. package/dist/webcomponents/p-BEJGB0Nd.js +5 -0
  778. package/dist/{components/p-Dmfk7eEe.js → webcomponents/p-BJZC_NuV.js} +1 -1
  779. package/dist/webcomponents/p-BJtdabsr.js +5 -0
  780. package/dist/webcomponents/p-BeJxz5TQ.js +5 -0
  781. package/dist/webcomponents/p-BlGV-x0w.js +5 -0
  782. package/dist/webcomponents/{p-Bfm58jO6.js → p-BtRPYRvA.js} +1 -1
  783. package/dist/webcomponents/p-CDtFCbKp.js +5 -0
  784. package/dist/webcomponents/p-CNwZRgyL.js +5 -0
  785. package/dist/webcomponents/{p-DFN_so7I.js → p-CfuJQ1DY.js} +1 -1
  786. package/dist/webcomponents/p-D9Zo6FlV.js +5 -0
  787. package/dist/webcomponents/{p-BhMVJQ4-.js → p-DV-iW9Aj.js} +1 -1
  788. package/dist/webcomponents/p-DWhzxlCx.js +5 -0
  789. package/dist/webcomponents/p-Dcn7tRST.js +7 -0
  790. package/dist/webcomponents/p-EbtQZm5s.js +5 -0
  791. package/dist/webcomponents/p-a0931550.entry.js +5 -0
  792. package/dist/webcomponents/p-a212fd85.entry.js +5 -0
  793. package/dist/webcomponents/p-a2e75143.entry.js +5 -0
  794. package/dist/webcomponents/p-a3bb98c9.entry.js +5 -0
  795. package/dist/webcomponents/p-a8b5dba0.entry.js +5 -0
  796. package/dist/webcomponents/p-aa909443.entry.js +5 -0
  797. package/dist/webcomponents/p-abaf2365.entry.js +5 -0
  798. package/dist/webcomponents/p-aeb16645.entry.js +5 -0
  799. package/dist/webcomponents/p-b287c384.entry.js +5 -0
  800. package/dist/webcomponents/p-b506b0a1.entry.js +5 -0
  801. package/dist/webcomponents/p-b520c08c.entry.js +5 -0
  802. package/dist/webcomponents/p-b94c3f84.entry.js +5 -0
  803. package/dist/webcomponents/p-bda62f90.entry.js +5 -0
  804. package/dist/webcomponents/p-c201ae16.entry.js +5 -0
  805. package/dist/webcomponents/p-c7e899a1.entry.js +5 -0
  806. package/dist/webcomponents/p-c8b7bbab.entry.js +5 -0
  807. package/dist/webcomponents/p-cbf3e251.entry.js +5 -0
  808. package/dist/webcomponents/{p-7f7506f0.entry.js → p-cff24492.entry.js} +1 -1
  809. package/dist/webcomponents/p-d35cf5b4.entry.js +5 -0
  810. package/dist/webcomponents/p-d45ffe9c.entry.js +5 -0
  811. package/dist/webcomponents/p-d719a4af.entry.js +5 -0
  812. package/dist/webcomponents/p-d826c052.entry.js +5 -0
  813. package/dist/webcomponents/p-da21a60d.entry.js +5 -0
  814. package/dist/webcomponents/p-de0c7f26.entry.js +5 -0
  815. package/dist/webcomponents/p-e20188c0.entry.js +5 -0
  816. package/dist/webcomponents/p-e27882e1.entry.js +5 -0
  817. package/dist/webcomponents/p-e3de5bb3.entry.js +5 -0
  818. package/dist/webcomponents/p-e624ff04.entry.js +5 -0
  819. package/dist/webcomponents/p-ed5af0e4.entry.js +5 -0
  820. package/dist/webcomponents/p-edc6da0e.entry.js +5 -0
  821. package/dist/webcomponents/p-f24fcf3d.entry.js +5 -0
  822. package/dist/webcomponents/p-f52ef0dc.entry.js +5 -0
  823. package/dist/webcomponents/{p-12286e73.entry.js → p-f558d7b9.entry.js} +1 -1
  824. package/dist/webcomponents/p-fcab1428.entry.js +5 -0
  825. package/dist/webcomponents/p-fe1729a7.entry.js +5 -0
  826. package/dist/webcomponents/webcomponents.esm.js +1 -1
  827. package/package.json +18 -3
  828. package/dist/cjs/clamp-Co_hWptd.js +0 -25
  829. package/dist/cjs/id-CjRFMzf6.js +0 -20
  830. package/dist/cjs/props-CScmBvKd.js +0 -24
  831. package/dist/collection/pages/components/cookiebar/index.js +0 -26
  832. package/dist/collection/pages/components/link/index.js +0 -29
  833. package/dist/collection/pages/components/pagination/index.js +0 -12
  834. package/dist/collection/pages/components/slider/index.js +0 -18
  835. package/dist/components/p-34Jfn-U-.js +0 -5
  836. package/dist/components/p-6OdfnwnK.js +0 -5
  837. package/dist/components/p-B7Amgxkp.js +0 -5
  838. package/dist/components/p-BKuMQJrQ.js +0 -5
  839. package/dist/components/p-BPJpHGOW.js +0 -5
  840. package/dist/components/p-Bb-nLtTG.js +0 -5
  841. package/dist/components/p-BeE7R9nu.js +0 -5
  842. package/dist/components/p-BkS6ujyf.js +0 -5
  843. package/dist/components/p-Bo0QYHJO.js +0 -5
  844. package/dist/components/p-C2i2c_io.js +0 -5
  845. package/dist/components/p-C7v0lVlX.js +0 -5
  846. package/dist/components/p-CMBsvswx.js +0 -5
  847. package/dist/components/p-CRrimdz6.js +0 -5
  848. package/dist/components/p-CWORw84-.js +0 -5
  849. package/dist/components/p-CvUMXJCl.js +0 -5
  850. package/dist/components/p-D6zroLx5.js +0 -5
  851. package/dist/components/p-DBP6K_aq.js +0 -5
  852. package/dist/components/p-DCrVo-8T.js +0 -5
  853. package/dist/components/p-DFUKDNck.js +0 -5
  854. package/dist/components/p-DHicj0By.js +0 -5
  855. package/dist/components/p-DIK54tTj.js +0 -5
  856. package/dist/components/p-DQRSHR-D.js +0 -5
  857. package/dist/components/p-DRVMm1Py.js +0 -5
  858. package/dist/components/p-DWPmUV72.js +0 -5
  859. package/dist/components/p-DXjQyH6s.js +0 -5
  860. package/dist/components/p-DmCxdB9P.js +0 -5
  861. package/dist/components/p-Dp0xy_3n.js +0 -5
  862. package/dist/components/p-DxZJrIyL.js +0 -5
  863. package/dist/components/p-JAkkThgf.js +0 -5
  864. package/dist/components/p-Ud-WB0hx.js +0 -5
  865. package/dist/components/p-fpMNttbg.js +0 -5
  866. package/dist/components/p-gvnfuTjd.js +0 -5
  867. package/dist/components/p-qYONSNcf.js +0 -5
  868. package/dist/components/p-qhhHGJY1.js +0 -5
  869. package/dist/components/p-ttI0nvv_.js +0 -5
  870. package/dist/components/p-ukNmfGNP.js +0 -5
  871. package/dist/components/p-xa8e1kSW.js +0 -5
  872. package/dist/esm/clamp-gvnfuTjd.js +0 -23
  873. package/dist/esm/id-BkS6ujyf.js +0 -18
  874. package/dist/esm/props-DRVMm1Py.js +0 -22
  875. package/dist/webcomponents/p-0196804a.entry.js +0 -5
  876. package/dist/webcomponents/p-0410186a.entry.js +0 -5
  877. package/dist/webcomponents/p-0415ef22.entry.js +0 -5
  878. package/dist/webcomponents/p-0777c7b1.entry.js +0 -5
  879. package/dist/webcomponents/p-0caa4d12.entry.js +0 -5
  880. package/dist/webcomponents/p-0d4f718d.entry.js +0 -5
  881. package/dist/webcomponents/p-0e84c9e8.entry.js +0 -5
  882. package/dist/webcomponents/p-147ac8d3.entry.js +0 -5
  883. package/dist/webcomponents/p-1580beee.entry.js +0 -5
  884. package/dist/webcomponents/p-18ee6175.entry.js +0 -5
  885. package/dist/webcomponents/p-1bca4499.entry.js +0 -5
  886. package/dist/webcomponents/p-1c303a4e.entry.js +0 -5
  887. package/dist/webcomponents/p-1d6b0b6f.entry.js +0 -5
  888. package/dist/webcomponents/p-1d8cb8fd.entry.js +0 -5
  889. package/dist/webcomponents/p-224daaac.entry.js +0 -5
  890. package/dist/webcomponents/p-28426d2a.entry.js +0 -5
  891. package/dist/webcomponents/p-2abd2da0.entry.js +0 -5
  892. package/dist/webcomponents/p-2fdc51ae.entry.js +0 -5
  893. package/dist/webcomponents/p-30c428b6.entry.js +0 -5
  894. package/dist/webcomponents/p-36bbea4e.entry.js +0 -5
  895. package/dist/webcomponents/p-3907ebfa.entry.js +0 -5
  896. package/dist/webcomponents/p-39a16f9d.entry.js +0 -5
  897. package/dist/webcomponents/p-3ebbd2f5.entry.js +0 -5
  898. package/dist/webcomponents/p-3ef7eac8.entry.js +0 -5
  899. package/dist/webcomponents/p-45356e9a.entry.js +0 -5
  900. package/dist/webcomponents/p-46513db4.entry.js +0 -5
  901. package/dist/webcomponents/p-4c13221a.entry.js +0 -5
  902. package/dist/webcomponents/p-51ce2c31.entry.js +0 -5
  903. package/dist/webcomponents/p-52df61cb.entry.js +0 -5
  904. package/dist/webcomponents/p-569134cf.entry.js +0 -5
  905. package/dist/webcomponents/p-5ce7db4a.entry.js +0 -5
  906. package/dist/webcomponents/p-5f373708.entry.js +0 -5
  907. package/dist/webcomponents/p-5f6afb79.entry.js +0 -5
  908. package/dist/webcomponents/p-5fc7ba4c.entry.js +0 -5
  909. package/dist/webcomponents/p-66006312.entry.js +0 -5
  910. package/dist/webcomponents/p-66b13fd9.entry.js +0 -5
  911. package/dist/webcomponents/p-6OdfnwnK.js +0 -5
  912. package/dist/webcomponents/p-750799b7.entry.js +0 -5
  913. package/dist/webcomponents/p-756ff2ad.entry.js +0 -5
  914. package/dist/webcomponents/p-765bfe27.entry.js +0 -5
  915. package/dist/webcomponents/p-7ab96c11.entry.js +0 -5
  916. package/dist/webcomponents/p-7c2ff8b4.entry.js +0 -5
  917. package/dist/webcomponents/p-7fb03a49.entry.js +0 -5
  918. package/dist/webcomponents/p-82200563.entry.js +0 -5
  919. package/dist/webcomponents/p-83ff4579.entry.js +0 -5
  920. package/dist/webcomponents/p-85f8063b.entry.js +0 -5
  921. package/dist/webcomponents/p-8b558233.entry.js +0 -5
  922. package/dist/webcomponents/p-8e6c2767.entry.js +0 -5
  923. package/dist/webcomponents/p-8e819355.entry.js +0 -5
  924. package/dist/webcomponents/p-92a9b9c4.entry.js +0 -5
  925. package/dist/webcomponents/p-966ad32f.entry.js +0 -5
  926. package/dist/webcomponents/p-9679d230.entry.js +0 -5
  927. package/dist/webcomponents/p-96dd663b.entry.js +0 -5
  928. package/dist/webcomponents/p-98843fa3.entry.js +0 -5
  929. package/dist/webcomponents/p-9a375eff.entry.js +0 -5
  930. package/dist/webcomponents/p-9b358cff.entry.js +0 -5
  931. package/dist/webcomponents/p-9f7558c7.entry.js +0 -5
  932. package/dist/webcomponents/p-BkS6ujyf.js +0 -5
  933. package/dist/webcomponents/p-C2RBydfd.js +0 -6
  934. package/dist/webcomponents/p-CO5cOQQU.js +0 -5
  935. package/dist/webcomponents/p-DIK54tTj.js +0 -5
  936. package/dist/webcomponents/p-DRVMm1Py.js +0 -5
  937. package/dist/webcomponents/p-DxZJrIyL.js +0 -5
  938. package/dist/webcomponents/p-a382e115.entry.js +0 -5
  939. package/dist/webcomponents/p-a4ae72e3.entry.js +0 -5
  940. package/dist/webcomponents/p-a994c190.entry.js +0 -5
  941. package/dist/webcomponents/p-a9ff7c25.entry.js +0 -5
  942. package/dist/webcomponents/p-c0b0f531.entry.js +0 -5
  943. package/dist/webcomponents/p-c211af17.entry.js +0 -5
  944. package/dist/webcomponents/p-c492d926.entry.js +0 -5
  945. package/dist/webcomponents/p-c4cfe599.entry.js +0 -5
  946. package/dist/webcomponents/p-c846e784.entry.js +0 -5
  947. package/dist/webcomponents/p-c949d993.entry.js +0 -5
  948. package/dist/webcomponents/p-d1e899cd.entry.js +0 -5
  949. package/dist/webcomponents/p-d38d82cc.entry.js +0 -5
  950. package/dist/webcomponents/p-e0ce536a.entry.js +0 -5
  951. package/dist/webcomponents/p-e1331288.entry.js +0 -5
  952. package/dist/webcomponents/p-e360a463.entry.js +0 -5
  953. package/dist/webcomponents/p-f078f972.entry.js +0 -5
  954. package/dist/webcomponents/p-f26038e2.entry.js +0 -5
  955. package/dist/webcomponents/p-f303f6b3.entry.js +0 -5
  956. package/dist/webcomponents/p-f6318e94.entry.js +0 -5
  957. package/dist/webcomponents/p-f85ee01c.entry.js +0 -5
  958. package/dist/webcomponents/p-fcd4ae48.entry.js +0 -5
  959. package/dist/webcomponents/p-ffe0241e.entry.js +0 -5
  960. package/dist/webcomponents/p-gvnfuTjd.js +0 -5
@@ -4,12 +4,38 @@
4
4
  */
5
5
  import { Host, h } from "@stencil/core";
6
6
  import { generateUniqueId } from "../../shared/utils/id";
7
- import { normalizePropValue } from "../../shared/utils/props";
7
+ import { resolveAllowedPropValue, resolveDensity } from "../../shared/utils/props";
8
8
  import { hasNamedLightDomSlot } from "../../shared/utils/slot";
9
9
  /**
10
- * Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/avatar?tab=designer).
10
+ * O componente `br-avatar` é a representação visual compacta de um usuário, pessoa ou entidade no GovBR-DS. Ele exibe fotos de perfil, ícones institucionais ou iniciais textuais com suporte a múltiplos tamanhos, temas e indicador de status contextual.
11
11
  *
12
- * @category Identidade
12
+ * ### Para que serve
13
+ *
14
+ * - **Identificação visual de perfil:** Exibe a foto do usuário logado em barras de cabeçalho, cartões de perfil, listas de contatos ou comentários.
15
+ * - **Resiliência e fallback visual:** Caso a imagem informada falhe ao carregar (`src`), o componente passa suavemente para o ícone padrão ou texto alternativo sem quebrar o leiaute.
16
+ * - **Indicador de status integrado:** Informa estados operacionais (online, offline, ocupado, ausente) através do slot dedicado `status`.
17
+ * - **Acessibilidade:** Garante descrição textual adequada através da propriedade `alt`, essencial para pessoas que utilizam leitores de tela.
18
+ *
19
+ * ### Quando utilizar
20
+ *
21
+ * - **Utilize quando:**
22
+ * - For necessário identificar a pessoa autenticada no cabeçalho ou menu da aplicação.
23
+ * - Exibir listas de contatos, autores de publicações, membros de equipe ou participantes de um fluxo colaborativo.
24
+ * - Indicar o status de disponibilidade de um usuário ou atendente no sistema.
25
+ * - **Evite e prefira outro componente quando:**
26
+ * - For necessária uma exibição de imagem ilustrativa ampla ou promocional (prefira tags HTML `<img>` semânticas ou contêineres ilustrativos do design).
27
+ * - O elemento requerer interações ricas com múltiplas ações (prefira compor com `br-card`).
28
+ *
29
+ * ### Estrutura e Slots
30
+ *
31
+ * O `br-avatar` é um componente autônomo e direto:
32
+ * - `default`: Conteúdo interno livre (quando não for utilizada imagem via prop `src`), permitindo inserir ícones como `br-icon` ou texto de iniciais.
33
+ * - `status`: Slot posicionado para inserção de um indicador visual de status sobreposto ao avatar.
34
+ *
35
+ * Para a documentação completa de design, incluindo diretrizes de acessibilidade e especificações visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/avatar?tab=designer).
36
+ *
37
+
38
+ * @category Identidade, Conteúdo
13
39
  * @status stable
14
40
  * @part container - Elemento externo do avatar.
15
41
  * @part content - Conteúdo interno do avatar (imagem, ícone ou texto).
@@ -30,6 +56,7 @@ export class Avatar {
30
56
  * - `medium`: Densidade intermediária, padrão recomendado para a maioria dos casos.
31
57
  * - `large`: Baixa densidade (componente maior, mais espaçamento e altura).
32
58
  *
59
+ * Valores inválidos usam `medium`.
33
60
  */
34
61
  this.density = 'medium';
35
62
  /**
@@ -53,8 +80,9 @@ export class Avatar {
53
80
  /**
54
81
  * Força a exibição do ícone padrão, sobrescreve outras opções (texto ou imagem).
55
82
  * Útil para manter consistência visual ou quando se deseja um avatar neutro independente do conteúdo disponível.
83
+ *
84
+ * @deprecated Use `iconic`.
56
85
  */
57
- /** @deprecated Use `iconic`. */
58
86
  this.isIconic = false;
59
87
  /**
60
88
  * Conteúdo textual do avatar.
@@ -95,7 +123,8 @@ export class Avatar {
95
123
  */
96
124
  this.statusSize = '12px';
97
125
  /**
98
- * Posição do indicador de status sobre o avatar.
126
+ * Posição do indicador de status sobre o avatar. Aceita `top-right`, `bottom-right`, `top-left` ou `bottom-left`.
127
+ * Valores inválidos usam `top-right`.
99
128
  */
100
129
  this.statusPosition = 'top-right';
101
130
  this.handleImageError = () => {
@@ -103,15 +132,15 @@ export class Avatar {
103
132
  console.error(`Erro ao carregar imagem do avatar: ${this.src}`);
104
133
  };
105
134
  }
135
+ get effectiveStatusPosition() {
136
+ return resolveAllowedPropValue(this.el, 'statusPosition', this.statusPosition, ['top-right', 'bottom-right', 'top-left', 'bottom-left'], 'top-right');
137
+ }
106
138
  /**
107
139
  * Observa mudanças na propriedade density para validação e sincronização com atributo DOM.
108
140
  * Garante que apenas valores válidos sejam aceitos e atualiza o atributo no elemento host.
109
141
  */
110
142
  handleDensityChange(newValue) {
111
- this.density = normalizePropValue(newValue, ['small', 'medium', 'large'], 'medium', {
112
- component: 'br-avatar',
113
- property: 'density',
114
- });
143
+ this.density = resolveDensity(this.el, newValue);
115
144
  if (this.statusSize === '12px') {
116
145
  this.statusSize = { small: '12px', medium: '14px', large: '16px' }[this.density];
117
146
  }
@@ -138,9 +167,10 @@ export class Avatar {
138
167
  * @returns {CssClassMap} Objeto contendo as classes CSS aplicadas.
139
168
  */
140
169
  getCssClassMap() {
170
+ const density = resolveDensity(this.el, this.density);
141
171
  return {
142
172
  'br-avatar': true,
143
- [this.density]: true,
173
+ [density]: true,
144
174
  error: this.hasError,
145
175
  disabled: this.disabled,
146
176
  };
@@ -210,7 +240,8 @@ export class Avatar {
210
240
  * Exibe um ícone padrão (fa-solid:user) posicionado na base do avatar.
211
241
  */
212
242
  renderIconAvatar() {
213
- const iconSize = { small: '32', medium: '80', large: '128' }[this.density];
243
+ const density = resolveDensity(this.el, this.density);
244
+ const iconSize = { small: '32', medium: '80', large: '128' }[density];
214
245
  return (h("br-icon", { iconName: "fa-solid:user", width: iconSize, height: iconSize, "aria-hidden": "true", class: "avatar-icon" }));
215
246
  }
216
247
  /**
@@ -233,10 +264,11 @@ export class Avatar {
233
264
  if (!this.status && !this.hasStatusSlot()) {
234
265
  return null;
235
266
  }
236
- return (h("span", { class: `avatar-status ${this.statusPosition} ${this.density}`, part: "status" }, h("slot", { name: "status" }, h("br-tag", { status: true, size: this.statusSize, bgColor: this.statusBgColor, "prop:ariaLabel": this.statusLabel }))));
267
+ const density = resolveDensity(this.el, this.density);
268
+ return (h("span", { class: `avatar-status ${this.effectiveStatusPosition} ${density}`, part: "status" }, h("slot", { name: "status" }, h("br-tag", { status: true, size: this.statusSize, bgColor: this.statusBgColor, "prop:ariaLabel": this.statusLabel }))));
237
269
  }
238
270
  render() {
239
- return (h(Host, { key: '027c30c66cd653ba67b540d77f88ace33fdb485b' }, h("span", { key: '99a22735488a404da0fbc7a8743fd74908736e59', id: this.customId, class: this.getCssClassMap(), role: "img", "aria-label": this.getAriaLabel(), part: "container" }, h("span", { key: '7b050f8873ef58297e28de86405e825e74d8c9b2', class: "avatar-content-wrapper" }, h("span", { key: 'eef4f5c1ec18cca816089e4a8a2712b83ee742ab', class: this.getContentClasses(), part: "content" }, this.renderAvatar()), this.renderStatus()))));
271
+ return (h(Host, { key: 'fb320907e2ed0031913374f4c03e6f5f33eefec2' }, h("span", { key: '187ae72f1c941ef6b267dc1b34d258c983c2d676', id: this.customId, class: this.getCssClassMap(), role: "img", "aria-label": this.getAriaLabel(), part: "container" }, h("span", { key: '4dfcc23000e6d22c2cfed227b22b50543158f2e4', class: "avatar-content-wrapper" }, h("span", { key: 'edb516847bea851d5c2c8adc45a68b4fa1793763', class: this.getContentClasses(), part: "content" }, this.renderAvatar()), this.renderStatus()))));
240
272
  }
241
273
  static get is() { return "br-avatar"; }
242
274
  static get encapsulation() { return "shadow"; }
@@ -271,7 +303,7 @@ export class Avatar {
271
303
  "optional": false,
272
304
  "docs": {
273
305
  "tags": [],
274
- "text": "Define a densidade visual do componente.\n\n- `small`: Alta densidade (componente menor, mais compacto e com menos espa\u00E7amento).\n- `medium`: Densidade intermedi\u00E1ria, padr\u00E3o recomendado para a maioria dos casos.\n- `large`: Baixa densidade (componente maior, mais espa\u00E7amento e altura)."
306
+ "text": "Define a densidade visual do componente.\n\n- `small`: Alta densidade (componente menor, mais compacto e com menos espa\u00E7amento).\n- `medium`: Densidade intermedi\u00E1ria, padr\u00E3o recomendado para a maioria dos casos.\n- `large`: Baixa densidade (componente maior, mais espa\u00E7amento e altura).\n\nValores inv\u00E1lidos usam `medium`."
275
307
  },
276
308
  "getter": false,
277
309
  "setter": false,
@@ -354,7 +386,7 @@ export class Avatar {
354
386
  "name": "deprecated",
355
387
  "text": "Use `iconic`."
356
388
  }],
357
- "text": ""
389
+ "text": "For\u00E7a a exibi\u00E7\u00E3o do \u00EDcone padr\u00E3o, sobrescreve outras op\u00E7\u00F5es (texto ou imagem).\n\u00DAtil para manter consist\u00EAncia visual ou quando se deseja um avatar neutro independente do conte\u00FAdo dispon\u00EDvel."
358
390
  },
359
391
  "getter": false,
360
392
  "setter": false,
@@ -540,7 +572,7 @@ export class Avatar {
540
572
  "optional": false,
541
573
  "docs": {
542
574
  "tags": [],
543
- "text": "Posi\u00E7\u00E3o do indicador de status sobre o avatar."
575
+ "text": "Posi\u00E7\u00E3o do indicador de status sobre o avatar. Aceita `top-right`, `bottom-right`, `top-left` ou `bottom-left`.\nValores inv\u00E1lidos usam `top-right`."
544
576
  },
545
577
  "getter": false,
546
578
  "setter": false,
@@ -4,9 +4,21 @@
4
4
  */
5
5
  import { Host, h } from "@stencil/core";
6
6
  /**
7
- * Item declarativo canônico de `br-breadcrumb`.
7
+ * Subcomponente declarativo canônico de `br-breadcrumb`, utilizado para representar cada nível individual dentro da trilha hierárquica de navegação.
8
8
  *
9
- * @slot default - Conteúdo alternativo do rótulo.
9
+ * ### Papel na composição
10
+ *
11
+ * - Define o rótulo legível e o destino de navegação (`href`) de um nível hierárquico específico.
12
+ * - Suporta a propriedade `home` para renderizar o ícone institucional da página inicial no primeiro item da trilha.
13
+ *
14
+ * ### Regra de uso e relacionamento
15
+ *
16
+ * Deve ser declarado exclusivamente dentro do slot padrão do orquestrador `br-breadcrumb`. Ele não deve ser utilizado isoladamente fora da trilha de breadcrumb. O componente pai monitora os itens para aplicar automaticamente os separadores visuais e demarcar o último item como a página atual.
17
+ *
18
+ * Para a documentação completa de design, consulte o [Design System do GovBR](https://www.gov.br/ds/components/breadcrumb?tab=designer).
19
+ *
20
+
21
+ * @slot default - Conteúdo alternativo do rótulo. Quando usado, substitui o texto fornecido em `label`.
10
22
  */
11
23
  export class BreadcrumbItem {
12
24
  constructor() {
@@ -21,7 +33,7 @@ export class BreadcrumbItem {
21
33
  this.brCrumbPropsChange.emit();
22
34
  }
23
35
  render() {
24
- return (h(Host, { key: 'b89c48fa511acf2854b91bbcef10b34dfc26d26a', style: { display: 'none' } }, h("slot", { key: '9da1310bc60655287aa39e440faead35be3e2e70' })));
36
+ return (h(Host, { key: 'b649638f2c3ff84f22cef29319a66fb37b9b7c3b', style: { display: 'none' } }, h("slot", { key: '9b8ef5bc86332aaffce5e0fd5bf3c1d41f14e3d5' })));
25
37
  }
26
38
  static get is() { return "br-breadcrumb-item"; }
27
39
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- *,*::before,*::after{box-sizing:border-box}:host{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}main{display:block}hr{box-sizing:content-box;height:0;overflow:visible}a{background-color:rgba(0,0,0,0)}b,strong{font-weight:bolder}code{font-family:monospace;font-size:1em}small{font-size:80%}img{border-style:none}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{appearance:none}::-webkit-file-upload-button{appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.d-none{display:none !important}@media(min-width: 576px){.d-sm-block{display:block !important}.d-sm-flex{display:flex !important}}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown>.br-notification{left:auto;right:0}.dropdown .br-item{--color: var(--color-light);--color-rgb: var(--color-light-rgb);--text-color: var(--color-light);--interactive: var(--interactive-light);--interactive-rgb: var(--color-rgb);--visited: var(--visited-light);--hover: var(--hover-light);--pressed: var(--pressed-light);--focus-color: var(--focus-color-light);--focus: var(--focus-color-light);--item-padding-y: var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color: var(--color-dark);--color-rgb: var(--color-dark-rgb);--text-color: var(--color-dark);--interactive: var(--interactive-dark);--interactive-rgb: var(--interactive-dark-rgb);--visited: var(--visited-dark);--hover: var(--hover-dark);--pressed: var(--pressed-dark);--focus-color: var(--focus-color-dark);--focus: var(--focus-color-dark)}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.align-items-center{align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter)*.5);padding-right:calc(var(--grid-gutter)*.5);width:100%}.col{flex:1 0 0%;min-width:8.3333333333%}.col-auto{flex:0 0 auto;width:auto}.col-2{flex-basis:16.6666666667%;max-width:16.6666666667%}.container,.container-fluid,.container-lg{--grid-margin: var(--grid-portrait-margin);--grid-maxwidth: var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter: var(--grid-portrait-gutter);display:flex;flex-wrap:wrap;margin-left:calc(var(--grid-gutter)*-0.5);margin-right:calc(var(--grid-gutter)*-0.5)}@media(min-width: 576px){.container,.container-lg,.container-fluid{--grid-margin: var(--grid-tablet-margin)}.row{--grid-gutter: var(--grid-tablet-gutter)}.container{--grid-maxwidth: calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}}@media(min-width: 992px){.container,.container-lg,.container-fluid{--grid-margin: var(--grid-tablet-margin)}.row{--grid-gutter: var(--grid-tablet-gutter)}.container{--grid-maxwidth: calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media(min-width: 1280px){.container,.container-lg,.container-fluid{--grid-margin: var(--grid-desktop-margin)}.row{--grid-gutter: var(--grid-desktop-gutter)}.container,.container-lg{--grid-maxwidth: calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}}@media(min-width: 1600px){.container,.container-lg,.container-fluid{--grid-margin: var(--grid-tv-margin)}.row{--grid-gutter: var(--grid-tv-gutter)}.container,.container-lg{--grid-maxwidth: calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.ease{animation-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1)}.ease-in-out{animation-timing-function:cubic-bezier(0.42, 0, 0.58, 1)}.mt-1{margin-top:var(--spacing-scale-half) !important}.mr-1{margin-right:var(--spacing-scale-half) !important}.mb-1{margin-bottom:var(--spacing-scale-half) !important}.ml-1{margin-left:var(--spacing-scale-half) !important}.mx-3{margin-left:var(--spacing-scale-2x) !important;margin-right:var(--spacing-scale-2x) !important}.mb-4{margin-bottom:var(--spacing-scale-3x) !important}.ml-auto{margin-left:auto !important}.pt-half{padding-top:var(--spacing-scale-half) !important}@media(min-width: 576px){.ml-sm-0{margin-left:var(--spacing-scale-default) !important}}.highlight{background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}.text-center{text-align:center !important}.text-right{text-align:right !important}.text-nowrap{white-space:nowrap !important}.text-uppercase{text-transform:uppercase !important}.text-bold{font-weight:700 !important}.text-base{font-size:var(--font-size-scale-base) !important}.text-down-01{font-size:var(--font-size-scale-down-01) !important}@media(min-width: 576px){.text-sm-center{text-align:center !important}.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media(min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset: var(--spacing-scale-half)}a:focus{outline:none}a.focus-visible,a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}a{color:var(--interactive);text-decoration:none}.main-content a{text-decoration:underline}button{cursor:pointer}img{max-width:100%;vertical-align:middle}h2,.h2{color:var(--color);font-size:var(--font-size-scale-up-03);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-2xh);margin-top:var(--spacing-scale-3xh);padding-bottom:var(--spacing-scale-2xh)}@media(min-width: 576px){.h2,h2{font-size:var(--font-size-scale-up-05);font-weight:var(--font-weight-regular)}}ul,ol{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}table{--table-background: var(--background);--table-color: var(--color);--table-border-color: var(--gray-20);--table-border-style: solid;--table-border-width: 1px;--table-hover: var(--color-rgb);--table-padding: var(--spacing-scale-3x);--table-font-weight: var(--font-weight-medium);--table-th-background: var(--background-alternative);--table-th-font-weight: var(--font-weight-semi-bold);--table-row-size: var(--spacing-scale-2x);border-collapse:collapse;width:100%}tr.selected,tr.is-selected{--color: var(--color-dark);--color-rgb: var(--color-dark-rgb);--text-color: var(--color-dark);--interactive: var(--interactive-dark);--interactive-rgb: var(--interactive-dark-rgb);--visited: var(--visited-dark);--hover: var(--hover-dark);--pressed: var(--pressed-dark);--focus-color: var(--focus-color-dark);--focus: var(--focus-color-dark)}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}fieldset,.fieldset{border:var(--surface-width-none);margin-bottom:var(--spacing-scale-5x);margin-top:0;padding:0}legend,.legend{color:var(--color);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-2x);margin-top:var(--spacing-scale-2x)}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}.help{font-size:var(--font-size-scale-base)}code,.code{background:var(--gray-5);border-radius:4px;color:var(--gray-80);display:inline-block;font-family:monospace;font-size:var(--font-size-scale-base);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);padding:var(--spacing-scale-half)}*[data-toggle=collapse]:not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}*[data-toggle=collapse]:focus{outline:none}*[data-toggle=collapse].focus-visible,*[data-toggle=collapse]:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}.br-breadcrumb{display:inline-grid;font-size:var(--font-size-scale-down-01);font-weight:var(--font-weight-medium);min-height:var(--spacing-scale-7x);position:relative}.br-breadcrumb .crumb-list{align-items:center;border:0;display:flex;list-style:none;margin:0;overflow-x:auto;overflow-y:hidden;padding:0 0 0 var(--spacing-scale-base)}.br-breadcrumb .crumb{align-items:center;display:flex;height:var(--spacing-scale-5x)}.br-breadcrumb .crumb .icon{color:var(--border-color);font-size:var(--icon-size-sm);margin-right:-6px}.br-breadcrumb .crumb a{max-width:180px;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.br-breadcrumb .crumb:last-child span{font-weight:var(--font-weight-medium);margin:0 var(--spacing-scale-2x) 0 var(--spacing-scale-base);white-space:nowrap}.br-breadcrumb .crumb[data-active=active] span:focus:focus,.br-breadcrumb .crumb[data-active=active] span:focus-visible:focus,.br-breadcrumb .crumb[data-active=active] span.focus-visible:focus{outline:none}.br-breadcrumb .crumb[data-active=active] span:focus.focus-visible,.br-breadcrumb .crumb[data-active=active] span:focus:focus-visible,.br-breadcrumb .crumb[data-active=active] span:focus-visible.focus-visible,.br-breadcrumb .crumb[data-active=active] span:focus-visible:focus-visible,.br-breadcrumb .crumb[data-active=active] span.focus-visible.focus-visible,.br-breadcrumb .crumb[data-active=active] span.focus-visible:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}.br-breadcrumb .crumb a:not(.br-button){margin:0 var(--spacing-scale-base)}.br-breadcrumb .home{--focus-offset: calc(var(--spacing-scale-half) * -1);margin:0 var(--spacing-scale-base) 0 0}@media(max-width: 991px){.br-breadcrumb .crumb a:not(.br-button){display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.br-breadcrumb .home+.crumb{display:flex}}.br-breadcrumb .br-card{left:var(--spacing-scale-9x);min-width:fit-content;position:absolute;top:var(--spacing-scale-7x);z-index:var(--z-index-layer-1)}.br-breadcrumb .br-item{color:var(--color);cursor:pointer;padding:0}.br-breadcrumb .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.br-breadcrumb .br-item a{--interactive: var(--color);--interactive-rgb: var(--color-rgb);display:block;padding:var(--spacing-scale-2x)}@media(max-width: 575px){.br-breadcrumb .br-card{left:var(--spacing-scale-base);width:250px}}.br-button{--button-radius: 100em;--button-xsmall: 24px;--button-small: 32px;--button-medium: 40px;--button-large: 48px;--button-size: var(--button-medium);align-items:center;background-color:rgba(0,0,0,0);border:0;border-radius:var(--button-radius);color:var(--interactive);cursor:pointer;display:inline-flex;font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-semi-bold);height:var(--button-size);justify-content:center;overflow:hidden;padding:0 var(--spacing-scale-3x);position:relative;text-align:center;vertical-align:middle;white-space:nowrap;width:auto}.br-button.block{width:100%}.br-button.circle,.br-button[circle]{border-radius:50%;padding:0;width:var(--button-size)}.br-button.xsmall,.br-button[xsmall]{--button-size: var(--button-xsmall)}.br-button.small,.br-button[small]{--button-size: var(--button-small)}.br-button.medium,.br-button[medium]{--button-size: var(--button-medium)}.br-button.large,.br-button[large]{--button-size: var(--button-large)}.br-button.primary,.br-button[primary]{--interactive-rgb: var(--color-dark-rgb);background-color:var(--interactive-light);color:var(--color-dark)}.br-button.secondary,.br-button[secondary]{background-color:var(--background-light);border:1px solid var(--interactive)}.br-button.danger,.br-button[danger]{background-color:var(--danger);--interactive-rgb: var(--color-dark-rgb);color:var(--color-dark)}.br-button.success,.br-button[success]{background-color:var(--success);--interactive-rgb: var(--color-dark-rgb);color:var(--color-dark)}.br-button.warning,.br-button[warning]{background-color:var(--warning);--interactive-rgb: var(--color-light-rgb);color:var(--color-light)}.br-button.info,.br-button[info]{background-color:var(--info);--interactive-rgb: var(--color-dark-rgb);color:var(--color-dark)}.br-button:disabled{cursor:not-allowed}.br-button:not(:disabled){--focus-offset: var(--spacing-scale-half)}.br-button:not(:disabled):focus{outline:none}.br-button:not(:disabled).focus-visible,.br-button:not(:disabled):focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}.br-button:not(:disabled):not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}.br-button:not(:disabled):not(:disabled):active{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}.br-button.active,.br-button.is-active,.br-button[active]{--hover: var(--hover-dark);background-color:var(--active);color:var(--color-dark)}.br-button.loading{color:rgba(0,0,0,0) !important;cursor:progress}.br-button.loading:not(:disabled):hover{background-image:none}.br-button.loading::before{border-color:var(--interactive) var(--interactive) rgba(0,0,0,0);border-style:solid}.br-button.loading.primary::before,.br-button.loading.danger::before,.br-button.loading.success::before,.br-button.loading.info::before{border-color:var(--background) var(--background) rgba(0,0,0,0)}.br-button.inverted,.br-button[inverted],.br-button.dark-mode{--color: var(--color-dark);--color-rgb: var(--color-dark-rgb);--text-color: var(--color-dark);--interactive: var(--interactive-dark);--interactive-rgb: var(--interactive-dark-rgb);--visited: var(--visited-dark);--hover: var(--hover-dark);--pressed: var(--pressed-dark);--focus-color: var(--focus-color-dark);--focus: var(--focus-color-dark);color:var(--interactive-dark)}.br-button.inverted.primary,.br-button.inverted[primary],.br-button[inverted].primary,.br-button[inverted][primary],.br-button.dark-mode.primary,.br-button.dark-mode[primary]{--interactive-rgb: var(--background-dark-rgb);background-color:var(--interactive-dark);color:var(--background-dark)}.br-button.inverted.secondary,.br-button.inverted[secondary],.br-button[inverted].secondary,.br-button[inverted][secondary],.br-button.dark-mode.secondary,.br-button.dark-mode[secondary]{background-color:var(--background-dark)}.br-button.inverted.active,.br-button[inverted].active,.br-button.dark-mode.active{--hover: var(--hover-light);--interactive-rgb: var(--active-rgb);background-color:var(--background-light);color:var(--active)}a.br-button{font-weight:var(--font-weight-semi-bold);text-decoration:none !important}.br-list.horizontal{display:flex;flex-wrap:wrap}.br-list.horizontal>.header{flex-grow:1;width:100%}.br-list.horizontal>.header+.br-divider{border-top:1px solid var(--border-color);width:100%}.br-list.horizontal>.br-item+.br-divider,.br-list.horizontal>.group+.br-divider{border-width:0 1px 0 0;width:1px}.br-list.horizontal>.br-item,.br-list.horizontal>.group{flex:1;height:auto;min-height:56px;width:auto}.br-list.horizontal[data-toggle]>.br-item,.br-list.horizontal.toggle>.br-item{display:block}.br-list{background-color:var(--background)}.br-list .br-item{text-align:left;width:100%}.br-list .br-item .fa{text-align:center}.br-list .br-item>.content{align-items:var(--spacing-vertical-top);display:flex}.br-list .br-item>.content>.content{flex:1}.br-list .br-item .content:hover button.br-button{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}.br-list .br-item[data-toggle]{cursor:pointer}.br-list .br-item[data-toggle]~.br-list .br-item{padding:var(--spacing-scale-base) var(--spacing-scale-3x)}.br-list .br-list{overflow:hidden;transition:all 400ms ease-in-out}.br-list .header{align-items:var(--spacing-vertical-center);display:flex;font-size:var(--font-size-scale-base);font-weight:var(--font-weight-bold);justify-content:space-between;padding:var(--spacing-scale-base) var(--spacing-scale-2x)}.br-item{background:var(--background);--item-padding-x: var(--spacing-scale-2x);--item-padding-y: var(--spacing-scale-base);--item-padding: var(--item-padding-y) var(--item-padding-x);--focus-offset: calc(var(--focus-width) * -1);border:0;color:var(--color);display:block;font-weight:var(--font-weight);padding:var(--item-padding);text-align:left;width:100%}.br-item .row{margin-left:calc(-1*var(--spacing-scale-base));margin-right:calc(-1*var(--spacing-scale-base))}.br-item .row .col,.br-item .row [class*=col-]{padding-left:var(--spacing-scale-base);padding-right:var(--spacing-scale-base)}.br-item::after{clear:both;content:"";display:block}.br-item[data-toggle]{cursor:pointer}.br-item[data-toggle=selection]:not(:disabled):hover{background-image:linear-gradient(rgba(var(--color-rgb), var(--hover)), rgba(var(--color-rgb), var(--hover)))}.br-item>.br-checkbox:not(.hidden-label),.br-item>.br-radio:not(.hidden-label){margin-bottom:calc(var(--item-padding-y)*-1);margin-left:calc(var(--item-padding-x)*-1);margin-right:calc(var(--item-padding-x)*-1);margin-top:calc(var(--item-padding-y)*-1)}.br-item>.br-checkbox:not(.hidden-label) input+label,.br-item>.br-radio:not(.hidden-label) input+label{padding-bottom:var(--item-padding-y);padding-top:var(--item-padding-y);top:1px;width:100%}.br-item>.br-checkbox:not(.hidden-label) input+label::before,.br-item>.br-radio:not(.hidden-label) input+label::before{left:var(--item-padding-x);top:calc(var(--item-padding-y) - 1px)}.br-item>.br-checkbox:not(.hidden-label) input+label:empty,.br-item>.br-radio:not(.hidden-label) input+label:empty{left:0;top:1px}.br-item>.br-checkbox:not(.hidden-label) input:hover:not(:disabled)+label::before,.br-item>.br-radio:not(.hidden-label) input:hover:not(:disabled)+label::before{background-image:none}.br-item>.br-checkbox input:not(:indeterminate)+label{min-height:calc(var(--checkbox-size) + var(--item-padding-y)*2)}.br-item>.br-checkbox input:not(:indeterminate)+label:not(:empty){padding-left:calc(var(--checkbox-padding) + var(--checkbox-size) + var(--item-padding-x))}.br-item>.br-checkbox input:not(:indeterminate)+label::after{left:calc(var(--item-padding-x) + 8px);top:calc(var(--item-padding-y) + 4px)}.br-item>.br-checkbox input:not(:indeterminate)+label:empty{min-height:var(--checkbox-size)}.br-item>.br-checkbox input:not(:indeterminate)+label:empty::after{left:8px;top:4px}.br-item .br-radio input+label{min-height:calc(var(--radio-size) + var(--item-padding-y)*2);padding-left:calc(var(--spacing-scale-base) + var(--radio-size) + var(--item-padding-x))}.br-item .br-radio input+label::after{left:calc(var(--item-padding-x) + var(--radio-bullet-position));top:calc(var(--item-padding-y) + var(--radio-bullet-position) - 1px)}.br-item .br-radio input+label:empty{min-height:var(--radio-size)}.br-item .br-radio input+label:empty::after{left:var(--radio-bullet-position);top:var(--radio-bullet-position)}.br-item.highlight{--color: var(--color-dark);--color-rgb: var(--color-dark-rgb);--text-color: var(--color-dark);--interactive: var(--interactive-dark);--interactive-rgb: var(--interactive-dark-rgb);--visited: var(--visited-dark);--hover: var(--hover-dark);--pressed: var(--pressed-dark);--focus-color: var(--focus-color-dark);--focus: var(--focus-color-dark)}.br-item.selected{--color: var(--color-dark);--color-rgb: var(--color-dark-rgb);--text-color: var(--color-dark);--interactive: var(--interactive-dark);--interactive-rgb: var(--interactive-dark-rgb);--visited: var(--visited-dark);--hover: var(--hover-dark);--pressed: var(--pressed-dark);--focus-color: var(--focus-color-dark);--focus: var(--focus-color-dark);background-color:var(--selected)}.br-item.active{--color: var(--color-dark);--color-rgb: var(--color-dark-rgb);--text-color: var(--color-dark);--interactive: var(--interactive-dark);--interactive-rgb: var(--interactive-dark-rgb);--visited: var(--visited-dark);--hover: var(--hover-dark);--pressed: var(--pressed-dark);--focus-color: var(--focus-color-dark);--focus: var(--focus-color-dark);background-color:var(--active);color:var(--color)}.br-item.inverted,.br-item.dark-mode{--color: var(--color-dark);--color-rgb: var(--color-dark-rgb);--text-color: var(--color-dark);--interactive: var(--interactive-dark);--interactive-rgb: var(--interactive-dark-rgb);--visited: var(--visited-dark);--hover: var(--hover-dark);--pressed: var(--pressed-dark);--focus-color: var(--focus-color-dark);--focus: var(--focus-color-dark)}.br-item.inverted.active,.br-item.dark-mode.active{--color: var(--color-light);--color-rgb: var(--color-light-rgb);--text-color: var(--color-light);--interactive: var(--interactive-light);--interactive-rgb: var(--active-rgb);--visited: var(--visited-light);--hover: var(--hover-light);--pressed: var(--pressed-light);--focus-color: var(--focus-color-light);--focus: var(--focus-color-light);background-color:var(--background-light);color:var(--active)}.br-item[data-toggle]:not(:disabled):hover{background-image:linear-gradient(rgba(var(--color-rgb), var(--hover)), rgba(var(--color-rgb), var(--hover)))}.br-item[data-toggle] .content i{color:var(--interactive)}.br-item .content{align-items:center;display:flex}.br-item [class*=fa-]{height:16px;width:14px !important}a.br-item{color:var(--interactive)}a.br-item:not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a.br-item:not(:disabled):active{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}button.br-item{background-color:rgba(0,0,0,0);color:var(--color)}button.br-item:focus{outline:none}button.br-item.focus-visible,button.br-item:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}button.br-item:not(:disabled):hover{background-image:linear-gradient(rgba(var(--color-rgb), var(--hover)), rgba(var(--color-rgb), var(--hover)))}button.br-item:not(:disabled):active{background-image:linear-gradient(rgba(var(--color-rgb), var(--pressed)), rgba(var(--color-rgb), var(--pressed)))}.br-divider,hr{--divider-size: var(--surface-width-sm);border-color:var(--border-color);border-style:solid;border-width:0;border-top-width:var(--divider-size);display:block}.br-divider.content,hr.content{align-items:center;border:0;display:flex;justify-content:center}.br-divider.content::after,.br-divider.content::before,hr.content::after,hr.content::before{border-color:var(--border-color);border-style:solid;border-width:0;border-top-width:var(--divider-size);content:"";flex:1}.br-divider.content::after,hr.content::after{margin-left:var(--spacing-scale-base)}.br-divider.content::before,hr.content::before{margin-right:var(--spacing-scale-base)}.br-divider.vertical,hr.vertical{align-self:stretch;border-right-width:var(--divider-size);border-top-width:0}.br-divider.vertical.content,hr.vertical.content{flex-direction:column}.br-divider.vertical.content::after,.br-divider.vertical.content::before,hr.vertical.content::after,hr.vertical.content::before{border-right-width:var(--divider-size);border-top-width:0;margin:0}.br-divider.inverted,.br-divider.dark-mode,hr.inverted,hr.dark-mode{--border-color: var(--pure-0)}.br-divider.dashed,hr.dashed{border-style:dashed}.br-divider.sm,hr.sm{--divider-size: var(--surface-width-sm)}hr{--divider-padding: var(--spacing-scale-2x);margin:var(--divider-padding) 0}:host{display:block;position:relative}.br-breadcrumb .br-icon{color:#ccc}.br-breadcrumb .br-icon,.br-breadcrumb .mobile-active-page{display:flex;align-items:center}.br-breadcrumb .mobile-crumb-list{display:none;position:absolute;z-index:var(--z-index-layer-1);width:200px;box-shadow:var(--surface-shadow-sm);--interactive: var(--color);--interactive-rgb: var(--color-rgb)}.br-breadcrumb .mobile-crumb-list.show{display:block;top:100%}.br-breadcrumb .buttonFolderGroup,.br-breadcrumb .buttonFolderGroup span{display:flex;align-items:center}.br-breadcrumb .mobile-active-page span:focus:focus-visible{outline:var(--focus-width) var(--focus-style) var(--focus);outline-offset:var(--focus-offset)}.br-breadcrumb .mobile-active-page [data-active]{margin:0 var(--spacing-scale-2x) 0 var(--spacing-scale-base)}.br-breadcrumb .crumb{display:flex;align-items:center}.br-breadcrumb .crumb span{display:flex;align-items:center}.tooltip-box{position:absolute;z-index:var(--z-index-layer-1);background:#1351b4;color:#fff;padding:8px 12px;border-radius:4px;font-size:12px;max-width:calc(100vw - 32px);white-space:normal;overflow-wrap:break-word;pointer-events:none;box-shadow:var(--surface-shadow-sm);width:max-content}.tooltip-box[data-placement^=top] .tooltip-arrow{bottom:-4px}.tooltip-box[data-placement^=bottom] .tooltip-arrow{top:-5px}.tooltip-box[data-placement^=left] .tooltip-arrow{right:-4px}.tooltip-box[data-placement^=right] .tooltip-arrow{left:-4px}.tooltip-box .tooltip-arrow{position:absolute;width:8px;height:8px;background:#1351b4;transform:rotate(45deg)}
1
+ *,*::before,*::after{box-sizing:border-box}:host{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}main{display:block}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{background-color:rgba(0,0,0,0)}b,strong{font-weight:bolder}code{font-family:monospace;font-size:1em}small{font-size:80%}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{appearance:none}::-webkit-file-upload-button{appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.d-none{display:none !important}@media(min-width: 576px){.d-sm-block{display:block !important}.d-sm-flex{display:flex !important}}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown>.br-notification{left:auto;right:0}.dropdown .br-item{--color: var(--color-light);--color-rgb: var(--color-light-rgb);--text-color: var(--color-light);--interactive: var(--interactive-light);--interactive-rgb: var(--color-rgb);--visited: var(--visited-light);--hover: var(--hover-light);--pressed: var(--pressed-light);--focus-color: var(--focus-color-light);--focus: var(--focus-color-light);--item-padding-y: var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color: var(--color-dark);--color-rgb: var(--color-dark-rgb);--text-color: var(--color-dark);--interactive: var(--interactive-dark);--interactive-rgb: var(--interactive-dark-rgb);--visited: var(--visited-dark);--hover: var(--hover-dark);--pressed: var(--pressed-dark);--focus-color: var(--focus-color-dark);--focus: var(--focus-color-dark)}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.align-items-center{align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter)*.5);padding-right:calc(var(--grid-gutter)*.5);width:100%}.col{flex:1 0 0%;min-width:8.3333333333%}.col-auto{flex:0 0 auto;width:auto}.col-2{flex-basis:16.6666666667%;max-width:16.6666666667%}.container,.container-fluid,.container-lg{--grid-margin: var(--grid-portrait-margin);--grid-maxwidth: var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter: var(--grid-portrait-gutter);display:flex;flex-wrap:wrap;margin-left:calc(var(--grid-gutter)*-0.5);margin-right:calc(var(--grid-gutter)*-0.5)}@media(min-width: 576px){.container,.container-lg,.container-fluid{--grid-margin: var(--grid-tablet-margin)}.row{--grid-gutter: var(--grid-tablet-gutter)}.container{--grid-maxwidth: calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}.col-sm-4{flex-basis:33.3333333333%;max-width:33.3333333333%}}@media(min-width: 992px){.container,.container-lg,.container-fluid{--grid-margin: var(--grid-tablet-margin)}.row{--grid-gutter: var(--grid-tablet-gutter)}.container{--grid-maxwidth: calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media(min-width: 1280px){.container,.container-lg,.container-fluid{--grid-margin: var(--grid-desktop-margin)}.row{--grid-gutter: var(--grid-desktop-gutter)}.container,.container-lg{--grid-maxwidth: calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}.col-lg-3{flex-basis:25%;max-width:25%}}@media(min-width: 1600px){.container,.container-lg,.container-fluid{--grid-margin: var(--grid-tv-margin)}.row{--grid-gutter: var(--grid-tv-gutter)}.container,.container-lg{--grid-maxwidth: calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.ease{animation-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1)}.ease-out{animation-timing-function:cubic-bezier(0, 0, 0.58, 1)}.ease-in-out{animation-timing-function:cubic-bezier(0.42, 0, 0.58, 1)}.fast{animation-duration:var(--duration-fast)}.slow{animation-duration:var(--duration-slow)}.mt-1{margin-top:var(--spacing-scale-half) !important}.mr-1{margin-right:var(--spacing-scale-half) !important}.mb-1{margin-bottom:var(--spacing-scale-half) !important}.ml-1{margin-left:var(--spacing-scale-half) !important}.mx-3{margin-left:var(--spacing-scale-2x) !important;margin-right:var(--spacing-scale-2x) !important}.mb-4{margin-bottom:var(--spacing-scale-3x) !important}.ml-auto{margin-left:auto !important}.pt-half{padding-top:var(--spacing-scale-half) !important}@media(min-width: 576px){.ml-sm-0{margin-left:var(--spacing-scale-default) !important}}.highlight{background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}fieldset[disabled]{opacity:1}.text-center{text-align:center !important}.text-right{text-align:right !important}.text-nowrap{white-space:nowrap !important}.text-uppercase{text-transform:uppercase !important}.text-bold{font-weight:700 !important}.text-base{font-size:var(--font-size-scale-base) !important}.text-down-01{font-size:var(--font-size-scale-down-01) !important}@media(min-width: 576px){.text-sm-center{text-align:center !important}.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media(min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset: var(--spacing-scale-half)}a:focus{outline:none}a.focus-visible,a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}a{color:var(--interactive);text-decoration:none}.main-content a{text-decoration:underline}button{cursor:pointer}img{max-width:100%;vertical-align:middle}h2,.h2{color:var(--color);font-size:var(--font-size-scale-up-03);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-2xh);margin-top:var(--spacing-scale-3xh);padding-bottom:var(--spacing-scale-2xh)}@media(min-width: 576px){.h2,h2{font-size:var(--font-size-scale-up-05);font-weight:var(--font-weight-regular)}}ul,ol{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}table{--table-background: var(--background);--table-color: var(--color);--table-border-color: var(--gray-20);--table-border-style: solid;--table-border-width: 1px;--table-hover: var(--color-rgb);--table-padding: var(--spacing-scale-3x);--table-font-weight: var(--font-weight-medium);--table-th-background: var(--background-alternative);--table-th-font-weight: var(--font-weight-semi-bold);--table-row-size: var(--spacing-scale-2x);border-collapse:collapse;width:100%}tr.selected,tr.is-selected{--color: var(--color-dark);--color-rgb: var(--color-dark-rgb);--text-color: var(--color-dark);--interactive: var(--interactive-dark);--interactive-rgb: var(--interactive-dark-rgb);--visited: var(--visited-dark);--hover: var(--hover-dark);--pressed: var(--pressed-dark);--focus-color: var(--focus-color-dark);--focus: var(--focus-color-dark)}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}fieldset,.fieldset{border:var(--surface-width-none);margin-bottom:var(--spacing-scale-5x);margin-top:0;padding:0}legend,.legend{color:var(--color);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-2x);margin-top:var(--spacing-scale-2x)}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}code,.code{background:var(--gray-5);border-radius:4px;color:var(--gray-80);display:inline-block;font-family:monospace;font-size:var(--font-size-scale-base);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);padding:var(--spacing-scale-half)}pre,.pre{background:var(--gray-5);margin:var(--spacing-scale-2x) 0 var(--spacing-scale-4x);padding:var(--spacing-scale-2x)}pre code,.pre code{display:inline;padding:0}*[data-toggle=collapse]:not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}*[data-toggle=collapse]:focus{outline:none}*[data-toggle=collapse].focus-visible,*[data-toggle=collapse]:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}@media(prefers-reduced-motion: reduce){:host,:host::before,:host::after,:host *,:host *::before,:host *::after{animation:none !important;scroll-behavior:auto !important;transition:none !important}}:host-context([data-wbc-reduced-motion=true])::before,:host-context([data-wbc-reduced-motion=true])::after,:host-context([data-wbc-reduced-motion=true]) *,:host-context([data-wbc-reduced-motion=true]) *::before,:host-context([data-wbc-reduced-motion=true]) *::after{animation:none !important;scroll-behavior:auto !important;transition:none !important}.br-breadcrumb{display:inline-grid;font-size:var(--font-size-scale-down-01);font-weight:var(--font-weight-medium);min-height:var(--spacing-scale-7x);position:relative}.br-breadcrumb .crumb-list{align-items:center;border:0;display:flex;list-style:none;margin:0;overflow-x:auto;overflow-y:hidden;padding:0 0 0 var(--spacing-scale-base)}.br-breadcrumb .crumb{align-items:center;display:flex;height:var(--spacing-scale-5x)}.br-breadcrumb .crumb .icon{color:var(--border-color);font-size:var(--icon-size-sm);margin-right:-6px}.br-breadcrumb .crumb a{max-width:180px;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.br-breadcrumb .crumb:last-child span{font-weight:var(--font-weight-medium);margin:0 var(--spacing-scale-2x) 0 var(--spacing-scale-base);white-space:nowrap}.br-breadcrumb .crumb[data-active=active] span:focus:focus,.br-breadcrumb .crumb[data-active=active] span:focus-visible:focus,.br-breadcrumb .crumb[data-active=active] span.focus-visible:focus{outline:none}.br-breadcrumb .crumb[data-active=active] span:focus.focus-visible,.br-breadcrumb .crumb[data-active=active] span:focus:focus-visible,.br-breadcrumb .crumb[data-active=active] span:focus-visible.focus-visible,.br-breadcrumb .crumb[data-active=active] span:focus-visible:focus-visible,.br-breadcrumb .crumb[data-active=active] span.focus-visible.focus-visible,.br-breadcrumb .crumb[data-active=active] span.focus-visible:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}.br-breadcrumb .crumb a:not(.br-button){margin:0 var(--spacing-scale-base)}.br-breadcrumb .home{--focus-offset: calc(var(--spacing-scale-half) * -1);margin:0 var(--spacing-scale-base) 0 0}@media(max-width: 991px){.br-breadcrumb .crumb a:not(.br-button){display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.br-breadcrumb .home+.crumb{display:flex}}.br-breadcrumb .br-card{left:var(--spacing-scale-9x);min-width:fit-content;position:absolute;top:var(--spacing-scale-7x);z-index:var(--z-index-layer-1)}.br-breadcrumb .br-item{color:var(--color);cursor:pointer;padding:0}.br-breadcrumb .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.br-breadcrumb .br-item a{--interactive: var(--color);--interactive-rgb: var(--color-rgb);display:block;padding:var(--spacing-scale-2x)}@media(max-width: 575px){.br-breadcrumb .br-card{left:var(--spacing-scale-base);width:250px}}.br-button{--button-radius: 100em;--button-xsmall: 24px;--button-small: 32px;--button-medium: 40px;--button-large: 48px;--button-size: var(--button-medium);align-items:center;background-color:rgba(0,0,0,0);border:0;border-radius:var(--button-radius);color:var(--interactive);cursor:pointer;display:inline-flex;font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-semi-bold);height:var(--button-size);justify-content:center;overflow:hidden;padding:0 var(--spacing-scale-3x);position:relative;text-align:center;vertical-align:middle;white-space:nowrap;width:auto}.br-button.block{width:100%}.br-button.circle,.br-button[circle]{border-radius:50%;padding:0;width:var(--button-size)}.br-button.xsmall,.br-button[xsmall]{--button-size: var(--button-xsmall)}.br-button.small,.br-button[small]{--button-size: var(--button-small)}.br-button.medium,.br-button[medium]{--button-size: var(--button-medium)}.br-button.large,.br-button[large]{--button-size: var(--button-large)}.br-button.primary,.br-button[primary]{--interactive-rgb: var(--color-dark-rgb);background-color:var(--interactive-light);color:var(--color-dark)}.br-button.secondary,.br-button[secondary]{background-color:var(--background-light);border:1px solid var(--interactive)}.br-button.danger,.br-button[danger]{background-color:var(--danger);--interactive-rgb: var(--color-dark-rgb);color:var(--color-dark)}.br-button.success,.br-button[success]{background-color:var(--success);--interactive-rgb: var(--color-dark-rgb);color:var(--color-dark)}.br-button.warning,.br-button[warning]{background-color:var(--warning);--interactive-rgb: var(--color-light-rgb);color:var(--color-light)}.br-button.info,.br-button[info]{background-color:var(--info);--interactive-rgb: var(--color-dark-rgb);color:var(--color-dark)}.br-button:disabled{cursor:not-allowed}.br-button:not(:disabled){--focus-offset: var(--spacing-scale-half)}.br-button:not(:disabled):focus{outline:none}.br-button:not(:disabled).focus-visible,.br-button:not(:disabled):focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}.br-button:not(:disabled):not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}.br-button:not(:disabled):not(:disabled):active{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}.br-button.active,.br-button.is-active,.br-button[active]{--hover: var(--hover-dark);background-color:var(--active);color:var(--color-dark)}.br-button.loading{color:rgba(0,0,0,0) !important;cursor:progress}.br-button.loading:not(:disabled):hover{background-image:none}.br-button.loading::before{border-color:var(--interactive) var(--interactive) rgba(0,0,0,0);border-style:solid}.br-button.loading.primary::before,.br-button.loading.danger::before,.br-button.loading.success::before,.br-button.loading.info::before{border-color:var(--background) var(--background) rgba(0,0,0,0)}.br-button.inverted,.br-button[inverted],.br-button.dark-mode{--color: var(--color-dark);--color-rgb: var(--color-dark-rgb);--text-color: var(--color-dark);--interactive: var(--interactive-dark);--interactive-rgb: var(--interactive-dark-rgb);--visited: var(--visited-dark);--hover: var(--hover-dark);--pressed: var(--pressed-dark);--focus-color: var(--focus-color-dark);--focus: var(--focus-color-dark);color:var(--interactive-dark)}.br-button.inverted.primary,.br-button.inverted[primary],.br-button[inverted].primary,.br-button[inverted][primary],.br-button.dark-mode.primary,.br-button.dark-mode[primary]{--interactive-rgb: var(--background-dark-rgb);background-color:var(--interactive-dark);color:var(--background-dark)}.br-button.inverted.secondary,.br-button.inverted[secondary],.br-button[inverted].secondary,.br-button[inverted][secondary],.br-button.dark-mode.secondary,.br-button.dark-mode[secondary]{background-color:var(--background-dark)}.br-button.inverted.active,.br-button[inverted].active,.br-button.dark-mode.active{--hover: var(--hover-light);--interactive-rgb: var(--active-rgb);background-color:var(--background-light);color:var(--active)}a.br-button{font-weight:var(--font-weight-semi-bold);text-decoration:none !important}.br-list.horizontal{display:flex;flex-wrap:wrap}.br-list.horizontal>.header{flex-grow:1;width:100%}.br-list.horizontal>.header+.br-divider{border-top:1px solid var(--border-color);width:100%}.br-list.horizontal>.br-item+.br-divider,.br-list.horizontal>.group+.br-divider{border-width:0 1px 0 0;width:1px}.br-list.horizontal>.br-item,.br-list.horizontal>.group{flex:1;height:auto;min-height:56px;width:auto}.br-list.horizontal[data-toggle]>.br-item,.br-list.horizontal.toggle>.br-item{display:block}.br-list{background-color:var(--background)}.br-list .br-item{text-align:left;width:100%}.br-list .br-item .fa,.br-list .br-item .fas{text-align:center}.br-list .br-item>.content{align-items:var(--spacing-vertical-top);display:flex}.br-list .br-item>.content>.content{flex:1}.br-list .br-item .content:hover button.br-button{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}.br-list .br-item[data-toggle]{cursor:pointer}.br-list .br-item[data-toggle]~.br-list .br-item{padding:var(--spacing-scale-base) var(--spacing-scale-3x)}.br-list .br-list{overflow:hidden;transition:all 400ms ease-in-out}.br-list .header{align-items:var(--spacing-vertical-center);display:flex;font-size:var(--font-size-scale-base);font-weight:var(--font-weight-bold);justify-content:space-between;padding:var(--spacing-scale-base) var(--spacing-scale-2x)}.br-item{background:var(--background);--item-padding-x: var(--spacing-scale-2x);--item-padding-y: var(--spacing-scale-base);--item-padding: var(--item-padding-y) var(--item-padding-x);--focus-offset: calc(var(--focus-width) * -1);border:0;color:var(--color);display:block;font-weight:var(--font-weight);padding:var(--item-padding);text-align:left;width:100%}.br-item .row{margin-left:calc(-1*var(--spacing-scale-base));margin-right:calc(-1*var(--spacing-scale-base))}.br-item .row .col,.br-item .row [class*=col-]{padding-left:var(--spacing-scale-base);padding-right:var(--spacing-scale-base)}.br-item::after{clear:both;content:"";display:block}.br-item[data-toggle]{cursor:pointer}.br-item[data-toggle=selection]:not(:disabled):hover{background-image:linear-gradient(rgba(var(--color-rgb), var(--hover)), rgba(var(--color-rgb), var(--hover)))}.br-item>.br-checkbox:not(.hidden-label),.br-item>.br-radio:not(.hidden-label){margin-bottom:calc(var(--item-padding-y)*-1);margin-left:calc(var(--item-padding-x)*-1);margin-right:calc(var(--item-padding-x)*-1);margin-top:calc(var(--item-padding-y)*-1)}.br-item>.br-checkbox:not(.hidden-label) input+label,.br-item>.br-radio:not(.hidden-label) input+label{padding-bottom:var(--item-padding-y);padding-top:var(--item-padding-y);top:1px;width:100%}.br-item>.br-checkbox:not(.hidden-label) input+label::before,.br-item>.br-radio:not(.hidden-label) input+label::before{left:var(--item-padding-x);top:calc(var(--item-padding-y) - 1px)}.br-item>.br-checkbox:not(.hidden-label) input+label:empty,.br-item>.br-radio:not(.hidden-label) input+label:empty{left:0;top:1px}.br-item>.br-checkbox:not(.hidden-label) input:hover:not(:disabled)+label::before,.br-item>.br-radio:not(.hidden-label) input:hover:not(:disabled)+label::before{background-image:none}.br-item>.br-checkbox input:not(:indeterminate)+label{min-height:calc(var(--checkbox-size) + var(--item-padding-y)*2)}.br-item>.br-checkbox input:not(:indeterminate)+label:not(:empty){padding-left:calc(var(--checkbox-padding) + var(--checkbox-size) + var(--item-padding-x))}.br-item>.br-checkbox input:not(:indeterminate)+label::after{left:calc(var(--item-padding-x) + 8px);top:calc(var(--item-padding-y) + 4px)}.br-item>.br-checkbox input:not(:indeterminate)+label:empty{min-height:var(--checkbox-size)}.br-item>.br-checkbox input:not(:indeterminate)+label:empty::after{left:8px;top:4px}.br-item .br-radio input+label{min-height:calc(var(--radio-size) + var(--item-padding-y)*2);padding-left:calc(var(--spacing-scale-base) + var(--radio-size) + var(--item-padding-x))}.br-item .br-radio input+label::after{left:calc(var(--item-padding-x) + var(--radio-bullet-position));top:calc(var(--item-padding-y) + var(--radio-bullet-position) - 1px)}.br-item .br-radio input+label:empty{min-height:var(--radio-size)}.br-item .br-radio input+label:empty::after{left:var(--radio-bullet-position);top:var(--radio-bullet-position)}.br-item.highlight{--color: var(--color-dark);--color-rgb: var(--color-dark-rgb);--text-color: var(--color-dark);--interactive: var(--interactive-dark);--interactive-rgb: var(--interactive-dark-rgb);--visited: var(--visited-dark);--hover: var(--hover-dark);--pressed: var(--pressed-dark);--focus-color: var(--focus-color-dark);--focus: var(--focus-color-dark)}.br-item.selected{--color: var(--color-dark);--color-rgb: var(--color-dark-rgb);--text-color: var(--color-dark);--interactive: var(--interactive-dark);--interactive-rgb: var(--interactive-dark-rgb);--visited: var(--visited-dark);--hover: var(--hover-dark);--pressed: var(--pressed-dark);--focus-color: var(--focus-color-dark);--focus: var(--focus-color-dark);background-color:var(--selected)}.br-item.active{--color: var(--color-dark);--color-rgb: var(--color-dark-rgb);--text-color: var(--color-dark);--interactive: var(--interactive-dark);--interactive-rgb: var(--interactive-dark-rgb);--visited: var(--visited-dark);--hover: var(--hover-dark);--pressed: var(--pressed-dark);--focus-color: var(--focus-color-dark);--focus: var(--focus-color-dark);background-color:var(--active);color:var(--color)}.br-item.inverted,.br-item.dark-mode{--color: var(--color-dark);--color-rgb: var(--color-dark-rgb);--text-color: var(--color-dark);--interactive: var(--interactive-dark);--interactive-rgb: var(--interactive-dark-rgb);--visited: var(--visited-dark);--hover: var(--hover-dark);--pressed: var(--pressed-dark);--focus-color: var(--focus-color-dark);--focus: var(--focus-color-dark)}.br-item.inverted.active,.br-item.dark-mode.active{--color: var(--color-light);--color-rgb: var(--color-light-rgb);--text-color: var(--color-light);--interactive: var(--interactive-light);--interactive-rgb: var(--active-rgb);--visited: var(--visited-light);--hover: var(--hover-light);--pressed: var(--pressed-light);--focus-color: var(--focus-color-light);--focus: var(--focus-color-light);background-color:var(--background-light);color:var(--active)}.br-item[data-toggle]:not(:disabled):hover{background-image:linear-gradient(rgba(var(--color-rgb), var(--hover)), rgba(var(--color-rgb), var(--hover)))}.br-item[data-toggle] .content i{color:var(--interactive)}.br-item .content{align-items:center;display:flex}.br-item [class*=fa-]{height:16px;width:14px !important}a.br-item{color:var(--interactive)}a.br-item:not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a.br-item:not(:disabled):active{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}button.br-item{background-color:rgba(0,0,0,0);color:var(--color)}button.br-item:focus{outline:none}button.br-item.focus-visible,button.br-item:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}button.br-item:not(:disabled):hover{background-image:linear-gradient(rgba(var(--color-rgb), var(--hover)), rgba(var(--color-rgb), var(--hover)))}button.br-item:not(:disabled):active{background-image:linear-gradient(rgba(var(--color-rgb), var(--pressed)), rgba(var(--color-rgb), var(--pressed)))}.br-divider,hr{--divider-size: var(--surface-width-sm);border-color:var(--border-color);border-style:solid;border-width:0;border-top-width:var(--divider-size);display:block}.br-divider.content,hr.content{align-items:center;border:0;display:flex;justify-content:center}.br-divider.content::after,.br-divider.content::before,hr.content::after,hr.content::before{border-color:var(--border-color);border-style:solid;border-width:0;border-top-width:var(--divider-size);content:"";flex:1}.br-divider.content::after,hr.content::after{margin-left:var(--spacing-scale-base)}.br-divider.content::before,hr.content::before{margin-right:var(--spacing-scale-base)}.br-divider.vertical,hr.vertical{align-self:stretch;border-right-width:var(--divider-size);border-top-width:0}.br-divider.vertical.content,hr.vertical.content{flex-direction:column}.br-divider.vertical.content::after,.br-divider.vertical.content::before,hr.vertical.content::after,hr.vertical.content::before{border-right-width:var(--divider-size);border-top-width:0;margin:0}.br-divider.inverted,.br-divider.dark-mode,hr.inverted,hr.dark-mode{--border-color: var(--pure-0)}.br-divider.dashed,hr.dashed{border-style:dashed}.br-divider.sm,hr.sm{--divider-size: var(--surface-width-sm)}hr{--divider-padding: var(--spacing-scale-2x);margin:var(--divider-padding) 0}:host{display:block;position:relative}.br-breadcrumb .br-icon{color:#ccc}.br-breadcrumb .br-icon,.br-breadcrumb .mobile-active-page{display:flex;align-items:center}.br-breadcrumb .mobile-crumb-list{display:none;position:absolute;z-index:var(--z-index-layer-1);width:200px;box-shadow:var(--surface-shadow-sm);--interactive: var(--color);--interactive-rgb: var(--color-rgb)}.br-breadcrumb .mobile-crumb-list.show{display:block;top:100%;animation:none}@media(prefers-reduced-motion: no-preference){.br-breadcrumb .mobile-crumb-list.show{animation:breadcrumb-list-open var(--duration-fast, 300ms) var(--animation-ease-out, ease-out) both}}.br-breadcrumb .buttonFolderGroup,.br-breadcrumb .buttonFolderGroup span{display:flex;align-items:center}.br-breadcrumb .mobile-active-page span:focus:focus-visible{outline:var(--focus-width) var(--focus-style) var(--focus);outline-offset:var(--focus-offset)}.br-breadcrumb .mobile-active-page [data-active]{margin:0 var(--spacing-scale-2x) 0 var(--spacing-scale-base)}.br-breadcrumb .crumb{display:flex;align-items:center}.br-breadcrumb .crumb span{display:flex;align-items:center}@keyframes breadcrumb-list-open{from{opacity:0}to{opacity:1}}.tooltip-box{position:absolute;z-index:var(--z-index-layer-1);background:#1351b4;color:#fff;padding:8px 12px;border-radius:4px;font-size:12px;max-width:calc(100vw - 32px);white-space:normal;overflow-wrap:break-word;pointer-events:none;box-shadow:var(--surface-shadow-sm);width:max-content}.tooltip-box[data-placement^=top] .tooltip-arrow{bottom:-4px}.tooltip-box[data-placement^=bottom] .tooltip-arrow{top:-5px}.tooltip-box[data-placement^=left] .tooltip-arrow{right:-4px}.tooltip-box[data-placement^=right] .tooltip-arrow{left:-4px}.tooltip-box .tooltip-arrow{position:absolute;width:8px;height:8px;background:#1351b4;transform:rotate(45deg)}
@@ -6,12 +6,47 @@ import { Host, h } from "@stencil/core";
6
6
  import { FloatingUIManager } from "../../shared/utils/floating-ui";
7
7
  import { generateUniqueId } from "../../shared/utils/id";
8
8
  import { handleNavigationClick } from "../../shared/utils/navigation";
9
+ import { reportInvalidPropValue } from "../../shared/utils/prop-warning";
10
+ import { resolveAllowedPropValue, resolveIntegerPropValue } from "../../shared/utils/props";
9
11
  /**
10
- * Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/breadcrumb?tab=designer).
12
+ * O componente `br-breadcrumb` é o controle de navegação estrutural do GovBR-DS, desenvolvido para exibir o caminho hierárquico até a página atual e permitir que a pessoa usuária retorne facilmente a níveis anteriores da aplicação.
11
13
  *
14
+ * ### Para que serve
15
+ *
16
+ * - **Localização contextual:** Informa em qual nível da arquitetura de informação o usuário se encontra dentro do portal ou sistema.
17
+ * - **Navegação de retorno:** Oferece atalhos diretos para páginas ancestrais sem a necessidade de recorrer repetidamente ao botão "Voltar" do navegador.
18
+ * - **Acessibilidade estruturada WAI-ARIA:** Utiliza a semântica nativa de `<nav aria-label="Breadcrumb">`, identifica a página atual com `aria-current="page"` e gera separadores visuais acessíveis.
19
+ *
20
+ * ### Quando utilizar
21
+ *
22
+ * - **Utilize quando:**
23
+ * - A aplicação possuir estrutura hierárquica com dois ou mais níveis de profundidade (ex.: Início > Serviços > Cidadão > Solicitar documento).
24
+ * - **Evite e prefira outro componente quando:**
25
+ * - A aplicação possuir navegação plana (flat) de nível único sem hierarquia.
26
+ * - O fluxo for linear com etapas progressivas de um formulário (prefira `br-step` ou `br-wizard`).
27
+ *
28
+ * ### Composição e Subcomponentes
29
+ *
30
+ * O ecossistema do Breadcrumb é composto pelo orquestrador e seus itens:
31
+ *
32
+ * | Subcomponente | Papel | Regra de uso |
33
+ * | --- | --- | --- |
34
+ * | `br-breadcrumb` | **Orquestrador principal.** Gerencia a trilha de navegação, insere separadores visuais e controla acessibilidade. | Deve ser o contêiner raiz declarado no template da página. |
35
+ * | `br-breadcrumb-item` | **Item declarativo canônico.** Representa cada nível do caminho hierárquico. | Declarado dentro do slot padrão do `br-breadcrumb`. |
36
+ * | `br-crumb` | **Item legado de compatibilidade.** Equivalente ao `br-breadcrumb-item`. | Mantido para compatibilidade; prefira `br-breadcrumb-item` em novos códigos. |
37
+ *
38
+ * ### Como os subcomponentes se relacionam
39
+ *
40
+ * O `br-breadcrumb` atua como container pai que monitora os itens declarados em seu slot padrão:
41
+ * 1. **Identificação da página atual:** O último item da lista é automaticamente identificado como o destino atual, recebendo destaque visual e `aria-current="page"` sem link ativo.
42
+ * 2. **Separação visual padronizada:** O componente pai insere e padroniza os ícones separadores entre os níveis sem poluir a árvore do leitor de tela.
43
+ *
44
+ * Para a documentação completa de design, incluindo diretrizes de acessibilidade e especificações visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/breadcrumb?tab=designer).
45
+ *
46
+
12
47
  * @category Navegação
13
48
  * @status stable
14
- * @slot default - Itens de breadcrumb declarados via elementos br-crumb.
49
+ * @slot default - Itens de breadcrumb declarados via elementos br-breadcrumb-item. O elemento br-crumb é aceito apenas por compatibilidade.
15
50
  *
16
51
  * @part nav - Elemento nav do breadcrumb.
17
52
  * @part list - Lista ordenada de itens do breadcrumb.
@@ -71,6 +106,7 @@ export class Breadcrumb {
71
106
  * - `native` (padrão): preserva o comportamento do navegador, conforme HTML/W3C.
72
107
  * - `event`: emite `brNavigate`; se o evento for cancelado, bloqueia a navegação nativa para a SPA assumir.
73
108
  * Cliques com modificadores, botão do meio ou `target` diferente de `_self` permanecem nativos.
109
+ * Valores inválidos usam `native`.
74
110
  */
75
111
  this.navigationMode = 'native';
76
112
  this.hasLoaded = false;
@@ -85,7 +121,7 @@ export class Breadcrumb {
85
121
  this.registerCrumbItems = () => {
86
122
  const assignedElements = this.slotElement
87
123
  ? this.slotElement.assignedElements()
88
- : Array.from(this.el.querySelectorAll('br-crumb'));
124
+ : Array.from(this.el.children).filter((element) => ['br-crumb', 'br-breadcrumb-item'].includes(element.tagName.toLowerCase()));
89
125
  const crumbElements = assignedElements.filter((el) => ['br-crumb', 'br-breadcrumb-item'].includes(el.tagName?.toLowerCase()));
90
126
  this.innerCrumbs = crumbElements.map((element) => {
91
127
  const el = element;
@@ -109,7 +145,7 @@ export class Breadcrumb {
109
145
  handleNavigationClick({
110
146
  event,
111
147
  href,
112
- navigationMode: this.navigationMode,
148
+ navigationMode: this.effectiveNavigationMode,
113
149
  brNavigate: this.brNavigate,
114
150
  });
115
151
  };
@@ -127,6 +163,9 @@ export class Breadcrumb {
127
163
  }
128
164
  };
129
165
  }
166
+ get effectiveNavigationMode() {
167
+ return resolveAllowedPropValue(this.el, 'navigationMode', this.navigationMode, ['native', 'event'], 'native');
168
+ }
130
169
  /**
131
170
  * Adiciona o 'resizeObserver' para checar o tamanho do container pai.
132
171
  */
@@ -167,6 +206,19 @@ export class Breadcrumb {
167
206
  get effectiveHomeHref() {
168
207
  return this.homeHref ?? this.homeUrl;
169
208
  }
209
+ get effectiveTruncateAfter() {
210
+ const value = resolveIntegerPropValue(this.el, 'truncateAfter', this.truncateAfter, 1, Number.MAX_SAFE_INTEGER, 0, {
211
+ allowUndefined: true,
212
+ });
213
+ return typeof value === 'number' && value > 0 ? value : undefined;
214
+ }
215
+ get shouldTruncateByCount() {
216
+ const limit = this.effectiveTruncateAfter;
217
+ return limit !== undefined && this.getParsedItems().length > limit;
218
+ }
219
+ get shouldRenderTruncated() {
220
+ return this.isTruncate || this.shouldTruncateByCount;
221
+ }
170
222
  normalizeTarget(target) {
171
223
  const allowedTargets = ['_blank', '_self', '_parent', '_top'];
172
224
  return allowedTargets.includes(target) ? target : undefined;
@@ -231,7 +283,15 @@ export class Breadcrumb {
231
283
  }
232
284
  try {
233
285
  const parsed = typeof this.crumbs === 'string' ? JSON.parse(this.crumbs) : this.crumbs;
234
- return Array.isArray(parsed) && parsed.length > 0 ? parsed : this.defaultCrumbs;
286
+ if (!Array.isArray(parsed) || parsed.length === 0)
287
+ return this.defaultCrumbs;
288
+ const validItems = parsed.filter((item) => typeof item === 'object' && item !== null && typeof item.label === 'string');
289
+ if (validItems.length !== parsed.length) {
290
+ reportInvalidPropValue(this.el, 'crumbs', this.crumbs, 'Cada crumb deve ser um objeto com `label` string e `href`, `target`, `home` e `active` opcionais.', validItems.length > 0
291
+ ? 'Ignorando crumbs inválidos.'
292
+ : 'Aplicando os crumbs padrão porque nenhum item válido foi encontrado.');
293
+ }
294
+ return validItems.length > 0 ? validItems : this.defaultCrumbs;
235
295
  }
236
296
  catch {
237
297
  console.error('Invalid JSON format for crumbs:', this.crumbs);
@@ -253,7 +313,7 @@ export class Breadcrumb {
253
313
  if (handleNavigationClick({
254
314
  event,
255
315
  href: this.effectiveHomeHref,
256
- navigationMode: this.navigationMode,
316
+ navigationMode: this.effectiveNavigationMode,
257
317
  brNavigate: this.brNavigate,
258
318
  })) {
259
319
  return;
@@ -286,7 +346,7 @@ export class Breadcrumb {
286
346
  if (this.parentWidth <= 0 || this.isSmallScreen)
287
347
  return;
288
348
  if (this.isTruncate) {
289
- if (this.contentWidth <= this.parentWidth) {
349
+ if (!this.shouldTruncateByCount && this.contentWidth <= this.parentWidth) {
290
350
  this.isTruncate = false;
291
351
  requestAnimationFrame(() => this.calculateItemsWidth());
292
352
  }
@@ -314,7 +374,7 @@ export class Breadcrumb {
314
374
  * Renderiza botão Folder no comportamento truncado
315
375
  */
316
376
  renderTruncateButton() {
317
- if (this.isTruncate && !this.isSmallScreen) {
377
+ if (this.shouldRenderTruncated && !this.isSmallScreen) {
318
378
  const buttonFolderClass = this.isFolderOpen ? 'fa6-solid:folder-minus' : 'fa6-solid:folder-plus';
319
379
  return (h("li", { class: "buttonFolderGroup" }, h("br-icon", { class: "br-icon", iconName: "fa6-solid:chevron-right", width: "12", height: "12" }), h("br-button", { id: `${this.customId}-folder-trigger`, shape: "circle", "prop:ariaLabel": this.isFolderOpen ? 'Recolher lista de páginas' : 'Exibir lista de páginas', onClick: () => this.toggleFolder(), onKeyDown: (event) => this.handleKeyDown(event) }, h("br-icon", { iconName: buttonFolderClass, width: "12", height: "12" }))));
320
380
  }
@@ -325,14 +385,14 @@ export class Breadcrumb {
325
385
  */
326
386
  renderBreadcrumbItems() {
327
387
  const parsedItems = this.getParsedItems();
328
- if (this.isSmallScreen || this.isTruncate) {
388
+ if (this.isSmallScreen || this.shouldRenderTruncated) {
329
389
  return this.renderCollapsedBreadcrumbItems(parsedItems);
330
390
  }
331
391
  return this.renderDesktopBreadcrumbItems(parsedItems);
332
392
  }
333
393
  renderCollapsedBreadcrumbItems(parsedItems) {
334
394
  const lastItem = parsedItems[parsedItems.length - 2];
335
- return (h("li", { class: "buttonFolderGroup" }, this.isTruncate && !this.isSmallScreen && lastItem ? (h("span", null, h("br-icon", { class: "br-icon", iconName: "fa6-solid:chevron-right", width: "12", height: "12" }), h("a", { id: `${this.customId}-next-crumb`, href: lastItem.href || 'javascript:void(0)', target: lastItem.target || '_self', onClick: (event) => this.handleNavigation(event, lastItem.href), onMouseOver: (event) => this.handleMouseOver(event, lastItem.label), onMouseOut: () => this.handleMouseOut(), onFocus: (event) => this.handleMouseOver(event, lastItem.label), onBlur: () => this.handleMouseOut() }, this.truncateText(lastItem.label)))) : null, this.renderMobileActiveItem(parsedItems), this.renderBreadcrumbList(parsedItems)));
395
+ return (h("li", { class: "buttonFolderGroup" }, this.shouldRenderTruncated && !this.isSmallScreen && lastItem ? (h("span", null, h("br-icon", { class: "br-icon", iconName: "fa6-solid:chevron-right", width: "12", height: "12" }), h("a", { id: `${this.customId}-next-crumb`, href: lastItem.href || 'javascript:void(0)', target: lastItem.target || '_self', onClick: (event) => this.handleNavigation(event, lastItem.href), onMouseOver: (event) => this.handleMouseOver(event, lastItem.label), onMouseOut: () => this.handleMouseOut(), onFocus: (event) => this.handleMouseOver(event, lastItem.label), onBlur: () => this.handleMouseOut() }, this.truncateText(lastItem.label)))) : null, this.renderMobileActiveItem(parsedItems), this.renderBreadcrumbList(parsedItems)));
336
396
  }
337
397
  renderDesktopBreadcrumbItems(parsedItems) {
338
398
  return parsedItems.map((item, index) => (h("li", { key: this.getCrumbKey(item), class: `crumb ${item.home ? 'home' : ''}`, "data-active": item.active ? 'active' : null, "aria-label": `Página ${index + 1} de ${parsedItems.length}` }, this.renderBreadcrumbLink(item))));
@@ -350,13 +410,13 @@ export class Breadcrumb {
350
410
  * Renderiza lista dropdown contendo os itens do Breadcrumb
351
411
  */
352
412
  renderBreadcrumbList(parsedItems) {
353
- return (h("br-list", { class: this.isFolderOpen ? 'mobile-crumb-list show' : 'mobile-crumb-list' }, this.isSmallScreen && (h("div", { role: "group", "aria-label": `Página 1 de ${parsedItems.length}` }, h("br-item", { isInteractive: true, href: this.effectiveHomeHref, target: "_self", navigationMode: this.navigationMode }, "P\u00E1gina Inicial"), h("span", { class: "br-divider" }))), parsedItems.map((item, index) => this.renderBreadcrumbListItem(item, index, parsedItems.length))));
413
+ return (h("br-list", { class: this.isFolderOpen ? 'mobile-crumb-list show' : 'mobile-crumb-list' }, this.isSmallScreen && (h("div", { role: "group", "aria-label": `Página 1 de ${parsedItems.length}` }, h("br-item", { isInteractive: true, href: this.effectiveHomeHref, target: "_self", navigationMode: this.effectiveNavigationMode }, "P\u00E1gina Inicial"), h("span", { class: "br-divider" }))), parsedItems.map((item, index) => this.renderBreadcrumbListItem(item, index, parsedItems.length))));
354
414
  }
355
415
  shouldSkipFloatingListItem(index, totalItems) {
356
- return this.isTruncate && !this.isSmallScreen && index === totalItems - 2;
416
+ return this.shouldRenderTruncated && !this.isSmallScreen && index === totalItems - 2;
357
417
  }
358
418
  getListItemAriaLabel(index, totalItems) {
359
- if (this.isTruncate && !this.isSmallScreen) {
419
+ if (this.shouldRenderTruncated && !this.isSmallScreen) {
360
420
  return `Página ${index + 1} de ${totalItems - 2}`;
361
421
  }
362
422
  return `Página ${index + 2} de ${totalItems}`;
@@ -367,7 +427,7 @@ export class Breadcrumb {
367
427
  * necessariamente o de índice `totalItems - 3` como antes, quando todo item era
368
428
  * um tab stop nativo e Tab sempre percorria a lista em ordem sequencial. Por isso
369
429
  * o handler de saída é anexado a todo item; `handleKeyDownOut` já valida internamente
370
- * se a saída deve de fato ocorrer (`isFolderOpen && isTruncate && !isSmallScreen`).
430
+ * se a saída deve de fato ocorrer (`isFolderOpen && shouldRenderTruncated && !isSmallScreen`).
371
431
  */
372
432
  getListItemKeyDownHandler() {
373
433
  return (event) => {
@@ -382,7 +442,7 @@ export class Breadcrumb {
382
442
  if (item.active || this.shouldSkipFloatingListItem(index, totalItems)) {
383
443
  return null;
384
444
  }
385
- return (h("div", { key: this.getCrumbKey(item), role: "group", "aria-label": this.getListItemAriaLabel(index, totalItems) }, h("br-item", { customId: index === 0 ? 'firstElementList' : undefined, "aria-label": this.isTruncatedLabel(item.label) ? item.label : null, isInteractive: true, href: item.href || 'javascript:void(0)', target: item.target ?? '_self', navigationMode: this.navigationMode, onMouseOver: (event) => this.handleMouseOver(event, item.label), onFocus: (event) => this.handleMouseOver(event, item.label), onMouseOut: () => this.handleMouseOut(), onBlur: () => this.handleMouseOut(), onKeyDown: this.getListItemKeyDownHandler() }, this.truncateText(item.label)), h("span", { class: "br-divider" })));
445
+ return (h("div", { key: this.getCrumbKey(item), role: "group", "aria-label": this.getListItemAriaLabel(index, totalItems) }, h("br-item", { customId: index === 0 ? 'firstElementList' : undefined, "aria-label": this.isTruncatedLabel(item.label) ? item.label : null, isInteractive: true, href: item.href || 'javascript:void(0)', target: item.target ?? '_self', navigationMode: this.effectiveNavigationMode, onMouseOver: (event) => this.handleMouseOver(event, item.label), onFocus: (event) => this.handleMouseOver(event, item.label), onMouseOut: () => this.handleMouseOut(), onBlur: () => this.handleMouseOut(), onKeyDown: this.getListItemKeyDownHandler() }, this.truncateText(item.label)), h("span", { class: "br-divider" })));
386
446
  }
387
447
  /**
388
448
  * Renderiza itens do Breadcrumb no formato desktop
@@ -407,7 +467,7 @@ export class Breadcrumb {
407
467
  * Dispara foco no primeiro item da lista flutuante
408
468
  */
409
469
  handleKeyDown(event) {
410
- if (event.key === 'Tab' && this.isFolderOpen && this.isTruncate && !this.isSmallScreen) {
470
+ if (event.key === 'Tab' && this.isFolderOpen && this.shouldRenderTruncated && !this.isSmallScreen) {
411
471
  setTimeout(() => {
412
472
  const element = this.el.shadowRoot?.getElementById('firstElementList');
413
473
  if (element) {
@@ -420,7 +480,7 @@ export class Breadcrumb {
420
480
  * Ao finalizar navegação por teclado dentro da lista, dispara foco no item fora da lista flutuante
421
481
  */
422
482
  handleKeyDownOut(event) {
423
- if (event.key === 'Tab' && this.isFolderOpen && this.isTruncate && !this.isSmallScreen) {
483
+ if (event.key === 'Tab' && this.isFolderOpen && this.shouldRenderTruncated && !this.isSmallScreen) {
424
484
  setTimeout(() => {
425
485
  const element = this.el.shadowRoot?.getElementById('nextCrumb');
426
486
  if (element) {
@@ -430,9 +490,9 @@ export class Breadcrumb {
430
490
  }
431
491
  }
432
492
  render() {
433
- return (h(Host, { key: 'e40c3457a244437ad080d04a68bad56600b39387' }, h("div", { key: '70b36dbf89f4c849c76e2de6bd59850ca0813115', style: { display: 'none' } }, h("slot", { key: '8de3de4fd2f49c04ac5c1443b9bad45bc3a828ad', ref: (el) => {
493
+ return (h(Host, { key: '180bbf1d9b68b28d40f4c46d460c1768d119f9f8' }, h("div", { key: 'd1caadd6b34821130026e957ac469a17b5c0108b', style: { display: 'none' } }, h("slot", { key: '9befe6ceb93dce83110fb3bf0a599e4f0cff49ad', ref: (el) => {
434
494
  this.slotElement = el;
435
- }, onSlotchange: this.registerCrumbItems })), h("nav", { key: 'c94b9ab332fe3dffe6c9accb0d02e497ce9f3b6a', class: this.getCssClassMap(), "aria-label": "Breadcrumbs", part: "nav" }, h("ol", { key: 'c5a98927ba213b4ac0d60bbee2781de5380da1b4', class: "crumb-list", part: "list" }, this.renderHomeButton(), this.renderTruncateButton(), this.renderBreadcrumbItems())), this.renderTooltip()));
495
+ }, onSlotchange: this.registerCrumbItems })), h("nav", { key: 'fe4e0324eb9280157eba9100cb6b1103b28ad81a', class: this.getCssClassMap(), "aria-label": "Breadcrumbs", part: "nav" }, h("ol", { key: '5b00c51c967e823b7969a049d5da95f2c9c59762', class: "crumb-list", part: "list" }, this.renderHomeButton(), this.renderTruncateButton(), this.renderBreadcrumbItems())), this.renderTooltip()));
436
496
  }
437
497
  static get is() { return "br-breadcrumb"; }
438
498
  static get encapsulation() { return "shadow"; }
@@ -510,6 +570,25 @@ export class Breadcrumb {
510
570
  "reflect": false,
511
571
  "attribute": "home-href"
512
572
  },
573
+ "truncateAfter": {
574
+ "type": "number",
575
+ "mutable": false,
576
+ "complexType": {
577
+ "original": "number",
578
+ "resolved": "number",
579
+ "references": {}
580
+ },
581
+ "required": false,
582
+ "optional": true,
583
+ "docs": {
584
+ "tags": [],
585
+ "text": "Quantidade m\u00E1xima de crumbs exibidos antes de ativar o modo truncado.\nQuando omitida, o truncamento continua sendo decidido apenas pelo espa\u00E7o dispon\u00EDvel.\nValores inv\u00E1lidos s\u00E3o ignorados."
586
+ },
587
+ "getter": false,
588
+ "setter": false,
589
+ "reflect": true,
590
+ "attribute": "truncate-after"
591
+ },
513
592
  "crumbs": {
514
593
  "type": "string",
515
594
  "mutable": false,
@@ -528,8 +607,14 @@ export class Breadcrumb {
528
607
  "required": true,
529
608
  "optional": false,
530
609
  "docs": {
531
- "tags": [],
532
- "text": "Define o array de objetos que receber\u00E1 os nomes e links do breadcrumb.\nDefine valor padr\u00E3o do breadcrumb 'defaultCrumbs'."
610
+ "tags": [{
611
+ "name": "example",
612
+ "text": "```html\n<br-breadcrumb\n crumbs='[{\"label\":\"In\u00EDcio\",\"href\":\"/\"},{\"label\":\"Servi\u00E7o\",\"active\":true}]'\n></br-breadcrumb>\n```"
613
+ }, {
614
+ "name": "example",
615
+ "text": "```js\nconst breadcrumb = document.querySelector('br-breadcrumb');\nbreadcrumb.crumbs = [\n { label: 'In\u00EDcio', href: '/' },\n { label: 'Servi\u00E7o', active: true },\n];\n```"
616
+ }],
617
+ "text": "Fornece os nomes e links do breadcrumb.\nUse uma string JSON no atributo HTML ou um array de `BreadcrumbItem` por property binding.\nCada item deve ter `label` string e pode ter `href`, `target`, `home` e `active`.\nItens inv\u00E1lidos s\u00E3o ignorados; se nenhum item v\u00E1lido restar, usa `defaultCrumbs` e avisa no console."
533
618
  },
534
619
  "getter": false,
535
620
  "setter": false,
@@ -555,7 +640,7 @@ export class Breadcrumb {
555
640
  "optional": false,
556
641
  "docs": {
557
642
  "tags": [],
558
- "text": "Controla como os links do breadcrumb integram a navega\u00E7\u00E3o mantendo `href` real nos itens naveg\u00E1veis.\n- `native` (padr\u00E3o): preserva o comportamento do navegador, conforme HTML/W3C.\n- `event`: emite `brNavigate`; se o evento for cancelado, bloqueia a navega\u00E7\u00E3o nativa para a SPA assumir.\nCliques com modificadores, bot\u00E3o do meio ou `target` diferente de `_self` permanecem nativos."
643
+ "text": "Controla como os links do breadcrumb integram a navega\u00E7\u00E3o mantendo `href` real nos itens naveg\u00E1veis.\n- `native` (padr\u00E3o): preserva o comportamento do navegador, conforme HTML/W3C.\n- `event`: emite `brNavigate`; se o evento for cancelado, bloqueia a navega\u00E7\u00E3o nativa para a SPA assumir.\nCliques com modificadores, bot\u00E3o do meio ou `target` diferente de `_self` permanecem nativos.\nValores inv\u00E1lidos usam `native`."
559
644
  },
560
645
  "getter": false,
561
646
  "setter": false,