@govbr-ds/webcomponents 2.1.3 → 2.3.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 (977) hide show
  1. package/README.md +146 -54
  2. package/cem/custom-elements.json +6496 -1141
  3. package/cem/webcomponents.html-custom-data.json +400 -287
  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 +77 -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 +86 -16
  13. package/dist/cjs/br-checkgroup.cjs.entry.js +5 -2
  14. package/dist/cjs/br-collapse_2.cjs.entry.js +90 -27
  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 +116 -528
  25. package/dist/cjs/br-divider.cjs.entry.js +70 -17
  26. package/dist/cjs/br-dropdown_2.cjs.entry.js +334 -163
  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 +96 -37
  38. package/dist/cjs/br-icon.cjs.entry.js +161 -53
  39. package/dist/cjs/br-input.cjs.entry.js +150 -40
  40. package/dist/cjs/br-item.cjs.entry.js +97 -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 +39 -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 +38 -57
  53. package/dist/cjs/br-modal.cjs.entry.js +44 -42
  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 +120 -88
  59. package/dist/cjs/br-radio-group.cjs.entry.js +107 -58
  60. package/dist/cjs/br-radio.cjs.entry.js +62 -12
  61. package/dist/cjs/br-scrim.cjs.entry.js +161 -67
  62. package/dist/cjs/br-select-input_3.cjs.entry.js +286 -91
  63. package/dist/cjs/br-sign-in.cjs.entry.js +38 -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 +522 -100
  68. package/dist/cjs/br-step_2.cjs.entry.js +98 -44
  69. package/dist/cjs/br-switch.cjs.entry.js +21 -12
  70. package/dist/cjs/br-tab-item.cjs.entry.js +38 -14
  71. package/dist/cjs/br-tab.cjs.entry.js +89 -51
  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 +49 -31
  79. package/dist/cjs/br-textarea.cjs.entry.js +118 -13
  80. package/dist/cjs/br-tooltip.cjs.entry.js +87 -41
  81. package/dist/cjs/br-upload.cjs.entry.js +84 -25
  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/icon.utils-DF6kMskA.js +46 -0
  90. package/dist/cjs/id-DE4jSi-L.js +36 -0
  91. package/dist/cjs/{index-CRdcutym.js → index-Bc30P_6z.js} +88 -766
  92. package/dist/cjs/loader.cjs.js +2 -2
  93. package/dist/cjs/motion-CgIooxWS.js +29 -0
  94. package/dist/cjs/ownership-UnpufyCx.js +116 -0
  95. package/dist/cjs/prop-warning-xvEHQz8H.js +60 -0
  96. package/dist/cjs/props-D8dybmr0.js +124 -0
  97. package/dist/cjs/{swipe-BU8_XE9f.js → swipe-BGF-h9WY.js} +11 -1
  98. package/dist/cjs/{validator-CTCajtT9.js → validator-GkkueMOx.js} +18 -0
  99. package/dist/cjs/webcomponents.cjs.js +3 -3
  100. package/dist/collection/collection-manifest.json +1 -1
  101. package/dist/collection/components/avatar/avatar.css +1 -1
  102. package/dist/collection/components/avatar/avatar.js +48 -16
  103. package/dist/collection/components/breadcrumb/breadcrumb-item/breadcrumb-item.js +15 -3
  104. package/dist/collection/components/breadcrumb/breadcrumb.css +1 -1
  105. package/dist/collection/components/breadcrumb/breadcrumb.js +107 -22
  106. package/dist/collection/components/breadcrumb/crumb/crumb.js +14 -2
  107. package/dist/collection/components/button/button.css +1 -1
  108. package/dist/collection/components/button/button.js +93 -24
  109. package/dist/collection/components/card/card.css +1 -1
  110. package/dist/collection/components/card/card.js +33 -5
  111. package/dist/collection/components/carousel/carousel-page/carousel-page.css +1 -1
  112. package/dist/collection/components/carousel/carousel-page/carousel-page.js +11 -4
  113. package/dist/collection/components/carousel/carousel.css +1 -1
  114. package/dist/collection/components/carousel/carousel.js +107 -21
  115. package/dist/collection/components/checkbox/checkbox.css +1 -1
  116. package/dist/collection/components/checkbox/checkbox.js +134 -20
  117. package/dist/collection/components/checkbox-group/checkbox-group.css +1 -1
  118. package/dist/collection/components/checkbox-group/checkbox-group.js +210 -30
  119. package/dist/collection/components/checkgroup/checkgroup.js +42 -4
  120. package/dist/collection/components/collapse/collapse.css +1 -1
  121. package/dist/collection/components/collapse/collapse.js +55 -9
  122. package/dist/collection/components/cookiebar/cookiebar-cookie/cookiebar-cookie.css +1 -1
  123. package/dist/collection/components/cookiebar/cookiebar-cookie/cookiebar-cookie.js +17 -4
  124. package/dist/collection/components/cookiebar/cookiebar-group/cookiebar-group.css +1 -1
  125. package/dist/collection/components/cookiebar/cookiebar-group/cookiebar-group.js +16 -7
  126. package/dist/collection/components/cookiebar/cookiebar-header/cookiebar-header.css +1 -1
  127. package/dist/collection/components/cookiebar/cookiebar-header/cookiebar-header.js +15 -9
  128. package/dist/collection/components/cookiebar/cookiebar-link/cookiebar-link.css +1 -1
  129. package/dist/collection/components/cookiebar/cookiebar-link/cookiebar-link.js +24 -8
  130. package/dist/collection/components/cookiebar/cookiebar-note/cookiebar-note.css +1 -1
  131. package/dist/collection/components/cookiebar/cookiebar-note/cookiebar-note.js +14 -4
  132. package/dist/collection/components/cookiebar/cookiebar-note-group/cookiebar-note-group.css +1 -1
  133. package/dist/collection/components/cookiebar/cookiebar-note-group/cookiebar-note-group.js +13 -5
  134. package/dist/collection/components/cookiebar/cookiebar.css +1 -1
  135. package/dist/collection/components/cookiebar/cookiebar.js +67 -32
  136. package/dist/collection/components/datetime-picker/date-picker/date-picker.css +1 -1
  137. package/dist/collection/components/datetime-picker/date-picker/date-picker.js +134 -35
  138. package/dist/collection/components/datetime-picker/datetime-input/datetime-input.css +1 -1
  139. package/dist/collection/components/datetime-picker/datetime-input/datetime-input.js +112 -22
  140. package/dist/collection/components/datetime-picker/datetime-picker-props-validation.js +13 -5
  141. package/dist/collection/components/datetime-picker/datetime-picker.css +1 -1
  142. package/dist/collection/components/datetime-picker/datetime-picker.js +158 -42
  143. package/dist/collection/components/datetime-picker/time-picker/time-picker.css +1 -1
  144. package/dist/collection/components/datetime-picker/time-picker/time-picker.js +78 -9
  145. package/dist/collection/components/divider/divider.css +1 -1
  146. package/dist/collection/components/divider/divider.js +101 -26
  147. package/dist/collection/components/dropdown/dropdown.css +1 -1
  148. package/dist/collection/components/dropdown/dropdown.js +195 -51
  149. package/dist/collection/components/footer/footer-category/footer-category.css +1 -1
  150. package/dist/collection/components/footer/footer-category/footer-category.js +23 -4
  151. package/dist/collection/components/footer/footer-item/footer-item.css +1 -1
  152. package/dist/collection/components/footer/footer-item/footer-item.js +21 -2
  153. package/dist/collection/components/footer/footer-legal/footer-legal.css +1 -1
  154. package/dist/collection/components/footer/footer-legal/footer-legal.js +16 -2
  155. package/dist/collection/components/footer/footer-logo/footer-logo.css +1 -1
  156. package/dist/collection/components/footer/footer-logo/footer-logo.js +35 -9
  157. package/dist/collection/components/footer/footer-social/footer-social.css +1 -1
  158. package/dist/collection/components/footer/footer-social/footer-social.js +26 -6
  159. package/dist/collection/components/footer/footer.css +1 -1
  160. package/dist/collection/components/footer/footer.js +48 -7
  161. package/dist/collection/components/header/header-context.js +13 -0
  162. package/dist/collection/components/header/header-function/header-function.css +1 -1
  163. package/dist/collection/components/header/header-function/header-function.js +51 -8
  164. package/dist/collection/components/header/header-link/header-link.css +1 -1
  165. package/dist/collection/components/header/header-link/header-link.js +52 -2
  166. package/dist/collection/components/header/header-list/header-list.css +1 -1
  167. package/dist/collection/components/header/header-list/header-list.js +20 -23
  168. package/dist/collection/components/header/header-logo/header-logo.css +1 -1
  169. package/dist/collection/components/header/header-logo/header-logo.js +33 -8
  170. package/dist/collection/components/header/header.css +1 -1
  171. package/dist/collection/components/header/header.js +134 -44
  172. package/dist/collection/components/icon/default-icons-cache.js +111 -3
  173. package/dist/collection/components/icon/icon.css +1 -1
  174. package/dist/collection/components/icon/icon.js +80 -33
  175. package/dist/collection/components/icon/icon.utils.js +8 -0
  176. package/dist/collection/components/input/input.css +1 -1
  177. package/dist/collection/components/input/input.js +189 -55
  178. package/dist/collection/components/item/item.css +1 -1
  179. package/dist/collection/components/item/item.js +136 -52
  180. package/dist/collection/components/link/link.css +1 -1
  181. package/dist/collection/components/link/link.js +48 -15
  182. package/dist/collection/components/list/list.css +1 -1
  183. package/dist/collection/components/list/list.js +106 -25
  184. package/dist/collection/components/loading/loading.css +1 -1
  185. package/dist/collection/components/loading/loading.js +131 -43
  186. package/dist/collection/components/magic-button/magic-button.css +1 -1
  187. package/dist/collection/components/magic-button/magic-button.js +65 -9
  188. package/dist/collection/components/menu/menu-group/menu-group.css +1 -1
  189. package/dist/collection/components/menu/menu-group/menu-group.js +60 -2
  190. package/dist/collection/components/menu/menu-header/menu-header.css +1 -1
  191. package/dist/collection/components/menu/menu-header/menu-header.js +17 -2
  192. package/dist/collection/components/menu/menu-info/menu-info.css +1 -1
  193. package/dist/collection/components/menu/menu-info/menu-info.js +15 -2
  194. package/dist/collection/components/menu/menu-item/menu-item.css +1 -1
  195. package/dist/collection/components/menu/menu-item/menu-item.js +72 -8
  196. package/dist/collection/components/menu/menu-link/menu-link.css +1 -1
  197. package/dist/collection/components/menu/menu-link/menu-link.js +25 -4
  198. package/dist/collection/components/menu/menu-list/menu-list.css +1 -1
  199. package/dist/collection/components/menu/menu-list/menu-list.js +64 -29
  200. package/dist/collection/components/menu/menu-logo/menu-logo.css +1 -1
  201. package/dist/collection/components/menu/menu-logo/menu-logo.js +15 -2
  202. package/dist/collection/components/menu/menu-social/menu-social.css +1 -1
  203. package/dist/collection/components/menu/menu-social/menu-social.js +29 -7
  204. package/dist/collection/components/menu/menu.css +1 -1
  205. package/dist/collection/components/menu/menu.js +71 -60
  206. package/dist/collection/components/menu/menu.utils.js +8 -18
  207. package/dist/collection/components/message/message.css +1 -1
  208. package/dist/collection/components/message/message.js +50 -24
  209. package/dist/collection/components/modal/modal.css +1 -1
  210. package/dist/collection/components/modal/modal.js +72 -43
  211. package/dist/collection/components/notification/notification-body/notification-body.css +1 -1
  212. package/dist/collection/components/notification/notification-body/notification-body.js +13 -4
  213. package/dist/collection/components/notification/notification-header/notification-header.css +1 -1
  214. package/dist/collection/components/notification/notification-header/notification-header.js +13 -4
  215. package/dist/collection/components/notification/notification-item/notification-item.css +1 -1
  216. package/dist/collection/components/notification/notification-item/notification-item.js +23 -9
  217. package/dist/collection/components/notification/notification.css +1 -1
  218. package/dist/collection/components/notification/notification.js +54 -10
  219. package/dist/collection/components/pagination/pagination.css +1 -1
  220. package/dist/collection/components/pagination/pagination.js +164 -75
  221. package/dist/collection/components/radio/radio.css +1 -1
  222. package/dist/collection/components/radio/radio.js +109 -14
  223. package/dist/collection/components/radio-group/radio-group.css +1 -1
  224. package/dist/collection/components/radio-group/radio-group.js +153 -63
  225. package/dist/collection/components/scrim/scrim.css +1 -1
  226. package/dist/collection/components/scrim/scrim.js +215 -74
  227. package/dist/collection/components/scrim/scrim.utils.js +5 -51
  228. package/dist/collection/components/select/select-input/select-input.css +1 -1
  229. package/dist/collection/components/select/select-input/select-input.js +61 -6
  230. package/dist/collection/components/select/select-list/select-list.css +1 -1
  231. package/dist/collection/components/select/select-list/select-list.js +247 -52
  232. package/dist/collection/components/select/select-option/select-option.css +1 -1
  233. package/dist/collection/components/select/select-option/select-option.js +108 -46
  234. package/dist/collection/components/select/select.css +1 -1
  235. package/dist/collection/components/select/select.js +320 -124
  236. package/dist/collection/components/select/select.utils.js +3 -1
  237. package/dist/collection/components/sign-in/sign-in.css +1 -1
  238. package/dist/collection/components/sign-in/sign-in.js +60 -17
  239. package/dist/collection/components/skip-link/skip-link-item/skip-link-item-alias.js +112 -3
  240. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.css +1 -1
  241. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.js +58 -5
  242. package/dist/collection/components/skip-link/skip-link.css +1 -1
  243. package/dist/collection/components/skip-link/skip-link.js +78 -39
  244. package/dist/collection/components/slider/slider.css +1 -1
  245. package/dist/collection/components/slider/slider.js +530 -132
  246. package/dist/collection/components/slider/slider.utils.js +178 -0
  247. package/dist/collection/components/step/step-item/step-item.css +1 -1
  248. package/dist/collection/components/step/step-item/step-item.js +29 -12
  249. package/dist/collection/components/step/step.css +1 -1
  250. package/dist/collection/components/step/step.js +119 -44
  251. package/dist/collection/components/switch/switch.css +1 -1
  252. package/dist/collection/components/switch/switch.js +48 -15
  253. package/dist/collection/components/tab/tab-item/tab-item.css +1 -1
  254. package/dist/collection/components/tab/tab-item/tab-item.js +49 -14
  255. package/dist/collection/components/tab/tab.css +1 -1
  256. package/dist/collection/components/tab/tab.js +123 -53
  257. package/dist/collection/components/table/table-body/table-body.css +1 -1
  258. package/dist/collection/components/table/table-body/table-body.js +11 -7
  259. package/dist/collection/components/table/table-cell/table-cell.css +1 -1
  260. package/dist/collection/components/table/table-cell/table-cell.js +36 -17
  261. package/dist/collection/components/table/table-header/table-header.css +1 -1
  262. package/dist/collection/components/table/table-header/table-header.js +11 -7
  263. package/dist/collection/components/table/table-header-cell/table-header-cell.css +1 -1
  264. package/dist/collection/components/table/table-header-cell/table-header-cell.js +35 -13
  265. package/dist/collection/components/table/table-row/table-row.css +1 -1
  266. package/dist/collection/components/table/table-row/table-row.js +24 -7
  267. package/dist/collection/components/table/table.css +1 -1
  268. package/dist/collection/components/table/table.js +107 -31
  269. package/dist/collection/components/tag/tag.css +1 -1
  270. package/dist/collection/components/tag/tag.js +86 -36
  271. package/dist/collection/components/textarea/textarea.css +1 -1
  272. package/dist/collection/components/textarea/textarea.js +222 -19
  273. package/dist/collection/components/tooltip/tooltip.css +1 -1
  274. package/dist/collection/components/tooltip/tooltip.js +134 -45
  275. package/dist/collection/components/upload/upload.css +1 -1
  276. package/dist/collection/components/upload/upload.js +135 -33
  277. package/dist/collection/components/wizard/wizard-panel/wizard-panel.css +1 -1
  278. package/dist/collection/components/wizard/wizard-panel/wizard-panel.js +54 -3
  279. package/dist/collection/components/wizard/wizard.css +1 -1
  280. package/dist/collection/components/wizard/wizard.js +82 -28
  281. package/dist/collection/pages/components/select/remote.js +33 -0
  282. package/dist/collection/pages/components/select/virtualized.js +13 -0
  283. package/dist/collection/pages/components/upload/handler.js +25 -0
  284. package/dist/collection/pages/scripts/component-controls-core.js +95 -0
  285. package/dist/collection/pages/scripts/component-controls.js +221 -158
  286. package/dist/collection/pages/scripts/dev-event-console.js +5 -1
  287. package/dist/collection/pages/scripts/menu.js +90 -6
  288. package/dist/collection/pages/scripts/pageLoader.js +1570 -607
  289. package/dist/collection/pages/scripts/pageloader-preview.js +796 -0
  290. package/dist/collection/pages/scripts/playground-core.js +173 -0
  291. package/dist/collection/shared/utils/cssVariables.js +2 -0
  292. package/dist/collection/shared/utils/date.js +8 -4
  293. package/dist/collection/shared/utils/floating-ui.js +24 -1
  294. package/dist/collection/shared/utils/focus.js +31 -0
  295. package/dist/collection/shared/utils/form.js +17 -0
  296. package/dist/collection/shared/utils/getRandom.js +16 -1
  297. package/dist/collection/shared/utils/helpers.js +4 -11
  298. package/dist/collection/shared/utils/id.js +23 -7
  299. package/dist/collection/shared/utils/index.js +6 -1
  300. package/dist/collection/shared/utils/isEmpty.js +5 -3
  301. package/dist/collection/shared/utils/motion.js +25 -0
  302. package/dist/collection/shared/utils/ownership.js +113 -0
  303. package/dist/collection/shared/utils/prop-warning.js +47 -0
  304. package/dist/collection/shared/utils/props.js +79 -0
  305. package/dist/collection/shared/utils/swipe.js +11 -1
  306. package/dist/collection/shared/utils/transition.js +3 -0
  307. package/dist/collection/shared/utils/virtual-scroll.js +24 -0
  308. package/dist/components/br-avatar.d.ts +1 -1
  309. package/dist/components/br-avatar.js +1 -1
  310. package/dist/components/br-breadcrumb-item.d.ts +1 -1
  311. package/dist/components/br-breadcrumb-item.js +1 -1
  312. package/dist/components/br-breadcrumb.d.ts +1 -1
  313. package/dist/components/br-breadcrumb.js +1 -1
  314. package/dist/components/br-button.d.ts +1 -1
  315. package/dist/components/br-button.js +1 -1
  316. package/dist/components/br-card.d.ts +1 -1
  317. package/dist/components/br-card.js +1 -1
  318. package/dist/components/br-carousel-page.d.ts +1 -1
  319. package/dist/components/br-carousel-page.js +1 -1
  320. package/dist/components/br-carousel.d.ts +1 -1
  321. package/dist/components/br-carousel.js +1 -1
  322. package/dist/components/br-checkbox-group.d.ts +1 -1
  323. package/dist/components/br-checkbox-group.js +1 -1
  324. package/dist/components/br-checkbox.d.ts +1 -1
  325. package/dist/components/br-checkbox.js +1 -1
  326. package/dist/components/br-checkgroup.d.ts +1 -1
  327. package/dist/components/br-checkgroup.js +1 -1
  328. package/dist/components/br-collapse.d.ts +1 -1
  329. package/dist/components/br-collapse.js +1 -1
  330. package/dist/components/br-cookiebar-cookie.d.ts +1 -1
  331. package/dist/components/br-cookiebar-cookie.js +1 -1
  332. package/dist/components/br-cookiebar-group.d.ts +1 -1
  333. package/dist/components/br-cookiebar-group.js +1 -1
  334. package/dist/components/br-cookiebar-header.d.ts +1 -1
  335. package/dist/components/br-cookiebar-header.js +1 -1
  336. package/dist/components/br-cookiebar-link.d.ts +1 -1
  337. package/dist/components/br-cookiebar-link.js +1 -1
  338. package/dist/components/br-cookiebar-note-group.d.ts +1 -1
  339. package/dist/components/br-cookiebar-note-group.js +1 -1
  340. package/dist/components/br-cookiebar-note.d.ts +1 -1
  341. package/dist/components/br-cookiebar-note.js +1 -1
  342. package/dist/components/br-cookiebar.d.ts +1 -1
  343. package/dist/components/br-cookiebar.js +1 -1
  344. package/dist/components/br-crumb.d.ts +1 -1
  345. package/dist/components/br-crumb.js +1 -1
  346. package/dist/components/br-date-picker.d.ts +1 -1
  347. package/dist/components/br-date-picker.js +1 -1
  348. package/dist/components/br-datetime-input.d.ts +1 -1
  349. package/dist/components/br-datetime-input.js +1 -1
  350. package/dist/components/br-datetime-picker.d.ts +1 -1
  351. package/dist/components/br-datetime-picker.js +1 -1
  352. package/dist/components/br-divider.d.ts +1 -1
  353. package/dist/components/br-divider.js +1 -1
  354. package/dist/components/br-dropdown.d.ts +1 -1
  355. package/dist/components/br-dropdown.js +1 -1
  356. package/dist/components/br-footer-category.d.ts +1 -1
  357. package/dist/components/br-footer-category.js +1 -1
  358. package/dist/components/br-footer-item.d.ts +1 -1
  359. package/dist/components/br-footer-item.js +1 -1
  360. package/dist/components/br-footer-legal.d.ts +1 -1
  361. package/dist/components/br-footer-legal.js +1 -1
  362. package/dist/components/br-footer-logo.d.ts +1 -1
  363. package/dist/components/br-footer-logo.js +1 -1
  364. package/dist/components/br-footer-social.d.ts +1 -1
  365. package/dist/components/br-footer-social.js +1 -1
  366. package/dist/components/br-footer.d.ts +1 -1
  367. package/dist/components/br-footer.js +1 -1
  368. package/dist/components/br-header-function.d.ts +1 -1
  369. package/dist/components/br-header-function.js +1 -1
  370. package/dist/components/br-header-link.d.ts +1 -1
  371. package/dist/components/br-header-link.js +1 -1
  372. package/dist/components/br-header-list.d.ts +1 -1
  373. package/dist/components/br-header-list.js +1 -1
  374. package/dist/components/br-header-logo.d.ts +1 -1
  375. package/dist/components/br-header-logo.js +1 -1
  376. package/dist/components/br-header.d.ts +1 -1
  377. package/dist/components/br-header.js +1 -1
  378. package/dist/components/br-icon.d.ts +1 -1
  379. package/dist/components/br-icon.js +1 -1
  380. package/dist/components/br-input.d.ts +1 -1
  381. package/dist/components/br-input.js +1 -1
  382. package/dist/components/br-item.d.ts +1 -1
  383. package/dist/components/br-item.js +1 -1
  384. package/dist/components/br-link.d.ts +1 -1
  385. package/dist/components/br-link.js +1 -1
  386. package/dist/components/br-list.d.ts +1 -1
  387. package/dist/components/br-list.js +1 -1
  388. package/dist/components/br-loading.d.ts +1 -1
  389. package/dist/components/br-loading.js +1 -1
  390. package/dist/components/br-magic-button.d.ts +1 -1
  391. package/dist/components/br-magic-button.js +1 -1
  392. package/dist/components/br-menu-group.d.ts +1 -1
  393. package/dist/components/br-menu-group.js +1 -1
  394. package/dist/components/br-menu-header.d.ts +1 -1
  395. package/dist/components/br-menu-header.js +1 -1
  396. package/dist/components/br-menu-info.d.ts +1 -1
  397. package/dist/components/br-menu-info.js +1 -1
  398. package/dist/components/br-menu-item.d.ts +1 -1
  399. package/dist/components/br-menu-item.js +1 -1
  400. package/dist/components/br-menu-link.d.ts +1 -1
  401. package/dist/components/br-menu-link.js +1 -1
  402. package/dist/components/br-menu-list.d.ts +1 -1
  403. package/dist/components/br-menu-list.js +1 -1
  404. package/dist/components/br-menu-logo.d.ts +1 -1
  405. package/dist/components/br-menu-logo.js +1 -1
  406. package/dist/components/br-menu-social.d.ts +1 -1
  407. package/dist/components/br-menu-social.js +1 -1
  408. package/dist/components/br-menu.d.ts +1 -1
  409. package/dist/components/br-menu.js +1 -1
  410. package/dist/components/br-message.d.ts +1 -1
  411. package/dist/components/br-message.js +1 -1
  412. package/dist/components/br-modal.d.ts +1 -1
  413. package/dist/components/br-modal.js +1 -1
  414. package/dist/components/br-notification-body.d.ts +1 -1
  415. package/dist/components/br-notification-body.js +1 -1
  416. package/dist/components/br-notification-header.d.ts +1 -1
  417. package/dist/components/br-notification-header.js +1 -1
  418. package/dist/components/br-notification-item.d.ts +1 -1
  419. package/dist/components/br-notification-item.js +1 -1
  420. package/dist/components/br-notification.d.ts +1 -1
  421. package/dist/components/br-notification.js +1 -1
  422. package/dist/components/br-pagination.d.ts +1 -1
  423. package/dist/components/br-pagination.js +1 -1
  424. package/dist/components/br-radio-group.d.ts +1 -1
  425. package/dist/components/br-radio-group.js +1 -1
  426. package/dist/components/br-radio.d.ts +1 -1
  427. package/dist/components/br-radio.js +1 -1
  428. package/dist/components/br-scrim.d.ts +1 -1
  429. package/dist/components/br-scrim.js +1 -1
  430. package/dist/components/br-select-input.d.ts +1 -1
  431. package/dist/components/br-select-input.js +1 -1
  432. package/dist/components/br-select-list.d.ts +1 -1
  433. package/dist/components/br-select-list.js +1 -1
  434. package/dist/components/br-select-option.d.ts +1 -1
  435. package/dist/components/br-select-option.js +1 -1
  436. package/dist/components/br-select.d.ts +1 -1
  437. package/dist/components/br-select.js +1 -1
  438. package/dist/components/br-sign-in.d.ts +1 -1
  439. package/dist/components/br-sign-in.js +1 -1
  440. package/dist/components/br-skip-link-item.d.ts +1 -1
  441. package/dist/components/br-skip-link-item.js +1 -1
  442. package/dist/components/br-skip-link.d.ts +1 -1
  443. package/dist/components/br-skip-link.js +1 -1
  444. package/dist/components/br-skiplink-item.d.ts +1 -1
  445. package/dist/components/br-skiplink-item.js +1 -1
  446. package/dist/components/br-slider.d.ts +1 -1
  447. package/dist/components/br-slider.js +1 -1
  448. package/dist/components/br-step-item.d.ts +1 -1
  449. package/dist/components/br-step-item.js +1 -1
  450. package/dist/components/br-step.d.ts +1 -1
  451. package/dist/components/br-step.js +1 -1
  452. package/dist/components/br-switch.d.ts +1 -1
  453. package/dist/components/br-switch.js +1 -1
  454. package/dist/components/br-tab-item.d.ts +1 -1
  455. package/dist/components/br-tab-item.js +1 -1
  456. package/dist/components/br-tab.d.ts +1 -1
  457. package/dist/components/br-tab.js +1 -1
  458. package/dist/components/br-table-body.d.ts +1 -1
  459. package/dist/components/br-table-body.js +1 -1
  460. package/dist/components/br-table-cell.d.ts +1 -1
  461. package/dist/components/br-table-cell.js +1 -1
  462. package/dist/components/br-table-header-cell.d.ts +1 -1
  463. package/dist/components/br-table-header-cell.js +1 -1
  464. package/dist/components/br-table-header.d.ts +1 -1
  465. package/dist/components/br-table-header.js +1 -1
  466. package/dist/components/br-table-row.d.ts +1 -1
  467. package/dist/components/br-table-row.js +1 -1
  468. package/dist/components/br-table.d.ts +1 -1
  469. package/dist/components/br-table.js +1 -1
  470. package/dist/components/br-tag.d.ts +1 -1
  471. package/dist/components/br-tag.js +1 -1
  472. package/dist/components/br-textarea.d.ts +1 -1
  473. package/dist/components/br-textarea.js +1 -1
  474. package/dist/components/br-time-picker.d.ts +1 -1
  475. package/dist/components/br-time-picker.js +1 -1
  476. package/dist/components/br-tooltip.d.ts +1 -1
  477. package/dist/components/br-tooltip.js +1 -1
  478. package/dist/components/br-upload.d.ts +1 -1
  479. package/dist/components/br-upload.js +1 -1
  480. package/dist/components/br-wizard-panel.d.ts +1 -1
  481. package/dist/components/br-wizard-panel.js +1 -1
  482. package/dist/components/br-wizard.d.ts +1 -1
  483. package/dist/components/br-wizard.js +1 -1
  484. package/dist/components/index.d.ts +89 -89
  485. package/dist/components/index.js +1 -1
  486. package/dist/components/p-0qmYp77w.js +5 -0
  487. package/dist/components/p-5c3rNBXh.js +5 -0
  488. package/dist/components/p-B8oIvH3q.js +5 -0
  489. package/dist/components/p-BECz8XWJ.js +5 -0
  490. package/dist/components/p-BEJGB0Nd.js +5 -0
  491. package/dist/{webcomponents/p-Dmfk7eEe.js → components/p-BJZC_NuV.js} +1 -1
  492. package/dist/components/p-BJtdabsr.js +5 -0
  493. package/dist/components/p-BM4Ys6hX.js +5 -0
  494. package/dist/components/p-BXWh9s7p.js +5 -0
  495. package/dist/components/{p-DA5GS53D.js → p-BblZlUp2.js} +1 -1
  496. package/dist/components/{p-C1yRmdso.js → p-BcqVlof7.js} +1 -1
  497. package/dist/components/p-BeJxz5TQ.js +5 -0
  498. package/dist/components/p-Bezou5CQ.js +5 -0
  499. package/dist/components/p-BjeUETWJ.js +5 -0
  500. package/dist/components/p-CDTENPaP.js +5 -0
  501. package/dist/components/p-CDtFCbKp.js +5 -0
  502. package/dist/components/p-CNwZRgyL.js +5 -0
  503. package/dist/components/p-CZZVc2gK.js +5 -0
  504. package/dist/components/p-Cd6udSDt.js +5 -0
  505. package/dist/components/p-Ci0_RqAE.js +5 -0
  506. package/dist/components/p-CuBgClZm.js +5 -0
  507. package/dist/components/p-D0QYZSoP.js +5 -0
  508. package/dist/components/p-D4SWpW6-.js +5 -0
  509. package/dist/components/p-D579DS7x.js +5 -0
  510. package/dist/components/p-D8K7rhHd.js +5 -0
  511. package/dist/components/p-D9Zo6FlV.js +5 -0
  512. package/dist/components/p-D9nXlCuS.js +5 -0
  513. package/dist/components/p-DKFO6Q_g.js +5 -0
  514. package/dist/components/p-DNJSSCNi.js +5 -0
  515. package/dist/components/p-DOJ1vYOl.js +5 -0
  516. package/dist/components/p-DWhzxlCx.js +5 -0
  517. package/dist/components/p-DYI30IZL.js +5 -0
  518. package/dist/components/p-DcVldfL0.js +5 -0
  519. package/dist/components/p-DhvmHPp4.js +5 -0
  520. package/dist/components/p-DiLI514I.js +5 -0
  521. package/dist/components/p-DwgiHL0b.js +5 -0
  522. package/dist/components/p-Jk_KQE5V.js +5 -0
  523. package/dist/components/p-Nze3Utvd.js +5 -0
  524. package/dist/components/p-WxDB6Dk4.js +5 -0
  525. package/dist/components/p-ZLoeVagg.js +5 -0
  526. package/dist/components/p-gbYJ9sfc.js +5 -0
  527. package/dist/components/p-uc8ABlC_.js +5 -0
  528. package/dist/components/p-v60ypfxD.js +5 -0
  529. package/dist/esm/br-avatar.entry.js +21 -14
  530. package/dist/esm/br-breadcrumb-item.entry.js +2 -2
  531. package/dist/esm/br-breadcrumb.entry.js +49 -22
  532. package/dist/esm/br-button_2.entry.js +77 -35
  533. package/dist/esm/br-card.entry.js +6 -5
  534. package/dist/esm/br-carousel-page.entry.js +3 -3
  535. package/dist/esm/br-carousel.entry.js +78 -22
  536. package/dist/esm/br-checkbox-group.entry.js +157 -27
  537. package/dist/esm/br-checkbox.entry.js +87 -17
  538. package/dist/esm/br-checkgroup.entry.js +5 -2
  539. package/dist/esm/br-collapse_2.entry.js +91 -28
  540. package/dist/esm/br-cookiebar-cookie.entry.js +4 -4
  541. package/dist/esm/br-cookiebar-group.entry.js +4 -4
  542. package/dist/esm/br-cookiebar-header.entry.js +4 -4
  543. package/dist/esm/br-cookiebar-link.entry.js +14 -6
  544. package/dist/esm/br-cookiebar-note-group.entry.js +3 -5
  545. package/dist/esm/br-cookiebar-note.entry.js +4 -4
  546. package/dist/esm/br-cookiebar.entry.js +39 -26
  547. package/dist/esm/br-crumb.entry.js +2 -2
  548. package/dist/esm/br-date-picker_3.entry.js +207 -49
  549. package/dist/esm/br-datetime-picker.entry.js +83 -495
  550. package/dist/esm/br-divider.entry.js +70 -17
  551. package/dist/esm/br-dropdown_2.entry.js +335 -164
  552. package/dist/esm/br-footer-category.entry.js +10 -6
  553. package/dist/esm/br-footer-item.entry.js +9 -4
  554. package/dist/esm/br-footer-legal.entry.js +4 -4
  555. package/dist/esm/br-footer-logo.entry.js +22 -10
  556. package/dist/esm/br-footer-social.entry.js +14 -6
  557. package/dist/esm/br-footer.entry.js +16 -7
  558. package/dist/esm/br-header-function.entry.js +28 -7
  559. package/dist/esm/br-header-link.entry.js +25 -4
  560. package/dist/esm/br-header-list.entry.js +7 -18
  561. package/dist/esm/br-header-logo.entry.js +18 -7
  562. package/dist/esm/br-header.entry.js +96 -37
  563. package/dist/esm/br-icon.entry.js +160 -52
  564. package/dist/esm/br-input.entry.js +152 -42
  565. package/dist/esm/br-item.entry.js +97 -48
  566. package/dist/esm/br-link.entry.js +20 -7
  567. package/dist/esm/br-loading.entry.js +100 -38
  568. package/dist/esm/br-magic-button.entry.js +39 -9
  569. package/dist/esm/br-menu-group.entry.js +14 -3
  570. package/dist/esm/br-menu-header.entry.js +4 -4
  571. package/dist/esm/br-menu-info.entry.js +4 -4
  572. package/dist/esm/br-menu-item.entry.js +27 -5
  573. package/dist/esm/br-menu-link.entry.js +14 -6
  574. package/dist/esm/br-menu-list.entry.js +23 -27
  575. package/dist/esm/br-menu-logo.entry.js +4 -4
  576. package/dist/esm/br-menu-social.entry.js +16 -6
  577. package/dist/esm/br-menu.entry.js +39 -58
  578. package/dist/esm/br-modal.entry.js +44 -42
  579. package/dist/esm/br-notification-body.entry.js +4 -4
  580. package/dist/esm/br-notification-header.entry.js +4 -4
  581. package/dist/esm/br-notification-item.entry.js +14 -8
  582. package/dist/esm/br-notification.entry.js +24 -9
  583. package/dist/esm/br-pagination.entry.js +120 -88
  584. package/dist/esm/br-radio-group.entry.js +108 -59
  585. package/dist/esm/br-radio.entry.js +63 -13
  586. package/dist/esm/br-scrim.entry.js +161 -67
  587. package/dist/esm/br-select-input_3.entry.js +286 -91
  588. package/dist/esm/br-sign-in.entry.js +38 -15
  589. package/dist/esm/br-skip-link-item.entry.js +39 -2
  590. package/dist/esm/br-skip-link.entry.js +50 -33
  591. package/dist/esm/br-skiplink-item.entry.js +22 -6
  592. package/dist/esm/br-slider.entry.js +520 -98
  593. package/dist/esm/br-step_2.entry.js +98 -44
  594. package/dist/esm/br-switch.entry.js +22 -13
  595. package/dist/esm/br-tab-item.entry.js +38 -14
  596. package/dist/esm/br-tab.entry.js +89 -51
  597. package/dist/esm/br-table-body.entry.js +3 -3
  598. package/dist/esm/br-table-cell.entry.js +30 -13
  599. package/dist/esm/br-table-header-cell.entry.js +23 -7
  600. package/dist/esm/br-table-header.entry.js +3 -3
  601. package/dist/esm/br-table-row.entry.js +17 -3
  602. package/dist/esm/br-table.entry.js +68 -22
  603. package/dist/esm/br-tag.entry.js +50 -32
  604. package/dist/esm/br-textarea.entry.js +119 -14
  605. package/dist/esm/br-tooltip.entry.js +88 -42
  606. package/dist/esm/br-upload.entry.js +85 -26
  607. package/dist/esm/br-wizard-panel.entry.js +16 -3
  608. package/dist/esm/br-wizard.entry.js +52 -28
  609. package/dist/esm/{datetime-picker-constants-Bfm58jO6.js → datetime-picker-constants-BtRPYRvA.js} +1 -1
  610. package/dist/esm/{isValid-DIUZX1qS.js → datetime-picker-props-validation-BeTcUTnE.js} +476 -5
  611. package/dist/esm/{event-DFN_so7I.js → event-CfuJQ1DY.js} +1 -1
  612. package/dist/esm/{floating-ui-BavFwMnx.js → floating-ui-CskvaxD5.js} +24 -1
  613. package/dist/esm/{floating-ui.dom-DIK54tTj.js → floating-ui.dom-D9Zo6FlV.js} +201 -114
  614. package/dist/esm/{focus-DxZJrIyL.js → focus-CNwZRgyL.js} +20 -1
  615. package/dist/esm/header-context-BEJGB0Nd.js +15 -0
  616. package/dist/esm/icon.utils-zlORkiHQ.js +43 -0
  617. package/dist/esm/id-BeJxz5TQ.js +34 -0
  618. package/dist/esm/{index-Bo-2igoO.js → index-BQPOWxe5.js} +1 -1
  619. package/dist/esm/{index-C2RBydfd.js → index-ConyRdJe.js} +88 -766
  620. package/dist/esm/index.js +2 -2
  621. package/dist/esm/loader.js +3 -3
  622. package/dist/esm/motion-DWhzxlCx.js +27 -0
  623. package/dist/esm/ownership-CDtFCbKp.js +111 -0
  624. package/dist/esm/prop-warning-BlGV-x0w.js +56 -0
  625. package/dist/esm/props-D07GjR4_.js +116 -0
  626. package/dist/esm/{swipe-Dmfk7eEe.js → swipe-BJZC_NuV.js} +11 -1
  627. package/dist/esm/{validator-D3tVP32U.js → validator-BkWWrDEr.js} +18 -1
  628. package/dist/esm/webcomponents.js +4 -4
  629. package/dist/hydrate/index.js +7541 -2577
  630. package/dist/hydrate/index.mjs +7541 -2577
  631. package/dist/loader/index.d.ts +1 -1
  632. package/dist/types/components/avatar/avatar.d.ts +34 -4
  633. package/dist/types/components/breadcrumb/breadcrumb-item/breadcrumb-item.d.ts +14 -2
  634. package/dist/types/components/breadcrumb/breadcrumb.d.ts +66 -5
  635. package/dist/types/components/breadcrumb/crumb/crumb.d.ts +13 -1
  636. package/dist/types/components/button/button.d.ts +45 -8
  637. package/dist/types/components/card/card.d.ts +31 -3
  638. package/dist/types/components/carousel/carousel-page/carousel-page.d.ts +10 -3
  639. package/dist/types/components/carousel/carousel.d.ts +46 -3
  640. package/dist/types/components/checkbox/checkbox.d.ts +59 -6
  641. package/dist/types/components/checkbox-group/checkbox-group.d.ts +47 -5
  642. package/dist/types/components/checkgroup/checkgroup.d.ts +27 -5
  643. package/dist/types/components/collapse/collapse.d.ts +37 -4
  644. package/dist/types/components/cookiebar/cookiebar-cookie/cookiebar-cookie.d.ts +16 -3
  645. package/dist/types/components/cookiebar/cookiebar-group/cookiebar-group.d.ts +15 -6
  646. package/dist/types/components/cookiebar/cookiebar-header/cookiebar-header.d.ts +14 -8
  647. package/dist/types/components/cookiebar/cookiebar-link/cookiebar-link.d.ts +16 -5
  648. package/dist/types/components/cookiebar/cookiebar-note/cookiebar-note.d.ts +13 -3
  649. package/dist/types/components/cookiebar/cookiebar-note-group/cookiebar-note-group.d.ts +13 -3
  650. package/dist/types/components/cookiebar/cookiebar.d.ts +35 -10
  651. package/dist/types/components/datetime-picker/date-picker/date-picker.d.ts +63 -7
  652. package/dist/types/components/datetime-picker/datetime-input/datetime-input.d.ts +51 -9
  653. package/dist/types/components/datetime-picker/datetime-picker-props-validation.d.ts +4 -2
  654. package/dist/types/components/datetime-picker/datetime-picker.d.ts +118 -12
  655. package/dist/types/components/datetime-picker/time-picker/time-picker.d.ts +38 -4
  656. package/dist/types/components/divider/divider.d.ts +45 -8
  657. package/dist/types/components/dropdown/dropdown.d.ts +53 -7
  658. package/dist/types/components/footer/footer-category/footer-category.d.ts +16 -1
  659. package/dist/types/components/footer/footer-item/footer-item.d.ts +17 -1
  660. package/dist/types/components/footer/footer-legal/footer-legal.d.ts +15 -1
  661. package/dist/types/components/footer/footer-logo/footer-logo.d.ts +21 -2
  662. package/dist/types/components/footer/footer-social/footer-social.d.ts +20 -3
  663. package/dist/types/components/footer/footer.d.ts +39 -3
  664. package/dist/types/components/header/header-context.d.ts +1 -0
  665. package/dist/types/components/header/header-function/header-function.d.ts +24 -2
  666. package/dist/types/components/header/header-link/header-link.d.ts +22 -1
  667. package/dist/types/components/header/header-list/header-list.d.ts +16 -8
  668. package/dist/types/components/header/header-logo/header-logo.d.ts +20 -1
  669. package/dist/types/components/header/header.d.ts +47 -7
  670. package/dist/types/components/icon/icon.d.ts +44 -13
  671. package/dist/types/components/icon/icon.utils.d.ts +6 -0
  672. package/dist/types/components/input/input.d.ts +74 -15
  673. package/dist/types/components/item/item.d.ts +44 -6
  674. package/dist/types/components/link/link.d.ts +41 -9
  675. package/dist/types/components/list/list.d.ts +58 -8
  676. package/dist/types/components/loading/loading.d.ts +48 -8
  677. package/dist/types/components/magic-button/magic-button.d.ts +41 -3
  678. package/dist/types/components/menu/menu-group/menu-group.d.ts +19 -1
  679. package/dist/types/components/menu/menu-header/menu-header.d.ts +16 -1
  680. package/dist/types/components/menu/menu-info/menu-info.d.ts +14 -1
  681. package/dist/types/components/menu/menu-item/menu-item.d.ts +27 -3
  682. package/dist/types/components/menu/menu-link/menu-link.d.ts +17 -1
  683. package/dist/types/components/menu/menu-list/menu-list.d.ts +22 -4
  684. package/dist/types/components/menu/menu-logo/menu-logo.d.ts +14 -1
  685. package/dist/types/components/menu/menu-social/menu-social.d.ts +21 -2
  686. package/dist/types/components/menu/menu.d.ts +39 -6
  687. package/dist/types/components/menu/menu.utils.d.ts +2 -6
  688. package/dist/types/components/message/message.d.ts +38 -9
  689. package/dist/types/components/modal/modal.d.ts +40 -4
  690. package/dist/types/components/notification/notification-body/notification-body.d.ts +12 -3
  691. package/dist/types/components/notification/notification-header/notification-header.d.ts +12 -3
  692. package/dist/types/components/notification/notification-item/notification-item.d.ts +15 -3
  693. package/dist/types/components/notification/notification.d.ts +36 -5
  694. package/dist/types/components/pagination/pagination.d.ts +58 -20
  695. package/dist/types/components/radio/radio.d.ts +49 -4
  696. package/dist/types/components/radio-group/radio-group.d.ts +52 -10
  697. package/dist/types/components/scrim/scrim.d.ts +72 -11
  698. package/dist/types/components/scrim/scrim.utils.d.ts +2 -17
  699. package/dist/types/components/select/select-input/select-input.d.ts +22 -4
  700. package/dist/types/components/select/select-list/select-list.d.ts +51 -5
  701. package/dist/types/components/select/select-option/select-option.d.ts +31 -8
  702. package/dist/types/components/select/select.d.ts +152 -13
  703. package/dist/types/components/select/select.types.d.ts +5 -0
  704. package/dist/types/components/sign-in/sign-in.d.ts +32 -4
  705. package/dist/types/components/skip-link/skip-link-item/skip-link-item-alias.d.ts +15 -2
  706. package/dist/types/components/skip-link/skip-link-item/skip-link-item.d.ts +22 -1
  707. package/dist/types/components/skip-link/skip-link.d.ts +37 -3
  708. package/dist/types/components/slider/slider.d.ts +147 -21
  709. package/dist/types/components/slider/slider.types.d.ts +7 -2
  710. package/dist/types/components/slider/slider.utils.d.ts +27 -0
  711. package/dist/types/components/step/step-item/step-item.d.ts +15 -3
  712. package/dist/types/components/step/step.d.ts +47 -12
  713. package/dist/types/components/switch/switch.d.ts +39 -6
  714. package/dist/types/components/tab/tab-item/tab-item.d.ts +24 -4
  715. package/dist/types/components/tab/tab.d.ts +48 -11
  716. package/dist/types/components/table/table-body/table-body.d.ts +10 -6
  717. package/dist/types/components/table/table-cell/table-cell.d.ts +10 -6
  718. package/dist/types/components/table/table-header/table-header.d.ts +10 -6
  719. package/dist/types/components/table/table-header-cell/table-header-cell.d.ts +18 -6
  720. package/dist/types/components/table/table-row/table-row.d.ts +11 -6
  721. package/dist/types/components/table/table.d.ts +49 -11
  722. package/dist/types/components/tag/tag.d.ts +55 -7
  723. package/dist/types/components/textarea/textarea.d.ts +75 -5
  724. package/dist/types/components/textarea/textarea.types.d.ts +4 -0
  725. package/dist/types/components/tooltip/tooltip.d.ts +46 -8
  726. package/dist/types/components/upload/upload.d.ts +78 -10
  727. package/dist/types/components/wizard/wizard-panel/wizard-panel.d.ts +20 -2
  728. package/dist/types/components/wizard/wizard.d.ts +44 -7
  729. package/dist/types/components.d.ts +5827 -1354
  730. package/dist/types/shared/utils/floating-ui.d.ts +4 -0
  731. package/dist/types/shared/utils/focus.d.ts +14 -0
  732. package/dist/types/shared/utils/form.d.ts +8 -0
  733. package/dist/types/shared/utils/getRandom.d.ts +1 -0
  734. package/dist/types/shared/utils/id.d.ts +1 -1
  735. package/dist/types/shared/utils/index.d.ts +6 -1
  736. package/dist/types/shared/utils/motion.d.ts +14 -0
  737. package/dist/types/shared/utils/ownership.d.ts +33 -0
  738. package/dist/types/shared/utils/prop-warning.d.ts +7 -0
  739. package/dist/types/shared/utils/props.d.ts +38 -0
  740. package/dist/types/shared/utils/swipe.d.ts +5 -0
  741. package/dist/types/shared/utils/virtual-scroll.d.ts +25 -0
  742. package/dist/types/stencil-public-runtime.d.ts +73 -55
  743. package/dist/webcomponents/index.esm.js +1 -1
  744. package/dist/webcomponents/p-078bd760.entry.js +5 -0
  745. package/dist/webcomponents/p-07c2cdff.entry.js +5 -0
  746. package/dist/webcomponents/{p-7f7506f0.entry.js → p-09817344.entry.js} +1 -1
  747. package/dist/webcomponents/p-0b0cf355.entry.js +5 -0
  748. package/dist/webcomponents/p-0d2ca2f7.entry.js +5 -0
  749. package/dist/webcomponents/p-0d79ca44.entry.js +5 -0
  750. package/dist/webcomponents/p-0fe3c47b.entry.js +5 -0
  751. package/dist/webcomponents/p-116b53c9.entry.js +5 -0
  752. package/dist/webcomponents/p-1240dae7.entry.js +5 -0
  753. package/dist/webcomponents/p-14ff5865.entry.js +5 -0
  754. package/dist/webcomponents/p-15743a02.entry.js +5 -0
  755. package/dist/webcomponents/p-16cebf49.entry.js +5 -0
  756. package/dist/webcomponents/p-1884b9d3.entry.js +5 -0
  757. package/dist/webcomponents/p-19a38e20.entry.js +5 -0
  758. package/dist/webcomponents/p-1d36c8fa.entry.js +5 -0
  759. package/dist/webcomponents/p-1fa4b5b2.entry.js +5 -0
  760. package/dist/webcomponents/p-212c069b.entry.js +5 -0
  761. package/dist/webcomponents/p-23f37cd6.entry.js +5 -0
  762. package/dist/webcomponents/p-24502b63.entry.js +5 -0
  763. package/dist/webcomponents/p-27fb81f3.entry.js +5 -0
  764. package/dist/webcomponents/p-28844490.entry.js +5 -0
  765. package/dist/webcomponents/p-2b41bdcc.entry.js +5 -0
  766. package/dist/webcomponents/p-2cb1e09b.entry.js +5 -0
  767. package/dist/webcomponents/p-2fcda70b.entry.js +5 -0
  768. package/dist/webcomponents/p-3378300c.entry.js +5 -0
  769. package/dist/webcomponents/p-3ae9cf69.entry.js +5 -0
  770. package/dist/webcomponents/p-3b79cd49.entry.js +5 -0
  771. package/dist/webcomponents/p-3c1513ec.entry.js +5 -0
  772. package/dist/webcomponents/p-4118b878.entry.js +5 -0
  773. package/dist/webcomponents/p-4534a3c3.entry.js +5 -0
  774. package/dist/webcomponents/p-48abf568.entry.js +5 -0
  775. package/dist/webcomponents/p-4e5ea05c.entry.js +5 -0
  776. package/dist/webcomponents/p-513ee754.entry.js +5 -0
  777. package/dist/webcomponents/p-521a1076.entry.js +5 -0
  778. package/dist/webcomponents/p-59fc52c0.entry.js +5 -0
  779. package/dist/webcomponents/p-5a7c2031.entry.js +5 -0
  780. package/dist/webcomponents/p-5a9f4ea2.entry.js +5 -0
  781. package/dist/webcomponents/p-5f422a69.entry.js +5 -0
  782. package/dist/webcomponents/p-61977114.entry.js +5 -0
  783. package/dist/webcomponents/p-6850e98e.entry.js +5 -0
  784. package/dist/webcomponents/p-71853dfc.entry.js +5 -0
  785. package/dist/webcomponents/p-76d51654.entry.js +5 -0
  786. package/dist/webcomponents/p-77e242f3.entry.js +5 -0
  787. package/dist/webcomponents/p-7b849472.entry.js +5 -0
  788. package/dist/webcomponents/p-7dbfb875.entry.js +5 -0
  789. package/dist/webcomponents/p-7fa7f052.entry.js +5 -0
  790. package/dist/webcomponents/p-81c65747.entry.js +5 -0
  791. package/dist/webcomponents/p-82759002.entry.js +5 -0
  792. package/dist/webcomponents/p-91a5329f.entry.js +5 -0
  793. package/dist/webcomponents/p-94848046.entry.js +5 -0
  794. package/dist/webcomponents/p-966773a9.entry.js +5 -0
  795. package/dist/webcomponents/p-9abb5a53.entry.js +5 -0
  796. package/dist/webcomponents/p-9bf2e325.entry.js +5 -0
  797. package/dist/webcomponents/p-9c943b40.entry.js +5 -0
  798. package/dist/webcomponents/p-9ec3ca00.entry.js +5 -0
  799. package/dist/webcomponents/p-B0PbhaxL.js +5 -0
  800. package/dist/webcomponents/p-BEJGB0Nd.js +5 -0
  801. package/dist/{components/p-Dmfk7eEe.js → webcomponents/p-BJZC_NuV.js} +1 -1
  802. package/dist/webcomponents/p-BJtdabsr.js +5 -0
  803. package/dist/webcomponents/p-BeJxz5TQ.js +5 -0
  804. package/dist/webcomponents/p-BkWWrDEr.js +5 -0
  805. package/dist/webcomponents/p-BlGV-x0w.js +5 -0
  806. package/dist/webcomponents/{p-Bfm58jO6.js → p-BtRPYRvA.js} +1 -1
  807. package/dist/webcomponents/p-CDtFCbKp.js +5 -0
  808. package/dist/webcomponents/p-CNwZRgyL.js +5 -0
  809. package/dist/webcomponents/{p-DFN_so7I.js → p-CfuJQ1DY.js} +1 -1
  810. package/dist/webcomponents/p-ConyRdJe.js +7 -0
  811. package/dist/webcomponents/p-D9Zo6FlV.js +5 -0
  812. package/dist/webcomponents/{p-BhMVJQ4-.js → p-DV-iW9Aj.js} +1 -1
  813. package/dist/webcomponents/p-DWhzxlCx.js +5 -0
  814. package/dist/webcomponents/p-EbtQZm5s.js +5 -0
  815. package/dist/webcomponents/p-ad91f149.entry.js +5 -0
  816. package/dist/webcomponents/p-aeea1f17.entry.js +5 -0
  817. package/dist/webcomponents/p-b02a7218.entry.js +5 -0
  818. package/dist/webcomponents/p-b16590fc.entry.js +5 -0
  819. package/dist/webcomponents/{p-12286e73.entry.js → p-b55425b7.entry.js} +1 -1
  820. package/dist/webcomponents/p-c1dafd8d.entry.js +5 -0
  821. package/dist/webcomponents/p-c2ca0289.entry.js +5 -0
  822. package/dist/webcomponents/p-c8af334e.entry.js +5 -0
  823. package/dist/webcomponents/p-cac49c6a.entry.js +5 -0
  824. package/dist/webcomponents/p-cb9ebfbe.entry.js +5 -0
  825. package/dist/webcomponents/p-ce3d689c.entry.js +5 -0
  826. package/dist/webcomponents/p-d11f95a0.entry.js +5 -0
  827. package/dist/webcomponents/p-d5d2205c.entry.js +5 -0
  828. package/dist/webcomponents/p-dad03b49.entry.js +5 -0
  829. package/dist/webcomponents/p-db8e6322.entry.js +5 -0
  830. package/dist/webcomponents/p-dea8015f.entry.js +5 -0
  831. package/dist/webcomponents/p-e07e309d.entry.js +5 -0
  832. package/dist/webcomponents/p-e53d874b.entry.js +5 -0
  833. package/dist/webcomponents/p-e5540387.entry.js +5 -0
  834. package/dist/webcomponents/p-e94a52ac.entry.js +5 -0
  835. package/dist/webcomponents/p-e9be4d3f.entry.js +5 -0
  836. package/dist/webcomponents/p-e9db9381.entry.js +5 -0
  837. package/dist/webcomponents/p-edca5de1.entry.js +5 -0
  838. package/dist/webcomponents/p-ee5b9fc9.entry.js +5 -0
  839. package/dist/webcomponents/p-f4ef8c63.entry.js +5 -0
  840. package/dist/webcomponents/p-zlORkiHQ.js +5 -0
  841. package/dist/webcomponents/webcomponents.esm.js +1 -1
  842. package/package.json +18 -3
  843. package/dist/cjs/clamp-Co_hWptd.js +0 -25
  844. package/dist/cjs/id-CjRFMzf6.js +0 -20
  845. package/dist/cjs/props-CScmBvKd.js +0 -24
  846. package/dist/collection/pages/components/cookiebar/index.js +0 -26
  847. package/dist/collection/pages/components/link/index.js +0 -29
  848. package/dist/collection/pages/components/pagination/index.js +0 -12
  849. package/dist/collection/pages/components/slider/index.js +0 -18
  850. package/dist/components/p-6OdfnwnK.js +0 -5
  851. package/dist/components/p-AmOh1cks.js +0 -5
  852. package/dist/components/p-B4ylcipx.js +0 -5
  853. package/dist/components/p-BCv4PCOx.js +0 -5
  854. package/dist/components/p-BLOyd_iF.js +0 -5
  855. package/dist/components/p-BODem6tr.js +0 -5
  856. package/dist/components/p-Bb-nLtTG.js +0 -5
  857. package/dist/components/p-BeFK-82z.js +0 -5
  858. package/dist/components/p-BkS6ujyf.js +0 -5
  859. package/dist/components/p-BloE-KAN.js +0 -5
  860. package/dist/components/p-BoSc_kmY.js +0 -5
  861. package/dist/components/p-BrH3r7eL.js +0 -5
  862. package/dist/components/p-BsZ0Ny88.js +0 -5
  863. package/dist/components/p-ByHVf7zy.js +0 -5
  864. package/dist/components/p-CdDwqbBv.js +0 -5
  865. package/dist/components/p-CdF-gmk1.js +0 -5
  866. package/dist/components/p-CfyjGPGI.js +0 -5
  867. package/dist/components/p-CjF7pBVQ.js +0 -5
  868. package/dist/components/p-ClqtllDH.js +0 -5
  869. package/dist/components/p-CqW2Yh34.js +0 -5
  870. package/dist/components/p-DIK54tTj.js +0 -5
  871. package/dist/components/p-DLE5ioJN.js +0 -5
  872. package/dist/components/p-DQRSHR-D.js +0 -5
  873. package/dist/components/p-DRVMm1Py.js +0 -5
  874. package/dist/components/p-DRnCpVrL.js +0 -5
  875. package/dist/components/p-DVdlaP7z.js +0 -5
  876. package/dist/components/p-DeeF6ok0.js +0 -5
  877. package/dist/components/p-Dim2PnUm.js +0 -5
  878. package/dist/components/p-Dk8rfQjL.js +0 -5
  879. package/dist/components/p-DkmEpoef.js +0 -5
  880. package/dist/components/p-DwfAYaEv.js +0 -5
  881. package/dist/components/p-DxZJrIyL.js +0 -5
  882. package/dist/components/p-P2Z_MmH6.js +0 -5
  883. package/dist/components/p-Xa0Mj4pP.js +0 -5
  884. package/dist/components/p-_vsQvdxD.js +0 -5
  885. package/dist/components/p-aNjo4Alx.js +0 -5
  886. package/dist/components/p-gvnfuTjd.js +0 -5
  887. package/dist/components/p-rB-s1M3Q.js +0 -5
  888. package/dist/esm/clamp-gvnfuTjd.js +0 -23
  889. package/dist/esm/id-BkS6ujyf.js +0 -18
  890. package/dist/esm/props-DRVMm1Py.js +0 -22
  891. package/dist/webcomponents/p-00cc31f9.entry.js +0 -5
  892. package/dist/webcomponents/p-026475bd.entry.js +0 -5
  893. package/dist/webcomponents/p-0291ab28.entry.js +0 -5
  894. package/dist/webcomponents/p-03e5a7dc.entry.js +0 -5
  895. package/dist/webcomponents/p-060df8ee.entry.js +0 -5
  896. package/dist/webcomponents/p-09fce2a5.entry.js +0 -5
  897. package/dist/webcomponents/p-1002bbff.entry.js +0 -5
  898. package/dist/webcomponents/p-1124de33.entry.js +0 -5
  899. package/dist/webcomponents/p-12e97d80.entry.js +0 -5
  900. package/dist/webcomponents/p-1580beee.entry.js +0 -5
  901. package/dist/webcomponents/p-1b19b191.entry.js +0 -5
  902. package/dist/webcomponents/p-2baf353b.entry.js +0 -5
  903. package/dist/webcomponents/p-2eb9a42c.entry.js +0 -5
  904. package/dist/webcomponents/p-30c82805.entry.js +0 -5
  905. package/dist/webcomponents/p-31bd1c74.entry.js +0 -5
  906. package/dist/webcomponents/p-31db2313.entry.js +0 -5
  907. package/dist/webcomponents/p-33a3dc63.entry.js +0 -5
  908. package/dist/webcomponents/p-3889c51f.entry.js +0 -5
  909. package/dist/webcomponents/p-3f2c179a.entry.js +0 -5
  910. package/dist/webcomponents/p-470eb770.entry.js +0 -5
  911. package/dist/webcomponents/p-4ae387ae.entry.js +0 -5
  912. package/dist/webcomponents/p-4e65df84.entry.js +0 -5
  913. package/dist/webcomponents/p-51a62876.entry.js +0 -5
  914. package/dist/webcomponents/p-5860b96b.entry.js +0 -5
  915. package/dist/webcomponents/p-5b9c01e9.entry.js +0 -5
  916. package/dist/webcomponents/p-5df2f1dd.entry.js +0 -5
  917. package/dist/webcomponents/p-5f3f7b3f.entry.js +0 -5
  918. package/dist/webcomponents/p-5f6afb79.entry.js +0 -5
  919. package/dist/webcomponents/p-5f9c28a7.entry.js +0 -5
  920. package/dist/webcomponents/p-62511921.entry.js +0 -5
  921. package/dist/webcomponents/p-63b52947.entry.js +0 -5
  922. package/dist/webcomponents/p-67a8e0b7.entry.js +0 -5
  923. package/dist/webcomponents/p-6OdfnwnK.js +0 -5
  924. package/dist/webcomponents/p-7b2a5fec.entry.js +0 -5
  925. package/dist/webcomponents/p-7f95e2f5.entry.js +0 -5
  926. package/dist/webcomponents/p-8128833c.entry.js +0 -5
  927. package/dist/webcomponents/p-8200ccb1.entry.js +0 -5
  928. package/dist/webcomponents/p-82b100fd.entry.js +0 -5
  929. package/dist/webcomponents/p-8806df15.entry.js +0 -5
  930. package/dist/webcomponents/p-881eb81a.entry.js +0 -5
  931. package/dist/webcomponents/p-8bd3d541.entry.js +0 -5
  932. package/dist/webcomponents/p-90648343.entry.js +0 -5
  933. package/dist/webcomponents/p-9100a5f7.entry.js +0 -5
  934. package/dist/webcomponents/p-91313d77.entry.js +0 -5
  935. package/dist/webcomponents/p-946b2ac0.entry.js +0 -5
  936. package/dist/webcomponents/p-98e7ccb9.entry.js +0 -5
  937. package/dist/webcomponents/p-99f2bddb.entry.js +0 -5
  938. package/dist/webcomponents/p-9adbdb0a.entry.js +0 -5
  939. package/dist/webcomponents/p-9c260049.entry.js +0 -5
  940. package/dist/webcomponents/p-9ed51017.entry.js +0 -5
  941. package/dist/webcomponents/p-BkS6ujyf.js +0 -5
  942. package/dist/webcomponents/p-C2RBydfd.js +0 -6
  943. package/dist/webcomponents/p-CO5cOQQU.js +0 -5
  944. package/dist/webcomponents/p-D3tVP32U.js +0 -5
  945. package/dist/webcomponents/p-DIK54tTj.js +0 -5
  946. package/dist/webcomponents/p-DRVMm1Py.js +0 -5
  947. package/dist/webcomponents/p-DxZJrIyL.js +0 -5
  948. package/dist/webcomponents/p-a0b299dd.entry.js +0 -5
  949. package/dist/webcomponents/p-a2c5fad0.entry.js +0 -5
  950. package/dist/webcomponents/p-a3e044d7.entry.js +0 -5
  951. package/dist/webcomponents/p-a9f23aa7.entry.js +0 -5
  952. package/dist/webcomponents/p-a9f2fcbc.entry.js +0 -5
  953. package/dist/webcomponents/p-b6c68136.entry.js +0 -5
  954. package/dist/webcomponents/p-b6e9b8d1.entry.js +0 -5
  955. package/dist/webcomponents/p-c333eac6.entry.js +0 -5
  956. package/dist/webcomponents/p-c3732fd6.entry.js +0 -5
  957. package/dist/webcomponents/p-c458ed0e.entry.js +0 -5
  958. package/dist/webcomponents/p-c91000ff.entry.js +0 -5
  959. package/dist/webcomponents/p-c9c6ab2d.entry.js +0 -5
  960. package/dist/webcomponents/p-cd2550d6.entry.js +0 -5
  961. package/dist/webcomponents/p-cf42613f.entry.js +0 -5
  962. package/dist/webcomponents/p-d0b0b420.entry.js +0 -5
  963. package/dist/webcomponents/p-d1b32ee8.entry.js +0 -5
  964. package/dist/webcomponents/p-db65b083.entry.js +0 -5
  965. package/dist/webcomponents/p-de7c101d.entry.js +0 -5
  966. package/dist/webcomponents/p-dfb77dd0.entry.js +0 -5
  967. package/dist/webcomponents/p-e258da78.entry.js +0 -5
  968. package/dist/webcomponents/p-e31ddd42.entry.js +0 -5
  969. package/dist/webcomponents/p-e8d82227.entry.js +0 -5
  970. package/dist/webcomponents/p-e988cf1d.entry.js +0 -5
  971. package/dist/webcomponents/p-ed9122a1.entry.js +0 -5
  972. package/dist/webcomponents/p-ee347d2e.entry.js +0 -5
  973. package/dist/webcomponents/p-f1c01d52.entry.js +0 -5
  974. package/dist/webcomponents/p-f5baf8be.entry.js +0 -5
  975. package/dist/webcomponents/p-fb593739.entry.js +0 -5
  976. package/dist/webcomponents/p-fff9acd4.entry.js +0 -5
  977. package/dist/webcomponents/p-gvnfuTjd.js +0 -5
