@govbr-ds/webcomponents 2.1.0 → 2.1.2

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 (866) hide show
  1. package/README.md +0 -11
  2. package/cem/custom-elements.json +272 -71
  3. package/dist/cjs/app-globals-DcqHuMBv.js +9 -0
  4. package/dist/cjs/br-avatar.cjs.entry.js +248 -0
  5. package/dist/cjs/br-breadcrumb-item.cjs.entry.js +45 -0
  6. package/dist/cjs/br-breadcrumb.cjs.entry.js +443 -0
  7. package/dist/cjs/br-button_2.cjs.entry.js +280 -0
  8. package/dist/cjs/br-card.cjs.entry.js +111 -0
  9. package/dist/cjs/br-carousel-page.cjs.entry.js +80 -0
  10. package/dist/cjs/br-carousel.cjs.entry.js +565 -0
  11. package/dist/cjs/br-checkbox-group.cjs.entry.js +118 -0
  12. package/dist/cjs/br-checkbox.cjs.entry.js +288 -0
  13. package/dist/cjs/br-checkgroup.cjs.entry.js +20 -0
  14. package/dist/cjs/br-collapse_2.cjs.entry.js +683 -0
  15. package/dist/cjs/br-cookiebar-cookie.cjs.entry.js +83 -0
  16. package/dist/cjs/br-cookiebar-group.cjs.entry.js +309 -0
  17. package/dist/cjs/br-cookiebar-header.cjs.entry.js +39 -0
  18. package/dist/cjs/br-cookiebar-link.cjs.entry.js +55 -0
  19. package/dist/cjs/br-cookiebar-note-group.cjs.entry.js +70 -0
  20. package/dist/cjs/br-cookiebar-note.cjs.entry.js +25 -0
  21. package/dist/cjs/br-cookiebar.cjs.entry.js +758 -0
  22. package/dist/cjs/br-crumb.cjs.entry.js +51 -0
  23. package/dist/cjs/br-date-picker_3.cjs.entry.js +2447 -0
  24. package/dist/cjs/br-datetime-picker.cjs.entry.js +1886 -0
  25. package/dist/cjs/br-divider.cjs.entry.js +225 -0
  26. package/dist/cjs/br-dropdown_2.cjs.entry.js +2000 -0
  27. package/dist/cjs/br-footer-category.cjs.entry.js +102 -0
  28. package/dist/cjs/br-footer-item.cjs.entry.js +52 -0
  29. package/dist/cjs/br-footer-legal.cjs.entry.js +41 -0
  30. package/dist/cjs/br-footer-logo.cjs.entry.js +104 -0
  31. package/dist/cjs/br-footer-social.cjs.entry.js +71 -0
  32. package/dist/cjs/br-footer.cjs.entry.js +92 -0
  33. package/dist/cjs/br-header-function.cjs.entry.js +142 -0
  34. package/dist/cjs/br-header-link.cjs.entry.js +60 -0
  35. package/dist/cjs/br-header-list.cjs.entry.js +279 -0
  36. package/dist/cjs/br-header-logo.cjs.entry.js +178 -0
  37. package/dist/cjs/br-header.cjs.entry.js +642 -0
  38. package/dist/cjs/br-icon.cjs.entry.js +485 -0
  39. package/dist/cjs/br-input.cjs.entry.js +599 -0
  40. package/dist/cjs/br-item.cjs.entry.js +367 -0
  41. package/dist/cjs/br-link.cjs.entry.js +133 -0
  42. package/dist/cjs/br-loading.cjs.entry.js +505 -0
  43. package/dist/cjs/br-magic-button.cjs.entry.js +93 -0
  44. package/dist/cjs/br-menu-group.cjs.entry.js +23 -0
  45. package/dist/cjs/br-menu-header.cjs.entry.js +47 -0
  46. package/dist/cjs/br-menu-info.cjs.entry.js +38 -0
  47. package/dist/cjs/br-menu-item.cjs.entry.js +79 -0
  48. package/dist/cjs/br-menu-link.cjs.entry.js +56 -0
  49. package/dist/cjs/br-menu-list.cjs.entry.js +149 -0
  50. package/dist/cjs/br-menu-logo.cjs.entry.js +75 -0
  51. package/dist/cjs/br-menu-social.cjs.entry.js +65 -0
  52. package/dist/cjs/br-menu.cjs.entry.js +993 -0
  53. package/dist/cjs/br-modal.cjs.entry.js +496 -0
  54. package/dist/cjs/br-notification-body.cjs.entry.js +71 -0
  55. package/dist/cjs/br-notification-header.cjs.entry.js +48 -0
  56. package/dist/cjs/br-notification-item.cjs.entry.js +110 -0
  57. package/dist/cjs/br-notification.cjs.entry.js +334 -0
  58. package/dist/cjs/br-pagination.cjs.entry.js +884 -0
  59. package/dist/cjs/br-radio-group.cjs.entry.js +428 -0
  60. package/dist/cjs/br-radio.cjs.entry.js +357 -0
  61. package/dist/cjs/br-scrim.cjs.entry.js +1336 -0
  62. package/dist/cjs/br-select-input_3.cjs.entry.js +988 -0
  63. package/dist/cjs/br-sign-in.cjs.entry.js +126 -0
  64. package/dist/cjs/br-skip-link-item.cjs.entry.js +20 -0
  65. package/dist/cjs/br-skip-link.cjs.entry.js +362 -0
  66. package/dist/cjs/br-skiplink-item.cjs.entry.js +192 -0
  67. package/dist/cjs/br-slider.cjs.entry.js +687 -0
  68. package/dist/cjs/br-step_2.cjs.entry.js +628 -0
  69. package/dist/cjs/br-switch.cjs.entry.js +245 -0
  70. package/dist/cjs/br-tab-item.cjs.entry.js +185 -0
  71. package/dist/cjs/br-tab.cjs.entry.js +397 -0
  72. package/dist/cjs/br-table-body.cjs.entry.js +37 -0
  73. package/dist/cjs/br-table-cell.cjs.entry.js +184 -0
  74. package/dist/cjs/br-table-header-cell.cjs.entry.js +173 -0
  75. package/dist/cjs/br-table-header.cjs.entry.js +37 -0
  76. package/dist/cjs/br-table-row.cjs.entry.js +81 -0
  77. package/dist/cjs/br-table.cjs.entry.js +680 -0
  78. package/dist/cjs/br-tag.cjs.entry.js +493 -0
  79. package/dist/cjs/br-textarea.cjs.entry.js +306 -0
  80. package/dist/cjs/br-tooltip.cjs.entry.js +627 -0
  81. package/dist/cjs/br-upload.cjs.entry.js +581 -0
  82. package/dist/cjs/br-wizard-panel.cjs.entry.js +54 -0
  83. package/dist/cjs/br-wizard.cjs.entry.js +708 -0
  84. package/dist/cjs/breakpoint-observer-P8veqXg7.js +144 -0
  85. package/dist/cjs/clamp-Co_hWptd.js +25 -0
  86. package/dist/cjs/cookiebar.utils-CB1gQwZ4.js +18 -0
  87. package/dist/cjs/datetime-picker-constants-B5pWeOn1.js +3827 -0
  88. package/dist/cjs/event-CmVdNHxl.js +56 -0
  89. package/dist/cjs/floating-surface-dismiss-ccdiD0KF.js +63 -0
  90. package/dist/cjs/floating-ui-MBI1osio.js +136 -0
  91. package/dist/cjs/floating-ui.dom-BUSTaaxR.js +1715 -0
  92. package/dist/cjs/focus-DuywwJPR.js +30 -0
  93. package/dist/cjs/getNextElement-R9l3JtM9.js +31 -0
  94. package/dist/cjs/iconify-icon-DfODV9bf.js +2307 -0
  95. package/dist/cjs/id-CjRFMzf6.js +20 -0
  96. package/dist/cjs/index-C92n55ch.js +678 -0
  97. package/dist/cjs/index-CRdcutym.js +3287 -0
  98. package/dist/cjs/index.cjs.js +12 -0
  99. package/dist/cjs/isNil-DO5zWc3l.js +19 -0
  100. package/dist/cjs/isValid-Fu3kaWNn.js +3694 -0
  101. package/dist/cjs/loader.cjs.js +17 -0
  102. package/dist/cjs/native-dialog--Ewqm4w0.js +49 -0
  103. package/dist/cjs/navigation-AbzwcRCU.js +25 -0
  104. package/dist/cjs/parts-D5K3ae2C.js +19 -0
  105. package/dist/cjs/props-CScmBvKd.js +24 -0
  106. package/dist/cjs/raf-batcher-yc87a4dS.js +55 -0
  107. package/dist/cjs/slot-DAllytTj.js +48 -0
  108. package/dist/cjs/swipe-BU8_XE9f.js +345 -0
  109. package/dist/cjs/table-constants-BOPSay0B.js +183 -0
  110. package/dist/cjs/validator-CTCajtT9.js +123 -0
  111. package/dist/cjs/webcomponents.cjs.js +50 -0
  112. package/dist/collection/assets/icon-search.svg +6 -0
  113. package/dist/collection/assets/logo-negative.svg +1 -0
  114. package/dist/collection/assets/logo-positive.svg +1 -0
  115. package/dist/collection/assets/wc.svg +1 -0
  116. package/dist/collection/collection-manifest.json +113 -0
  117. package/dist/collection/components/avatar/avatar.css +1 -0
  118. package/dist/collection/components/avatar/avatar.js +589 -0
  119. package/dist/collection/components/avatar/avatar.types.js +1 -0
  120. package/dist/collection/components/breadcrumb/breadcrumb-item/breadcrumb-item.js +166 -0
  121. package/dist/collection/components/breadcrumb/breadcrumb.css +1 -0
  122. package/dist/collection/components/breadcrumb/breadcrumb.js +619 -0
  123. package/dist/collection/components/breadcrumb/breadcrumb.types.js +1 -0
  124. package/dist/collection/components/breadcrumb/crumb/crumb.js +175 -0
  125. package/dist/collection/components/button/button.css +1 -0
  126. package/dist/collection/components/button/button.js +546 -0
  127. package/dist/collection/components/button/button.types.js +1 -0
  128. package/dist/collection/components/card/card.css +1 -0
  129. package/dist/collection/components/card/card.js +225 -0
  130. package/dist/collection/components/carousel/carousel-page/carousel-page.css +1 -0
  131. package/dist/collection/components/carousel/carousel-page/carousel-page.js +195 -0
  132. package/dist/collection/components/carousel/carousel.css +1 -0
  133. package/dist/collection/components/carousel/carousel.js +1217 -0
  134. package/dist/collection/components/carousel/carousel.types.js +1 -0
  135. package/dist/collection/components/checkbox/checkbox.css +1 -0
  136. package/dist/collection/components/checkbox/checkbox.js +823 -0
  137. package/dist/collection/components/checkbox/checkbox.types.js +1 -0
  138. package/dist/collection/components/checkbox-group/checkbox-group.css +1 -0
  139. package/dist/collection/components/checkbox-group/checkbox-group.js +268 -0
  140. package/dist/collection/components/checkgroup/checkgroup.js +166 -0
  141. package/dist/collection/components/collapse/collapse.css +1 -0
  142. package/dist/collection/components/collapse/collapse.js +642 -0
  143. package/dist/collection/components/collapse/collapse.types.js +1 -0
  144. package/dist/collection/components/cookiebar/cookiebar-cookie/cookiebar-cookie.css +1 -0
  145. package/dist/collection/components/cookiebar/cookiebar-cookie/cookiebar-cookie.js +529 -0
  146. package/dist/collection/components/cookiebar/cookiebar-group/cookiebar-group.css +1 -0
  147. package/dist/collection/components/cookiebar/cookiebar-group/cookiebar-group.js +628 -0
  148. package/dist/collection/components/cookiebar/cookiebar-header/cookiebar-header.css +1 -0
  149. package/dist/collection/components/cookiebar/cookiebar-header/cookiebar-header.js +165 -0
  150. package/dist/collection/components/cookiebar/cookiebar-link/cookiebar-link.css +1 -0
  151. package/dist/collection/components/cookiebar/cookiebar-link/cookiebar-link.js +201 -0
  152. package/dist/collection/components/cookiebar/cookiebar-note/cookiebar-note.css +1 -0
  153. package/dist/collection/components/cookiebar/cookiebar-note/cookiebar-note.js +100 -0
  154. package/dist/collection/components/cookiebar/cookiebar-note-group/cookiebar-note-group.css +1 -0
  155. package/dist/collection/components/cookiebar/cookiebar-note-group/cookiebar-note-group.js +172 -0
  156. package/dist/collection/components/cookiebar/cookiebar.css +1 -0
  157. package/dist/collection/components/cookiebar/cookiebar.js +1419 -0
  158. package/dist/collection/components/cookiebar/cookiebar.types.js +1 -0
  159. package/dist/collection/components/cookiebar/cookiebar.utils.js +14 -0
  160. package/dist/collection/components/datetime-picker/date-picker/date-picker-locale.js +94 -0
  161. package/dist/collection/components/datetime-picker/date-picker/date-picker-props-validation.js +57 -0
  162. package/dist/collection/components/datetime-picker/date-picker/date-picker.css +1 -0
  163. package/dist/collection/components/datetime-picker/date-picker/date-picker.js +913 -0
  164. package/dist/collection/components/datetime-picker/datetime-input/datetime-input-props-validation.js +65 -0
  165. package/dist/collection/components/datetime-picker/datetime-input/datetime-input.css +1 -0
  166. package/dist/collection/components/datetime-picker/datetime-input/datetime-input.js +826 -0
  167. package/dist/collection/components/datetime-picker/datetime-picker-constants.js +36 -0
  168. package/dist/collection/components/datetime-picker/datetime-picker-form-associated.js +112 -0
  169. package/dist/collection/components/datetime-picker/datetime-picker-props-validation.js +202 -0
  170. package/dist/collection/components/datetime-picker/datetime-picker.css +1 -0
  171. package/dist/collection/components/datetime-picker/datetime-picker.js +1924 -0
  172. package/dist/collection/components/datetime-picker/datetime-picker.types.js +1 -0
  173. package/dist/collection/components/datetime-picker/datetime-picker.utils.js +250 -0
  174. package/dist/collection/components/datetime-picker/time-picker/time-picker-constants.js +13 -0
  175. package/dist/collection/components/datetime-picker/time-picker/time-picker.css +1 -0
  176. package/dist/collection/components/datetime-picker/time-picker/time-picker.js +456 -0
  177. package/dist/collection/components/divider/divider.css +1 -0
  178. package/dist/collection/components/divider/divider.js +537 -0
  179. package/dist/collection/components/divider/divider.types.js +1 -0
  180. package/dist/collection/components/dropdown/dropdown.css +1 -0
  181. package/dist/collection/components/dropdown/dropdown.js +939 -0
  182. package/dist/collection/components/dropdown/dropdown.types.js +1 -0
  183. package/dist/collection/components/footer/footer-category/footer-category.css +1 -0
  184. package/dist/collection/components/footer/footer-category/footer-category.js +160 -0
  185. package/dist/collection/components/footer/footer-item/footer-item.css +1 -0
  186. package/dist/collection/components/footer/footer-item/footer-item.js +154 -0
  187. package/dist/collection/components/footer/footer-legal/footer-legal.css +1 -0
  188. package/dist/collection/components/footer/footer-legal/footer-legal.js +75 -0
  189. package/dist/collection/components/footer/footer-logo/footer-logo.css +1 -0
  190. package/dist/collection/components/footer/footer-logo/footer-logo.js +342 -0
  191. package/dist/collection/components/footer/footer-logo/footer-logo.types.js +1 -0
  192. package/dist/collection/components/footer/footer-social/footer-social.css +1 -0
  193. package/dist/collection/components/footer/footer-social/footer-social.js +239 -0
  194. package/dist/collection/components/footer/footer.css +1 -0
  195. package/dist/collection/components/footer/footer.js +245 -0
  196. package/dist/collection/components/footer/footer.types.js +1 -0
  197. package/dist/collection/components/global.types.js +1 -0
  198. package/dist/collection/components/header/header-function/header-function.css +1 -0
  199. package/dist/collection/components/header/header-function/header-function.js +311 -0
  200. package/dist/collection/components/header/header-link/header-link.css +1 -0
  201. package/dist/collection/components/header/header-link/header-link.js +189 -0
  202. package/dist/collection/components/header/header-list/header-list.css +1 -0
  203. package/dist/collection/components/header/header-list/header-list.js +452 -0
  204. package/dist/collection/components/header/header-logo/header-logo.css +1 -0
  205. package/dist/collection/components/header/header-logo/header-logo.js +421 -0
  206. package/dist/collection/components/header/header.css +1 -0
  207. package/dist/collection/components/header/header.js +1131 -0
  208. package/dist/collection/components/header/header.types.js +1 -0
  209. package/dist/collection/components/icon/default-icons-cache.js +233 -0
  210. package/dist/collection/components/icon/icon.css +1 -0
  211. package/dist/collection/components/icon/icon.js +598 -0
  212. package/dist/collection/components/icon/icon.types.js +1 -0
  213. package/dist/collection/components/icon/icon.utils.js +33 -0
  214. package/dist/collection/components/input/input.css +1 -0
  215. package/dist/collection/components/input/input.js +1642 -0
  216. package/dist/collection/components/input/input.types.js +1 -0
  217. package/dist/collection/components/item/item.css +1 -0
  218. package/dist/collection/components/item/item.js +917 -0
  219. package/dist/collection/components/item/item.types.js +1 -0
  220. package/dist/collection/components/link/link.css +1 -0
  221. package/dist/collection/components/link/link.js +699 -0
  222. package/dist/collection/components/list/list.css +1 -0
  223. package/dist/collection/components/list/list.js +728 -0
  224. package/dist/collection/components/loading/loading.css +1 -0
  225. package/dist/collection/components/loading/loading.js +1169 -0
  226. package/dist/collection/components/loading/loading.types.js +1 -0
  227. package/dist/collection/components/magic-button/magic-button.css +1 -0
  228. package/dist/collection/components/magic-button/magic-button.js +238 -0
  229. package/dist/collection/components/menu/menu-group/menu-group.css +1 -0
  230. package/dist/collection/components/menu/menu-group/menu-group.js +77 -0
  231. package/dist/collection/components/menu/menu-header/menu-header.css +1 -0
  232. package/dist/collection/components/menu/menu-header/menu-header.js +161 -0
  233. package/dist/collection/components/menu/menu-info/menu-info.css +1 -0
  234. package/dist/collection/components/menu/menu-info/menu-info.js +94 -0
  235. package/dist/collection/components/menu/menu-item/menu-item.css +1 -0
  236. package/dist/collection/components/menu/menu-item/menu-item.js +306 -0
  237. package/dist/collection/components/menu/menu-item/menu-item.types.js +1 -0
  238. package/dist/collection/components/menu/menu-link/menu-link.css +1 -0
  239. package/dist/collection/components/menu/menu-link/menu-link.js +260 -0
  240. package/dist/collection/components/menu/menu-list/menu-list.css +1 -0
  241. package/dist/collection/components/menu/menu-list/menu-list.js +311 -0
  242. package/dist/collection/components/menu/menu-logo/menu-logo.css +1 -0
  243. package/dist/collection/components/menu/menu-logo/menu-logo.js +230 -0
  244. package/dist/collection/components/menu/menu-social/menu-social.css +1 -0
  245. package/dist/collection/components/menu/menu-social/menu-social.js +263 -0
  246. package/dist/collection/components/menu/menu.css +1 -0
  247. package/dist/collection/components/menu/menu.js +1372 -0
  248. package/dist/collection/components/menu/menu.types.js +1 -0
  249. package/dist/collection/components/menu/menu.utils.js +279 -0
  250. package/dist/collection/components/message/message.css +1 -0
  251. package/dist/collection/components/message/message.js +508 -0
  252. package/dist/collection/components/modal/modal.css +1 -0
  253. package/dist/collection/components/modal/modal.js +842 -0
  254. package/dist/collection/components/modal/modal.types.js +1 -0
  255. package/dist/collection/components/notification/notification-body/notification-body.css +1 -0
  256. package/dist/collection/components/notification/notification-body/notification-body.js +153 -0
  257. package/dist/collection/components/notification/notification-header/notification-header.css +1 -0
  258. package/dist/collection/components/notification/notification-header/notification-header.js +181 -0
  259. package/dist/collection/components/notification/notification-item/notification-item.css +1 -0
  260. package/dist/collection/components/notification/notification-item/notification-item.js +351 -0
  261. package/dist/collection/components/notification/notification-item/notification-item.types.js +1 -0
  262. package/dist/collection/components/notification/notification.css +1 -0
  263. package/dist/collection/components/notification/notification.js +838 -0
  264. package/dist/collection/components/notification/notification.types.js +1 -0
  265. package/dist/collection/components/pagination/pagination.css +1 -0
  266. package/dist/collection/components/pagination/pagination.js +1470 -0
  267. package/dist/collection/components/pagination/pagination.types.js +1 -0
  268. package/dist/collection/components/radio/radio.css +1 -0
  269. package/dist/collection/components/radio/radio.js +847 -0
  270. package/dist/collection/components/radio/radio.types.js +1 -0
  271. package/dist/collection/components/radio-group/radio-group.css +1 -0
  272. package/dist/collection/components/radio-group/radio-group.js +862 -0
  273. package/dist/collection/components/radio-group/radio-group.types.js +1 -0
  274. package/dist/collection/components/scrim/scrim.css +1 -0
  275. package/dist/collection/components/scrim/scrim.js +1825 -0
  276. package/dist/collection/components/scrim/scrim.types.js +1 -0
  277. package/dist/collection/components/scrim/scrim.utils.js +132 -0
  278. package/dist/collection/components/select/select-input/select-input.css +1 -0
  279. package/dist/collection/components/select/select-input/select-input.js +586 -0
  280. package/dist/collection/components/select/select-list/select-list.css +1 -0
  281. package/dist/collection/components/select/select-list/select-list.js +1159 -0
  282. package/dist/collection/components/select/select-option/select-option.css +1 -0
  283. package/dist/collection/components/select/select-option/select-option.js +564 -0
  284. package/dist/collection/components/select/select.constants.js +6 -0
  285. package/dist/collection/components/select/select.css +1 -0
  286. package/dist/collection/components/select/select.js +2692 -0
  287. package/dist/collection/components/select/select.types.js +1 -0
  288. package/dist/collection/components/select/select.utils.js +34 -0
  289. package/dist/collection/components/sign-in/sign-in.css +1 -0
  290. package/dist/collection/components/sign-in/sign-in.js +401 -0
  291. package/dist/collection/components/sign-in/sign-in.types.js +1 -0
  292. package/dist/collection/components/skip-link/skip-link-item/skip-link-item-alias.js +103 -0
  293. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.css +1 -0
  294. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.js +450 -0
  295. package/dist/collection/components/skip-link/skip-link.css +1 -0
  296. package/dist/collection/components/skip-link/skip-link.js +699 -0
  297. package/dist/collection/components/skip-link/skip-link.types.js +1 -0
  298. package/dist/collection/components/slider/slider.css +1 -0
  299. package/dist/collection/components/slider/slider.js +1324 -0
  300. package/dist/collection/components/slider/slider.types.js +1 -0
  301. package/dist/collection/components/step/step-item/step-item.css +1 -0
  302. package/dist/collection/components/step/step-item/step-item.js +604 -0
  303. package/dist/collection/components/step/step-item/step-item.types.js +1 -0
  304. package/dist/collection/components/step/step.css +1 -0
  305. package/dist/collection/components/step/step.js +896 -0
  306. package/dist/collection/components/step/step.types.js +1 -0
  307. package/dist/collection/components/switch/switch.css +1 -0
  308. package/dist/collection/components/switch/switch.js +715 -0
  309. package/dist/collection/components/switch/switch.types.js +1 -0
  310. package/dist/collection/components/tab/tab-item/tab-item.css +1 -0
  311. package/dist/collection/components/tab/tab-item/tab-item.js +425 -0
  312. package/dist/collection/components/tab/tab.css +1 -0
  313. package/dist/collection/components/tab/tab.js +724 -0
  314. package/dist/collection/components/tab/tab.types.js +1 -0
  315. package/dist/collection/components/table/table-body/table-body.css +1 -0
  316. package/dist/collection/components/table/table-body/table-body.js +51 -0
  317. package/dist/collection/components/table/table-cell/table-cell.css +1 -0
  318. package/dist/collection/components/table/table-cell/table-cell.js +373 -0
  319. package/dist/collection/components/table/table-constants.js +171 -0
  320. package/dist/collection/components/table/table-header/table-header.css +1 -0
  321. package/dist/collection/components/table/table-header/table-header.js +51 -0
  322. package/dist/collection/components/table/table-header-cell/table-header-cell.css +1 -0
  323. package/dist/collection/components/table/table-header-cell/table-header-cell.js +402 -0
  324. package/dist/collection/components/table/table-row/table-row.css +1 -0
  325. package/dist/collection/components/table/table-row/table-row.js +261 -0
  326. package/dist/collection/components/table/table-tokens.js +50 -0
  327. package/dist/collection/components/table/table-types.js +1 -0
  328. package/dist/collection/components/table/table-utils.js +44 -0
  329. package/dist/collection/components/table/table.css +1 -0
  330. package/dist/collection/components/table/table.js +1030 -0
  331. package/dist/collection/components/tag/tag.css +1 -0
  332. package/dist/collection/components/tag/tag.js +1152 -0
  333. package/dist/collection/components/tag/tag.types.js +1 -0
  334. package/dist/collection/components/textarea/textarea.css +1 -0
  335. package/dist/collection/components/textarea/textarea.js +985 -0
  336. package/dist/collection/components/textarea/textarea.types.js +1 -0
  337. package/dist/collection/components/tooltip/tooltip.css +1 -0
  338. package/dist/collection/components/tooltip/tooltip.js +1024 -0
  339. package/dist/collection/components/tooltip/tooltip.types.js +1 -0
  340. package/dist/collection/components/upload/upload.css +1 -0
  341. package/dist/collection/components/upload/upload.js +1314 -0
  342. package/dist/collection/components/upload/upload.types.js +1 -0
  343. package/dist/collection/components/wizard/wizard-panel/wizard-panel.css +1 -0
  344. package/dist/collection/components/wizard/wizard-panel/wizard-panel.js +167 -0
  345. package/dist/collection/components/wizard/wizard.css +1 -0
  346. package/dist/collection/components/wizard/wizard.js +1228 -0
  347. package/dist/collection/index.js +14 -0
  348. package/dist/collection/pages/components/cookiebar/index.js +26 -0
  349. package/dist/collection/pages/components/link/index.js +29 -0
  350. package/dist/collection/pages/components/pagination/index.js +12 -0
  351. package/dist/collection/pages/components/slider/index.js +18 -0
  352. package/dist/collection/pages/scripts/code-editor.js +101 -0
  353. package/dist/collection/pages/scripts/component-controls.js +600 -0
  354. package/dist/collection/pages/scripts/dev-event-console.js +47 -0
  355. package/dist/collection/pages/scripts/menu.js +192 -0
  356. package/dist/collection/pages/scripts/pageLoader.js +1422 -0
  357. package/dist/collection/shared/utils/assetsPath.js +75 -0
  358. package/dist/collection/shared/utils/breakpoint-observer.js +139 -0
  359. package/dist/collection/shared/utils/clamp.js +21 -0
  360. package/dist/collection/shared/utils/css-variables.js +12 -0
  361. package/dist/collection/shared/utils/cssVariables.js +37 -0
  362. package/dist/collection/shared/utils/date.js +405 -0
  363. package/dist/collection/shared/utils/debounce.js +39 -0
  364. package/dist/collection/shared/utils/event.js +55 -0
  365. package/dist/collection/shared/utils/floating-surface-dismiss.js +59 -0
  366. package/dist/collection/shared/utils/floating-ui.js +131 -0
  367. package/dist/collection/shared/utils/focus.js +24 -0
  368. package/dist/collection/shared/utils/form.js +82 -0
  369. package/dist/collection/shared/utils/format-bytes.js +20 -0
  370. package/dist/collection/shared/utils/getNextElement.js +30 -0
  371. package/dist/collection/shared/utils/getRandom.js +27 -0
  372. package/dist/collection/shared/utils/helpers.js +31 -0
  373. package/dist/collection/shared/utils/id.js +16 -0
  374. package/dist/collection/shared/utils/index.js +60 -0
  375. package/dist/collection/shared/utils/interfaces.js +1 -0
  376. package/dist/collection/shared/utils/isClient.js +14 -0
  377. package/dist/collection/shared/utils/isDefined.js +19 -0
  378. package/dist/collection/shared/utils/isEmpty.js +30 -0
  379. package/dist/collection/shared/utils/isHTMLElement.js +16 -0
  380. package/dist/collection/shared/utils/isNil.js +15 -0
  381. package/dist/collection/shared/utils/isString.js +20 -0
  382. package/dist/collection/shared/utils/native-dialog.js +44 -0
  383. package/dist/collection/shared/utils/navigation.js +21 -0
  384. package/dist/collection/shared/utils/parts.js +15 -0
  385. package/dist/collection/shared/utils/prop-warning.js +7 -0
  386. package/dist/collection/shared/utils/props.js +37 -0
  387. package/dist/collection/shared/utils/raf-batcher.js +51 -0
  388. package/dist/collection/shared/utils/scrollLock.js +141 -0
  389. package/dist/collection/shared/utils/setRafTimeout.js +38 -0
  390. package/dist/collection/shared/utils/slot.js +113 -0
  391. package/dist/collection/shared/utils/ssr-date.js +33 -0
  392. package/dist/collection/shared/utils/stringToArray.js +29 -0
  393. package/dist/collection/shared/utils/swipe.js +342 -0
  394. package/dist/collection/shared/utils/transition.js +127 -0
  395. package/dist/collection/shared/utils/types.js +1 -0
  396. package/dist/collection/shared/utils/validator.js +51 -0
  397. package/dist/collection/value-accessors/angular-value-accessor-config.js +41 -0
  398. package/dist/collection/value-accessors/index.js +6 -0
  399. package/dist/collection/value-accessors/vue-model-config.js +43 -0
  400. package/dist/components/br-avatar.d.ts +11 -0
  401. package/dist/components/br-avatar.js +5 -0
  402. package/dist/components/br-breadcrumb-item.d.ts +11 -0
  403. package/dist/components/br-breadcrumb-item.js +5 -0
  404. package/dist/components/br-breadcrumb.d.ts +11 -0
  405. package/dist/components/br-breadcrumb.js +5 -0
  406. package/dist/components/br-button.d.ts +11 -0
  407. package/dist/components/br-button.js +5 -0
  408. package/dist/components/br-card.d.ts +11 -0
  409. package/dist/components/br-card.js +5 -0
  410. package/dist/components/br-carousel-page.d.ts +11 -0
  411. package/dist/components/br-carousel-page.js +5 -0
  412. package/dist/components/br-carousel.d.ts +11 -0
  413. package/dist/components/br-carousel.js +5 -0
  414. package/dist/components/br-checkbox-group.d.ts +11 -0
  415. package/dist/components/br-checkbox-group.js +5 -0
  416. package/dist/components/br-checkbox.d.ts +11 -0
  417. package/dist/components/br-checkbox.js +5 -0
  418. package/dist/components/br-checkgroup.d.ts +11 -0
  419. package/dist/components/br-checkgroup.js +5 -0
  420. package/dist/components/br-collapse.d.ts +11 -0
  421. package/dist/components/br-collapse.js +5 -0
  422. package/dist/components/br-cookiebar-cookie.d.ts +11 -0
  423. package/dist/components/br-cookiebar-cookie.js +5 -0
  424. package/dist/components/br-cookiebar-group.d.ts +11 -0
  425. package/dist/components/br-cookiebar-group.js +5 -0
  426. package/dist/components/br-cookiebar-header.d.ts +11 -0
  427. package/dist/components/br-cookiebar-header.js +5 -0
  428. package/dist/components/br-cookiebar-link.d.ts +11 -0
  429. package/dist/components/br-cookiebar-link.js +5 -0
  430. package/dist/components/br-cookiebar-note-group.d.ts +11 -0
  431. package/dist/components/br-cookiebar-note-group.js +5 -0
  432. package/dist/components/br-cookiebar-note.d.ts +11 -0
  433. package/dist/components/br-cookiebar-note.js +5 -0
  434. package/dist/components/br-cookiebar.d.ts +11 -0
  435. package/dist/components/br-cookiebar.js +5 -0
  436. package/dist/components/br-crumb.d.ts +11 -0
  437. package/dist/components/br-crumb.js +5 -0
  438. package/dist/components/br-date-picker.d.ts +11 -0
  439. package/dist/components/br-date-picker.js +5 -0
  440. package/dist/components/br-datetime-input.d.ts +11 -0
  441. package/dist/components/br-datetime-input.js +5 -0
  442. package/dist/components/br-datetime-picker.d.ts +11 -0
  443. package/dist/components/br-datetime-picker.js +5 -0
  444. package/dist/components/br-divider.d.ts +11 -0
  445. package/dist/components/br-divider.js +5 -0
  446. package/dist/components/br-dropdown.d.ts +11 -0
  447. package/dist/components/br-dropdown.js +5 -0
  448. package/dist/components/br-footer-category.d.ts +11 -0
  449. package/dist/components/br-footer-category.js +5 -0
  450. package/dist/components/br-footer-item.d.ts +11 -0
  451. package/dist/components/br-footer-item.js +5 -0
  452. package/dist/components/br-footer-legal.d.ts +11 -0
  453. package/dist/components/br-footer-legal.js +5 -0
  454. package/dist/components/br-footer-logo.d.ts +11 -0
  455. package/dist/components/br-footer-logo.js +5 -0
  456. package/dist/components/br-footer-social.d.ts +11 -0
  457. package/dist/components/br-footer-social.js +5 -0
  458. package/dist/components/br-footer.d.ts +11 -0
  459. package/dist/components/br-footer.js +5 -0
  460. package/dist/components/br-header-function.d.ts +11 -0
  461. package/dist/components/br-header-function.js +5 -0
  462. package/dist/components/br-header-link.d.ts +11 -0
  463. package/dist/components/br-header-link.js +5 -0
  464. package/dist/components/br-header-list.d.ts +11 -0
  465. package/dist/components/br-header-list.js +5 -0
  466. package/dist/components/br-header-logo.d.ts +11 -0
  467. package/dist/components/br-header-logo.js +5 -0
  468. package/dist/components/br-header.d.ts +11 -0
  469. package/dist/components/br-header.js +5 -0
  470. package/dist/components/br-icon.d.ts +11 -0
  471. package/dist/components/br-icon.js +5 -0
  472. package/dist/components/br-input.d.ts +11 -0
  473. package/dist/components/br-input.js +5 -0
  474. package/dist/components/br-item.d.ts +11 -0
  475. package/dist/components/br-item.js +5 -0
  476. package/dist/components/br-link.d.ts +11 -0
  477. package/dist/components/br-link.js +5 -0
  478. package/dist/components/br-list.d.ts +11 -0
  479. package/dist/components/br-list.js +5 -0
  480. package/dist/components/br-loading.d.ts +11 -0
  481. package/dist/components/br-loading.js +5 -0
  482. package/dist/components/br-magic-button.d.ts +11 -0
  483. package/dist/components/br-magic-button.js +5 -0
  484. package/dist/components/br-menu-group.d.ts +11 -0
  485. package/dist/components/br-menu-group.js +5 -0
  486. package/dist/components/br-menu-header.d.ts +11 -0
  487. package/dist/components/br-menu-header.js +5 -0
  488. package/dist/components/br-menu-info.d.ts +11 -0
  489. package/dist/components/br-menu-info.js +5 -0
  490. package/dist/components/br-menu-item.d.ts +11 -0
  491. package/dist/components/br-menu-item.js +5 -0
  492. package/dist/components/br-menu-link.d.ts +11 -0
  493. package/dist/components/br-menu-link.js +5 -0
  494. package/dist/components/br-menu-list.d.ts +11 -0
  495. package/dist/components/br-menu-list.js +5 -0
  496. package/dist/components/br-menu-logo.d.ts +11 -0
  497. package/dist/components/br-menu-logo.js +5 -0
  498. package/dist/components/br-menu-social.d.ts +11 -0
  499. package/dist/components/br-menu-social.js +5 -0
  500. package/dist/components/br-menu.d.ts +11 -0
  501. package/dist/components/br-menu.js +5 -0
  502. package/dist/components/br-message.d.ts +11 -0
  503. package/dist/components/br-message.js +5 -0
  504. package/dist/components/br-modal.d.ts +11 -0
  505. package/dist/components/br-modal.js +5 -0
  506. package/dist/components/br-notification-body.d.ts +11 -0
  507. package/dist/components/br-notification-body.js +5 -0
  508. package/dist/components/br-notification-header.d.ts +11 -0
  509. package/dist/components/br-notification-header.js +5 -0
  510. package/dist/components/br-notification-item.d.ts +11 -0
  511. package/dist/components/br-notification-item.js +5 -0
  512. package/dist/components/br-notification.d.ts +11 -0
  513. package/dist/components/br-notification.js +5 -0
  514. package/dist/components/br-pagination.d.ts +11 -0
  515. package/dist/components/br-pagination.js +5 -0
  516. package/dist/components/br-radio-group.d.ts +11 -0
  517. package/dist/components/br-radio-group.js +5 -0
  518. package/dist/components/br-radio.d.ts +11 -0
  519. package/dist/components/br-radio.js +5 -0
  520. package/dist/components/br-scrim.d.ts +11 -0
  521. package/dist/components/br-scrim.js +5 -0
  522. package/dist/components/br-select-input.d.ts +11 -0
  523. package/dist/components/br-select-input.js +5 -0
  524. package/dist/components/br-select-list.d.ts +11 -0
  525. package/dist/components/br-select-list.js +5 -0
  526. package/dist/components/br-select-option.d.ts +11 -0
  527. package/dist/components/br-select-option.js +5 -0
  528. package/dist/components/br-select.d.ts +11 -0
  529. package/dist/components/br-select.js +5 -0
  530. package/dist/components/br-sign-in.d.ts +11 -0
  531. package/dist/components/br-sign-in.js +5 -0
  532. package/dist/components/br-skip-link-item.d.ts +11 -0
  533. package/dist/components/br-skip-link-item.js +5 -0
  534. package/dist/components/br-skip-link.d.ts +11 -0
  535. package/dist/components/br-skip-link.js +5 -0
  536. package/dist/components/br-skiplink-item.d.ts +11 -0
  537. package/dist/components/br-skiplink-item.js +5 -0
  538. package/dist/components/br-slider.d.ts +11 -0
  539. package/dist/components/br-slider.js +5 -0
  540. package/dist/components/br-step-item.d.ts +11 -0
  541. package/dist/components/br-step-item.js +5 -0
  542. package/dist/components/br-step.d.ts +11 -0
  543. package/dist/components/br-step.js +5 -0
  544. package/dist/components/br-switch.d.ts +11 -0
  545. package/dist/components/br-switch.js +5 -0
  546. package/dist/components/br-tab-item.d.ts +11 -0
  547. package/dist/components/br-tab-item.js +5 -0
  548. package/dist/components/br-tab.d.ts +11 -0
  549. package/dist/components/br-tab.js +5 -0
  550. package/dist/components/br-table-body.d.ts +11 -0
  551. package/dist/components/br-table-body.js +5 -0
  552. package/dist/components/br-table-cell.d.ts +11 -0
  553. package/dist/components/br-table-cell.js +5 -0
  554. package/dist/components/br-table-header-cell.d.ts +11 -0
  555. package/dist/components/br-table-header-cell.js +5 -0
  556. package/dist/components/br-table-header.d.ts +11 -0
  557. package/dist/components/br-table-header.js +5 -0
  558. package/dist/components/br-table-row.d.ts +11 -0
  559. package/dist/components/br-table-row.js +5 -0
  560. package/dist/components/br-table.d.ts +11 -0
  561. package/dist/components/br-table.js +5 -0
  562. package/dist/components/br-tag.d.ts +11 -0
  563. package/dist/components/br-tag.js +5 -0
  564. package/dist/components/br-textarea.d.ts +11 -0
  565. package/dist/components/br-textarea.js +5 -0
  566. package/dist/components/br-time-picker.d.ts +11 -0
  567. package/dist/components/br-time-picker.js +5 -0
  568. package/dist/components/br-tooltip.d.ts +11 -0
  569. package/dist/components/br-tooltip.js +5 -0
  570. package/dist/components/br-upload.d.ts +11 -0
  571. package/dist/components/br-upload.js +5 -0
  572. package/dist/components/br-wizard-panel.d.ts +11 -0
  573. package/dist/components/br-wizard-panel.js +5 -0
  574. package/dist/components/br-wizard.d.ts +11 -0
  575. package/dist/components/br-wizard.js +5 -0
  576. package/dist/components/index.d.ts +213 -0
  577. package/dist/components/index.js +5 -0
  578. package/dist/components/p-34Jfn-U-.js +5 -0
  579. package/dist/components/p-5z6jgH1D.js +5 -0
  580. package/dist/components/p-6OdfnwnK.js +5 -0
  581. package/dist/components/p-9S9bgUT0.js +5 -0
  582. package/dist/components/p-B-qLmYZC.js +5 -0
  583. package/dist/components/p-B55qsau4.js +5 -0
  584. package/dist/components/p-B7Amgxkp.js +5 -0
  585. package/dist/components/p-BC7f6MK8.js +5 -0
  586. package/dist/components/p-BKuMQJrQ.js +5 -0
  587. package/dist/components/p-BPJpHGOW.js +5 -0
  588. package/dist/components/p-BWXfdbQH.js +5 -0
  589. package/dist/components/p-Bb-nLtTG.js +5 -0
  590. package/dist/components/p-BeE7R9nu.js +5 -0
  591. package/dist/components/p-BkS6ujyf.js +5 -0
  592. package/dist/components/p-Bo0QYHJO.js +5 -0
  593. package/dist/components/p-C1yRmdso.js +5 -0
  594. package/dist/components/p-C2i2c_io.js +5 -0
  595. package/dist/components/p-C7v0lVlX.js +5 -0
  596. package/dist/components/p-CMBsvswx.js +5 -0
  597. package/dist/components/p-CRrimdz6.js +5 -0
  598. package/dist/components/p-CWORw84-.js +5 -0
  599. package/dist/components/p-CXMwM9m4.js +5 -0
  600. package/dist/components/p-CdDwqbBv.js +5 -0
  601. package/dist/components/p-CvUMXJCl.js +5 -0
  602. package/dist/components/p-D3usVJE2.js +16 -0
  603. package/dist/components/p-D6zroLx5.js +5 -0
  604. package/dist/components/p-DA5GS53D.js +5 -0
  605. package/dist/components/p-DBP6K_aq.js +5 -0
  606. package/dist/components/p-DBmwzG9E.js +5 -0
  607. package/dist/components/p-DCrVo-8T.js +5 -0
  608. package/dist/components/p-DFUKDNck.js +5 -0
  609. package/dist/components/p-DHicj0By.js +5 -0
  610. package/dist/components/p-DIK54tTj.js +5 -0
  611. package/dist/components/p-DQRSHR-D.js +5 -0
  612. package/dist/components/p-DRVMm1Py.js +5 -0
  613. package/dist/components/p-DWPmUV72.js +5 -0
  614. package/dist/components/p-DXjQyH6s.js +5 -0
  615. package/dist/components/p-DYA74R1r.js +5 -0
  616. package/dist/components/p-DmCxdB9P.js +5 -0
  617. package/dist/components/p-Dmfk7eEe.js +5 -0
  618. package/dist/components/p-Dp0xy_3n.js +5 -0
  619. package/dist/components/p-DxZJrIyL.js +5 -0
  620. package/dist/components/p-JAkkThgf.js +5 -0
  621. package/dist/components/p-Ud-WB0hx.js +5 -0
  622. package/dist/components/p-bhULC15U.js +5 -0
  623. package/dist/components/p-cF3ia5e9.js +5 -0
  624. package/dist/components/p-fpMNttbg.js +5 -0
  625. package/dist/components/p-gvnfuTjd.js +5 -0
  626. package/dist/components/p-qYONSNcf.js +5 -0
  627. package/dist/components/p-qhhHGJY1.js +5 -0
  628. package/dist/components/p-ttI0nvv_.js +5 -0
  629. package/dist/components/p-ukNmfGNP.js +5 -0
  630. package/dist/components/p-xa8e1kSW.js +5 -0
  631. package/dist/esm/app-globals-DVjNHTTs.js +7 -0
  632. package/dist/esm/br-avatar.entry.js +246 -0
  633. package/dist/esm/br-breadcrumb-item.entry.js +43 -0
  634. package/dist/esm/br-breadcrumb.entry.js +441 -0
  635. package/dist/esm/br-button_2.entry.js +277 -0
  636. package/dist/esm/br-card.entry.js +109 -0
  637. package/dist/esm/br-carousel-page.entry.js +78 -0
  638. package/dist/esm/br-carousel.entry.js +563 -0
  639. package/dist/esm/br-checkbox-group.entry.js +116 -0
  640. package/dist/esm/br-checkbox.entry.js +286 -0
  641. package/dist/esm/br-checkgroup.entry.js +18 -0
  642. package/dist/esm/br-collapse_2.entry.js +680 -0
  643. package/dist/esm/br-cookiebar-cookie.entry.js +81 -0
  644. package/dist/esm/br-cookiebar-group.entry.js +307 -0
  645. package/dist/esm/br-cookiebar-header.entry.js +37 -0
  646. package/dist/esm/br-cookiebar-link.entry.js +53 -0
  647. package/dist/esm/br-cookiebar-note-group.entry.js +68 -0
  648. package/dist/esm/br-cookiebar-note.entry.js +23 -0
  649. package/dist/esm/br-cookiebar.entry.js +756 -0
  650. package/dist/esm/br-crumb.entry.js +49 -0
  651. package/dist/esm/br-date-picker_3.entry.js +2443 -0
  652. package/dist/esm/br-datetime-picker.entry.js +1884 -0
  653. package/dist/esm/br-divider.entry.js +223 -0
  654. package/dist/esm/br-dropdown_2.entry.js +1997 -0
  655. package/dist/esm/br-footer-category.entry.js +100 -0
  656. package/dist/esm/br-footer-item.entry.js +50 -0
  657. package/dist/esm/br-footer-legal.entry.js +39 -0
  658. package/dist/esm/br-footer-logo.entry.js +102 -0
  659. package/dist/esm/br-footer-social.entry.js +69 -0
  660. package/dist/esm/br-footer.entry.js +90 -0
  661. package/dist/esm/br-header-function.entry.js +140 -0
  662. package/dist/esm/br-header-link.entry.js +58 -0
  663. package/dist/esm/br-header-list.entry.js +277 -0
  664. package/dist/esm/br-header-logo.entry.js +176 -0
  665. package/dist/esm/br-header.entry.js +640 -0
  666. package/dist/esm/br-icon.entry.js +483 -0
  667. package/dist/esm/br-input.entry.js +597 -0
  668. package/dist/esm/br-item.entry.js +365 -0
  669. package/dist/esm/br-link.entry.js +131 -0
  670. package/dist/esm/br-loading.entry.js +503 -0
  671. package/dist/esm/br-magic-button.entry.js +91 -0
  672. package/dist/esm/br-menu-group.entry.js +21 -0
  673. package/dist/esm/br-menu-header.entry.js +45 -0
  674. package/dist/esm/br-menu-info.entry.js +36 -0
  675. package/dist/esm/br-menu-item.entry.js +77 -0
  676. package/dist/esm/br-menu-link.entry.js +54 -0
  677. package/dist/esm/br-menu-list.entry.js +147 -0
  678. package/dist/esm/br-menu-logo.entry.js +73 -0
  679. package/dist/esm/br-menu-social.entry.js +63 -0
  680. package/dist/esm/br-menu.entry.js +991 -0
  681. package/dist/esm/br-modal.entry.js +494 -0
  682. package/dist/esm/br-notification-body.entry.js +69 -0
  683. package/dist/esm/br-notification-header.entry.js +46 -0
  684. package/dist/esm/br-notification-item.entry.js +108 -0
  685. package/dist/esm/br-notification.entry.js +332 -0
  686. package/dist/esm/br-pagination.entry.js +882 -0
  687. package/dist/esm/br-radio-group.entry.js +426 -0
  688. package/dist/esm/br-radio.entry.js +355 -0
  689. package/dist/esm/br-scrim.entry.js +1334 -0
  690. package/dist/esm/br-select-input_3.entry.js +984 -0
  691. package/dist/esm/br-sign-in.entry.js +124 -0
  692. package/dist/esm/br-skip-link-item.entry.js +18 -0
  693. package/dist/esm/br-skip-link.entry.js +360 -0
  694. package/dist/esm/br-skiplink-item.entry.js +190 -0
  695. package/dist/esm/br-slider.entry.js +685 -0
  696. package/dist/esm/br-step_2.entry.js +625 -0
  697. package/dist/esm/br-switch.entry.js +243 -0
  698. package/dist/esm/br-tab-item.entry.js +183 -0
  699. package/dist/esm/br-tab.entry.js +395 -0
  700. package/dist/esm/br-table-body.entry.js +35 -0
  701. package/dist/esm/br-table-cell.entry.js +182 -0
  702. package/dist/esm/br-table-header-cell.entry.js +171 -0
  703. package/dist/esm/br-table-header.entry.js +35 -0
  704. package/dist/esm/br-table-row.entry.js +79 -0
  705. package/dist/esm/br-table.entry.js +678 -0
  706. package/dist/esm/br-tag.entry.js +491 -0
  707. package/dist/esm/br-textarea.entry.js +304 -0
  708. package/dist/esm/br-tooltip.entry.js +625 -0
  709. package/dist/esm/br-upload.entry.js +579 -0
  710. package/dist/esm/br-wizard-panel.entry.js +52 -0
  711. package/dist/esm/br-wizard.entry.js +706 -0
  712. package/dist/esm/breakpoint-observer-DBmwzG9E.js +141 -0
  713. package/dist/esm/clamp-gvnfuTjd.js +23 -0
  714. package/dist/esm/cookiebar.utils-DYA74R1r.js +16 -0
  715. package/dist/esm/datetime-picker-constants-Bfm58jO6.js +3798 -0
  716. package/dist/esm/event-DFN_so7I.js +48 -0
  717. package/dist/esm/floating-surface-dismiss-BWXfdbQH.js +61 -0
  718. package/dist/esm/floating-ui-BavFwMnx.js +134 -0
  719. package/dist/esm/floating-ui.dom-DIK54tTj.js +1707 -0
  720. package/dist/esm/focus-DxZJrIyL.js +26 -0
  721. package/dist/esm/getNextElement-9S9bgUT0.js +28 -0
  722. package/dist/esm/iconify-icon-D3usVJE2.js +2303 -0
  723. package/dist/esm/id-BkS6ujyf.js +18 -0
  724. package/dist/esm/index-Bo-2igoO.js +671 -0
  725. package/dist/esm/index-C2RBydfd.js +3258 -0
  726. package/dist/esm/index.js +6 -0
  727. package/dist/esm/isNil-B-qLmYZC.js +17 -0
  728. package/dist/esm/isValid-DIUZX1qS.js +3684 -0
  729. package/dist/esm/loader.js +15 -0
  730. package/dist/esm/native-dialog-B55qsau4.js +46 -0
  731. package/dist/esm/navigation-bhULC15U.js +23 -0
  732. package/dist/esm/parts-Bb5vVlCC.js +17 -0
  733. package/dist/esm/props-DRVMm1Py.js +22 -0
  734. package/dist/esm/raf-batcher-cF3ia5e9.js +53 -0
  735. package/dist/esm/slot-BIG-yees.js +44 -0
  736. package/dist/esm/swipe-Dmfk7eEe.js +343 -0
  737. package/dist/esm/table-constants-CXMwM9m4.js +170 -0
  738. package/dist/esm/validator-D3tVP32U.js +113 -0
  739. package/dist/esm/webcomponents.js +46 -0
  740. package/dist/hydrate/index.d.ts +287 -0
  741. package/dist/hydrate/index.js +67516 -0
  742. package/dist/hydrate/index.mjs +67506 -0
  743. package/dist/hydrate/package.json +12 -0
  744. package/dist/index.cjs.js +1 -0
  745. package/dist/index.js +1 -0
  746. package/dist/loader/cdn.js +5 -0
  747. package/dist/loader/index.cjs.js +5 -0
  748. package/dist/loader/index.d.ts +24 -0
  749. package/dist/loader/index.es2017.js +5 -0
  750. package/dist/loader/index.js +6 -0
  751. package/dist/types/components/item/item.d.ts +1 -0
  752. package/dist/types/components/select/select-list/select-list.d.ts +1 -0
  753. package/dist/types/components/select/select-option/select-option.d.ts +1 -0
  754. package/dist/types/components/select/select.d.ts +14 -0
  755. package/dist/types/components/select/select.types.d.ts +2 -0
  756. package/dist/types/components/select/select.utils.d.ts +13 -0
  757. package/dist/webcomponents/index.esm.js +5 -0
  758. package/dist/webcomponents/p-0196804a.entry.js +5 -0
  759. package/dist/webcomponents/p-0410186a.entry.js +5 -0
  760. package/dist/webcomponents/p-0415ef22.entry.js +5 -0
  761. package/dist/webcomponents/p-0777c7b1.entry.js +5 -0
  762. package/dist/webcomponents/p-0caa4d12.entry.js +5 -0
  763. package/dist/webcomponents/p-0d4f718d.entry.js +5 -0
  764. package/dist/webcomponents/p-0e84c9e8.entry.js +5 -0
  765. package/dist/webcomponents/p-12286e73.entry.js +5 -0
  766. package/dist/webcomponents/p-147ac8d3.entry.js +5 -0
  767. package/dist/webcomponents/p-1580beee.entry.js +5 -0
  768. package/dist/webcomponents/p-18ee6175.entry.js +5 -0
  769. package/dist/webcomponents/p-1bca4499.entry.js +5 -0
  770. package/dist/webcomponents/p-1c303a4e.entry.js +5 -0
  771. package/dist/webcomponents/p-1d6b0b6f.entry.js +5 -0
  772. package/dist/webcomponents/p-1d8cb8fd.entry.js +5 -0
  773. package/dist/webcomponents/p-224daaac.entry.js +5 -0
  774. package/dist/webcomponents/p-28426d2a.entry.js +5 -0
  775. package/dist/webcomponents/p-2abd2da0.entry.js +5 -0
  776. package/dist/webcomponents/p-2fdc51ae.entry.js +5 -0
  777. package/dist/webcomponents/p-30c428b6.entry.js +5 -0
  778. package/dist/webcomponents/p-36bbea4e.entry.js +5 -0
  779. package/dist/webcomponents/p-3907ebfa.entry.js +5 -0
  780. package/dist/webcomponents/p-39a16f9d.entry.js +5 -0
  781. package/dist/webcomponents/p-3ebbd2f5.entry.js +5 -0
  782. package/dist/webcomponents/p-3ef7eac8.entry.js +5 -0
  783. package/dist/webcomponents/p-45356e9a.entry.js +5 -0
  784. package/dist/webcomponents/p-46513db4.entry.js +5 -0
  785. package/dist/webcomponents/p-4c13221a.entry.js +5 -0
  786. package/dist/webcomponents/p-51ce2c31.entry.js +5 -0
  787. package/dist/webcomponents/p-52df61cb.entry.js +5 -0
  788. package/dist/webcomponents/p-569134cf.entry.js +5 -0
  789. package/dist/webcomponents/p-5ce7db4a.entry.js +5 -0
  790. package/dist/webcomponents/p-5f373708.entry.js +5 -0
  791. package/dist/webcomponents/p-5f6afb79.entry.js +5 -0
  792. package/dist/webcomponents/p-5fc7ba4c.entry.js +5 -0
  793. package/dist/webcomponents/p-66006312.entry.js +5 -0
  794. package/dist/webcomponents/p-66b13fd9.entry.js +5 -0
  795. package/dist/webcomponents/p-6OdfnwnK.js +5 -0
  796. package/dist/webcomponents/p-750799b7.entry.js +5 -0
  797. package/dist/webcomponents/p-756ff2ad.entry.js +5 -0
  798. package/dist/webcomponents/p-765bfe27.entry.js +5 -0
  799. package/dist/webcomponents/p-7ab96c11.entry.js +5 -0
  800. package/dist/webcomponents/p-7c2ff8b4.entry.js +5 -0
  801. package/dist/webcomponents/p-7f7506f0.entry.js +5 -0
  802. package/dist/webcomponents/p-7fb03a49.entry.js +5 -0
  803. package/dist/webcomponents/p-82200563.entry.js +5 -0
  804. package/dist/webcomponents/p-83ff4579.entry.js +5 -0
  805. package/dist/webcomponents/p-85f8063b.entry.js +5 -0
  806. package/dist/webcomponents/p-8b558233.entry.js +5 -0
  807. package/dist/webcomponents/p-8e6c2767.entry.js +5 -0
  808. package/dist/webcomponents/p-8e819355.entry.js +5 -0
  809. package/dist/webcomponents/p-92a9b9c4.entry.js +5 -0
  810. package/dist/webcomponents/p-966ad32f.entry.js +5 -0
  811. package/dist/webcomponents/p-9679d230.entry.js +5 -0
  812. package/dist/webcomponents/p-96dd663b.entry.js +5 -0
  813. package/dist/webcomponents/p-98843fa3.entry.js +5 -0
  814. package/dist/webcomponents/p-9S9bgUT0.js +5 -0
  815. package/dist/webcomponents/p-9a375eff.entry.js +5 -0
  816. package/dist/webcomponents/p-9b358cff.entry.js +5 -0
  817. package/dist/webcomponents/p-9f7558c7.entry.js +5 -0
  818. package/dist/webcomponents/p-B-qLmYZC.js +5 -0
  819. package/dist/webcomponents/p-B55qsau4.js +5 -0
  820. package/dist/webcomponents/p-BIG-yees.js +5 -0
  821. package/dist/webcomponents/p-BWXfdbQH.js +5 -0
  822. package/dist/webcomponents/p-Bb5vVlCC.js +5 -0
  823. package/dist/webcomponents/p-Bfm58jO6.js +5 -0
  824. package/dist/webcomponents/p-BhMVJQ4-.js +5 -0
  825. package/dist/webcomponents/p-BkS6ujyf.js +5 -0
  826. package/dist/webcomponents/p-C2RBydfd.js +6 -0
  827. package/dist/webcomponents/p-CO5cOQQU.js +5 -0
  828. package/dist/webcomponents/p-CXMwM9m4.js +5 -0
  829. package/dist/webcomponents/p-D3tVP32U.js +5 -0
  830. package/dist/webcomponents/p-D3usVJE2.js +16 -0
  831. package/dist/webcomponents/p-DBmwzG9E.js +5 -0
  832. package/dist/webcomponents/p-DFN_so7I.js +5 -0
  833. package/dist/webcomponents/p-DIK54tTj.js +5 -0
  834. package/dist/webcomponents/p-DRVMm1Py.js +5 -0
  835. package/dist/webcomponents/p-DVjNHTTs.js +5 -0
  836. package/dist/webcomponents/p-DYA74R1r.js +5 -0
  837. package/dist/webcomponents/p-Dmfk7eEe.js +5 -0
  838. package/dist/webcomponents/p-DxZJrIyL.js +5 -0
  839. package/dist/webcomponents/p-a382e115.entry.js +5 -0
  840. package/dist/webcomponents/p-a4ae72e3.entry.js +5 -0
  841. package/dist/webcomponents/p-a994c190.entry.js +5 -0
  842. package/dist/webcomponents/p-a9ff7c25.entry.js +5 -0
  843. package/dist/webcomponents/p-bhULC15U.js +5 -0
  844. package/dist/webcomponents/p-c0b0f531.entry.js +5 -0
  845. package/dist/webcomponents/p-c211af17.entry.js +5 -0
  846. package/dist/webcomponents/p-c492d926.entry.js +5 -0
  847. package/dist/webcomponents/p-c4cfe599.entry.js +5 -0
  848. package/dist/webcomponents/p-c846e784.entry.js +5 -0
  849. package/dist/webcomponents/p-c949d993.entry.js +5 -0
  850. package/dist/webcomponents/p-cF3ia5e9.js +5 -0
  851. package/dist/webcomponents/p-d1e899cd.entry.js +5 -0
  852. package/dist/webcomponents/p-d38d82cc.entry.js +5 -0
  853. package/dist/webcomponents/p-e0ce536a.entry.js +5 -0
  854. package/dist/webcomponents/p-e1331288.entry.js +5 -0
  855. package/dist/webcomponents/p-e360a463.entry.js +5 -0
  856. package/dist/webcomponents/p-f078f972.entry.js +5 -0
  857. package/dist/webcomponents/p-f26038e2.entry.js +5 -0
  858. package/dist/webcomponents/p-f303f6b3.entry.js +5 -0
  859. package/dist/webcomponents/p-f6318e94.entry.js +5 -0
  860. package/dist/webcomponents/p-f85ee01c.entry.js +5 -0
  861. package/dist/webcomponents/p-fcd4ae48.entry.js +5 -0
  862. package/dist/webcomponents/p-ffe0241e.entry.js +5 -0
  863. package/dist/webcomponents/p-gvnfuTjd.js +5 -0
  864. package/dist/webcomponents/webcomponents.esm.js +5 -0
  865. package/package.json +3 -7
  866. package/cem/.gitkeep +0 -0