@@ -2,11 +2,14 @@
2
2
  * Construído por SERPRO
3
3
  * © https://serpro.gov.br/ - MIT License.
4
4
  */
5
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-C2RBydfd.js';
5
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-ConyRdJe.js';
6
+ import { r as resolveAllowedPropValue, a as resolveDensity, b as resolveIntegerPropValue, c as resolveNumberPropValue } from './props-D07GjR4_.js';
7
+ import { r as reportInvalidPropValue } from './prop-warning-BlGV-x0w.js';
6
8
  import { c as createRafBatcher } from './raf-batcher-cF3ia5e9.js';
7
9
 
8
- const selectInputCss = () => `*,*::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))}.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-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)}:host{display:block;cursor:pointer}br-input{cursor:pointer}:host([disabled]){opacity:1 !important;cursor:default}:host([disabled]) br-input{cursor:default}`;
10
+ const selectInputCss = () => `*,*::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}:host{box-sizing:border-box;display:block;cursor:pointer;max-width:100%;width:100%}br-input{cursor:pointer}:host([disabled]){opacity:1 !important;cursor:default}:host([disabled]) br-input{cursor:default}`;
9
11
 
12
+ const SELECT_INPUT_AUTOCOMPLETE_VALUES = ['on', 'off'];
10
13
  const SelectInput = class {
11
14
  constructor(hostRef) {
12
15
  registerInstance(this, hostRef);
@@ -33,6 +36,13 @@ const SelectInput = class {
33
36
  * @default false
34
37
  */
35
38
  this.disabled = false;
39
+ /**
40
+ * Define a densidade visual do campo e do input interno.
41
+ * Aceita `small`, `medium` ou `large`. Valores inválidos usam `medium`.
42
+ *
43
+ * @default 'medium'
44
+ */
45
+ this.density = 'medium';
36
46
  /**
37
47
  * Exibe label e campo na mesma linha.
38
48
  *
@@ -65,6 +75,12 @@ const SelectInput = class {
65
75
  this.brSelectInputClick.emit();
66
76
  };
67
77
  }
78
+ get effectiveAutocomplete() {
79
+ return resolveAllowedPropValue(this.el, 'autocomplete', this.autocomplete, SELECT_INPUT_AUTOCOMPLETE_VALUES, undefined, { allowUndefined: true });
80
+ }
81
+ get effectiveDensity() {
82
+ return resolveDensity(this.el, this.density);
83
+ }
68
84
  componentDidRender() {
69
85
  this.syncNativeCursor();
70
86
  }
@@ -112,10 +128,12 @@ const SelectInput = class {
112
128
  return h("br-icon", { slot: "icon", iconName: "fa-solid:search", width: "16", height: "16", "aria-hidden": "true" });
113
129
  }
114
130
  renderDropdownIcon() {
115
- return (h("br-icon", { "aria-hidden": "true", iconName: this.flipped ? 'fa-solid:angle-up' : 'fa-solid:angle-down', width: "16", height: "16", slot: "action" }));
131
+ return (h("br-icon", { "aria-hidden": "true",
132
+ // Mesmo par de expandir/recolher do restante do DS (collapse, menu, cookiebar).
133
+ iconName: this.flipped ? 'fa6-solid:chevron-up' : 'fa6-solid:chevron-down', width: "16", height: "16", slot: "action" }));
116
134
  }
117
135
  render() {
118
- return (h(Host, { key: 'be737b653173bc2a31e9065989dbe44c2bdac4a7' }, h("div", { key: 'c2b733eb6a3973f50788019f86360b0000df9f34', class: this.getCssClassMap(), part: "container" }, h("br-input", { key: '72882f4a77405e2a0bf04523d0dbf36a6a4e855d', "action-tab-index": -1, "action-label": this.flipped ? 'Fechar opções' : 'Abrir opções', autocomplete: this.autocomplete, borderless: this.borderless, "control-width": this.inputWidth, readonly: !this.filterable, "is-inline": this.isInline, label: this.label, name: this.name, placeholder: this.placeholder, required: this.required, ref: (el) => {
136
+ return (h(Host, { key: '589fdfe1c4e4d6832eba9c8942b9a4004eccb423' }, h("div", { key: '109b21a721797e2147e515c2cf880317217742b8', class: this.getCssClassMap(), part: "container" }, h("br-input", { key: 'd54183ce546a969a524ce2cde60b43aec10d1427', "action-tab-index": -1, "action-label": this.flipped ? 'Fechar opções' : 'Abrir opções', autocomplete: this.effectiveAutocomplete, borderless: this.borderless, "control-width": this.inputWidth, density: this.effectiveDensity, readonly: !this.filterable, "is-inline": this.isInline, label: this.label, name: this.name, placeholder: this.placeholder, required: this.required, ref: (el) => {
119
137
  this.inputElement = el;
120
138
  }, value: this.value, disabled: this.disabled, onClick: this.handleClick, onInput: this.handleInput, onFocus: this.handleFocus, exportparts: "container:input, label:label, input:input, group:group, icon:icon, action:action, action-button:action-button" }, this.showSearchIcon && this.renderSearchIcon(), this.renderDropdownIcon()))));
121
139
  }
@@ -125,15 +143,47 @@ const SelectInput = class {
125
143
  };
126
144
  SelectInput.style = selectInputCss();
127
145
 
128
- const selectListCss = () => `*,*::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))}.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-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)}:host{display:block}:host{display:block;left:0;position:absolute;right:0;top:100%;z-index:1}.br-select-list{background-color:var(--bg-color);box-shadow:var(--select-shadow);display:none;margin-top:-2px;max-height:404px;overflow:auto;resize:none;width:100%}.br-select-list.is-open{display:block}`;
146
+ /**
147
+ * Calcula os índices inicial e final (exclusivo) da janela virtualizada.
148
+ *
149
+ * Valores inválidos são normalizados para limites seguros para que um estado
150
+ * transitório de layout não interrompa a renderização da lista.
151
+ */
152
+ function computeVirtualWindow({ totalItems, itemHeight, scrollTop, viewportHeight, overscan, }) {
153
+ const itemCount = Number.isFinite(totalItems) ? Math.max(0, Math.floor(totalItems)) : 0;
154
+ if (itemCount === 0)
155
+ return { startIndex: 0, endIndex: 0 };
156
+ const rowHeight = Number.isFinite(itemHeight) && itemHeight > 0 ? itemHeight : 1;
157
+ const offset = Number.isFinite(scrollTop) ? Math.max(0, scrollTop) : 0;
158
+ const viewport = Number.isFinite(viewportHeight) && viewportHeight > 0 ? viewportHeight : rowHeight;
159
+ const extraItems = Number.isFinite(overscan) ? Math.max(0, Math.floor(overscan)) : 0;
160
+ const firstVisibleIndex = Math.min(itemCount - 1, Math.floor(offset / rowHeight));
161
+ const visibleItemCount = Math.max(1, Math.ceil(viewport / rowHeight));
162
+ const startIndex = Math.max(0, firstVisibleIndex - extraItems);
163
+ const endIndex = Math.min(itemCount, firstVisibleIndex + visibleItemCount + extraItems);
164
+ return { startIndex, endIndex };
165
+ }
166
+
167
+ const selectListCss = () => `*,*::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}:host{display:block}:host{display:block;left:0;position:absolute;right:0;top:100%;z-index:var(--z-index-layer-1)}.br-select-list{background-color:var(--bg-color);box-shadow:var(--select-shadow);display:none;margin-top:-2px;max-height:404px;overflow:auto;resize:none;width:100%}.br-select-list.is-open{display:block;animation:none}@media (prefers-reduced-motion: no-preference){.br-select-list.is-open{animation:select-list-open var(--duration-fast, 300ms) var(--animation-ease-out, ease-out) both}}.option-group-label{align-items:center;background-color:var(--background-light);border-bottom:1px solid var(--border-color-alternative);color:var(--color);display:flex;font-size:var(--font-size-scale-down-01);font-weight:var(--font-weight-semi-bold);padding:0 var(--spacing-scale-2x)}@keyframes select-list-open{from{opacity:0}to{opacity:1}}`;
129
168
 
130
169
  const SelectList = class {
131
170
  constructor(hostRef) {
132
171
  registerInstance(this, hostRef);
172
+ /**
173
+ * Define a densidade visual da lista, das opções e do indicador de carregamento.
174
+ * Aceita `small`, `medium` ou `large`. Valores inválidos usam `medium`.
175
+ *
176
+ * @default 'medium'
177
+ */
178
+ this.density = 'medium';
133
179
  /**
134
180
  * Coleção de opções exibidas pela lista.
135
181
  *
136
182
  * @type {SelectOptionData[]}
183
+ * É um contrato de composição abastecido pelo `br-select`; não é a API de
184
+ * opções do componente principal. Cada opção deve conter `value` string e
185
+ * pode conter `label` e `group` como strings opcionais; entradas inválidas
186
+ * são ignoradas.
137
187
  * @default []
138
188
  */
139
189
  this.options = [];
@@ -148,19 +198,23 @@ const SelectList = class {
148
198
  */
149
199
  this.loading = false;
150
200
  /**
151
- * Define quantas opções permanecem visíveis na viewport da lista.
201
+ * Define quantas linhas visuais permanecem visíveis na viewport da lista.
202
+ * Cabeçalhos de grupo também ocupam uma linha quando existem.
203
+ * Deve ser um inteiro positivo; valores inválidos usam 6.
152
204
  *
153
205
  * @default 6
154
206
  */
155
207
  this.visibleItems = 6;
156
208
  /**
157
209
  * Informa a altura base usada no cálculo de posicionamento das opções.
210
+ * Deve ser um número finito positivo; valores inválidos usam 56.
158
211
  *
159
212
  * @default 56
160
213
  */
161
214
  this.itemHeight = 56;
162
215
  /**
163
216
  * Define quantas opções extras são renderizadas fora da viewport quando o virtual scroll está ativo.
217
+ * Deve ser um inteiro não negativo; valores inválidos usam 0.
164
218
  *
165
219
  * @default 0
166
220
  */
@@ -179,6 +233,7 @@ const SelectList = class {
179
233
  this.unselectAllLabel = SelectList.DESELECT_ALL_LABEL;
180
234
  /**
181
235
  * Índice da opção atualmente ativa para navegação por teclado.
236
+ * Deve ser um inteiro maior ou igual a -1; valores inválidos usam -1.
182
237
  *
183
238
  * @default -1
184
239
  * @remarks
@@ -192,6 +247,7 @@ const SelectList = class {
192
247
  this.measurementFrame = null;
193
248
  this.filteredOptionsCache = null;
194
249
  this.filteredOptionsCacheKey = '';
250
+ this.virtualRowsCache = null;
195
251
  this.scrollBatch = createRafBatcher((scrollTop) => {
196
252
  if (this.scrollTop !== scrollTop)
197
253
  this.scrollTop = scrollTop;
@@ -209,6 +265,49 @@ const SelectList = class {
209
265
  this.scrollBatch.schedule(target?.scrollTop ?? 0);
210
266
  };
211
267
  }
268
+ handleOptionsChange(newOptions) {
269
+ const normalizedOptions = this.normalizeOptionData(newOptions);
270
+ if (normalizedOptions !== newOptions) {
271
+ this.options = normalizedOptions;
272
+ return;
273
+ }
274
+ this.syncRenderedOptionSelection(normalizedOptions);
275
+ }
276
+ syncRenderedOptionSelection(options) {
277
+ const renderedOptions = this.el.shadowRoot?.querySelectorAll('br-select-option');
278
+ if (!renderedOptions)
279
+ return;
280
+ const selectedByValue = new Map(options.map((option) => [option.value, Boolean(option.selected)]));
281
+ renderedOptions.forEach((option) => {
282
+ const selected = selectedByValue.get(option.value);
283
+ if (selected !== undefined && option.selected !== selected)
284
+ option.selected = selected;
285
+ });
286
+ }
287
+ get effectiveVisibleItems() {
288
+ return resolveIntegerPropValue(this.el, 'visibleItems', this.visibleItems, 1, Number.MAX_SAFE_INTEGER, 6);
289
+ }
290
+ get effectiveDensity() {
291
+ return resolveDensity(this.el, this.density);
292
+ }
293
+ get effectiveItemHeight() {
294
+ return resolveNumberPropValue(this.el, 'itemHeight', this.itemHeight, 1, Number.MAX_SAFE_INTEGER, 56);
295
+ }
296
+ get effectiveOverscan() {
297
+ return resolveIntegerPropValue(this.el, 'overscan', this.overscan, 0, Number.MAX_SAFE_INTEGER, 0);
298
+ }
299
+ get effectiveActiveOptionIndex() {
300
+ return resolveIntegerPropValue(this.el, 'activeOptionIndex', this.activeOptionIndex, -1, Number.MAX_SAFE_INTEGER, -1);
301
+ }
302
+ /**
303
+ * O `br-select` fornece a opção sintética de selecionar todos antes de
304
+ * conseguir chamar `setMultiple()` no elemento da lista. Usar esse
305
+ * marcador no primeiro render evita que os checkboxes apareçam somente
306
+ * depois de uma interação.
307
+ */
308
+ get effectiveMultiple() {
309
+ return this.isMultiple || this.options.some((option) => this.isSelectAllOption(option));
310
+ }
212
311
  disconnectedCallback() {
213
312
  this.scrollBatch.cancel();
214
313
  if (this.measurementFrame !== null) {
@@ -224,7 +323,7 @@ const SelectList = class {
224
323
  this.scheduleMeasureItemHeight();
225
324
  }
226
325
  handleSelectAllLabelChange() {
227
- if (!this.isMultiple)
326
+ if (!this.effectiveMultiple)
228
327
  return;
229
328
  this.options = this.syncSelectAllOption(this.options);
230
329
  }
@@ -234,7 +333,7 @@ const SelectList = class {
234
333
  const detail = event.detail;
235
334
  if (!detail?.value)
236
335
  return;
237
- if (this.isMultiple)
336
+ if (this.effectiveMultiple)
238
337
  return this.applyMultipleOption(detail);
239
338
  if (detail.selected)
240
339
  return this.applySingleSelect(detail);
@@ -264,7 +363,8 @@ const SelectList = class {
264
363
  * @returns Uma promise concluída após a atualização da lista.
265
364
  */
266
365
  async setOptions(options) {
267
- if (!options || options.length === 0) {
366
+ const normalizedInput = this.normalizeOptionData(options);
367
+ if (normalizedInput.length === 0) {
268
368
  this.options = [];
269
369
  this.scrollTop = 0;
270
370
  this.measuredItemHeight = null;
@@ -275,7 +375,7 @@ const SelectList = class {
275
375
  }
276
376
  const map = new Map();
277
377
  let hasDuplicates = false;
278
- options.forEach((opt) => {
378
+ normalizedInput.forEach((opt) => {
279
379
  if (map.has(opt.value)) {
280
380
  hasDuplicates = true;
281
381
  }
@@ -285,7 +385,7 @@ const SelectList = class {
285
385
  console.warn('[br-select-list] Foram encontrados valores duplicados em `setOptions`. Apenas a ultima ocorrencia de cada `value` sera mantida.');
286
386
  }
287
387
  const nextOptions = Array.from(map.values());
288
- this.options = this.normalizeOptionsForMode(nextOptions, this.isMultiple);
388
+ this.options = this.normalizeOptionsForMode(nextOptions, this.effectiveMultiple);
289
389
  this.scheduleMeasureItemHeight();
290
390
  requestAnimationFrame(() => this.clampScrollPosition());
291
391
  }
@@ -296,15 +396,18 @@ const SelectList = class {
296
396
  * @returns Uma promise concluída após a atualização da coleção.
297
397
  */
298
398
  async setOption(option) {
299
- const index = this.options.findIndex((opt) => opt.value === option.value);
399
+ const normalizedOption = this.normalizeOptionData([option])[0];
400
+ if (!normalizedOption)
401
+ return;
402
+ const index = this.options.findIndex((opt) => opt.value === normalizedOption.value);
300
403
  let nextOptions;
301
404
  if (index !== -1) {
302
- nextOptions = this.options.map((opt) => (opt.value === option.value ? option : opt));
405
+ nextOptions = this.options.map((opt) => (opt.value === normalizedOption.value ? normalizedOption : opt));
303
406
  }
304
407
  else {
305
- nextOptions = [...this.options, option];
408
+ nextOptions = [...this.options, normalizedOption];
306
409
  }
307
- this.options = this.normalizeOptionsForMode(nextOptions, this.isMultiple);
410
+ this.options = this.normalizeOptionsForMode(nextOptions, this.effectiveMultiple);
308
411
  requestAnimationFrame(() => this.clampScrollPosition());
309
412
  }
310
413
  /**
@@ -358,10 +461,14 @@ const SelectList = class {
358
461
  const filteredOptions = this.getFilteredOptions();
359
462
  if (index < 0 || index >= filteredOptions.length || !this.listElement)
360
463
  return false;
464
+ const rows = this.getVirtualRows();
465
+ const rowIndex = this.getRowIndexForOption(rows, index);
466
+ if (rowIndex < 0)
467
+ return false;
361
468
  const rowHeight = this.getRowHeight();
362
469
  const viewportHeight = this.getViewportHeight();
363
- const maxScrollTop = Math.max(0, filteredOptions.length * rowHeight - viewportHeight);
364
- const nextScrollTop = Math.min(index * rowHeight, maxScrollTop);
470
+ const maxScrollTop = Math.max(0, rows.length * rowHeight - viewportHeight);
471
+ const nextScrollTop = Math.min(rowIndex * rowHeight, maxScrollTop);
365
472
  /*
366
473
  * Atualiza primeiro o estado que define a janela virtual. Dessa forma,
367
474
  * os itens do novo intervalo são renderizados antes de o viewport nativo
@@ -459,7 +566,7 @@ const SelectList = class {
459
566
  this.options = this.options.map((o) => ({ ...o, selected: false }));
460
567
  }
461
568
  isSelectAllOption(option) {
462
- if (option.value === SelectList.SELECT_ALL_VALUE)
569
+ if (option.value === SelectList.SELECT_ALL_VALUE || option.value === '__select_all__')
463
570
  return true;
464
571
  const optionLabel = (option.label ?? option.value).trim();
465
572
  return optionLabel === this.selectAllLabel || optionLabel === this.unselectAllLabel;
@@ -536,6 +643,33 @@ const SelectList = class {
536
643
  };
537
644
  });
538
645
  }
646
+ normalizeOptionData(value) {
647
+ if (!Array.isArray(value)) {
648
+ reportInvalidPropValue(this.el, 'options', value, 'Informe um array de opções com `value` string e `label` string opcional.', 'Aplicando fallback [].');
649
+ return [];
650
+ }
651
+ const validOptions = value.filter((option) => typeof option === 'object' && option !== null && typeof option.value === 'string');
652
+ const hasInvalidLabels = validOptions.some((option) => {
653
+ const label = option.label;
654
+ return label !== undefined && typeof label !== 'string';
655
+ });
656
+ const hasInvalidGroups = validOptions.some((option) => {
657
+ const group = option.group;
658
+ return group !== undefined && typeof group !== 'string';
659
+ });
660
+ if (validOptions.length === value.length && !hasInvalidLabels && !hasInvalidGroups) {
661
+ const hasGroupsToNormalize = validOptions.some((option) => typeof option.group === 'string' && option.group !== (option.group.trim() || undefined));
662
+ if (!hasGroupsToNormalize)
663
+ return value;
664
+ return validOptions.map((option) => ({ ...option, group: option.group?.trim() || undefined }));
665
+ }
666
+ reportInvalidPropValue(this.el, 'options', value, 'Cada opção deve ter `value` string e pode ter `label` e `group` como strings.', 'Ignorando opções inválidas e removendo rótulos ou grupos com tipo incompatível.');
667
+ return validOptions.map((option) => ({
668
+ ...option,
669
+ group: typeof option.group === 'string' ? option.group.trim() || undefined : undefined,
670
+ label: typeof option.label === 'string' ? option.label : undefined,
671
+ }));
672
+ }
539
673
  normalizeSearchText(value) {
540
674
  return (value ?? '')
541
675
  .normalize('NFD')
@@ -545,7 +679,7 @@ const SelectList = class {
545
679
  }
546
680
  getFilteredOptions() {
547
681
  const normalizedTerm = this.normalizeSearchText(this.searchTerm);
548
- const cacheKey = `${normalizedTerm}|${this.isMultiple}|${this.selectAllLabel}|${this.unselectAllLabel}|${this.options.length}`;
682
+ const cacheKey = `${normalizedTerm}|${this.effectiveMultiple}|${this.selectAllLabel}|${this.unselectAllLabel}|${this.options.length}`;
549
683
  if (this.options === this.filteredOptionsCacheSource &&
550
684
  cacheKey === this.filteredOptionsCacheKey &&
551
685
  this.filteredOptionsCache !== null) {
@@ -560,35 +694,67 @@ const SelectList = class {
560
694
  this.filteredOptionsCacheKey = cacheKey;
561
695
  this.filteredOptionsCache = this.options.filter((option) => {
562
696
  if (this.isSelectAllOption(option))
563
- return this.isMultiple;
697
+ return this.effectiveMultiple;
564
698
  const label = this.normalizeSearchText(option.label ?? option.value);
699
+ const group = this.normalizeSearchText(option.group);
565
700
  const value = this.normalizeSearchText(option.value);
566
- return label.includes(normalizedTerm) || value.includes(normalizedTerm);
701
+ return label.includes(normalizedTerm) || group.includes(normalizedTerm) || value.includes(normalizedTerm);
567
702
  });
568
703
  return this.filteredOptionsCache;
569
704
  }
705
+ getVirtualRows() {
706
+ const filteredOptions = this.getFilteredOptions();
707
+ if (filteredOptions === this.virtualRowsCacheSource && this.virtualRowsCache !== null) {
708
+ return this.virtualRowsCache;
709
+ }
710
+ const rows = [];
711
+ let previousGroup;
712
+ filteredOptions.forEach((option, optionIndex) => {
713
+ const group = option.group?.trim() || undefined;
714
+ if (group && group !== previousGroup && !this.isSelectAllOption(option)) {
715
+ rows.push({
716
+ kind: 'group',
717
+ group,
718
+ key: `group:${group}:${optionIndex}`,
719
+ });
720
+ }
721
+ rows.push({
722
+ kind: 'option',
723
+ option,
724
+ optionIndex,
725
+ key: `option:${option.value}:${optionIndex}`,
726
+ });
727
+ previousGroup = group;
728
+ });
729
+ this.virtualRowsCacheSource = filteredOptions;
730
+ this.virtualRowsCache = rows;
731
+ return rows;
732
+ }
733
+ getRowIndexForOption(rows, optionIndex) {
734
+ return rows.findIndex((row) => row.kind === 'option' && row.optionIndex === optionIndex);
735
+ }
570
736
  getViewportHeight() {
571
- const visibleOptionCount = Math.min(this.getFilteredOptions().length, this.visibleItems);
572
- return visibleOptionCount * this.getRowHeight();
737
+ const visibleRowCount = Math.min(this.getVirtualRows().length, this.effectiveVisibleItems);
738
+ return visibleRowCount * this.getRowHeight();
573
739
  }
574
740
  getRowHeight() {
575
- return this.measuredItemHeight ?? this.itemHeight;
741
+ return this.measuredItemHeight ?? this.effectiveItemHeight;
576
742
  }
577
743
  getVisibleRange() {
578
- const filteredOptions = this.getFilteredOptions();
579
- if (filteredOptions.length === 0) {
580
- return { startIndex: 0, endIndex: 0 };
581
- }
582
- const rowHeight = this.getRowHeight();
583
- const firstVisibleIndex = Math.floor(this.scrollTop / rowHeight);
584
- const startIndex = Math.max(0, firstVisibleIndex - this.overscan);
585
- const endIndex = Math.min(filteredOptions.length, firstVisibleIndex + this.visibleItems + this.overscan);
744
+ const rows = this.getVirtualRows();
745
+ const { startIndex, endIndex } = computeVirtualWindow({
746
+ totalItems: rows.length,
747
+ itemHeight: this.getRowHeight(),
748
+ scrollTop: this.scrollTop,
749
+ viewportHeight: this.getViewportHeight(),
750
+ overscan: this.effectiveOverscan,
751
+ });
586
752
  return { startIndex, endIndex };
587
753
  }
588
754
  clampScrollPosition() {
589
755
  if (!this.listElement)
590
756
  return;
591
- const totalHeight = this.getFilteredOptions().length * this.getRowHeight();
757
+ const totalHeight = this.getVirtualRows().length * this.getRowHeight();
592
758
  const maxScrollTop = Math.max(0, totalHeight - this.getViewportHeight());
593
759
  const nextScrollTop = Math.min(Math.max(0, this.listElement.scrollTop), maxScrollTop);
594
760
  if (this.listElement.scrollTop !== nextScrollTop) {
@@ -630,9 +796,13 @@ const SelectList = class {
630
796
  async ensureOptionVisible(index) {
631
797
  if (!this.listElement)
632
798
  return;
799
+ const rows = this.getVirtualRows();
800
+ const rowIndex = this.getRowIndexForOption(rows, index);
801
+ if (rowIndex < 0)
802
+ return;
633
803
  const rowHeight = this.getRowHeight();
634
804
  const viewportHeight = this.getViewportHeight();
635
- const optionTop = index * rowHeight;
805
+ const optionTop = rowIndex * rowHeight;
636
806
  const optionBottom = optionTop + rowHeight;
637
807
  const viewportTop = this.listElement.scrollTop;
638
808
  const viewportBottom = viewportTop + viewportHeight;
@@ -643,7 +813,7 @@ const SelectList = class {
643
813
  else if (optionBottom > viewportBottom) {
644
814
  nextScrollTop = optionBottom - viewportHeight;
645
815
  }
646
- const maxScrollTop = Math.max(0, this.getFilteredOptions().length * rowHeight - viewportHeight);
816
+ const maxScrollTop = Math.max(0, rows.length * rowHeight - viewportHeight);
647
817
  nextScrollTop = Math.min(Math.max(0, nextScrollTop), maxScrollTop);
648
818
  if (nextScrollTop === viewportTop)
649
819
  return;
@@ -657,22 +827,36 @@ const SelectList = class {
657
827
  'is-open': this.isOpen,
658
828
  };
659
829
  }
660
- renderOption(option, index) {
830
+ renderOption(option, optionIndex, rowIndex) {
661
831
  const rowHeight = this.getRowHeight();
662
832
  const optionPart = this.isSelectAllOption(option) ? 'option select-all' : 'option';
663
- return (h("br-select-option", { part: optionPart, active: index === this.activeOptionIndex, "data-option-index": index, disabled: option.disabled, id: `${this.el.id || 'br-select-list'}-option-${index}`, indeterminate: option.indeterminate,
833
+ return (h("br-select-option", { part: optionPart, active: optionIndex === this.effectiveActiveOptionIndex, "data-option-index": optionIndex, density: this.effectiveDensity, disabled: option.disabled, id: `${this.el.id || 'br-select-list'}-option-${optionIndex}`, indeterminate: option.indeterminate,
664
834
  // A seleção faz parte da identidade visual renderizada. Incluir o estado
665
835
  // na chave evita que uma opção virtual reutilizada retenha o snapshot
666
836
  // interno anterior do br-select-option/br-item.
667
- key: `${option.value}:${option.selected ? 'selected' : 'unselected'}`, label: option.label, selected: option.selected, "show-checkbox": this.isMultiple, style: {
837
+ key: `${option.value}:${option.selected ? 'selected' : 'unselected'}:${option.group ?? ''}`, label: option.label, ref: (element) => {
838
+ if (element && option.group)
839
+ element.setAttribute('group', option.group);
840
+ }, selected: option.selected, "show-checkbox": this.effectiveMultiple, style: {
668
841
  boxSizing: 'border-box',
669
842
  height: `${rowHeight}px`,
670
843
  position: 'absolute',
671
- top: `${index * rowHeight}px`,
844
+ top: `${rowIndex * rowHeight}px`,
672
845
  left: '0',
673
846
  right: '0',
674
847
  }, value: option.value }, option.content ? h("span", { innerHTML: option.content }) : (option.label ?? option.value)));
675
848
  }
849
+ renderGroup(row, rowIndex) {
850
+ const rowHeight = this.getRowHeight();
851
+ return (h("div", { "aria-hidden": "true", class: "option-group-label", key: row.key, part: "option-group", role: "presentation", style: {
852
+ boxSizing: 'border-box',
853
+ height: `${rowHeight}px`,
854
+ position: 'absolute',
855
+ top: `${rowIndex * rowHeight}px`,
856
+ left: '0',
857
+ right: '0',
858
+ } }, row.group));
859
+ }
676
860
  getVirtualScrollStyle() {
677
861
  return {
678
862
  height: `${this.getViewportHeight()}px`,
@@ -682,33 +866,41 @@ const SelectList = class {
682
866
  }
683
867
  getVirtualSpacerStyle() {
684
868
  return {
685
- height: `${this.getFilteredOptions().length * this.getRowHeight()}px`,
869
+ height: `${this.getVirtualRows().length * this.getRowHeight()}px`,
686
870
  position: 'relative',
687
871
  };
688
872
  }
689
- getVirtualVisibleOptions() {
690
- const filteredOptions = this.getFilteredOptions();
873
+ getVirtualVisibleRows() {
874
+ const rows = this.getVirtualRows();
691
875
  const { startIndex, endIndex } = this.getVisibleRange();
692
876
  return {
693
877
  startIndex,
694
- visibleOptions: filteredOptions.slice(startIndex, endIndex),
878
+ visibleRows: rows.slice(startIndex, endIndex),
695
879
  };
696
880
  }
697
881
  renderVirtualOptions() {
698
- const { startIndex, visibleOptions } = this.getVirtualVisibleOptions();
699
- if (visibleOptions.length === 0) {
882
+ const { startIndex, visibleRows } = this.getVirtualVisibleRows();
883
+ if (visibleRows.length === 0) {
700
884
  return (h("div", { part: "empty-option", role: "option", "aria-selected": "false", tabIndex: 0 }, "Nenhum resultado encontrado"));
701
885
  }
702
- return (h("div", { style: this.getVirtualSpacerStyle() }, visibleOptions.map((option, relativeIndex) => this.renderOption(option, startIndex + relativeIndex))));
886
+ return (h("div", { style: this.getVirtualSpacerStyle() }, visibleRows.map((row, relativeIndex) => {
887
+ const rowIndex = startIndex + relativeIndex;
888
+ if (row.kind === 'group')
889
+ return this.renderGroup(row, rowIndex);
890
+ return this.renderOption(row.option, row.optionIndex, rowIndex);
891
+ })));
703
892
  }
704
893
  renderLoading() {
705
- return (h("div", { part: "loading", role: "status", "aria-live": "polite" }, h("slot", { name: "loading" }, h("br-loading", { size: "small", label: "Buscando op\u00E7\u00F5es" }))));
894
+ return (h("div", { part: "loading", role: "status", "aria-live": "polite" }, h("slot", { name: "loading" }, h("br-loading", { density: this.effectiveDensity, label: "Buscando op\u00E7\u00F5es" }))));
706
895
  }
707
896
  render() {
708
- return (h(Host, { key: '537c7f312573570953b24e27fed7188a052c4bd5' }, h("div", { key: 'aac978e5664c9dee21ba7a6763125fe7daf915d3', class: this.getCssClassMap(), part: "list", ref: (el) => (this.listElement = el), onScroll: this.handleScroll, style: this.getVirtualScrollStyle() }, this.loading ? this.renderLoading() : this.renderVirtualOptions())));
897
+ return (h(Host, { key: '47c188f8f3e86d028476b8583d667e4eb412ec78' }, h("div", { key: '36386dc9532a3bd3561e319493ec7b86100be204', class: this.getCssClassMap(), part: "list", ref: (el) => (this.listElement = el), onScroll: this.handleScroll, style: this.getVirtualScrollStyle() }, this.loading ? this.renderLoading() : this.renderVirtualOptions())));
709
898
  }
710
899
  get el() { return getElement(this); }
711
900
  static get watchers() { return {
901
+ "options": [{
902
+ "handleOptionsChange": 0
903
+ }],
712
904
  "searchTerm": [{
713
905
  "handleSearchTermChange": 0
714
906
  }],
@@ -728,13 +920,20 @@ SelectList.style = selectListCss();
728
920
  const MISSING_VALUE_WARNING = '[br-select-option] `value` nao foi informado. Um fallback sera derivado de `label` ou do conteudo do slot.';
729
921
  const EMPTY_VALUE_WARNING = '[br-select-option] Nao foi possivel resolver um valor para a opcao. Informe `value`, `label` ou conteudo no slot.';
730
922
 
731
- const selectOptionCss = () => `*,*::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))}.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-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)}:host{--br-select-option-bg-color:var(--bg-color, var(--background, var(--background-color, #fff)));contain:paint;display:block;background-color:var(--br-select-option-bg-color);line-height:0;overflow:hidden;position:relative}:host(:focus-within){contain:none;overflow:visible}:host([active]){contain:none;overflow:visible;z-index:1}:host([active])::after{border:var(--focus-width) var(--focus-style) var(--focus);box-sizing:border-box;content:"";inset:0;pointer-events:none;position:absolute}.br-select-option{opacity:1 !important}br-item{--br-item-bg-color:var(--br-select-option-bg-color);background-color:var(--br-select-option-bg-color);display:block;line-height:normal;overflow:visible;width:100%}:host(:not([disabled])) br-item::part(item){cursor:pointer}:host([disabled]){background:var(--br-select-option-bg-color) !important;cursor:not-allowed}br-item[disabled]{--br-item-bg-color:var(--br-select-option-bg-color);background:var(--br-select-option-bg-color) !important;cursor:not-allowed}:host([disabled]) ::slotted(*){opacity:var(--disabled) !important}.br-select-option-label{display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host([disabled]) .br-select-option-label{opacity:var(--disabled) !important}.br-select-option-label ::slotted(*){display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}`;
923
+ const selectOptionCss = () => `*,*::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}:host{--br-select-option-bg-color:var(--bg-color, var(--background, var(--background-color, #fff)));contain:paint;display:block;background-color:var(--br-select-option-bg-color);line-height:0;overflow:hidden;position:relative}:host(:focus-within){contain:none;overflow:visible}:host([active]){contain:none;overflow:visible;z-index:1}:host([active])::after{border:var(--focus-width) var(--focus-style) var(--focus);box-sizing:border-box;content:"";inset:0;pointer-events:none;position:absolute}.br-select-option{opacity:1 !important}br-item{--br-item-bg-color:var(--br-select-option-bg-color);background-color:var(--br-select-option-bg-color);display:block;line-height:normal;overflow:visible;width:100%}br-checkbox{--border-color:var(--gray-40, #888);--disabled:1;pointer-events:none}:host(:not([disabled])) br-item::part(item){cursor:pointer}:host([disabled]){background:var(--br-select-option-bg-color) !important;cursor:not-allowed}br-item[disabled]{--br-item-bg-color:var(--br-select-option-bg-color);background:var(--br-select-option-bg-color) !important;cursor:not-allowed}:host([disabled]) ::slotted(*){opacity:var(--disabled) !important}.br-select-option-label{display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host([disabled]) .br-select-option-label{opacity:var(--disabled) !important}.br-select-option-label ::slotted(*){display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}`;
732
924
 
733
925
  const SelectOption = class {
734
926
  constructor(hostRef) {
735
927
  registerInstance(this, hostRef);
736
928
  this.brSelectOptionStateChange = createEvent(this, "brSelectOptionStateChange", 7);
737
929
  this.brSelectOptionPropsChange = createEvent(this, "brSelectOptionPropsChange", 7);
930
+ /**
931
+ * Define a densidade visual da opção e do item interno.
932
+ * Aceita `small`, `medium` ou `large`. Valores inválidos usam `medium`.
933
+ *
934
+ * @default 'medium'
935
+ */
936
+ this.density = 'medium';
738
937
  /**
739
938
  * Desativa a interação da opção.
740
939
  *
@@ -776,35 +975,21 @@ const SelectOption = class {
776
975
  this.hasWarnedMissingValue = false;
777
976
  this.hasWarnedEmptyValue = false;
778
977
  this.lastStateChangeKey = '';
779
- // Flag para ignorar eventos emitidos durante a montagem inicial
780
- this.hasMounted = false;
781
- this.handleSelect = (event) => {
978
+ this.handleActivation = () => {
782
979
  if (this.disabled)
783
980
  return;
784
- // Ignora eventos que ocorram antes do componente estar montado (evita tratar emissões iniciais)
785
- if (event && !this.hasMounted)
786
- return;
787
- let current = this.selected;
788
- if (event && event.detail !== undefined) {
789
- const detail = event.detail;
790
- if (typeof detail === 'object') {
791
- current = detail.selected ?? detail.checked ?? current;
792
- }
793
- else if (typeof detail === 'boolean') {
794
- current = detail;
795
- }
796
- }
797
- if (this.isRedundantCheckboxReflection(event, current)) {
798
- return;
799
- }
981
+ const nextSelected = !this.selected;
800
982
  if (this.isControlledBySelect)
801
- this.emitStateChange(current);
983
+ this.emitStateChange(nextSelected);
802
984
  else
803
- this.applySelection(current);
985
+ this.applySelection(nextSelected);
986
+ };
987
+ this.handleKeyDown = (event) => {
988
+ if (event.key !== 'Enter' && event.key !== ' ')
989
+ return;
990
+ event.preventDefault();
991
+ this.handleActivation();
804
992
  };
805
- }
806
- componentDidLoad() {
807
- this.hasMounted = true;
808
993
  }
809
994
  handleDisabledChange() {
810
995
  this.brSelectOptionPropsChange.emit();
@@ -813,6 +998,12 @@ const SelectOption = class {
813
998
  handlePropsChange() {
814
999
  this.brSelectOptionPropsChange.emit();
815
1000
  }
1001
+ handleSelectedChange() {
1002
+ this.brSelectOptionPropsChange.emit();
1003
+ // Alterações programáticas de `selected` seguem o mesmo protocolo de
1004
+ // interação e permitem que o select pai atualize seu modelo canônico.
1005
+ this.emitStateChange();
1006
+ }
816
1007
  /**
817
1008
  * Retorna a altura efetiva da opção para cálculo de virtual scroll.
818
1009
  *
@@ -828,7 +1019,7 @@ const SelectOption = class {
828
1019
  * @returns Uma promise concluída após a tentativa de foco.
829
1020
  */
830
1021
  async setFocus() {
831
- await this.itemElement?.setFocus?.();
1022
+ this.el.focus();
832
1023
  }
833
1024
  /**
834
1025
  * Atualiza programaticamente o estado selecionado da opção.
@@ -839,20 +1030,10 @@ const SelectOption = class {
839
1030
  if (this.disabled)
840
1031
  return;
841
1032
  const nextSelected = typeof selected === 'boolean' ? selected : !this.selected;
842
- if (this.isControlledBySelect)
843
- this.emitStateChange(nextSelected);
844
- else
845
- this.applySelection(nextSelected);
846
- }
847
- isRedundantCheckboxReflection(event, nextSelected) {
848
- if (!event)
849
- return false;
850
- const checkboxTarget = event.composedPath().find((node) => {
851
- return node.tagName?.toLowerCase() === 'br-checkbox';
852
- });
853
- if (!checkboxTarget)
854
- return false;
855
- return Boolean(nextSelected) === Boolean(this.selected);
1033
+ // Mesmo quando o select pai controla a coleção, a opção deve refletir
1034
+ // imediatamente o estado solicitado pelo método público. O pai ainda
1035
+ // consolida a seleção e atualiza as demais opções por meio do evento.
1036
+ this.applySelection(nextSelected);
856
1037
  }
857
1038
  emitStateChange(selected = this.selected) {
858
1039
  const detail = {
@@ -861,6 +1042,7 @@ const SelectOption = class {
861
1042
  selected,
862
1043
  value: this.getResolvedValue(),
863
1044
  label: this.getResolvedLabel(),
1045
+ group: this.getResolvedGroup(),
864
1046
  };
865
1047
  const nextKey = JSON.stringify(detail);
866
1048
  if (nextKey === this.lastStateChangeKey)
@@ -897,10 +1079,20 @@ const SelectOption = class {
897
1079
  'br-select-option': true,
898
1080
  };
899
1081
  }
1082
+ get effectiveDensity() {
1083
+ return resolveDensity(this.el, this.density);
1084
+ }
900
1085
  getResolvedLabel() {
901
1086
  const normalizedLabel = this.normalizeText(this.label);
902
1087
  return normalizedLabel || this.getResolvedValue();
903
1088
  }
1089
+ getResolvedGroup() {
1090
+ return this.normalizeText(this.group) || undefined;
1091
+ }
1092
+ getAccessibleLabel() {
1093
+ const group = this.getResolvedGroup();
1094
+ return group ? `${group}: ${this.getResolvedLabel()}` : null;
1095
+ }
904
1096
  getResolvedValue() {
905
1097
  const explicitValue = this.normalizeText(this.value);
906
1098
  if (explicitValue)
@@ -948,7 +1140,7 @@ const SelectOption = class {
948
1140
  return this.normalizeText(this.el.textContent || '');
949
1141
  }
950
1142
  render() {
951
- return (h(Host, { key: '3b20b8766d73d6a862765fb890028e6ff7374d96', part: "option", exportparts: "checkbox:checkbox, checkbox:option-checkbox", "aria-disabled": this.disabled ? 'true' : 'false', "aria-selected": this.selected ? 'true' : 'false', role: "option", onMouseEnter: () => {
1143
+ return (h(Host, { key: '5897310b67f7bbf295e052538b92e405ed3ff24d', part: "option", exportparts: "checkbox:checkbox, checkbox:option-checkbox", "aria-disabled": this.disabled ? 'true' : 'false', "aria-label": this.getAccessibleLabel(), "aria-selected": this.selected ? 'true' : 'false', role: "option", tabindex: "-1", onClickCapture: this.handleActivation, onKeyDown: this.handleKeyDown, onMouseEnter: () => {
952
1144
  this.el.dispatchEvent(new CustomEvent('brInternalSelectOptionHover', {
953
1145
  bubbles: true,
954
1146
  composed: true,
@@ -960,7 +1152,7 @@ const SelectOption = class {
960
1152
  composed: true,
961
1153
  detail: { label: this.getResolvedLabel(), value: this.getResolvedValue() },
962
1154
  }));
963
- } }, h("br-item", { key: '7b32b68bbc5541090e24d81e55602045bdbbba47', class: this.getCssClassMap(), disabled: this.disabled, active: this.active, selected: this.selected, "is-interactive": true, ref: (el) => (this.itemElement = el), onBrItemSelect: this.handleSelect }, this.showCheckbox && (h("br-checkbox", { key: 'fd5426e02e229eaaa8b22d457329cce6acf59e51', exportparts: "input:checkbox, input:option-checkbox", slot: "start", checked: this.selected, disabled: this.disabled, indeterminate: this.indeterminate, name: this.getResolvedValue(), onCheckedChange: this.handleSelect })), h("span", { key: '6185b2e6b60bf65059c321d4118d675859f9940e', class: "br-select-option-label" }, h("slot", { key: 'c78020a423fe1ed34ef39f46301f71baf5b0cbd8' }, this.getResolvedLabel())))));
1155
+ } }, h("br-item", { key: 'afff7ce7c07f79fad60f5b09a618a08b23a91afb', class: this.getCssClassMap(), density: this.effectiveDensity, disabled: this.disabled, active: this.active, selected: this.selected }, this.showCheckbox && (h("br-checkbox", { key: 'b6c6b32e98221cf28a822a304ee330af21206b96', exportparts: "input:checkbox, input:option-checkbox", slot: "start", checked: this.selected, disabled: true, indeterminate: this.indeterminate, name: this.getResolvedValue(), "aria-hidden": "true" })), h("span", { key: '394f225cae7fbae52889b39c4b876c477a32c7ea', class: "br-select-option-label" }, h("slot", { key: '4e26a8461a59111a8998276f554f1ebd38a5761e' }, this.getResolvedLabel())))));
964
1156
  }
965
1157
  static get formAssociated() { return true; }
966
1158
  get el() { return getElement(this); }
@@ -971,11 +1163,14 @@ const SelectOption = class {
971
1163
  "label": [{
972
1164
  "handlePropsChange": 0
973
1165
  }],
1166
+ "group": [{
1167
+ "handlePropsChange": 0
1168
+ }],
974
1169
  "value": [{
975
1170
  "handlePropsChange": 0
976
1171
  }],
977
1172
  "selected": [{
978
- "handlePropsChange": 0
1173
+ "handleSelectedChange": 0
979
1174
  }]
980
1175
  }; }
981
1176
  };