@@ -0,0 +1,884 @@
1
+ /*!
2
+ * Construído por SERPRO
3
+ * © https://serpro.gov.br/ - MIT License.
4
+ */
5
+ 'use strict';
6
+
7
+ var index = require('./index-CRdcutym.js');
8
+
9
+ /**
10
+ * Utilitários Helpers com funções auxiliares para geração de IDs e formatação de bytes.
11
+ * Mantemos um `default` export com a API compatível para não quebrar importações existentes.
12
+ */
13
+ function generateUniqueId(prefix) {
14
+ const time = Date.now().toString(36);
15
+ const rand = Math.random().toString(36).substring(2, 10);
16
+ const id = (time + rand).substring(0, 16);
17
+ return prefix ? `${prefix}-${id}` : id;
18
+ }
19
+ /**
20
+ * Formata um valor em bytes para uma representação humana (KB, MB, GB...).
21
+ * @param bytes Quantidade em bytes.
22
+ * @param decimals Número de casas decimais (padrão: 2).
23
+ * @returns Valor formatado com unidade.
24
+ */
25
+ function formatBytes(bytes, decimals = 2) {
26
+ if (bytes === 0)
27
+ return '0 Bytes';
28
+ const k = 1024;
29
+ const dm = decimals < 0 ? 0 : decimals;
30
+ const units = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
31
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
32
+ return `${Number.parseFloat((bytes / k ** i).toFixed(dm))} ${units[i]}`;
33
+ }
34
+ const Helpers = { generateUniqueId, formatBytes };
35
+
36
+ const paginationCss = () => `*,*::before,*::after{box-sizing:border-box}:host{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}main{display:block}hr{box-sizing:content-box;height:0;overflow:visible}a{background-color:rgba(0,0,0,0)}b,strong{font-weight:bolder}code{font-family:monospace;font-size:1em}small{font-size:80%}img{border-style:none}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{appearance:none}::-webkit-file-upload-button{appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.d-none{display:none !important}@media (min-width: 576px){.d-sm-block{display:block !important}.d-sm-flex{display:flex !important}}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown>.br-notification{left:auto;right:0}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.align-items-center{align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter)*.5);padding-right:calc(var(--grid-gutter)*.5);width:100%}.col{flex:1 0 0%;min-width:8.3333333333%}.col-auto{flex:0 0 auto;width:auto}.col-2{flex-basis:16.6666666667%;max-width:16.6666666667%}.container,.container-fluid,.container-lg{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:flex;flex-wrap:wrap;margin-left:calc(var(--grid-gutter)*-0.5);margin-right:calc(var(--grid-gutter)*-0.5)}@media (min-width: 576px){.container,.container-lg,.container-fluid{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}}@media (min-width: 992px){.container,.container-lg,.container-fluid{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container,.container-lg,.container-fluid{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container,.container-lg{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}}@media (min-width: 1600px){.container,.container-lg,.container-fluid{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container,.container-lg{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.ease{animation-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1)}.ease-in-out{animation-timing-function:cubic-bezier(0.42, 0, 0.58, 1)}.mt-1{margin-top:var(--spacing-scale-half) !important}.mr-1{margin-right:var(--spacing-scale-half) !important}.mb-1{margin-bottom:var(--spacing-scale-half) !important}.ml-1{margin-left:var(--spacing-scale-half) !important}.mx-3{margin-left:var(--spacing-scale-2x) !important;margin-right:var(--spacing-scale-2x) !important}.mb-4{margin-bottom:var(--spacing-scale-3x) !important}.ml-auto{margin-left:auto !important}.pt-half{padding-top:var(--spacing-scale-half) !important}@media (min-width: 576px){.ml-sm-0{margin-left:var(--spacing-scale-default) !important}}.highlight{background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}.text-center{text-align:center !important}.text-right{text-align:right !important}.text-nowrap{white-space:nowrap !important}.text-uppercase{text-transform:uppercase !important}.text-bold{font-weight:700 !important}.text-base{font-size:var(--font-size-scale-base) !important}.text-down-01{font-size:var(--font-size-scale-down-01) !important}@media (min-width: 576px){.text-sm-center{text-align:center !important}.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half)}a:focus{outline:none}a.focus-visible,a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}a{color:var(--interactive);text-decoration:none}.main-content a{text-decoration:underline}button{cursor:pointer}img{max-width:100%;vertical-align:middle}h2,.h2{color:var(--color);font-size:var(--font-size-scale-up-03);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-2xh);margin-top:var(--spacing-scale-3xh);padding-bottom:var(--spacing-scale-2xh)}@media (min-width: 576px){.h2,h2{font-size:var(--font-size-scale-up-05);font-weight:var(--font-weight-regular)}}ul,ol{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}table{--table-background:var(--background);--table-color:var(--color);--table-border-color:var(--gray-20);--table-border-style:solid;--table-border-width:1px;--table-hover:var(--color-rgb);--table-padding:var(--spacing-scale-3x);--table-font-weight:var(--font-weight-medium);--table-th-background:var(--background-alternative);--table-th-font-weight:var(--font-weight-semi-bold);--table-row-size:var(--spacing-scale-2x);border-collapse:collapse;width:100%}tr.selected,tr.is-selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}fieldset,.fieldset{border:var(--surface-width-none);margin-bottom:var(--spacing-scale-5x);margin-top:0;padding:0}legend,.legend{color:var(--color);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-2x);margin-top:var(--spacing-scale-2x)}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}.help{font-size:var(--font-size-scale-base)}code,.code{background:var(--gray-5);border-radius:4px;color:var(--gray-80);display:inline-block;font-family:monospace;font-size:var(--font-size-scale-base);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);padding:var(--spacing-scale-half)}*[data-toggle=collapse]:not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}*[data-toggle=collapse]:focus{outline:none}*[data-toggle=collapse].focus-visible,*[data-toggle=collapse]:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}.br-pagination{--pagination-margin:var(--spacing-scale-base);--pagination-select-width:88px;--pagination-size:var(--pagination-medium);--pagination-small:24px;--pagination-medium:32px;--pagination-large:40px;color:var(--color);display:flex;flex-wrap:wrap;font-weight:var(--font-weight);justify-content:center}.br-pagination ul{align-items:center;display:flex;list-style:none;margin:0;padding:0}.br-pagination li{padding:0}.br-pagination.dark-mode .page{color:var(--color-dark)}.br-pagination.dark-mode .br-select .br-item label{color:var(--color-dark)}.br-pagination .page:not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}.br-pagination .page{align-items:center;border:1px solid rgba(0,0,0,0);border-radius:100em;color:var(--interactive);display:inline-flex;justify-content:center;margin:0 calc(var(--pagination-margin)*.5);min-height:var(--pagination-size);min-width:var(--pagination-size);padding:0 var(--spacing-scale-base);white-space:nowrap}.br-pagination .page.active{background:var(--active);color:var(--color-dark);font-weight:var(--font-weight-semi-bold)}.br-pagination .pagination-ellipsis{margin:0 calc(var(--pagination-margin)*.5);position:relative}.br-pagination .pagination-ellipsis .br-button{--button-size:var(--pagination-size)}.br-pagination .pagination-ellipsis .br-list::-webkit-scrollbar{height:var(--spacing-scale-base);width:var(--spacing-scale-base)}.br-pagination .pagination-ellipsis .br-list::-webkit-scrollbar-track{background:var(--gray-10)}.br-pagination .pagination-ellipsis .br-list::-webkit-scrollbar-thumb{background:var(--gray-30)}.br-pagination .pagination-ellipsis .br-list:hover::-webkit-scrollbar-thumb{background:var(--gray-40)}.br-pagination .pagination-ellipsis .br-list{max-height:220px;min-width:4em;overflow-y:auto;z-index:var(--z-index-layer-1)}.br-pagination.small{--pagination-size:var(--pagination-small)}.br-pagination.medium{--pagination-size:var(--pagination-medium)}.br-pagination.large{--pagination-size:var(--pagination-large)}.br-pagination .pagination-information{align-items:center;display:flex}.br-pagination .pagination-per-page,.br-pagination .pagination-go-to-page{align-items:center;display:flex}.br-pagination .pagination-per-page .br-input,.br-pagination .pagination-go-to-page .br-input{align-items:center;display:flex}.br-pagination .pagination-per-page .br-input label,.br-pagination .pagination-go-to-page .br-input label{font-weight:var(--font-weight-regular);margin-bottom:0;margin-right:var(--spacing-scale-base);padding-bottom:0}.br-pagination .pagination-per-page .br-input input,.br-pagination .pagination-go-to-page .br-input input{--input-size:var(--pagination-medium);padding-left:var(--spacing-scale-base);padding-right:calc(var(--spacing-scale-baseh) + 32px);text-align:right;width:var(--pagination-select-width)}.br-pagination .pagination-per-page .br-input input:not(:focus),.br-pagination .pagination-go-to-page .br-input input:not(:focus){border-color:rgba(0,0,0,0)}.br-pagination .pagination-per-page .br-list,.br-pagination .pagination-go-to-page .br-list{min-width:5em;right:0;width:auto}.br-pagination .pagination-arrows{align-items:center;display:flex}.br-pagination .br-select .br-input .br-button{bottom:auto;margin-top:0;position:absolute;right:var(--spacing-scale-half);top:auto;transform:none}.br-pagination .br-divider{border-right-width:var(--divider-size);border-top:0}.br-pagination.inverted,.br-pagination.dark-mode{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}.br-pagination.inverted.inverted .br-input,.br-pagination.inverted.inverted .br-input label,.br-pagination.inverted.dark-mode .br-input,.br-pagination.inverted.dark-mode .br-input label,.br-pagination.dark-mode.inverted .br-input,.br-pagination.dark-mode.inverted .br-input label,.br-pagination.dark-mode.dark-mode .br-input,.br-pagination.dark-mode.dark-mode .br-input label{--color:var(--color-dark);--focus-color:var(--focus-color-dark)}.br-pagination.inverted .page.active,.br-pagination.dark-mode .page.active{--interactive-rgb:var(--active-rgb);background-color:var(--background-light);color:var(--active)}.br-pagination .input-group .input-icon{display:none}.br-divider,hr{--divider-size:var(--surface-width-sm);border-color:var(--border-color);border-style:solid;border-width:0;border-top-width:var(--divider-size);display:block}.br-divider.content,hr.content{align-items:center;border:0;display:flex;justify-content:center}.br-divider.content::after,.br-divider.content::before,hr.content::after,hr.content::before{border-color:var(--border-color);border-style:solid;border-width:0;border-top-width:var(--divider-size);content:"";flex:1}.br-divider.content::after,hr.content::after{margin-left:var(--spacing-scale-base)}.br-divider.content::before,hr.content::before{margin-right:var(--spacing-scale-base)}.br-divider.vertical,hr.vertical{align-self:stretch;border-right-width:var(--divider-size);border-top-width:0}.br-divider.vertical.content,hr.vertical.content{flex-direction:column}.br-divider.vertical.content::after,.br-divider.vertical.content::before,hr.vertical.content::after,hr.vertical.content::before{border-right-width:var(--divider-size);border-top-width:0;margin:0}.br-divider.inverted,.br-divider.dark-mode,hr.inverted,hr.dark-mode{--border-color:var(--pure-0)}.br-divider.dashed,hr.dashed{border-style:dashed}.br-divider.sm,hr.sm{--divider-size:var(--surface-width-sm)}hr{--divider-padding:var(--spacing-scale-2x);margin:var(--divider-padding) 0}:host{display:block}:host .pagination-ellipsis br-list{max-height:none;overflow:visible}:host .pagination-ellipsis br-list.has-scroll{max-height:220px;overflow-y:auto}:host .pagination-ellipsis br-list.has-scroll::-webkit-scrollbar{height:var(--spacing-scale-base);width:var(--spacing-scale-base)}:host .pagination-ellipsis br-list.has-scroll::-webkit-scrollbar-track{background:var(--gray-10)}:host .pagination-ellipsis br-list.has-scroll::-webkit-scrollbar-thumb{background:var(--gray-30)}:host .pagination-ellipsis br-list.has-scroll:hover::-webkit-scrollbar-thumb{background:var(--gray-40)}:host .pagination-ellipsis .pagination-ellipsis-virtual-spacer{display:block;width:100%}:host .br-pagination button.page:not(.active){background-color:rgba(0,0,0,0)}:host([variant=contextual]) .br-pagination{justify-content:space-between}:host(:not([variant=contextual])) .br-pagination{justify-content:center}:host([variant=contextual]) .br-pagination ul{justify-content:center;width:100%}:host([color-mode=dark]) br-select{--color:var(--color-dark);--focus-color:var(--focus-color-dark)}:host([color-mode=dark]) br-select::part(label){color:var(--color-dark)}:host([color-mode=dark]) .br-pagination a.page:not(.active),:host([color-mode=dark]) .br-pagination button.page:not(.active){color:var(--color);background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.br-pagination.dark-mode .br-select .br-item label,.br-pagination.dark-mode .page{color:var(--color-dark);background-color:rgba(0,0,0,0)}:host([color-mode=dark]) .br-pagination a.page:not(.active):hover,:host([color-mode=dark]) .br-pagination a.page:not(.active):focus,:host([color-mode=dark]) .br-pagination a.page:not(.active):focus-visible,:host([color-mode=dark]) .br-pagination button.page:not(.active):hover,:host([color-mode=dark]) .br-pagination button.page:not(.active):focus,:host([color-mode=dark]) .br-pagination button.page:not(.active):focus-visible{color:var(--interactive)}.br-pagination .page:focus-visible{outline:var(--focus) var(--focus-style) var(--focus-width);outline-offset:var(--focus-offset)}.pagination-ellipsis br-button::part(button){--button-size:var(--pagination-size)}.pagination-ellipsis br-button:focus-visible{outline:var(--focus) var(--focus-style) var(--focus-width);outline-offset:var(--focus-offset);border-radius:50%}.br-pagination>ul{position:relative}:host([loading]) .br-pagination>ul>li.pagination-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;visibility:visible}:host([loading]) .br-pagination>ul>li.pagination-loading .pagination-loading{display:flex;align-items:center;justify-content:center}:host([loading]) .br-pagination>ul>li:not(.pagination-loading):not(:first-child):not(:last-child){visibility:hidden}.pagination-information{position:relative}.pagination-information .pagination-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.visually-hidden{position:absolute !important;height:1px;width:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}:host([color-mode=dark]) br-select::part(radio-label){color:var(--color-dark)}`;
37
+
38
+ const Pagination = class {
39
+ constructor(hostRef) {
40
+ index.registerInstance(this, hostRef);
41
+ this.pageChange = index.createEvent(this, "pageChange", 7);
42
+ this.brPaginationPageChange = index.createEvent(this, "brPaginationPageChange", 6);
43
+ this.perPageChange = index.createEvent(this, "perPageChange", 7);
44
+ this.brPaginationPerPageChange = index.createEvent(this, "brPaginationPerPageChange", 6);
45
+ /**
46
+ * Estado interno para responsividade. Verdadeiro quando viewport < sm.
47
+ */
48
+ this.isSmall = false;
49
+ /** Materializa as opções completas somente após a primeira abertura do seletor. */
50
+ this.goToOptionsReady = false;
51
+ this.goToSearchTerm = '';
52
+ /**
53
+ * Controla a janela visível de cada dropdown de reticências.
54
+ */
55
+ this.ellipsisScrollOffsets = {};
56
+ /**
57
+ * Altura efetiva dos itens do dropdown de reticências.
58
+ * O valor fixo é usado somente até a primeira medição válida do DOM.
59
+ */
60
+ this.ellipsisItemHeight = Pagination.ELLIPSIS_ITEM_HEIGHT_FALLBACK;
61
+ /**
62
+ * Identificador único do componente.
63
+ * Quando omitido, um valor é gerado automaticamente.
64
+ *
65
+ * > **Padrão:** valor único gerado por Helpers.generateUniqueId().
66
+ *
67
+ * > **Uso compartilhado:** mantenha esta descrição idêntica em todos os componentes que usam `customId`.
68
+ */
69
+ this.customId = Helpers.generateUniqueId();
70
+ /**
71
+ * Quantidade total de páginas (mínimo 1).
72
+ */
73
+ this.total = 1;
74
+ /**
75
+ * Página atual (1-indexada). Valores fora do intervalo serão ajustados.
76
+ */
77
+ this.current = 1;
78
+ /**
79
+ * Rótulo acessível do botão de página anterior.
80
+ */
81
+ this.previousLabel = 'Voltar página';
82
+ /**
83
+ * Rótulo acessível do botão de próxima página.
84
+ */
85
+ this.nextLabel = 'Página seguinte';
86
+ /**
87
+ * Rótulo acessível do botão de reticências que abre a lista de páginas ocultas.
88
+ */
89
+ this.ellipsisLabel = 'Abrir ou fechar a lista de paginação';
90
+ /**
91
+ * Define a densidade visual do componente.
92
+ *
93
+ * - `small`: Alta densidade (componente menor, mais compacto e com menos espaçamento).
94
+ * - `medium`: Densidade intermediária, padrão recomendado para a maioria dos casos.
95
+ * - `large`: Baixa densidade (componente maior, mais espaçamento e altura).
96
+ *
97
+ * > **Uso compartilhado:** mantenha esta descrição idêntica em todos os componentes que usam `density`.
98
+ */
99
+ this.density = 'medium';
100
+ /**
101
+ * Variante de renderização do componente.
102
+ * - `default`: paginação numérica (padrão)
103
+ * - `contextual`: paginação contextual com seletores e informação de itens
104
+ */
105
+ this.variant = 'default';
106
+ /**
107
+ * Mantém `current` e `perPage` sob controle da aplicação.
108
+ *
109
+ * Quando ativo, interações apenas emitem a intenção de mudança. A aplicação
110
+ * deve atualizar a propriedade correspondente após concluir seu processamento.
111
+ *
112
+ * @default false
113
+ */
114
+ this.controlled = false;
115
+ /** Indica que a página solicitada ainda está sendo carregada pelo consumidor.
116
+ * @default false
117
+ */
118
+ this.loading = false;
119
+ /**
120
+ * Itens por página (aplicável na variante contextual).
121
+ */
122
+ this.perPage = 10;
123
+ /**
124
+ * Opções disponíveis de itens por página (variante contextual).
125
+ */
126
+ this.perPageOptions = [10, 20, 30];
127
+ /**
128
+ * Rótulo do seletor de itens por página (variante contextual).
129
+ */
130
+ this.perPageLabel = 'Exibir';
131
+ /**
132
+ * Rótulo do seletor "ir para página" (variante contextual).
133
+ */
134
+ this.goToPageLabel = 'Página';
135
+ /**
136
+ * Sufixo textual para a informação de quantidade de itens (variante contextual).
137
+ */
138
+ this.itemsText = 'itens';
139
+ this.ellipsisScrollFrame = null;
140
+ this.pendingEllipsisScrollOffsets = {};
141
+ this.pendingEllipsisFocus = null;
142
+ this.goToOptionsCache = null;
143
+ this.pendingGoToResetFrame = null;
144
+ this.goTo = (page) => {
145
+ if (this.loading)
146
+ return;
147
+ const next = this.clampPage(page);
148
+ if (next !== this.current) {
149
+ if (!this.controlled) {
150
+ this.current = next;
151
+ if (this.currentPage !== undefined)
152
+ this.currentPage = next;
153
+ }
154
+ this.pageChange.emit({ page: next });
155
+ this.brPaginationPageChange.emit({ page: next });
156
+ }
157
+ // Gerenciar foco após mudanças iniciadas pelo usuário
158
+ this.queueFocusAfterNavigation();
159
+ };
160
+ this.handlePrevClick = (event) => {
161
+ event.preventDefault();
162
+ if (this.current > 1) {
163
+ this.goTo(this.current - 1);
164
+ }
165
+ };
166
+ this.handleNextClick = (event) => {
167
+ event.preventDefault();
168
+ const maxPages = this.variant === 'contextual' ? this.getTotalPages() : this.getDefaultTotalPages();
169
+ if (this.current < maxPages) {
170
+ this.goTo(this.current + 1);
171
+ }
172
+ };
173
+ this.handlePageClickFactory = (page) => {
174
+ return (event) => {
175
+ event.preventDefault();
176
+ if (this.loading)
177
+ return;
178
+ this.lastInteraction = 'number';
179
+ this.goTo(page);
180
+ };
181
+ };
182
+ this.handleEllipsisItemClickFactory = (page) => {
183
+ return () => {
184
+ if (this.loading)
185
+ return;
186
+ this.lastInteraction = 'ellipsis';
187
+ this.goTo(page);
188
+ };
189
+ };
190
+ this.handlePageKeyDown = (ev) => {
191
+ const target = ev.target;
192
+ // Aceita tanto o botão de página quanto o botão de reticências
193
+ if (!(target?.matches('button.page[part="page"]') || target?.matches('.pagination-ellipsis br-button[slot="trigger"]'))) {
194
+ return;
195
+ }
196
+ const buttons = this.getVisiblePageButtons();
197
+ const idx = buttons.indexOf(target);
198
+ if (idx === -1)
199
+ return;
200
+ switch (ev.key) {
201
+ case 'ArrowRight':
202
+ case 'ArrowDown':
203
+ ev.preventDefault();
204
+ this.focusPageButtonByIndex(idx + 1);
205
+ break;
206
+ case 'ArrowLeft':
207
+ case 'ArrowUp':
208
+ ev.preventDefault();
209
+ this.focusPageButtonByIndex(idx - 1);
210
+ break;
211
+ case 'Home':
212
+ ev.preventDefault();
213
+ this.focusPageButtonByIndex(0);
214
+ break;
215
+ case 'End':
216
+ ev.preventDefault();
217
+ this.focusPageButtonByIndex(buttons.length - 1);
218
+ break;
219
+ }
220
+ };
221
+ this.handleEllipsisScrollFactory = (key, totalItems) => {
222
+ return (event) => {
223
+ const list = event.currentTarget;
224
+ if (list === null)
225
+ return;
226
+ this.pendingEllipsisScrollOffsets[key] = list.scrollTop;
227
+ if (this.ellipsisScrollFrame !== null)
228
+ return;
229
+ this.ellipsisScrollFrame = requestAnimationFrame(() => {
230
+ this.ellipsisScrollFrame = null;
231
+ const offsets = this.pendingEllipsisScrollOffsets;
232
+ this.pendingEllipsisScrollOffsets = {};
233
+ Object.entries(offsets).forEach(([offsetKey, scrollTop]) => {
234
+ this.setEllipsisScrollOffset(offsetKey, scrollTop, totalItems);
235
+ });
236
+ });
237
+ };
238
+ };
239
+ this.handleEllipsisItemKeyDownFactory = (key, totalItems) => {
240
+ return (event) => {
241
+ const item = event.currentTarget;
242
+ const pageIndex = Number(item?.getAttribute('data-page-index'));
243
+ if (item === null || !Number.isInteger(pageIndex))
244
+ return;
245
+ if (event.key === 'Escape') {
246
+ event.preventDefault();
247
+ event.stopImmediatePropagation();
248
+ this.handleEllipsisEscape(item, key);
249
+ return;
250
+ }
251
+ this.handleEllipsisBoundaryNavigation(event, key, totalItems, pageIndex);
252
+ };
253
+ };
254
+ this.handlePerPageChange = (event) => {
255
+ if (this.loading)
256
+ return;
257
+ const value = Number(event.detail);
258
+ // Ignora se o valor não for um número finito ou não tiver mudado
259
+ if (!Number.isFinite(value) || value === this.perPage) {
260
+ return;
261
+ }
262
+ const nextPerPage = Math.max(1, value);
263
+ if (!this.controlled) {
264
+ this.perPage = nextPerPage;
265
+ this.current = this.clampPage(this.current); // Ajusta a página atual
266
+ }
267
+ const detail = { perPage: nextPerPage };
268
+ this.perPageChange.emit(detail);
269
+ this.brPaginationPerPageChange.emit(detail);
270
+ // Gerencia o foco após a interação
271
+ this.lastInteraction = 'perPage';
272
+ this.queueFocusAfterNavigation();
273
+ };
274
+ this.handleGoToPageChange = (event) => {
275
+ if (this.loading)
276
+ return;
277
+ const value = Number(event.detail);
278
+ if (this.pendingGoToPage !== undefined)
279
+ return;
280
+ // O fallback para this.current garante que não tentemos navegar para NaN.
281
+ const next = this.clampPage(Number.isFinite(value) ? value : this.current);
282
+ if (next !== this.current) {
283
+ this.lastInteraction = 'goTo';
284
+ this.pendingGoToPage = next;
285
+ if (this.pendingGoToResetFrame !== null)
286
+ cancelAnimationFrame(this.pendingGoToResetFrame);
287
+ this.pendingGoToResetFrame = requestAnimationFrame(() => {
288
+ this.pendingGoToResetFrame = null;
289
+ this.pendingGoToPage = undefined;
290
+ });
291
+ this.goTo(next);
292
+ }
293
+ };
294
+ this.handleGoToSelectOpened = () => {
295
+ if (this.goToOptionsReady)
296
+ return;
297
+ this.goToOptionsReady = true;
298
+ };
299
+ }
300
+ handleTotalChange() {
301
+ this.goToOptionsCache = null;
302
+ this.goToOptionsReady = false;
303
+ this.resetAllEllipsisScrollOffsets();
304
+ this.current = this.clampPage(this.current);
305
+ }
306
+ handleTotalPagesChange(newValue) {
307
+ this.goToOptionsCache = null;
308
+ this.goToOptionsReady = false;
309
+ if (newValue !== undefined && newValue !== this.total)
310
+ this.total = newValue;
311
+ }
312
+ handleCurrentChange(newValue) {
313
+ this.resetAllEllipsisScrollOffsets();
314
+ const clamped = this.clampPage(newValue);
315
+ if (clamped !== newValue) {
316
+ this.current = clamped;
317
+ }
318
+ if (this.currentPage !== undefined && this.currentPage !== clamped)
319
+ this.currentPage = clamped;
320
+ }
321
+ handleCurrentPageChange(newValue) {
322
+ if (newValue !== undefined && newValue !== this.current)
323
+ this.current = newValue;
324
+ }
325
+ handlePerPagePropChange(newValue) {
326
+ this.goToOptionsCache = null;
327
+ this.goToOptionsReady = false;
328
+ if (this.variant !== 'contextual')
329
+ return;
330
+ const nextPerPage = Math.max(1, Number(newValue) || 1);
331
+ if (nextPerPage !== newValue) {
332
+ this.perPage = nextPerPage;
333
+ return;
334
+ }
335
+ this.current = this.clampPage(this.current);
336
+ }
337
+ handleTotalItemsChange() {
338
+ this.goToOptionsCache = null;
339
+ this.goToOptionsReady = false;
340
+ if (this.variant !== 'contextual')
341
+ return;
342
+ this.current = this.clampPage(this.current);
343
+ }
344
+ handleDensityChange() {
345
+ this.ellipsisScrollOffsets = {};
346
+ this.pendingEllipsisFocus = null;
347
+ this.ellipsisItemHeight = this.computeItemHeightForDensity();
348
+ }
349
+ connectedCallback() {
350
+ this.setupMediaQuery();
351
+ }
352
+ disconnectedCallback() {
353
+ this.cleanupMediaQuery();
354
+ this.pendingEllipsisFocus = null;
355
+ if (this.ellipsisScrollFrame !== null) {
356
+ cancelAnimationFrame(this.ellipsisScrollFrame);
357
+ this.ellipsisScrollFrame = null;
358
+ }
359
+ if (this.pendingGoToResetFrame !== null) {
360
+ cancelAnimationFrame(this.pendingGoToResetFrame);
361
+ this.pendingGoToResetFrame = null;
362
+ }
363
+ this.pendingGoToPage = undefined;
364
+ }
365
+ componentWillLoad() {
366
+ if (this.totalPages !== undefined)
367
+ this.total = this.totalPages;
368
+ if (this.currentPage !== undefined)
369
+ this.current = this.currentPage;
370
+ this.current = this.clampPage(this.current);
371
+ }
372
+ componentDidLoad() {
373
+ this.ellipsisItemHeight = this.computeItemHeightForDensity();
374
+ }
375
+ componentDidRender() {
376
+ this.flushPendingEllipsisFocus();
377
+ }
378
+ /**
379
+ * Define programaticamente a página atual dentro do intervalo permitido.
380
+ * @param page Página desejada (1-indexada).
381
+ * Em `controlled`, emite a solicitação sem alterar `current`.
382
+ */
383
+ async setPage(page) {
384
+ this.goTo(page);
385
+ }
386
+ /**
387
+ * Solicita navegação programática para uma página (1-indexada).
388
+ * Em `controlled`, aguarda a confirmação externa para alterar `current`.
389
+ */
390
+ async goToPage(page) {
391
+ this.goTo(page);
392
+ }
393
+ // Calcula a altura do item com base nos tokens de density do GovBR-DS.
394
+ // py-3 = spacing-scale-2x (medium), py-4 = spacing-scale-3x (large), base para small.
395
+ computeItemHeightForDensity() {
396
+ if (typeof window === 'undefined')
397
+ return Pagination.ELLIPSIS_ITEM_HEIGHT_FALLBACK;
398
+ const style = getComputedStyle(this.el);
399
+ const spacingBase = parseFloat(style.getPropertyValue('--spacing-scale-base'));
400
+ const fontSize = parseFloat(style.getPropertyValue('--font-size-scale-base'));
401
+ const lineHeight = parseFloat(style.getPropertyValue('--font-line-height-medium'));
402
+ if (!Number.isFinite(spacingBase) || !Number.isFinite(fontSize) || !Number.isFinite(lineHeight)) {
403
+ return Pagination.ELLIPSIS_ITEM_HEIGHT_FALLBACK;
404
+ }
405
+ const paddingY = this.density === 'large' ? spacingBase * 3 : this.density === 'medium' ? spacingBase * 2 : spacingBase;
406
+ return Math.ceil(fontSize * lineHeight + paddingY * 2);
407
+ }
408
+ setupMediaQuery() {
409
+ if (typeof window === 'undefined' || typeof window.matchMedia !== 'function')
410
+ return;
411
+ const query = '(max-width: 575.98px)';
412
+ this.cleanupMediaQuery();
413
+ try {
414
+ this.mqlSmall = window.matchMedia(query);
415
+ this.isSmall = this.mqlSmall.matches;
416
+ this.mqlSmallHandler = (event) => {
417
+ this.isSmall = event.matches;
418
+ };
419
+ const legacyMediaQueryList = this.mqlSmall;
420
+ if (typeof this.mqlSmall.addEventListener === 'function') {
421
+ this.mqlSmall.addEventListener('change', this.mqlSmallHandler);
422
+ }
423
+ else if (typeof legacyMediaQueryList.addListener === 'function') {
424
+ legacyMediaQueryList.addListener(this.mqlSmallHandler);
425
+ }
426
+ }
427
+ catch {
428
+ console.warn(`Media Query "${query}" is not supported in this browser.`);
429
+ this.mqlSmall = undefined;
430
+ this.mqlSmallHandler = undefined;
431
+ this.isSmall = false;
432
+ }
433
+ }
434
+ cleanupMediaQuery() {
435
+ if (this.mqlSmall === undefined || this.mqlSmallHandler === undefined) {
436
+ this.mqlSmall = undefined;
437
+ this.mqlSmallHandler = undefined;
438
+ return;
439
+ }
440
+ if (typeof this.mqlSmall.removeEventListener === 'function') {
441
+ this.mqlSmall.removeEventListener('change', this.mqlSmallHandler);
442
+ }
443
+ else {
444
+ const legacyMediaQueryList = this.mqlSmall;
445
+ if (typeof legacyMediaQueryList.removeListener === 'function') {
446
+ legacyMediaQueryList.removeListener(this.mqlSmallHandler);
447
+ }
448
+ }
449
+ this.mqlSmall = undefined;
450
+ this.mqlSmallHandler = undefined;
451
+ }
452
+ getCssClassMap() {
453
+ return {
454
+ 'br-pagination': true,
455
+ small: this.density === 'small',
456
+ large: this.density === 'large',
457
+ medium: this.density === 'medium',
458
+ 'dark-mode': this.colorMode === 'dark',
459
+ };
460
+ }
461
+ getDefaultTotalPages() {
462
+ return Math.max(1, Number(this.totalPages ?? this.total) || 1);
463
+ }
464
+ clampPage(value) {
465
+ const total = this.variant === 'contextual' ? this.getTotalPages() : this.getDefaultTotalPages();
466
+ const clampedValue = Math.max(1, Number(value) || 1);
467
+ return Math.min(clampedValue, total);
468
+ }
469
+ getVisiblePageButtons() {
470
+ const root = this.el.shadowRoot;
471
+ if (root === null)
472
+ return [];
473
+ return Array.from(root.querySelectorAll('button.page[part="page"], .pagination-ellipsis br-button[slot="trigger"]'));
474
+ }
475
+ focusPageButtonByIndex(index) {
476
+ const buttons = this.getVisiblePageButtons();
477
+ if (buttons.length === 0)
478
+ return;
479
+ const clamped = Math.max(0, Math.min(index, buttons.length - 1));
480
+ const btn = buttons[clamped];
481
+ // Garantir roving tabindex
482
+ buttons.forEach((b, i) => {
483
+ b.tabIndex = i === clamped ? 0 : -1;
484
+ });
485
+ btn.focus();
486
+ }
487
+ queueFocusAfterNavigation() {
488
+ // Diferir para após renderização (fallback em ambientes sem RAF)
489
+ const defer = typeof requestAnimationFrame === 'function'
490
+ ? requestAnimationFrame
491
+ : (cb) => setTimeout(() => cb(0), 0);
492
+ defer(() => {
493
+ if (this.variant === 'contextual') {
494
+ this.lastInteraction = undefined;
495
+ return;
496
+ }
497
+ // Variant default: focar no botão da página atual ao vir de reticências
498
+ if (this.lastInteraction === 'ellipsis' || this.lastInteraction === 'number') {
499
+ const buttons = this.getVisiblePageButtons();
500
+ const currentBtn = buttons.find((b) => b.getAttribute('aria-current') === 'page');
501
+ if (currentBtn !== null && currentBtn !== undefined) {
502
+ // Roving tabindex: somente o atual recebe 0
503
+ buttons.forEach((b) => {
504
+ b.tabIndex = b === currentBtn ? 0 : -1;
505
+ });
506
+ currentBtn.focus();
507
+ }
508
+ }
509
+ this.lastInteraction = undefined;
510
+ });
511
+ }
512
+ getComputedNavAriaLabel() {
513
+ // Respeita o valor fornecido externamente
514
+ if (this.ariaLabel && String(this.ariaLabel).trim().length > 0)
515
+ return this.ariaLabel;
516
+ const totalPages = this.variant === 'contextual' ? this.getTotalPages() : this.getDefaultTotalPages();
517
+ return `Paginação: página ${this.current} de ${totalPages}`;
518
+ }
519
+ renderPageButton(page) {
520
+ return (index.h("li", { key: page }, index.h("button", { part: "page", class: { page: true, active: page === this.current }, "aria-label": `Página ${page}`, "aria-current": page === this.current ? 'page' : null, type: "button", tabIndex: page === this.current ? 0 : -1, onClick: this.handlePageClickFactory(page), onKeyDown: this.handlePageKeyDown, disabled: this.loading }, page)));
521
+ }
522
+ getEllipsisRangeKey(position, from, to) {
523
+ return `${position}:${from}:${to}`;
524
+ }
525
+ resetAllEllipsisScrollOffsets() {
526
+ this.pendingEllipsisFocus = null;
527
+ if (Object.keys(this.ellipsisScrollOffsets).length === 0)
528
+ return;
529
+ this.ellipsisScrollOffsets = {};
530
+ }
531
+ resetEllipsisScrollOffset(key) {
532
+ if (this.pendingEllipsisFocus?.key === key) {
533
+ this.pendingEllipsisFocus = null;
534
+ }
535
+ if (!(key in this.ellipsisScrollOffsets))
536
+ return;
537
+ const nextOffsets = { ...this.ellipsisScrollOffsets };
538
+ delete nextOffsets[key];
539
+ this.ellipsisScrollOffsets = nextOffsets;
540
+ }
541
+ getEllipsisMetrics(key, totalItems) {
542
+ const itemHeight = this.ellipsisItemHeight;
543
+ const safeTotalItems = Math.max(0, totalItems);
544
+ const shouldVirtualize = safeTotalItems > Pagination.ELLIPSIS_VISIBLE_ITEMS;
545
+ const visibleItems = Math.min(safeTotalItems, Pagination.ELLIPSIS_VISIBLE_ITEMS);
546
+ const viewportHeight = visibleItems * itemHeight;
547
+ const maxScrollTop = Math.max(0, safeTotalItems * itemHeight - viewportHeight);
548
+ const storedScrollTop = shouldVirtualize ? (this.ellipsisScrollOffsets[key] ?? 0) : 0;
549
+ const scrollTop = Math.min(Math.max(0, storedScrollTop), maxScrollTop);
550
+ if (safeTotalItems === 0) {
551
+ return {
552
+ shouldVirtualize,
553
+ visibleItems,
554
+ scrollTop: 0,
555
+ renderedStartIndex: 0,
556
+ renderedEndIndex: -1,
557
+ viewportHeight,
558
+ };
559
+ }
560
+ const firstVisibleIndex = Math.min(safeTotalItems - 1, Math.floor(scrollTop / itemHeight));
561
+ const lastVisibleIndex = shouldVirtualize
562
+ ? Math.min(safeTotalItems - 1, Math.ceil((scrollTop + viewportHeight) / itemHeight) - 1)
563
+ : safeTotalItems - 1;
564
+ const renderedStartIndex = shouldVirtualize
565
+ ? Math.max(0, Math.min(safeTotalItems - 1, firstVisibleIndex - Pagination.ELLIPSIS_OVERSCAN))
566
+ : 0;
567
+ const renderedEndIndex = shouldVirtualize
568
+ ? Math.max(renderedStartIndex, Math.min(safeTotalItems - 1, lastVisibleIndex + Pagination.ELLIPSIS_OVERSCAN))
569
+ : safeTotalItems - 1;
570
+ return {
571
+ shouldVirtualize,
572
+ visibleItems,
573
+ scrollTop,
574
+ renderedStartIndex,
575
+ renderedEndIndex,
576
+ viewportHeight,
577
+ };
578
+ }
579
+ setEllipsisScrollOffset(key, scrollTop, totalItems) {
580
+ const viewportHeight = Math.min(totalItems ?? 0, Pagination.ELLIPSIS_VISIBLE_ITEMS) * this.ellipsisItemHeight;
581
+ const maxScrollTop = totalItems === undefined
582
+ ? Number.POSITIVE_INFINITY
583
+ : Math.max(0, totalItems * this.ellipsisItemHeight - viewportHeight);
584
+ const nextScrollTop = Math.min(Math.max(0, scrollTop), maxScrollTop);
585
+ if ((this.ellipsisScrollOffsets[key] ?? 0) === nextScrollTop)
586
+ return;
587
+ this.ellipsisScrollOffsets = {
588
+ ...this.ellipsisScrollOffsets,
589
+ [key]: nextScrollTop,
590
+ };
591
+ }
592
+ getEllipsisListElement(key) {
593
+ return (this.el.shadowRoot?.querySelector(`.pagination-ellipsis[data-ellipsis-key="${key}"] br-list`) ?? null);
594
+ }
595
+ focusEllipsisItemNow(key, pageIndex) {
596
+ const item = this.el.shadowRoot?.querySelector(`.pagination-ellipsis[data-ellipsis-key="${key}"] br-item[data-page-index="${pageIndex}"]`);
597
+ if (item === null || item === undefined)
598
+ return false;
599
+ if ('setFocus' in item) {
600
+ void item.setFocus();
601
+ return true;
602
+ }
603
+ item.focus();
604
+ return true;
605
+ }
606
+ flushPendingEllipsisFocus() {
607
+ const pendingFocus = this.pendingEllipsisFocus;
608
+ if (pendingFocus === null)
609
+ return;
610
+ const list = this.getEllipsisListElement(pendingFocus.key);
611
+ if (list === null)
612
+ return;
613
+ list.scrollTop = pendingFocus.scrollTop;
614
+ if (!this.focusEllipsisItemNow(pendingFocus.key, pendingFocus.pageIndex)) {
615
+ return;
616
+ }
617
+ this.pendingEllipsisFocus = null;
618
+ }
619
+ ensureEllipsisItemVisible(key, totalItems, pageIndex) {
620
+ const { scrollTop, viewportHeight } = this.getEllipsisMetrics(key, totalItems);
621
+ const itemHeight = this.ellipsisItemHeight;
622
+ const maxScrollTop = Math.max(0, totalItems * itemHeight - viewportHeight);
623
+ const itemTop = pageIndex * itemHeight;
624
+ const itemBottom = itemTop + itemHeight;
625
+ let nextScrollTop = scrollTop;
626
+ if (itemTop < scrollTop) {
627
+ nextScrollTop = itemTop;
628
+ }
629
+ else if (itemBottom > scrollTop + viewportHeight) {
630
+ nextScrollTop = itemBottom - viewportHeight;
631
+ }
632
+ nextScrollTop = Math.min(Math.max(0, nextScrollTop), maxScrollTop);
633
+ if (nextScrollTop !== scrollTop) {
634
+ this.pendingEllipsisFocus = {
635
+ key,
636
+ pageIndex,
637
+ scrollTop: nextScrollTop,
638
+ };
639
+ this.setEllipsisScrollOffset(key, nextScrollTop, totalItems);
640
+ return;
641
+ }
642
+ this.focusEllipsisItemNow(key, pageIndex);
643
+ }
644
+ getEllipsisBoundaryNavigationIndex(eventKey, pageIndex, totalItems, visibleItems, renderedStartIndex, renderedEndIndex) {
645
+ if (eventKey === 'Home')
646
+ return 0;
647
+ if (eventKey === 'End')
648
+ return totalItems - 1;
649
+ if (eventKey === 'PageDown')
650
+ return Math.min(totalItems - 1, pageIndex + visibleItems);
651
+ if (eventKey === 'PageUp')
652
+ return Math.max(0, pageIndex - visibleItems);
653
+ if (eventKey === 'ArrowDown') {
654
+ if (pageIndex === totalItems - 1)
655
+ return pageIndex;
656
+ if (pageIndex + 1 > renderedEndIndex)
657
+ return pageIndex + 1;
658
+ }
659
+ if (eventKey === 'ArrowUp') {
660
+ if (pageIndex === 0)
661
+ return pageIndex;
662
+ if (pageIndex - 1 < renderedStartIndex)
663
+ return pageIndex - 1;
664
+ }
665
+ return null;
666
+ }
667
+ handleEllipsisEscape(item, key) {
668
+ this.resetEllipsisScrollOffset(key);
669
+ const dropdown = item.closest('br-dropdown');
670
+ void dropdown?.hide();
671
+ }
672
+ handleEllipsisBoundaryNavigation(event, key, totalItems, pageIndex) {
673
+ const { visibleItems, renderedStartIndex, renderedEndIndex } = this.getEllipsisMetrics(key, totalItems);
674
+ const nextIndex = this.getEllipsisBoundaryNavigationIndex(event.key, pageIndex, totalItems, visibleItems, renderedStartIndex, renderedEndIndex);
675
+ if (nextIndex === null)
676
+ return;
677
+ event.preventDefault();
678
+ event.stopImmediatePropagation();
679
+ if (nextIndex === pageIndex)
680
+ return;
681
+ this.ensureEllipsisItemVisible(key, totalItems, nextIndex);
682
+ }
683
+ renderEllipsis(from, to, position) {
684
+ if (to < from)
685
+ return null;
686
+ const totalItems = to - from + 1;
687
+ const key = this.getEllipsisRangeKey(position, from, to);
688
+ const { shouldVirtualize, renderedStartIndex, renderedEndIndex, viewportHeight } = this.getEllipsisMetrics(key, totalItems);
689
+ const items = [];
690
+ for (let pageIndex = renderedStartIndex; pageIndex <= renderedEndIndex; pageIndex++) {
691
+ const page = from + pageIndex;
692
+ items.push(index.h("br-item", { key: `ellipsis-item-${key}-${page}`, "data-page-index": pageIndex, "prop:density": this.density, isButton: true, role: "menuitem", "aria-posinset": pageIndex + 1, "aria-setsize": totalItems, onBrDidClick: this.handleEllipsisItemClickFactory(page), onKeyDown: this.handleEllipsisItemKeyDownFactory(key, totalItems), "aria-label": `Página ${page}` }, page));
693
+ }
694
+ const topSpacerHeight = renderedStartIndex * this.ellipsisItemHeight;
695
+ const bottomSpacerHeight = Math.max(0, totalItems - renderedEndIndex - 1) * this.ellipsisItemHeight;
696
+ return (index.h("li", { class: "pagination-ellipsis", part: "ellipsis", key: `ellipsis-${key}`, "data-ellipsis-key": key, "data-ellipsis-position": position }, index.h("br-dropdown", null, index.h("br-button", { part: "ellipsis", exportparts: "button: ellipsis-button", slot: "trigger", shape: "circle", type: "button", "prop:ariaLabel": this.ellipsisLabel, tabIndex: -1, disabled: this.loading, onClick: () => {
697
+ this.resetEllipsisScrollOffset(key);
698
+ }, onKeyDown: this.handlePageKeyDown }, index.h("br-icon", { "attr:iconName": "fa6-solid:ellipsis", width: "16", height: "16", "aria-hidden": "true" }), index.h("span", { class: "visually-hidden" }, this.ellipsisLabel)), index.h("br-list", { class: { 'has-scroll': shouldVirtualize, 'is-virtualized': shouldVirtualize }, slot: "target", role: "menu", "aria-label": `Páginas ocultas de ${from} até ${to}`, "aria-orientation": "vertical", onScroll: shouldVirtualize ? this.handleEllipsisScrollFactory(key, totalItems) : undefined, style: shouldVirtualize ? { maxHeight: `${viewportHeight}px` } : undefined }, shouldVirtualize && topSpacerHeight > 0 ? (index.h("div", { class: "pagination-ellipsis-virtual-spacer", role: "presentation", "aria-hidden": "true", style: { height: `${topSpacerHeight}px` } })) : null, items, shouldVirtualize && bottomSpacerHeight > 0 ? (index.h("div", { class: "pagination-ellipsis-virtual-spacer", role: "presentation", "aria-hidden": "true", style: { height: `${bottomSpacerHeight}px` } })) : null))));
699
+ }
700
+ renderPagesSmall(total, current) {
701
+ const nodes = [];
702
+ if (total <= 3) {
703
+ for (let p = 1; p <= total; p++)
704
+ nodes.push(this.renderPageButton(p));
705
+ return nodes;
706
+ }
707
+ if (current <= 2) {
708
+ nodes.push(this.renderPageButton(1));
709
+ nodes.push(this.renderPageButton(2));
710
+ nodes.push(this.renderEllipsis(3, total - 1, 'start'));
711
+ nodes.push(this.renderPageButton(total));
712
+ return nodes;
713
+ }
714
+ if (current >= total - 1) {
715
+ nodes.push(this.renderPageButton(1));
716
+ nodes.push(this.renderEllipsis(2, total - 2, 'end'));
717
+ nodes.push(this.renderPageButton(total - 1));
718
+ nodes.push(this.renderPageButton(total));
719
+ return nodes;
720
+ }
721
+ nodes.push(this.renderPageButton(1));
722
+ nodes.push(this.renderEllipsis(2, current - 1, 'left'));
723
+ nodes.push(this.renderPageButton(current));
724
+ nodes.push(this.renderEllipsis(current + 1, total - 1, 'right'));
725
+ nodes.push(this.renderPageButton(total));
726
+ return nodes;
727
+ }
728
+ renderPagesStandard(total, current) {
729
+ const nodes = [];
730
+ if (total <= 7) {
731
+ for (let p = 1; p <= total; p++)
732
+ nodes.push(this.renderPageButton(p));
733
+ return nodes;
734
+ }
735
+ if (current <= 4) {
736
+ for (let p = 1; p <= 4; p++)
737
+ nodes.push(this.renderPageButton(p));
738
+ nodes.push(this.renderEllipsis(5, total - 1, 'start'));
739
+ nodes.push(this.renderPageButton(total));
740
+ return nodes;
741
+ }
742
+ if (current >= total - 3) {
743
+ nodes.push(this.renderPageButton(1));
744
+ nodes.push(this.renderEllipsis(2, total - 4, 'end'));
745
+ for (let p = total - 3; p <= total; p++)
746
+ nodes.push(this.renderPageButton(p));
747
+ return nodes;
748
+ }
749
+ nodes.push(this.renderPageButton(1));
750
+ nodes.push(this.renderEllipsis(2, current - 2, 'left'));
751
+ for (let p = current - 1; p <= current + 1; p++)
752
+ nodes.push(this.renderPageButton(p));
753
+ nodes.push(this.renderEllipsis(current + 2, total - 1, 'right'));
754
+ nodes.push(this.renderPageButton(total));
755
+ return nodes;
756
+ }
757
+ renderPages() {
758
+ const total = this.getDefaultTotalPages();
759
+ const current = this.clampPage(this.current);
760
+ return this.isSmall ? this.renderPagesSmall(total, current) : this.renderPagesStandard(total, current);
761
+ }
762
+ renderLoading() {
763
+ if (!this.loading)
764
+ return null;
765
+ return (index.h("span", { part: "loading", class: "pagination-loading", role: "status", "aria-live": "polite", "aria-label": "Carregando" }, index.h("slot", { name: "loading" }, index.h("br-loading", { size: "small", compact: true, label: "Carregando" }))));
766
+ }
767
+ getTotalPages() {
768
+ const items = Math.max(0, Number(this.totalItems) || 0);
769
+ const perPage = Math.max(1, Number(this.perPage) || 1);
770
+ return Math.max(1, Math.ceil(items / perPage));
771
+ }
772
+ getRangeInfo() {
773
+ const total = Math.max(0, Number(this.totalItems) || 0);
774
+ const perPage = Math.max(1, Number(this.perPage) || 1);
775
+ const current = this.clampPage(this.current);
776
+ if (total === 0)
777
+ return { start: 0, end: 0, total };
778
+ const start = (current - 1) * perPage + 1;
779
+ const end = Math.min(current * perPage, total);
780
+ return { start, end, total };
781
+ }
782
+ handleContextualSelectChange(event) {
783
+ const select = event
784
+ .composedPath()
785
+ .find((node) => node instanceof HTMLElement && node.tagName === 'BR-SELECT');
786
+ if (!(select instanceof HTMLElement) || select.tagName !== 'BR-SELECT')
787
+ return;
788
+ const container = select.parentElement;
789
+ if (container?.classList.contains('pagination-per-page'))
790
+ this.handlePerPageChange(event);
791
+ else if (container?.classList.contains('pagination-go-to-page'))
792
+ this.handleGoToPageChange(event);
793
+ }
794
+ renderPerPageDropdown() {
795
+ return (index.h("br-select", { part: "per-page", exportparts: "container: per-page-container, input: per-page-input, input-container: per-page-input-container, input-field: per-page-input-field, input-action: per-page-input-action, list: per-page-list", label: this.perPageLabel, isInline: true, inputWidth: "88px", borderless: true, disabled: this.loading }, this.perPageOptions.map((perPageOption) => (index.h("br-select-option", { key: String(perPageOption), value: String(perPageOption), selected: perPageOption === this.perPage }, perPageOption)))));
796
+ }
797
+ renderPerPageSelect() {
798
+ return (index.h("div", { class: "pagination-per-page", part: "per-page" }, this.renderPerPageDropdown()));
799
+ }
800
+ renderGoToSelect() {
801
+ const totalPages = this.getTotalPages();
802
+ const largePageSet = totalPages > Pagination.LARGE_PAGE_THRESHOLD;
803
+ const goToInputWidth = `${Math.max(88, String(totalPages).length * 16 + 48)}px`;
804
+ return (index.h("div", { class: "pagination-go-to-page d-none d-sm-flex ml-auto" }, index.h("br-select", { part: "go-to", exportparts: "container: go-to-container, input: go-to-input, input-container: go-to-input-container, input-field: go-to-input-field, input-action: go-to-input-action, list: go-to-list", label: this.goToPageLabel, options: largePageSet
805
+ ? this.getWindowedGoToOptions(totalPages, this.goToSearchTerm)
806
+ : this.goToOptionsReady
807
+ ? this.getGoToOptions(totalPages)
808
+ : this.getCurrentGoToOption(totalPages), onOpened: this.handleGoToSelectOpened, onClosed: () => (this.goToSearchTerm = ''), onBrSelectSearch: (event) => (this.goToSearchTerm = event.detail.query), value: String(this.current), isInline: true, inputWidth: goToInputWidth, "visible-items": 7, filterable: true, searchMode: largePageSet ? 'remote' : 'local', borderless: true, disabled: this.loading })));
809
+ }
810
+ getWindowedGoToOptions(totalPages, query) {
811
+ const parsed = Number.parseInt(query.trim(), 10);
812
+ const center = Number.isInteger(parsed) && parsed >= 1 && parsed <= totalPages ? parsed : this.current;
813
+ const radius = query.trim() ? 10 : 50;
814
+ const pages = new Set([1, totalPages]);
815
+ if (!query.trim())
816
+ pages.add(Math.min(Math.max(this.current, 1), totalPages));
817
+ for (let page = center - radius; page <= center + radius; page++) {
818
+ if (page >= 1 && page <= totalPages)
819
+ pages.add(page);
820
+ }
821
+ if (query.trim() && (!Number.isInteger(parsed) || parsed < 1 || parsed > totalPages))
822
+ return [];
823
+ return [...pages]
824
+ .sort((a, b) => a - b)
825
+ .map((page) => ({ value: String(page), label: String(page), selected: page === this.current }));
826
+ }
827
+ getCurrentGoToOption(totalPages) {
828
+ const current = Math.min(Math.max(this.current, 1), totalPages);
829
+ return [{ value: String(current), label: String(current), selected: true }];
830
+ }
831
+ getGoToOptions(totalPages) {
832
+ if (this.goToOptionsCache !== null && this.goToOptionsCache.length === totalPages) {
833
+ return this.goToOptionsCache;
834
+ }
835
+ this.goToOptionsCache = Array.from({ length: totalPages }, (_, index) => {
836
+ const page = index + 1;
837
+ return { value: String(page), label: String(page) };
838
+ });
839
+ return this.goToOptionsCache;
840
+ }
841
+ renderContextual() {
842
+ const { start, end, total } = this.getRangeInfo();
843
+ const totalPages = this.getTotalPages();
844
+ return (index.h("nav", { part: "nav", class: this.getCssClassMap(), "aria-busy": this.loading ? 'true' : null, "aria-label": this.getComputedNavAriaLabel(), tabIndex: -1, "data-total": total, "data-current": this.current, "data-per-page": this.perPage, id: this.customId }, this.renderPerPageSelect(), index.h("span", { class: "br-divider d-none d-sm-block mx-3" }), index.h("div", { class: "pagination-information d-none d-sm-flex", "aria-live": "polite" }, index.h("slot", { name: "pagination-info" }, index.h("span", { class: "current" }, start), "\u2013", index.h("span", { class: "per-page" }, end), "\u00A0de\u00A0", index.h("span", { class: "total" }, total), "\u00A0", this.itemsText), this.renderLoading()), this.renderGoToSelect(), index.h("span", { class: "br-divider d-none d-sm-block mx-3" }), index.h("div", { class: "pagination-arrows ml-auto ml-sm-0" }, index.h("br-button", { part: "prev-button", exportparts: "button: prev-button-inner", shape: "circle", density: this.density, type: "button", "data-previous-page": true, "prop:ariaLabel": this.previousLabel, onClick: this.handlePrevClick, disabled: this.loading || this.current <= 1 }, index.h("br-icon", { "attr:iconName": "fa6-solid:angle-left", width: "16", height: "16", "aria-hidden": "true" }), index.h("span", { class: "visually-hidden" }, this.previousLabel)), index.h("br-button", { part: "next-button", exportparts: "button: next-button-inner", shape: "circle", density: this.density, type: "button", "data-next-page": true, "prop:ariaLabel": this.nextLabel, onClick: this.handleNextClick, disabled: this.loading || this.current >= totalPages }, index.h("br-icon", { "attr:iconName": "fa6-solid:angle-right", width: "16", height: "16", "aria-hidden": "true" }), index.h("span", { class: "visually-hidden" }, this.nextLabel))), index.h("span", { class: "visually-hidden", "aria-live": "polite" }, "P\u00E1gina ", this.current, " de ", totalPages)));
845
+ }
846
+ render() {
847
+ if (this.variant === 'contextual') {
848
+ return index.h(index.Host, null, this.renderContextual());
849
+ }
850
+ const totalPages = this.getDefaultTotalPages();
851
+ return (index.h(index.Host, null, index.h("nav", { part: "nav", class: this.getCssClassMap(), "aria-busy": this.loading ? 'true' : null, "aria-label": this.getComputedNavAriaLabel(), tabIndex: -1, "data-total": totalPages, "data-current": this.current, id: this.customId }, index.h("ul", { part: "list" }, index.h("li", null, index.h("br-button", { part: "prev-button", exportparts: "button: prev-button-inner", shape: "circle", density: this.density, type: "button", "data-previous-page": true, "prop:ariaLabel": this.previousLabel, onClick: this.handlePrevClick, disabled: this.loading || this.current <= 1 }, index.h("br-icon", { "attr:iconName": "fa6-solid:angle-left", width: "16", height: "16", "aria-hidden": "true" }), index.h("span", { class: "visually-hidden" }, this.previousLabel))), this.renderPages(), this.loading ? (index.h("li", { part: "loading", class: "pagination-loading" }, this.renderLoading())) : null, index.h("li", null, index.h("br-button", { part: "next-button", exportparts: "button: next-button-inner", shape: "circle", density: this.density, type: "button", "data-next-page": true, "prop:ariaLabel": this.nextLabel, onClick: this.handleNextClick, disabled: this.loading || this.current >= totalPages }, index.h("br-icon", { "attr:iconName": "fa6-solid:angle-right", width: "16", height: "16", "aria-hidden": "true" }), index.h("span", { class: "visually-hidden" }, this.nextLabel)))), index.h("span", { class: "visually-hidden", "aria-live": "polite" }, "P\u00E1gina ", this.current, " de ", totalPages))));
852
+ }
853
+ get el() { return index.getElement(this); }
854
+ static get watchers() { return {
855
+ "total": [{
856
+ "handleTotalChange": 0
857
+ }],
858
+ "totalPages": [{
859
+ "handleTotalPagesChange": 0
860
+ }],
861
+ "current": [{
862
+ "handleCurrentChange": 0
863
+ }],
864
+ "currentPage": [{
865
+ "handleCurrentPageChange": 0
866
+ }],
867
+ "perPage": [{
868
+ "handlePerPagePropChange": 0
869
+ }],
870
+ "totalItems": [{
871
+ "handleTotalItemsChange": 0
872
+ }],
873
+ "density": [{
874
+ "handleDensityChange": 0
875
+ }]
876
+ }; }
877
+ };
878
+ Pagination.ELLIPSIS_VISIBLE_ITEMS = 4;
879
+ Pagination.ELLIPSIS_ITEM_HEIGHT_FALLBACK = 56;
880
+ Pagination.ELLIPSIS_OVERSCAN = 1;
881
+ Pagination.LARGE_PAGE_THRESHOLD = 10000;
882
+ Pagination.style = paginationCss();
883
+
884
+ exports.br_pagination = Pagination;