@govbr-ds/webcomponents 2.1.0 → 2.1.1

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 (858) hide show
  1. package/cem/custom-elements.json +63 -63
  2. package/dist/cjs/app-globals-DcqHuMBv.js +9 -0
  3. package/dist/cjs/br-avatar.cjs.entry.js +248 -0
  4. package/dist/cjs/br-breadcrumb-item.cjs.entry.js +45 -0
  5. package/dist/cjs/br-breadcrumb.cjs.entry.js +443 -0
  6. package/dist/cjs/br-button_2.cjs.entry.js +280 -0
  7. package/dist/cjs/br-card.cjs.entry.js +111 -0
  8. package/dist/cjs/br-carousel-page.cjs.entry.js +80 -0
  9. package/dist/cjs/br-carousel.cjs.entry.js +565 -0
  10. package/dist/cjs/br-checkbox-group.cjs.entry.js +118 -0
  11. package/dist/cjs/br-checkbox.cjs.entry.js +288 -0
  12. package/dist/cjs/br-checkgroup.cjs.entry.js +20 -0
  13. package/dist/cjs/br-collapse_2.cjs.entry.js +683 -0
  14. package/dist/cjs/br-cookiebar-cookie.cjs.entry.js +83 -0
  15. package/dist/cjs/br-cookiebar-group.cjs.entry.js +309 -0
  16. package/dist/cjs/br-cookiebar-header.cjs.entry.js +39 -0
  17. package/dist/cjs/br-cookiebar-link.cjs.entry.js +54 -0
  18. package/dist/cjs/br-cookiebar-note-group.cjs.entry.js +70 -0
  19. package/dist/cjs/br-cookiebar-note.cjs.entry.js +25 -0
  20. package/dist/cjs/br-cookiebar.cjs.entry.js +758 -0
  21. package/dist/cjs/br-crumb.cjs.entry.js +51 -0
  22. package/dist/cjs/br-date-picker_3.cjs.entry.js +2446 -0
  23. package/dist/cjs/br-datetime-picker.cjs.entry.js +1887 -0
  24. package/dist/cjs/br-divider.cjs.entry.js +225 -0
  25. package/dist/cjs/br-dropdown_2.cjs.entry.js +1856 -0
  26. package/dist/cjs/br-footer-category.cjs.entry.js +102 -0
  27. package/dist/cjs/br-footer-item.cjs.entry.js +52 -0
  28. package/dist/cjs/br-footer-legal.cjs.entry.js +41 -0
  29. package/dist/cjs/br-footer-logo.cjs.entry.js +104 -0
  30. package/dist/cjs/br-footer-social.cjs.entry.js +71 -0
  31. package/dist/cjs/br-footer.cjs.entry.js +92 -0
  32. package/dist/cjs/br-header-function.cjs.entry.js +142 -0
  33. package/dist/cjs/br-header-link.cjs.entry.js +60 -0
  34. package/dist/cjs/br-header-list.cjs.entry.js +279 -0
  35. package/dist/cjs/br-header-logo.cjs.entry.js +177 -0
  36. package/dist/cjs/br-header.cjs.entry.js +642 -0
  37. package/dist/cjs/br-icon.cjs.entry.js +485 -0
  38. package/dist/cjs/br-input.cjs.entry.js +599 -0
  39. package/dist/cjs/br-item.cjs.entry.js +356 -0
  40. package/dist/cjs/br-link.cjs.entry.js +132 -0
  41. package/dist/cjs/br-loading.cjs.entry.js +505 -0
  42. package/dist/cjs/br-magic-button.cjs.entry.js +92 -0
  43. package/dist/cjs/br-menu-group.cjs.entry.js +23 -0
  44. package/dist/cjs/br-menu-header.cjs.entry.js +47 -0
  45. package/dist/cjs/br-menu-info.cjs.entry.js +38 -0
  46. package/dist/cjs/br-menu-item.cjs.entry.js +79 -0
  47. package/dist/cjs/br-menu-link.cjs.entry.js +55 -0
  48. package/dist/cjs/br-menu-list.cjs.entry.js +149 -0
  49. package/dist/cjs/br-menu-logo.cjs.entry.js +75 -0
  50. package/dist/cjs/br-menu-social.cjs.entry.js +65 -0
  51. package/dist/cjs/br-menu.cjs.entry.js +993 -0
  52. package/dist/cjs/br-modal.cjs.entry.js +496 -0
  53. package/dist/cjs/br-notification-body.cjs.entry.js +71 -0
  54. package/dist/cjs/br-notification-header.cjs.entry.js +48 -0
  55. package/dist/cjs/br-notification-item.cjs.entry.js +110 -0
  56. package/dist/cjs/br-notification.cjs.entry.js +334 -0
  57. package/dist/cjs/br-pagination.cjs.entry.js +884 -0
  58. package/dist/cjs/br-radio-group.cjs.entry.js +428 -0
  59. package/dist/cjs/br-radio.cjs.entry.js +357 -0
  60. package/dist/cjs/br-scrim.cjs.entry.js +1336 -0
  61. package/dist/cjs/br-select-input_3.cjs.entry.js +954 -0
  62. package/dist/cjs/br-sign-in.cjs.entry.js +125 -0
  63. package/dist/cjs/br-skip-link-item.cjs.entry.js +20 -0
  64. package/dist/cjs/br-skip-link.cjs.entry.js +362 -0
  65. package/dist/cjs/br-skiplink-item.cjs.entry.js +192 -0
  66. package/dist/cjs/br-slider.cjs.entry.js +688 -0
  67. package/dist/cjs/br-step_2.cjs.entry.js +628 -0
  68. package/dist/cjs/br-switch.cjs.entry.js +245 -0
  69. package/dist/cjs/br-tab-item.cjs.entry.js +185 -0
  70. package/dist/cjs/br-tab.cjs.entry.js +397 -0
  71. package/dist/cjs/br-table-body.cjs.entry.js +37 -0
  72. package/dist/cjs/br-table-cell.cjs.entry.js +184 -0
  73. package/dist/cjs/br-table-header-cell.cjs.entry.js +173 -0
  74. package/dist/cjs/br-table-header.cjs.entry.js +37 -0
  75. package/dist/cjs/br-table-row.cjs.entry.js +81 -0
  76. package/dist/cjs/br-table.cjs.entry.js +680 -0
  77. package/dist/cjs/br-tag.cjs.entry.js +494 -0
  78. package/dist/cjs/br-textarea.cjs.entry.js +306 -0
  79. package/dist/cjs/br-tooltip.cjs.entry.js +627 -0
  80. package/dist/cjs/br-upload.cjs.entry.js +582 -0
  81. package/dist/cjs/br-wizard-panel.cjs.entry.js +54 -0
  82. package/dist/cjs/br-wizard.cjs.entry.js +708 -0
  83. package/dist/cjs/breakpoint-observer-P8veqXg7.js +144 -0
  84. package/dist/cjs/clamp-Co_hWptd.js +25 -0
  85. package/dist/cjs/cookiebar.utils-CB1gQwZ4.js +18 -0
  86. package/dist/cjs/datetime-picker-constants-B5pWeOn1.js +3827 -0
  87. package/dist/cjs/event-CmVdNHxl.js +56 -0
  88. package/dist/cjs/floating-surface-dismiss-ccdiD0KF.js +63 -0
  89. package/dist/cjs/floating-ui-MBI1osio.js +136 -0
  90. package/dist/cjs/floating-ui.dom-BUSTaaxR.js +1715 -0
  91. package/dist/cjs/focus-DuywwJPR.js +30 -0
  92. package/dist/cjs/getNextElement-R9l3JtM9.js +31 -0
  93. package/dist/cjs/iconify-icon-DfODV9bf.js +2307 -0
  94. package/dist/cjs/id-CjRFMzf6.js +20 -0
  95. package/dist/cjs/index-C92n55ch.js +678 -0
  96. package/dist/cjs/index-CRdcutym.js +3287 -0
  97. package/dist/cjs/index.cjs.js +12 -0
  98. package/dist/cjs/isNil-DO5zWc3l.js +19 -0
  99. package/dist/cjs/isValid-Fu3kaWNn.js +3694 -0
  100. package/dist/cjs/loader.cjs.js +17 -0
  101. package/dist/cjs/native-dialog--Ewqm4w0.js +49 -0
  102. package/dist/cjs/navigation-AbzwcRCU.js +25 -0
  103. package/dist/cjs/parts-D5K3ae2C.js +19 -0
  104. package/dist/cjs/props-CScmBvKd.js +24 -0
  105. package/dist/cjs/raf-batcher-yc87a4dS.js +55 -0
  106. package/dist/cjs/slot-DAllytTj.js +48 -0
  107. package/dist/cjs/swipe-BU8_XE9f.js +345 -0
  108. package/dist/cjs/table-constants-BOPSay0B.js +183 -0
  109. package/dist/cjs/validator-CTCajtT9.js +123 -0
  110. package/dist/cjs/webcomponents.cjs.js +50 -0
  111. package/dist/collection/assets/icon-search.svg +6 -0
  112. package/dist/collection/assets/logo-negative.svg +1 -0
  113. package/dist/collection/assets/logo-positive.svg +1 -0
  114. package/dist/collection/assets/wc.svg +1 -0
  115. package/dist/collection/collection-manifest.json +113 -0
  116. package/dist/collection/components/avatar/avatar.css +1 -0
  117. package/dist/collection/components/avatar/avatar.js +589 -0
  118. package/dist/collection/components/avatar/avatar.types.js +1 -0
  119. package/dist/collection/components/breadcrumb/breadcrumb-item/breadcrumb-item.js +166 -0
  120. package/dist/collection/components/breadcrumb/breadcrumb.css +1 -0
  121. package/dist/collection/components/breadcrumb/breadcrumb.js +619 -0
  122. package/dist/collection/components/breadcrumb/breadcrumb.types.js +1 -0
  123. package/dist/collection/components/breadcrumb/crumb/crumb.js +175 -0
  124. package/dist/collection/components/button/button.css +1 -0
  125. package/dist/collection/components/button/button.js +546 -0
  126. package/dist/collection/components/button/button.types.js +1 -0
  127. package/dist/collection/components/card/card.css +1 -0
  128. package/dist/collection/components/card/card.js +225 -0
  129. package/dist/collection/components/carousel/carousel-page/carousel-page.css +1 -0
  130. package/dist/collection/components/carousel/carousel-page/carousel-page.js +195 -0
  131. package/dist/collection/components/carousel/carousel.css +1 -0
  132. package/dist/collection/components/carousel/carousel.js +1217 -0
  133. package/dist/collection/components/carousel/carousel.types.js +1 -0
  134. package/dist/collection/components/checkbox/checkbox.css +1 -0
  135. package/dist/collection/components/checkbox/checkbox.js +823 -0
  136. package/dist/collection/components/checkbox/checkbox.types.js +1 -0
  137. package/dist/collection/components/checkbox-group/checkbox-group.css +1 -0
  138. package/dist/collection/components/checkbox-group/checkbox-group.js +268 -0
  139. package/dist/collection/components/checkgroup/checkgroup.js +166 -0
  140. package/dist/collection/components/collapse/collapse.css +1 -0
  141. package/dist/collection/components/collapse/collapse.js +642 -0
  142. package/dist/collection/components/collapse/collapse.types.js +1 -0
  143. package/dist/collection/components/cookiebar/cookiebar-cookie/cookiebar-cookie.css +1 -0
  144. package/dist/collection/components/cookiebar/cookiebar-cookie/cookiebar-cookie.js +529 -0
  145. package/dist/collection/components/cookiebar/cookiebar-group/cookiebar-group.css +1 -0
  146. package/dist/collection/components/cookiebar/cookiebar-group/cookiebar-group.js +628 -0
  147. package/dist/collection/components/cookiebar/cookiebar-header/cookiebar-header.css +1 -0
  148. package/dist/collection/components/cookiebar/cookiebar-header/cookiebar-header.js +165 -0
  149. package/dist/collection/components/cookiebar/cookiebar-link/cookiebar-link.css +1 -0
  150. package/dist/collection/components/cookiebar/cookiebar-link/cookiebar-link.js +200 -0
  151. package/dist/collection/components/cookiebar/cookiebar-note/cookiebar-note.css +1 -0
  152. package/dist/collection/components/cookiebar/cookiebar-note/cookiebar-note.js +100 -0
  153. package/dist/collection/components/cookiebar/cookiebar-note-group/cookiebar-note-group.css +1 -0
  154. package/dist/collection/components/cookiebar/cookiebar-note-group/cookiebar-note-group.js +172 -0
  155. package/dist/collection/components/cookiebar/cookiebar.css +1 -0
  156. package/dist/collection/components/cookiebar/cookiebar.js +1419 -0
  157. package/dist/collection/components/cookiebar/cookiebar.types.js +1 -0
  158. package/dist/collection/components/cookiebar/cookiebar.utils.js +14 -0
  159. package/dist/collection/components/datetime-picker/date-picker/date-picker-locale.js +94 -0
  160. package/dist/collection/components/datetime-picker/date-picker/date-picker-props-validation.js +57 -0
  161. package/dist/collection/components/datetime-picker/date-picker/date-picker.css +1 -0
  162. package/dist/collection/components/datetime-picker/date-picker/date-picker.js +913 -0
  163. package/dist/collection/components/datetime-picker/datetime-input/datetime-input-props-validation.js +65 -0
  164. package/dist/collection/components/datetime-picker/datetime-input/datetime-input.css +1 -0
  165. package/dist/collection/components/datetime-picker/datetime-input/datetime-input.js +825 -0
  166. package/dist/collection/components/datetime-picker/datetime-picker-constants.js +36 -0
  167. package/dist/collection/components/datetime-picker/datetime-picker-form-associated.js +112 -0
  168. package/dist/collection/components/datetime-picker/datetime-picker-props-validation.js +202 -0
  169. package/dist/collection/components/datetime-picker/datetime-picker.css +1 -0
  170. package/dist/collection/components/datetime-picker/datetime-picker.js +1925 -0
  171. package/dist/collection/components/datetime-picker/datetime-picker.types.js +1 -0
  172. package/dist/collection/components/datetime-picker/datetime-picker.utils.js +250 -0
  173. package/dist/collection/components/datetime-picker/time-picker/time-picker-constants.js +13 -0
  174. package/dist/collection/components/datetime-picker/time-picker/time-picker.css +1 -0
  175. package/dist/collection/components/datetime-picker/time-picker/time-picker.js +456 -0
  176. package/dist/collection/components/divider/divider.css +1 -0
  177. package/dist/collection/components/divider/divider.js +537 -0
  178. package/dist/collection/components/divider/divider.types.js +1 -0
  179. package/dist/collection/components/dropdown/dropdown.css +1 -0
  180. package/dist/collection/components/dropdown/dropdown.js +939 -0
  181. package/dist/collection/components/dropdown/dropdown.types.js +1 -0
  182. package/dist/collection/components/footer/footer-category/footer-category.css +1 -0
  183. package/dist/collection/components/footer/footer-category/footer-category.js +160 -0
  184. package/dist/collection/components/footer/footer-item/footer-item.css +1 -0
  185. package/dist/collection/components/footer/footer-item/footer-item.js +154 -0
  186. package/dist/collection/components/footer/footer-legal/footer-legal.css +1 -0
  187. package/dist/collection/components/footer/footer-legal/footer-legal.js +75 -0
  188. package/dist/collection/components/footer/footer-logo/footer-logo.css +1 -0
  189. package/dist/collection/components/footer/footer-logo/footer-logo.js +342 -0
  190. package/dist/collection/components/footer/footer-logo/footer-logo.types.js +1 -0
  191. package/dist/collection/components/footer/footer-social/footer-social.css +1 -0
  192. package/dist/collection/components/footer/footer-social/footer-social.js +239 -0
  193. package/dist/collection/components/footer/footer.css +1 -0
  194. package/dist/collection/components/footer/footer.js +245 -0
  195. package/dist/collection/components/footer/footer.types.js +1 -0
  196. package/dist/collection/components/global.types.js +1 -0
  197. package/dist/collection/components/header/header-function/header-function.css +1 -0
  198. package/dist/collection/components/header/header-function/header-function.js +311 -0
  199. package/dist/collection/components/header/header-link/header-link.css +1 -0
  200. package/dist/collection/components/header/header-link/header-link.js +189 -0
  201. package/dist/collection/components/header/header-list/header-list.css +1 -0
  202. package/dist/collection/components/header/header-list/header-list.js +452 -0
  203. package/dist/collection/components/header/header-logo/header-logo.css +1 -0
  204. package/dist/collection/components/header/header-logo/header-logo.js +420 -0
  205. package/dist/collection/components/header/header.css +1 -0
  206. package/dist/collection/components/header/header.js +1131 -0
  207. package/dist/collection/components/header/header.types.js +1 -0
  208. package/dist/collection/components/icon/default-icons-cache.js +233 -0
  209. package/dist/collection/components/icon/icon.css +1 -0
  210. package/dist/collection/components/icon/icon.js +598 -0
  211. package/dist/collection/components/icon/icon.types.js +1 -0
  212. package/dist/collection/components/icon/icon.utils.js +33 -0
  213. package/dist/collection/components/input/input.css +1 -0
  214. package/dist/collection/components/input/input.js +1642 -0
  215. package/dist/collection/components/input/input.types.js +1 -0
  216. package/dist/collection/components/item/item.css +1 -0
  217. package/dist/collection/components/item/item.js +906 -0
  218. package/dist/collection/components/item/item.types.js +1 -0
  219. package/dist/collection/components/link/link.css +1 -0
  220. package/dist/collection/components/link/link.js +698 -0
  221. package/dist/collection/components/list/list.css +1 -0
  222. package/dist/collection/components/list/list.js +728 -0
  223. package/dist/collection/components/loading/loading.css +1 -0
  224. package/dist/collection/components/loading/loading.js +1169 -0
  225. package/dist/collection/components/loading/loading.types.js +1 -0
  226. package/dist/collection/components/magic-button/magic-button.css +1 -0
  227. package/dist/collection/components/magic-button/magic-button.js +237 -0
  228. package/dist/collection/components/menu/menu-group/menu-group.css +1 -0
  229. package/dist/collection/components/menu/menu-group/menu-group.js +77 -0
  230. package/dist/collection/components/menu/menu-header/menu-header.css +1 -0
  231. package/dist/collection/components/menu/menu-header/menu-header.js +161 -0
  232. package/dist/collection/components/menu/menu-info/menu-info.css +1 -0
  233. package/dist/collection/components/menu/menu-info/menu-info.js +94 -0
  234. package/dist/collection/components/menu/menu-item/menu-item.css +1 -0
  235. package/dist/collection/components/menu/menu-item/menu-item.js +306 -0
  236. package/dist/collection/components/menu/menu-item/menu-item.types.js +1 -0
  237. package/dist/collection/components/menu/menu-link/menu-link.css +1 -0
  238. package/dist/collection/components/menu/menu-link/menu-link.js +259 -0
  239. package/dist/collection/components/menu/menu-list/menu-list.css +1 -0
  240. package/dist/collection/components/menu/menu-list/menu-list.js +311 -0
  241. package/dist/collection/components/menu/menu-logo/menu-logo.css +1 -0
  242. package/dist/collection/components/menu/menu-logo/menu-logo.js +230 -0
  243. package/dist/collection/components/menu/menu-social/menu-social.css +1 -0
  244. package/dist/collection/components/menu/menu-social/menu-social.js +263 -0
  245. package/dist/collection/components/menu/menu.css +1 -0
  246. package/dist/collection/components/menu/menu.js +1372 -0
  247. package/dist/collection/components/menu/menu.types.js +1 -0
  248. package/dist/collection/components/menu/menu.utils.js +279 -0
  249. package/dist/collection/components/message/message.css +1 -0
  250. package/dist/collection/components/message/message.js +508 -0
  251. package/dist/collection/components/modal/modal.css +1 -0
  252. package/dist/collection/components/modal/modal.js +842 -0
  253. package/dist/collection/components/modal/modal.types.js +1 -0
  254. package/dist/collection/components/notification/notification-body/notification-body.css +1 -0
  255. package/dist/collection/components/notification/notification-body/notification-body.js +153 -0
  256. package/dist/collection/components/notification/notification-header/notification-header.css +1 -0
  257. package/dist/collection/components/notification/notification-header/notification-header.js +181 -0
  258. package/dist/collection/components/notification/notification-item/notification-item.css +1 -0
  259. package/dist/collection/components/notification/notification-item/notification-item.js +351 -0
  260. package/dist/collection/components/notification/notification-item/notification-item.types.js +1 -0
  261. package/dist/collection/components/notification/notification.css +1 -0
  262. package/dist/collection/components/notification/notification.js +838 -0
  263. package/dist/collection/components/notification/notification.types.js +1 -0
  264. package/dist/collection/components/pagination/pagination.css +1 -0
  265. package/dist/collection/components/pagination/pagination.js +1470 -0
  266. package/dist/collection/components/pagination/pagination.types.js +1 -0
  267. package/dist/collection/components/radio/radio.css +1 -0
  268. package/dist/collection/components/radio/radio.js +847 -0
  269. package/dist/collection/components/radio/radio.types.js +1 -0
  270. package/dist/collection/components/radio-group/radio-group.css +1 -0
  271. package/dist/collection/components/radio-group/radio-group.js +862 -0
  272. package/dist/collection/components/radio-group/radio-group.types.js +1 -0
  273. package/dist/collection/components/scrim/scrim.css +1 -0
  274. package/dist/collection/components/scrim/scrim.js +1825 -0
  275. package/dist/collection/components/scrim/scrim.types.js +1 -0
  276. package/dist/collection/components/scrim/scrim.utils.js +132 -0
  277. package/dist/collection/components/select/select-input/select-input.css +1 -0
  278. package/dist/collection/components/select/select-input/select-input.js +585 -0
  279. package/dist/collection/components/select/select-list/select-list.css +1 -0
  280. package/dist/collection/components/select/select-list/select-list.js +1147 -0
  281. package/dist/collection/components/select/select-option/select-option.css +1 -0
  282. package/dist/collection/components/select/select-option/select-option.js +543 -0
  283. package/dist/collection/components/select/select.constants.js +6 -0
  284. package/dist/collection/components/select/select.css +1 -0
  285. package/dist/collection/components/select/select.js +2575 -0
  286. package/dist/collection/components/select/select.types.js +1 -0
  287. package/dist/collection/components/sign-in/sign-in.css +1 -0
  288. package/dist/collection/components/sign-in/sign-in.js +400 -0
  289. package/dist/collection/components/sign-in/sign-in.types.js +1 -0
  290. package/dist/collection/components/skip-link/skip-link-item/skip-link-item-alias.js +103 -0
  291. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.css +1 -0
  292. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.js +450 -0
  293. package/dist/collection/components/skip-link/skip-link.css +1 -0
  294. package/dist/collection/components/skip-link/skip-link.js +699 -0
  295. package/dist/collection/components/skip-link/skip-link.types.js +1 -0
  296. package/dist/collection/components/slider/slider.css +1 -0
  297. package/dist/collection/components/slider/slider.js +1325 -0
  298. package/dist/collection/components/slider/slider.types.js +1 -0
  299. package/dist/collection/components/step/step-item/step-item.css +1 -0
  300. package/dist/collection/components/step/step-item/step-item.js +604 -0
  301. package/dist/collection/components/step/step-item/step-item.types.js +1 -0
  302. package/dist/collection/components/step/step.css +1 -0
  303. package/dist/collection/components/step/step.js +896 -0
  304. package/dist/collection/components/step/step.types.js +1 -0
  305. package/dist/collection/components/switch/switch.css +1 -0
  306. package/dist/collection/components/switch/switch.js +715 -0
  307. package/dist/collection/components/switch/switch.types.js +1 -0
  308. package/dist/collection/components/tab/tab-item/tab-item.css +1 -0
  309. package/dist/collection/components/tab/tab-item/tab-item.js +425 -0
  310. package/dist/collection/components/tab/tab.css +1 -0
  311. package/dist/collection/components/tab/tab.js +724 -0
  312. package/dist/collection/components/tab/tab.types.js +1 -0
  313. package/dist/collection/components/table/table-body/table-body.css +1 -0
  314. package/dist/collection/components/table/table-body/table-body.js +51 -0
  315. package/dist/collection/components/table/table-cell/table-cell.css +1 -0
  316. package/dist/collection/components/table/table-cell/table-cell.js +373 -0
  317. package/dist/collection/components/table/table-constants.js +171 -0
  318. package/dist/collection/components/table/table-header/table-header.css +1 -0
  319. package/dist/collection/components/table/table-header/table-header.js +51 -0
  320. package/dist/collection/components/table/table-header-cell/table-header-cell.css +1 -0
  321. package/dist/collection/components/table/table-header-cell/table-header-cell.js +402 -0
  322. package/dist/collection/components/table/table-row/table-row.css +1 -0
  323. package/dist/collection/components/table/table-row/table-row.js +261 -0
  324. package/dist/collection/components/table/table-tokens.js +50 -0
  325. package/dist/collection/components/table/table-types.js +1 -0
  326. package/dist/collection/components/table/table-utils.js +44 -0
  327. package/dist/collection/components/table/table.css +1 -0
  328. package/dist/collection/components/table/table.js +1030 -0
  329. package/dist/collection/components/tag/tag.css +1 -0
  330. package/dist/collection/components/tag/tag.js +1153 -0
  331. package/dist/collection/components/tag/tag.types.js +1 -0
  332. package/dist/collection/components/textarea/textarea.css +1 -0
  333. package/dist/collection/components/textarea/textarea.js +985 -0
  334. package/dist/collection/components/textarea/textarea.types.js +1 -0
  335. package/dist/collection/components/tooltip/tooltip.css +1 -0
  336. package/dist/collection/components/tooltip/tooltip.js +1024 -0
  337. package/dist/collection/components/tooltip/tooltip.types.js +1 -0
  338. package/dist/collection/components/upload/upload.css +1 -0
  339. package/dist/collection/components/upload/upload.js +1315 -0
  340. package/dist/collection/components/upload/upload.types.js +1 -0
  341. package/dist/collection/components/wizard/wizard-panel/wizard-panel.css +1 -0
  342. package/dist/collection/components/wizard/wizard-panel/wizard-panel.js +167 -0
  343. package/dist/collection/components/wizard/wizard.css +1 -0
  344. package/dist/collection/components/wizard/wizard.js +1228 -0
  345. package/dist/collection/index.js +14 -0
  346. package/dist/collection/pages/components/cookiebar/index.js +26 -0
  347. package/dist/collection/pages/components/link/index.js +29 -0
  348. package/dist/collection/pages/components/pagination/index.js +12 -0
  349. package/dist/collection/pages/components/slider/index.js +18 -0
  350. package/dist/collection/pages/scripts/code-editor.js +101 -0
  351. package/dist/collection/pages/scripts/component-controls.js +591 -0
  352. package/dist/collection/pages/scripts/dev-event-console.js +47 -0
  353. package/dist/collection/pages/scripts/menu.js +183 -0
  354. package/dist/collection/pages/scripts/pageLoader.js +1420 -0
  355. package/dist/collection/shared/utils/assetsPath.js +75 -0
  356. package/dist/collection/shared/utils/breakpoint-observer.js +139 -0
  357. package/dist/collection/shared/utils/clamp.js +21 -0
  358. package/dist/collection/shared/utils/css-variables.js +12 -0
  359. package/dist/collection/shared/utils/cssVariables.js +37 -0
  360. package/dist/collection/shared/utils/date.js +405 -0
  361. package/dist/collection/shared/utils/debounce.js +39 -0
  362. package/dist/collection/shared/utils/event.js +55 -0
  363. package/dist/collection/shared/utils/floating-surface-dismiss.js +59 -0
  364. package/dist/collection/shared/utils/floating-ui.js +131 -0
  365. package/dist/collection/shared/utils/focus.js +24 -0
  366. package/dist/collection/shared/utils/form.js +82 -0
  367. package/dist/collection/shared/utils/format-bytes.js +20 -0
  368. package/dist/collection/shared/utils/getNextElement.js +30 -0
  369. package/dist/collection/shared/utils/getRandom.js +27 -0
  370. package/dist/collection/shared/utils/helpers.js +31 -0
  371. package/dist/collection/shared/utils/id.js +16 -0
  372. package/dist/collection/shared/utils/index.js +60 -0
  373. package/dist/collection/shared/utils/interfaces.js +1 -0
  374. package/dist/collection/shared/utils/isClient.js +14 -0
  375. package/dist/collection/shared/utils/isDefined.js +19 -0
  376. package/dist/collection/shared/utils/isEmpty.js +30 -0
  377. package/dist/collection/shared/utils/isHTMLElement.js +16 -0
  378. package/dist/collection/shared/utils/isNil.js +15 -0
  379. package/dist/collection/shared/utils/isString.js +20 -0
  380. package/dist/collection/shared/utils/native-dialog.js +44 -0
  381. package/dist/collection/shared/utils/navigation.js +21 -0
  382. package/dist/collection/shared/utils/parts.js +15 -0
  383. package/dist/collection/shared/utils/prop-warning.js +7 -0
  384. package/dist/collection/shared/utils/props.js +37 -0
  385. package/dist/collection/shared/utils/raf-batcher.js +51 -0
  386. package/dist/collection/shared/utils/scrollLock.js +141 -0
  387. package/dist/collection/shared/utils/setRafTimeout.js +38 -0
  388. package/dist/collection/shared/utils/slot.js +113 -0
  389. package/dist/collection/shared/utils/ssr-date.js +33 -0
  390. package/dist/collection/shared/utils/stringToArray.js +29 -0
  391. package/dist/collection/shared/utils/swipe.js +342 -0
  392. package/dist/collection/shared/utils/transition.js +127 -0
  393. package/dist/collection/shared/utils/types.js +1 -0
  394. package/dist/collection/shared/utils/validator.js +51 -0
  395. package/dist/collection/value-accessors/angular-value-accessor-config.js +41 -0
  396. package/dist/collection/value-accessors/index.js +6 -0
  397. package/dist/collection/value-accessors/vue-model-config.js +43 -0
  398. package/dist/components/br-avatar.d.ts +11 -0
  399. package/dist/components/br-avatar.js +5 -0
  400. package/dist/components/br-breadcrumb-item.d.ts +11 -0
  401. package/dist/components/br-breadcrumb-item.js +5 -0
  402. package/dist/components/br-breadcrumb.d.ts +11 -0
  403. package/dist/components/br-breadcrumb.js +5 -0
  404. package/dist/components/br-button.d.ts +11 -0
  405. package/dist/components/br-button.js +5 -0
  406. package/dist/components/br-card.d.ts +11 -0
  407. package/dist/components/br-card.js +5 -0
  408. package/dist/components/br-carousel-page.d.ts +11 -0
  409. package/dist/components/br-carousel-page.js +5 -0
  410. package/dist/components/br-carousel.d.ts +11 -0
  411. package/dist/components/br-carousel.js +5 -0
  412. package/dist/components/br-checkbox-group.d.ts +11 -0
  413. package/dist/components/br-checkbox-group.js +5 -0
  414. package/dist/components/br-checkbox.d.ts +11 -0
  415. package/dist/components/br-checkbox.js +5 -0
  416. package/dist/components/br-checkgroup.d.ts +11 -0
  417. package/dist/components/br-checkgroup.js +5 -0
  418. package/dist/components/br-collapse.d.ts +11 -0
  419. package/dist/components/br-collapse.js +5 -0
  420. package/dist/components/br-cookiebar-cookie.d.ts +11 -0
  421. package/dist/components/br-cookiebar-cookie.js +5 -0
  422. package/dist/components/br-cookiebar-group.d.ts +11 -0
  423. package/dist/components/br-cookiebar-group.js +5 -0
  424. package/dist/components/br-cookiebar-header.d.ts +11 -0
  425. package/dist/components/br-cookiebar-header.js +5 -0
  426. package/dist/components/br-cookiebar-link.d.ts +11 -0
  427. package/dist/components/br-cookiebar-link.js +5 -0
  428. package/dist/components/br-cookiebar-note-group.d.ts +11 -0
  429. package/dist/components/br-cookiebar-note-group.js +5 -0
  430. package/dist/components/br-cookiebar-note.d.ts +11 -0
  431. package/dist/components/br-cookiebar-note.js +5 -0
  432. package/dist/components/br-cookiebar.d.ts +11 -0
  433. package/dist/components/br-cookiebar.js +5 -0
  434. package/dist/components/br-crumb.d.ts +11 -0
  435. package/dist/components/br-crumb.js +5 -0
  436. package/dist/components/br-date-picker.d.ts +11 -0
  437. package/dist/components/br-date-picker.js +5 -0
  438. package/dist/components/br-datetime-input.d.ts +11 -0
  439. package/dist/components/br-datetime-input.js +5 -0
  440. package/dist/components/br-datetime-picker.d.ts +11 -0
  441. package/dist/components/br-datetime-picker.js +5 -0
  442. package/dist/components/br-divider.d.ts +11 -0
  443. package/dist/components/br-divider.js +5 -0
  444. package/dist/components/br-dropdown.d.ts +11 -0
  445. package/dist/components/br-dropdown.js +5 -0
  446. package/dist/components/br-footer-category.d.ts +11 -0
  447. package/dist/components/br-footer-category.js +5 -0
  448. package/dist/components/br-footer-item.d.ts +11 -0
  449. package/dist/components/br-footer-item.js +5 -0
  450. package/dist/components/br-footer-legal.d.ts +11 -0
  451. package/dist/components/br-footer-legal.js +5 -0
  452. package/dist/components/br-footer-logo.d.ts +11 -0
  453. package/dist/components/br-footer-logo.js +5 -0
  454. package/dist/components/br-footer-social.d.ts +11 -0
  455. package/dist/components/br-footer-social.js +5 -0
  456. package/dist/components/br-footer.d.ts +11 -0
  457. package/dist/components/br-footer.js +5 -0
  458. package/dist/components/br-header-function.d.ts +11 -0
  459. package/dist/components/br-header-function.js +5 -0
  460. package/dist/components/br-header-link.d.ts +11 -0
  461. package/dist/components/br-header-link.js +5 -0
  462. package/dist/components/br-header-list.d.ts +11 -0
  463. package/dist/components/br-header-list.js +5 -0
  464. package/dist/components/br-header-logo.d.ts +11 -0
  465. package/dist/components/br-header-logo.js +5 -0
  466. package/dist/components/br-header.d.ts +11 -0
  467. package/dist/components/br-header.js +5 -0
  468. package/dist/components/br-icon.d.ts +11 -0
  469. package/dist/components/br-icon.js +5 -0
  470. package/dist/components/br-input.d.ts +11 -0
  471. package/dist/components/br-input.js +5 -0
  472. package/dist/components/br-item.d.ts +11 -0
  473. package/dist/components/br-item.js +5 -0
  474. package/dist/components/br-link.d.ts +11 -0
  475. package/dist/components/br-link.js +5 -0
  476. package/dist/components/br-list.d.ts +11 -0
  477. package/dist/components/br-list.js +5 -0
  478. package/dist/components/br-loading.d.ts +11 -0
  479. package/dist/components/br-loading.js +5 -0
  480. package/dist/components/br-magic-button.d.ts +11 -0
  481. package/dist/components/br-magic-button.js +5 -0
  482. package/dist/components/br-menu-group.d.ts +11 -0
  483. package/dist/components/br-menu-group.js +5 -0
  484. package/dist/components/br-menu-header.d.ts +11 -0
  485. package/dist/components/br-menu-header.js +5 -0
  486. package/dist/components/br-menu-info.d.ts +11 -0
  487. package/dist/components/br-menu-info.js +5 -0
  488. package/dist/components/br-menu-item.d.ts +11 -0
  489. package/dist/components/br-menu-item.js +5 -0
  490. package/dist/components/br-menu-link.d.ts +11 -0
  491. package/dist/components/br-menu-link.js +5 -0
  492. package/dist/components/br-menu-list.d.ts +11 -0
  493. package/dist/components/br-menu-list.js +5 -0
  494. package/dist/components/br-menu-logo.d.ts +11 -0
  495. package/dist/components/br-menu-logo.js +5 -0
  496. package/dist/components/br-menu-social.d.ts +11 -0
  497. package/dist/components/br-menu-social.js +5 -0
  498. package/dist/components/br-menu.d.ts +11 -0
  499. package/dist/components/br-menu.js +5 -0
  500. package/dist/components/br-message.d.ts +11 -0
  501. package/dist/components/br-message.js +5 -0
  502. package/dist/components/br-modal.d.ts +11 -0
  503. package/dist/components/br-modal.js +5 -0
  504. package/dist/components/br-notification-body.d.ts +11 -0
  505. package/dist/components/br-notification-body.js +5 -0
  506. package/dist/components/br-notification-header.d.ts +11 -0
  507. package/dist/components/br-notification-header.js +5 -0
  508. package/dist/components/br-notification-item.d.ts +11 -0
  509. package/dist/components/br-notification-item.js +5 -0
  510. package/dist/components/br-notification.d.ts +11 -0
  511. package/dist/components/br-notification.js +5 -0
  512. package/dist/components/br-pagination.d.ts +11 -0
  513. package/dist/components/br-pagination.js +5 -0
  514. package/dist/components/br-radio-group.d.ts +11 -0
  515. package/dist/components/br-radio-group.js +5 -0
  516. package/dist/components/br-radio.d.ts +11 -0
  517. package/dist/components/br-radio.js +5 -0
  518. package/dist/components/br-scrim.d.ts +11 -0
  519. package/dist/components/br-scrim.js +5 -0
  520. package/dist/components/br-select-input.d.ts +11 -0
  521. package/dist/components/br-select-input.js +5 -0
  522. package/dist/components/br-select-list.d.ts +11 -0
  523. package/dist/components/br-select-list.js +5 -0
  524. package/dist/components/br-select-option.d.ts +11 -0
  525. package/dist/components/br-select-option.js +5 -0
  526. package/dist/components/br-select.d.ts +11 -0
  527. package/dist/components/br-select.js +5 -0
  528. package/dist/components/br-sign-in.d.ts +11 -0
  529. package/dist/components/br-sign-in.js +5 -0
  530. package/dist/components/br-skip-link-item.d.ts +11 -0
  531. package/dist/components/br-skip-link-item.js +5 -0
  532. package/dist/components/br-skip-link.d.ts +11 -0
  533. package/dist/components/br-skip-link.js +5 -0
  534. package/dist/components/br-skiplink-item.d.ts +11 -0
  535. package/dist/components/br-skiplink-item.js +5 -0
  536. package/dist/components/br-slider.d.ts +11 -0
  537. package/dist/components/br-slider.js +5 -0
  538. package/dist/components/br-step-item.d.ts +11 -0
  539. package/dist/components/br-step-item.js +5 -0
  540. package/dist/components/br-step.d.ts +11 -0
  541. package/dist/components/br-step.js +5 -0
  542. package/dist/components/br-switch.d.ts +11 -0
  543. package/dist/components/br-switch.js +5 -0
  544. package/dist/components/br-tab-item.d.ts +11 -0
  545. package/dist/components/br-tab-item.js +5 -0
  546. package/dist/components/br-tab.d.ts +11 -0
  547. package/dist/components/br-tab.js +5 -0
  548. package/dist/components/br-table-body.d.ts +11 -0
  549. package/dist/components/br-table-body.js +5 -0
  550. package/dist/components/br-table-cell.d.ts +11 -0
  551. package/dist/components/br-table-cell.js +5 -0
  552. package/dist/components/br-table-header-cell.d.ts +11 -0
  553. package/dist/components/br-table-header-cell.js +5 -0
  554. package/dist/components/br-table-header.d.ts +11 -0
  555. package/dist/components/br-table-header.js +5 -0
  556. package/dist/components/br-table-row.d.ts +11 -0
  557. package/dist/components/br-table-row.js +5 -0
  558. package/dist/components/br-table.d.ts +11 -0
  559. package/dist/components/br-table.js +5 -0
  560. package/dist/components/br-tag.d.ts +11 -0
  561. package/dist/components/br-tag.js +5 -0
  562. package/dist/components/br-textarea.d.ts +11 -0
  563. package/dist/components/br-textarea.js +5 -0
  564. package/dist/components/br-time-picker.d.ts +11 -0
  565. package/dist/components/br-time-picker.js +5 -0
  566. package/dist/components/br-tooltip.d.ts +11 -0
  567. package/dist/components/br-tooltip.js +5 -0
  568. package/dist/components/br-upload.d.ts +11 -0
  569. package/dist/components/br-upload.js +5 -0
  570. package/dist/components/br-wizard-panel.d.ts +11 -0
  571. package/dist/components/br-wizard-panel.js +5 -0
  572. package/dist/components/br-wizard.d.ts +11 -0
  573. package/dist/components/br-wizard.js +5 -0
  574. package/dist/components/index.d.ts +213 -0
  575. package/dist/components/index.js +5 -0
  576. package/dist/components/p-0IYmyaTi.js +5 -0
  577. package/dist/components/p-41XwlWiS.js +5 -0
  578. package/dist/components/p-5z6jgH1D.js +5 -0
  579. package/dist/components/p-6OdfnwnK.js +5 -0
  580. package/dist/components/p-9S9bgUT0.js +5 -0
  581. package/dist/components/p-B-qLmYZC.js +5 -0
  582. package/dist/components/p-B-sbd1_h.js +5 -0
  583. package/dist/components/p-B55qsau4.js +5 -0
  584. package/dist/components/p-BC7f6MK8.js +5 -0
  585. package/dist/components/p-BPJpHGOW.js +5 -0
  586. package/dist/components/p-BW0_ORNA.js +5 -0
  587. package/dist/components/p-BWXfdbQH.js +5 -0
  588. package/dist/components/p-Bb-nLtTG.js +5 -0
  589. package/dist/components/p-BkS6ujyf.js +5 -0
  590. package/dist/components/p-Bm0ECvfB.js +5 -0
  591. package/dist/components/p-C1yRmdso.js +5 -0
  592. package/dist/components/p-C3LQSQpc.js +5 -0
  593. package/dist/components/p-C98-mHmV.js +5 -0
  594. package/dist/components/p-CDZFuUlU.js +5 -0
  595. package/dist/components/p-CRfi23Rd.js +5 -0
  596. package/dist/components/p-CUI5zWGf.js +5 -0
  597. package/dist/components/p-CXMwM9m4.js +5 -0
  598. package/dist/components/p-CdDwqbBv.js +5 -0
  599. package/dist/components/p-CxviDiCr.js +5 -0
  600. package/dist/components/p-D3usVJE2.js +16 -0
  601. package/dist/components/p-D6zroLx5.js +5 -0
  602. package/dist/components/p-D9SpD3Ay.js +5 -0
  603. package/dist/components/p-DA5GS53D.js +5 -0
  604. package/dist/components/p-DBP6K_aq.js +5 -0
  605. package/dist/components/p-DBmwzG9E.js +5 -0
  606. package/dist/components/p-DCrVo-8T.js +5 -0
  607. package/dist/components/p-DIK54tTj.js +5 -0
  608. package/dist/components/p-DQRSHR-D.js +5 -0
  609. package/dist/components/p-DRVMm1Py.js +5 -0
  610. package/dist/components/p-DWPmUV72.js +5 -0
  611. package/dist/components/p-DYA74R1r.js +5 -0
  612. package/dist/components/p-DYnkGWii.js +5 -0
  613. package/dist/components/p-D_CSvOY9.js +5 -0
  614. package/dist/components/p-DaeGwqw0.js +5 -0
  615. package/dist/components/p-Dkg2scYZ.js +5 -0
  616. package/dist/components/p-Dmfk7eEe.js +5 -0
  617. package/dist/components/p-DoXNfcTT.js +5 -0
  618. package/dist/components/p-DvrdmqoQ.js +5 -0
  619. package/dist/components/p-DxZJrIyL.js +5 -0
  620. package/dist/components/p-LmeJrLxH.js +5 -0
  621. package/dist/components/p-TFWd_UBV.js +5 -0
  622. package/dist/components/p-aF8bGN3t.js +5 -0
  623. package/dist/components/p-bhULC15U.js +5 -0
  624. package/dist/components/p-cF3ia5e9.js +5 -0
  625. package/dist/components/p-cfPt-vKA.js +5 -0
  626. package/dist/components/p-gvnfuTjd.js +5 -0
  627. package/dist/components/p-nJOJGpyl.js +5 -0
  628. package/dist/components/p-ttI0nvv_.js +5 -0
  629. package/dist/esm/app-globals-DVjNHTTs.js +7 -0
  630. package/dist/esm/br-avatar.entry.js +246 -0
  631. package/dist/esm/br-breadcrumb-item.entry.js +43 -0
  632. package/dist/esm/br-breadcrumb.entry.js +441 -0
  633. package/dist/esm/br-button_2.entry.js +277 -0
  634. package/dist/esm/br-card.entry.js +109 -0
  635. package/dist/esm/br-carousel-page.entry.js +78 -0
  636. package/dist/esm/br-carousel.entry.js +563 -0
  637. package/dist/esm/br-checkbox-group.entry.js +116 -0
  638. package/dist/esm/br-checkbox.entry.js +286 -0
  639. package/dist/esm/br-checkgroup.entry.js +18 -0
  640. package/dist/esm/br-collapse_2.entry.js +680 -0
  641. package/dist/esm/br-cookiebar-cookie.entry.js +81 -0
  642. package/dist/esm/br-cookiebar-group.entry.js +307 -0
  643. package/dist/esm/br-cookiebar-header.entry.js +37 -0
  644. package/dist/esm/br-cookiebar-link.entry.js +52 -0
  645. package/dist/esm/br-cookiebar-note-group.entry.js +68 -0
  646. package/dist/esm/br-cookiebar-note.entry.js +23 -0
  647. package/dist/esm/br-cookiebar.entry.js +756 -0
  648. package/dist/esm/br-crumb.entry.js +49 -0
  649. package/dist/esm/br-date-picker_3.entry.js +2442 -0
  650. package/dist/esm/br-datetime-picker.entry.js +1885 -0
  651. package/dist/esm/br-divider.entry.js +223 -0
  652. package/dist/esm/br-dropdown_2.entry.js +1853 -0
  653. package/dist/esm/br-footer-category.entry.js +100 -0
  654. package/dist/esm/br-footer-item.entry.js +50 -0
  655. package/dist/esm/br-footer-legal.entry.js +39 -0
  656. package/dist/esm/br-footer-logo.entry.js +102 -0
  657. package/dist/esm/br-footer-social.entry.js +69 -0
  658. package/dist/esm/br-footer.entry.js +90 -0
  659. package/dist/esm/br-header-function.entry.js +140 -0
  660. package/dist/esm/br-header-link.entry.js +58 -0
  661. package/dist/esm/br-header-list.entry.js +277 -0
  662. package/dist/esm/br-header-logo.entry.js +175 -0
  663. package/dist/esm/br-header.entry.js +640 -0
  664. package/dist/esm/br-icon.entry.js +483 -0
  665. package/dist/esm/br-input.entry.js +597 -0
  666. package/dist/esm/br-item.entry.js +354 -0
  667. package/dist/esm/br-link.entry.js +130 -0
  668. package/dist/esm/br-loading.entry.js +503 -0
  669. package/dist/esm/br-magic-button.entry.js +90 -0
  670. package/dist/esm/br-menu-group.entry.js +21 -0
  671. package/dist/esm/br-menu-header.entry.js +45 -0
  672. package/dist/esm/br-menu-info.entry.js +36 -0
  673. package/dist/esm/br-menu-item.entry.js +77 -0
  674. package/dist/esm/br-menu-link.entry.js +53 -0
  675. package/dist/esm/br-menu-list.entry.js +147 -0
  676. package/dist/esm/br-menu-logo.entry.js +73 -0
  677. package/dist/esm/br-menu-social.entry.js +63 -0
  678. package/dist/esm/br-menu.entry.js +991 -0
  679. package/dist/esm/br-modal.entry.js +494 -0
  680. package/dist/esm/br-notification-body.entry.js +69 -0
  681. package/dist/esm/br-notification-header.entry.js +46 -0
  682. package/dist/esm/br-notification-item.entry.js +108 -0
  683. package/dist/esm/br-notification.entry.js +332 -0
  684. package/dist/esm/br-pagination.entry.js +882 -0
  685. package/dist/esm/br-radio-group.entry.js +426 -0
  686. package/dist/esm/br-radio.entry.js +355 -0
  687. package/dist/esm/br-scrim.entry.js +1334 -0
  688. package/dist/esm/br-select-input_3.entry.js +950 -0
  689. package/dist/esm/br-sign-in.entry.js +123 -0
  690. package/dist/esm/br-skip-link-item.entry.js +18 -0
  691. package/dist/esm/br-skip-link.entry.js +360 -0
  692. package/dist/esm/br-skiplink-item.entry.js +190 -0
  693. package/dist/esm/br-slider.entry.js +686 -0
  694. package/dist/esm/br-step_2.entry.js +625 -0
  695. package/dist/esm/br-switch.entry.js +243 -0
  696. package/dist/esm/br-tab-item.entry.js +183 -0
  697. package/dist/esm/br-tab.entry.js +395 -0
  698. package/dist/esm/br-table-body.entry.js +35 -0
  699. package/dist/esm/br-table-cell.entry.js +182 -0
  700. package/dist/esm/br-table-header-cell.entry.js +171 -0
  701. package/dist/esm/br-table-header.entry.js +35 -0
  702. package/dist/esm/br-table-row.entry.js +79 -0
  703. package/dist/esm/br-table.entry.js +678 -0
  704. package/dist/esm/br-tag.entry.js +492 -0
  705. package/dist/esm/br-textarea.entry.js +304 -0
  706. package/dist/esm/br-tooltip.entry.js +625 -0
  707. package/dist/esm/br-upload.entry.js +580 -0
  708. package/dist/esm/br-wizard-panel.entry.js +52 -0
  709. package/dist/esm/br-wizard.entry.js +706 -0
  710. package/dist/esm/breakpoint-observer-DBmwzG9E.js +141 -0
  711. package/dist/esm/clamp-gvnfuTjd.js +23 -0
  712. package/dist/esm/cookiebar.utils-DYA74R1r.js +16 -0
  713. package/dist/esm/datetime-picker-constants-Bfm58jO6.js +3798 -0
  714. package/dist/esm/event-DFN_so7I.js +48 -0
  715. package/dist/esm/floating-surface-dismiss-BWXfdbQH.js +61 -0
  716. package/dist/esm/floating-ui-BavFwMnx.js +134 -0
  717. package/dist/esm/floating-ui.dom-DIK54tTj.js +1707 -0
  718. package/dist/esm/focus-DxZJrIyL.js +26 -0
  719. package/dist/esm/getNextElement-9S9bgUT0.js +28 -0
  720. package/dist/esm/iconify-icon-D3usVJE2.js +2303 -0
  721. package/dist/esm/id-BkS6ujyf.js +18 -0
  722. package/dist/esm/index-Bo-2igoO.js +671 -0
  723. package/dist/esm/index-C2RBydfd.js +3258 -0
  724. package/dist/esm/index.js +6 -0
  725. package/dist/esm/isNil-B-qLmYZC.js +17 -0
  726. package/dist/esm/isValid-DIUZX1qS.js +3684 -0
  727. package/dist/esm/loader.js +15 -0
  728. package/dist/esm/native-dialog-B55qsau4.js +46 -0
  729. package/dist/esm/navigation-bhULC15U.js +23 -0
  730. package/dist/esm/parts-Bb5vVlCC.js +17 -0
  731. package/dist/esm/props-DRVMm1Py.js +22 -0
  732. package/dist/esm/raf-batcher-cF3ia5e9.js +53 -0
  733. package/dist/esm/slot-BIG-yees.js +44 -0
  734. package/dist/esm/swipe-Dmfk7eEe.js +343 -0
  735. package/dist/esm/table-constants-CXMwM9m4.js +170 -0
  736. package/dist/esm/validator-D3tVP32U.js +113 -0
  737. package/dist/esm/webcomponents.js +46 -0
  738. package/dist/hydrate/index.d.ts +287 -0
  739. package/dist/hydrate/index.js +67323 -0
  740. package/dist/hydrate/index.mjs +67313 -0
  741. package/dist/hydrate/package.json +12 -0
  742. package/dist/index.cjs.js +1 -0
  743. package/dist/index.js +1 -0
  744. package/dist/loader/cdn.js +5 -0
  745. package/dist/loader/index.cjs.js +5 -0
  746. package/dist/loader/index.d.ts +24 -0
  747. package/dist/loader/index.es2017.js +5 -0
  748. package/dist/loader/index.js +6 -0
  749. package/dist/webcomponents/index.esm.js +5 -0
  750. package/dist/webcomponents/p-0196804a.entry.js +5 -0
  751. package/dist/webcomponents/p-0410186a.entry.js +5 -0
  752. package/dist/webcomponents/p-0415ef22.entry.js +5 -0
  753. package/dist/webcomponents/p-059c3d6c.entry.js +5 -0
  754. package/dist/webcomponents/p-0b8f39bc.entry.js +5 -0
  755. package/dist/webcomponents/p-0caa4d12.entry.js +5 -0
  756. package/dist/webcomponents/p-0d4f718d.entry.js +5 -0
  757. package/dist/webcomponents/p-0e84c9e8.entry.js +5 -0
  758. package/dist/webcomponents/p-12286e73.entry.js +5 -0
  759. package/dist/webcomponents/p-147ac8d3.entry.js +5 -0
  760. package/dist/webcomponents/p-1580beee.entry.js +5 -0
  761. package/dist/webcomponents/p-1b138f1c.entry.js +5 -0
  762. package/dist/webcomponents/p-1bca4499.entry.js +5 -0
  763. package/dist/webcomponents/p-1d6b0b6f.entry.js +5 -0
  764. package/dist/webcomponents/p-1d8cb8fd.entry.js +5 -0
  765. package/dist/webcomponents/p-22443c08.entry.js +5 -0
  766. package/dist/webcomponents/p-224daaac.entry.js +5 -0
  767. package/dist/webcomponents/p-28426d2a.entry.js +5 -0
  768. package/dist/webcomponents/p-2abd2da0.entry.js +5 -0
  769. package/dist/webcomponents/p-2fdc51ae.entry.js +5 -0
  770. package/dist/webcomponents/p-30c428b6.entry.js +5 -0
  771. package/dist/webcomponents/p-36bbea4e.entry.js +5 -0
  772. package/dist/webcomponents/p-3907ebfa.entry.js +5 -0
  773. package/dist/webcomponents/p-39a16f9d.entry.js +5 -0
  774. package/dist/webcomponents/p-3ebbd2f5.entry.js +5 -0
  775. package/dist/webcomponents/p-3ef7eac8.entry.js +5 -0
  776. package/dist/webcomponents/p-45356e9a.entry.js +5 -0
  777. package/dist/webcomponents/p-46513db4.entry.js +5 -0
  778. package/dist/webcomponents/p-4fe12a72.entry.js +5 -0
  779. package/dist/webcomponents/p-52df61cb.entry.js +5 -0
  780. package/dist/webcomponents/p-569134cf.entry.js +5 -0
  781. package/dist/webcomponents/p-5b257a4b.entry.js +5 -0
  782. package/dist/webcomponents/p-5ce7db4a.entry.js +5 -0
  783. package/dist/webcomponents/p-5f373708.entry.js +5 -0
  784. package/dist/webcomponents/p-5f6afb79.entry.js +5 -0
  785. package/dist/webcomponents/p-5fc7ba4c.entry.js +5 -0
  786. package/dist/webcomponents/p-60cc820c.entry.js +5 -0
  787. package/dist/webcomponents/p-66006312.entry.js +5 -0
  788. package/dist/webcomponents/p-66b13fd9.entry.js +5 -0
  789. package/dist/webcomponents/p-6OdfnwnK.js +5 -0
  790. package/dist/webcomponents/p-6c5f6cb6.entry.js +5 -0
  791. package/dist/webcomponents/p-6f1c4425.entry.js +5 -0
  792. package/dist/webcomponents/p-750799b7.entry.js +5 -0
  793. package/dist/webcomponents/p-756ff2ad.entry.js +5 -0
  794. package/dist/webcomponents/p-765bfe27.entry.js +5 -0
  795. package/dist/webcomponents/p-7ab96c11.entry.js +5 -0
  796. package/dist/webcomponents/p-7c2ff8b4.entry.js +5 -0
  797. package/dist/webcomponents/p-7cf9f4e5.entry.js +5 -0
  798. package/dist/webcomponents/p-7e1856e4.entry.js +5 -0
  799. package/dist/webcomponents/p-7f7506f0.entry.js +5 -0
  800. package/dist/webcomponents/p-7fb03a49.entry.js +5 -0
  801. package/dist/webcomponents/p-82200563.entry.js +5 -0
  802. package/dist/webcomponents/p-85f8063b.entry.js +5 -0
  803. package/dist/webcomponents/p-8b558233.entry.js +5 -0
  804. package/dist/webcomponents/p-8e6c2767.entry.js +5 -0
  805. package/dist/webcomponents/p-966ad32f.entry.js +5 -0
  806. package/dist/webcomponents/p-9679d230.entry.js +5 -0
  807. package/dist/webcomponents/p-96dd663b.entry.js +5 -0
  808. package/dist/webcomponents/p-98843fa3.entry.js +5 -0
  809. package/dist/webcomponents/p-9S9bgUT0.js +5 -0
  810. package/dist/webcomponents/p-9a375eff.entry.js +5 -0
  811. package/dist/webcomponents/p-9b358cff.entry.js +5 -0
  812. package/dist/webcomponents/p-9f7558c7.entry.js +5 -0
  813. package/dist/webcomponents/p-B-qLmYZC.js +5 -0
  814. package/dist/webcomponents/p-B55qsau4.js +5 -0
  815. package/dist/webcomponents/p-BIG-yees.js +5 -0
  816. package/dist/webcomponents/p-BWXfdbQH.js +5 -0
  817. package/dist/webcomponents/p-Bb5vVlCC.js +5 -0
  818. package/dist/webcomponents/p-Bfm58jO6.js +5 -0
  819. package/dist/webcomponents/p-BhMVJQ4-.js +5 -0
  820. package/dist/webcomponents/p-BkS6ujyf.js +5 -0
  821. package/dist/webcomponents/p-C2RBydfd.js +6 -0
  822. package/dist/webcomponents/p-CO5cOQQU.js +5 -0
  823. package/dist/webcomponents/p-CXMwM9m4.js +5 -0
  824. package/dist/webcomponents/p-D3tVP32U.js +5 -0
  825. package/dist/webcomponents/p-D3usVJE2.js +16 -0
  826. package/dist/webcomponents/p-DBmwzG9E.js +5 -0
  827. package/dist/webcomponents/p-DFN_so7I.js +5 -0
  828. package/dist/webcomponents/p-DIK54tTj.js +5 -0
  829. package/dist/webcomponents/p-DRVMm1Py.js +5 -0
  830. package/dist/webcomponents/p-DVjNHTTs.js +5 -0
  831. package/dist/webcomponents/p-DYA74R1r.js +5 -0
  832. package/dist/webcomponents/p-Dmfk7eEe.js +5 -0
  833. package/dist/webcomponents/p-DxZJrIyL.js +5 -0
  834. package/dist/webcomponents/p-a382e115.entry.js +5 -0
  835. package/dist/webcomponents/p-a9ff7c25.entry.js +5 -0
  836. package/dist/webcomponents/p-bba9fc09.entry.js +5 -0
  837. package/dist/webcomponents/p-bhULC15U.js +5 -0
  838. package/dist/webcomponents/p-c0b0f531.entry.js +5 -0
  839. package/dist/webcomponents/p-c211af17.entry.js +5 -0
  840. package/dist/webcomponents/p-c492d926.entry.js +5 -0
  841. package/dist/webcomponents/p-c4cfe599.entry.js +5 -0
  842. package/dist/webcomponents/p-c846e784.entry.js +5 -0
  843. package/dist/webcomponents/p-cF3ia5e9.js +5 -0
  844. package/dist/webcomponents/p-cedb8eea.entry.js +5 -0
  845. package/dist/webcomponents/p-d1e899cd.entry.js +5 -0
  846. package/dist/webcomponents/p-d38d82cc.entry.js +5 -0
  847. package/dist/webcomponents/p-dba376cb.entry.js +5 -0
  848. package/dist/webcomponents/p-e0ce536a.entry.js +5 -0
  849. package/dist/webcomponents/p-e1331288.entry.js +5 -0
  850. package/dist/webcomponents/p-e360a463.entry.js +5 -0
  851. package/dist/webcomponents/p-e80a1eb0.entry.js +5 -0
  852. package/dist/webcomponents/p-f078f972.entry.js +5 -0
  853. package/dist/webcomponents/p-f6318e94.entry.js +5 -0
  854. package/dist/webcomponents/p-fcd4ae48.entry.js +5 -0
  855. package/dist/webcomponents/p-gvnfuTjd.js +5 -0
  856. package/dist/webcomponents/webcomponents.esm.js +5 -0
  857. package/package.json +1 -1
  858. package/cem/.gitkeep +0 -0
@@ -0,0 +1,1470 @@
1
+ /*!
2
+ * Construído por SERPRO
3
+ * © https://serpro.gov.br/ - MIT License.
4
+ */
5
+ import { Host, h, } from "@stencil/core";
6
+ import Helpers from "../../shared/utils/helpers";
7
+ /**
8
+ * Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/pagination?tab=designer).
9
+ *
10
+ * @category Navegação
11
+ * @status stable
12
+ *
13
+ * @slot pagination-info - Informação customizada da paginação contextual. Quando utilizado, o texto padrão de contagem é substituído.
14
+ * @slot loading - Indicador exibido enquanto uma página é carregada.
15
+ *
16
+ * @part nav - Parte para o contêiner raiz da paginação (elemento nav), usada para estilização via ::part().
17
+ * @part list - Parte para a lista de páginas (elemento ul), usada para estilização via ::part().
18
+ * @part page - Parte para os itens de página numérica (elemento a), usada para estilização via ::part().
19
+ * @part ellipsis - Parte para o botão de reticências e seu contêiner.
20
+ * @part ellipsis-button - Parte encaminhada do botão de reticências.
21
+ * @part per-page - Parte para o seletor de itens por página na variante contextual.
22
+ * @part per-page-container - Contêiner encaminhado do seletor de itens por página.
23
+ * @part per-page-input - Campo encaminhado do seletor de itens por página.
24
+ * @part per-page-list - Lista encaminhada do seletor de itens por página.
25
+ * @part go-to - Parte para o seletor de navegação direta na variante contextual.
26
+ * @part go-to-container - Contêiner encaminhado do seletor de navegação direta.
27
+ * @part go-to-input - Campo encaminhado do seletor de navegação direta.
28
+ * @part go-to-list - Lista encaminhada do seletor de navegação direta.
29
+ * @part prev-button - Parte para o botão de página anterior, usada para estilização via ::part().
30
+ * @part prev-button-inner - Botão interno encaminhado da página anterior.
31
+ * @part next-button - Parte para o botão de próxima página, usada para estilização via ::part().
32
+ * @part next-button-inner - Botão interno encaminhado da próxima página.
33
+ * @part loading - Área do indicador de carregamento.
34
+ */
35
+ export class Pagination {
36
+ constructor() {
37
+ /**
38
+ * Estado interno para responsividade. Verdadeiro quando viewport < sm.
39
+ */
40
+ this.isSmall = false;
41
+ /** Materializa as opções completas somente após a primeira abertura do seletor. */
42
+ this.goToOptionsReady = false;
43
+ this.goToSearchTerm = '';
44
+ /**
45
+ * Controla a janela visível de cada dropdown de reticências.
46
+ */
47
+ this.ellipsisScrollOffsets = {};
48
+ /**
49
+ * Altura efetiva dos itens do dropdown de reticências.
50
+ * O valor fixo é usado somente até a primeira medição válida do DOM.
51
+ */
52
+ this.ellipsisItemHeight = Pagination.ELLIPSIS_ITEM_HEIGHT_FALLBACK;
53
+ /**
54
+ * Identificador único do componente.
55
+ * Quando omitido, um valor é gerado automaticamente.
56
+ *
57
+ * > **Padrão:** valor único gerado por Helpers.generateUniqueId().
58
+ *
59
+ * > **Uso compartilhado:** mantenha esta descrição idêntica em todos os componentes que usam `customId`.
60
+ */
61
+ this.customId = Helpers.generateUniqueId();
62
+ /**
63
+ * Quantidade total de páginas (mínimo 1).
64
+ */
65
+ this.total = 1;
66
+ /**
67
+ * Página atual (1-indexada). Valores fora do intervalo serão ajustados.
68
+ */
69
+ this.current = 1;
70
+ /**
71
+ * Rótulo acessível do botão de página anterior.
72
+ */
73
+ this.previousLabel = 'Voltar página';
74
+ /**
75
+ * Rótulo acessível do botão de próxima página.
76
+ */
77
+ this.nextLabel = 'Página seguinte';
78
+ /**
79
+ * Rótulo acessível do botão de reticências que abre a lista de páginas ocultas.
80
+ */
81
+ this.ellipsisLabel = 'Abrir ou fechar a lista de paginação';
82
+ /**
83
+ * Define a densidade visual do componente.
84
+ *
85
+ * - `small`: Alta densidade (componente menor, mais compacto e com menos espaçamento).
86
+ * - `medium`: Densidade intermediária, padrão recomendado para a maioria dos casos.
87
+ * - `large`: Baixa densidade (componente maior, mais espaçamento e altura).
88
+ *
89
+ * > **Uso compartilhado:** mantenha esta descrição idêntica em todos os componentes que usam `density`.
90
+ */
91
+ this.density = 'medium';
92
+ /**
93
+ * Variante de renderização do componente.
94
+ * - `default`: paginação numérica (padrão)
95
+ * - `contextual`: paginação contextual com seletores e informação de itens
96
+ */
97
+ this.variant = 'default';
98
+ /**
99
+ * Mantém `current` e `perPage` sob controle da aplicação.
100
+ *
101
+ * Quando ativo, interações apenas emitem a intenção de mudança. A aplicação
102
+ * deve atualizar a propriedade correspondente após concluir seu processamento.
103
+ *
104
+ * @default false
105
+ */
106
+ this.controlled = false;
107
+ /** Indica que a página solicitada ainda está sendo carregada pelo consumidor.
108
+ * @default false
109
+ */
110
+ this.loading = false;
111
+ /**
112
+ * Itens por página (aplicável na variante contextual).
113
+ */
114
+ this.perPage = 10;
115
+ /**
116
+ * Opções disponíveis de itens por página (variante contextual).
117
+ */
118
+ this.perPageOptions = [10, 20, 30];
119
+ /**
120
+ * Rótulo do seletor de itens por página (variante contextual).
121
+ */
122
+ this.perPageLabel = 'Exibir';
123
+ /**
124
+ * Rótulo do seletor "ir para página" (variante contextual).
125
+ */
126
+ this.goToPageLabel = 'Página';
127
+ /**
128
+ * Sufixo textual para a informação de quantidade de itens (variante contextual).
129
+ */
130
+ this.itemsText = 'itens';
131
+ this.ellipsisScrollFrame = null;
132
+ this.pendingEllipsisScrollOffsets = {};
133
+ this.pendingEllipsisFocus = null;
134
+ this.goToOptionsCache = null;
135
+ this.pendingGoToResetFrame = null;
136
+ this.goTo = (page) => {
137
+ if (this.loading)
138
+ return;
139
+ const next = this.clampPage(page);
140
+ if (next !== this.current) {
141
+ if (!this.controlled) {
142
+ this.current = next;
143
+ if (this.currentPage !== undefined)
144
+ this.currentPage = next;
145
+ }
146
+ this.pageChange.emit({ page: next });
147
+ this.brPaginationPageChange.emit({ page: next });
148
+ }
149
+ // Gerenciar foco após mudanças iniciadas pelo usuário
150
+ this.queueFocusAfterNavigation();
151
+ };
152
+ this.handlePrevClick = (event) => {
153
+ event.preventDefault();
154
+ if (this.current > 1) {
155
+ this.goTo(this.current - 1);
156
+ }
157
+ };
158
+ this.handleNextClick = (event) => {
159
+ event.preventDefault();
160
+ const maxPages = this.variant === 'contextual' ? this.getTotalPages() : this.getDefaultTotalPages();
161
+ if (this.current < maxPages) {
162
+ this.goTo(this.current + 1);
163
+ }
164
+ };
165
+ this.handlePageClickFactory = (page) => {
166
+ return (event) => {
167
+ event.preventDefault();
168
+ if (this.loading)
169
+ return;
170
+ this.lastInteraction = 'number';
171
+ this.goTo(page);
172
+ };
173
+ };
174
+ this.handleEllipsisItemClickFactory = (page) => {
175
+ return () => {
176
+ if (this.loading)
177
+ return;
178
+ this.lastInteraction = 'ellipsis';
179
+ this.goTo(page);
180
+ };
181
+ };
182
+ this.handlePageKeyDown = (ev) => {
183
+ const target = ev.target;
184
+ // Aceita tanto o botão de página quanto o botão de reticências
185
+ if (!(target?.matches('button.page[part="page"]') || target?.matches('.pagination-ellipsis br-button[slot="trigger"]'))) {
186
+ return;
187
+ }
188
+ const buttons = this.getVisiblePageButtons();
189
+ const idx = buttons.indexOf(target);
190
+ if (idx === -1)
191
+ return;
192
+ switch (ev.key) {
193
+ case 'ArrowRight':
194
+ case 'ArrowDown':
195
+ ev.preventDefault();
196
+ this.focusPageButtonByIndex(idx + 1);
197
+ break;
198
+ case 'ArrowLeft':
199
+ case 'ArrowUp':
200
+ ev.preventDefault();
201
+ this.focusPageButtonByIndex(idx - 1);
202
+ break;
203
+ case 'Home':
204
+ ev.preventDefault();
205
+ this.focusPageButtonByIndex(0);
206
+ break;
207
+ case 'End':
208
+ ev.preventDefault();
209
+ this.focusPageButtonByIndex(buttons.length - 1);
210
+ break;
211
+ default:
212
+ break;
213
+ }
214
+ };
215
+ this.handleEllipsisScrollFactory = (key, totalItems) => {
216
+ return (event) => {
217
+ const list = event.currentTarget;
218
+ if (list === null)
219
+ return;
220
+ this.pendingEllipsisScrollOffsets[key] = list.scrollTop;
221
+ if (this.ellipsisScrollFrame !== null)
222
+ return;
223
+ this.ellipsisScrollFrame = requestAnimationFrame(() => {
224
+ this.ellipsisScrollFrame = null;
225
+ const offsets = this.pendingEllipsisScrollOffsets;
226
+ this.pendingEllipsisScrollOffsets = {};
227
+ Object.entries(offsets).forEach(([offsetKey, scrollTop]) => {
228
+ this.setEllipsisScrollOffset(offsetKey, scrollTop, totalItems);
229
+ });
230
+ });
231
+ };
232
+ };
233
+ this.handleEllipsisItemKeyDownFactory = (key, totalItems) => {
234
+ return (event) => {
235
+ const item = event.currentTarget;
236
+ const pageIndex = Number(item?.getAttribute('data-page-index'));
237
+ if (item === null || !Number.isInteger(pageIndex))
238
+ return;
239
+ if (event.key === 'Escape') {
240
+ event.preventDefault();
241
+ event.stopImmediatePropagation();
242
+ this.handleEllipsisEscape(item, key);
243
+ return;
244
+ }
245
+ this.handleEllipsisBoundaryNavigation(event, key, totalItems, pageIndex);
246
+ };
247
+ };
248
+ this.handlePerPageChange = (event) => {
249
+ if (this.loading)
250
+ return;
251
+ const value = Number(event.detail);
252
+ // Ignora se o valor não for um número finito ou não tiver mudado
253
+ if (!Number.isFinite(value) || value === this.perPage) {
254
+ return;
255
+ }
256
+ const nextPerPage = Math.max(1, value);
257
+ if (!this.controlled) {
258
+ this.perPage = nextPerPage;
259
+ this.current = this.clampPage(this.current); // Ajusta a página atual
260
+ }
261
+ const detail = { perPage: nextPerPage };
262
+ this.perPageChange.emit(detail);
263
+ this.brPaginationPerPageChange.emit(detail);
264
+ // Gerencia o foco após a interação
265
+ this.lastInteraction = 'perPage';
266
+ this.queueFocusAfterNavigation();
267
+ };
268
+ this.handleGoToPageChange = (event) => {
269
+ if (this.loading)
270
+ return;
271
+ const value = Number(event.detail);
272
+ if (this.pendingGoToPage !== undefined)
273
+ return;
274
+ // O fallback para this.current garante que não tentemos navegar para NaN.
275
+ const next = this.clampPage(Number.isFinite(value) ? value : this.current);
276
+ if (next !== this.current) {
277
+ this.lastInteraction = 'goTo';
278
+ this.pendingGoToPage = next;
279
+ if (this.pendingGoToResetFrame !== null)
280
+ cancelAnimationFrame(this.pendingGoToResetFrame);
281
+ this.pendingGoToResetFrame = requestAnimationFrame(() => {
282
+ this.pendingGoToResetFrame = null;
283
+ this.pendingGoToPage = undefined;
284
+ });
285
+ this.goTo(next);
286
+ }
287
+ };
288
+ this.handleGoToSelectOpened = () => {
289
+ if (this.goToOptionsReady)
290
+ return;
291
+ this.goToOptionsReady = true;
292
+ };
293
+ }
294
+ handleTotalChange() {
295
+ this.goToOptionsCache = null;
296
+ this.goToOptionsReady = false;
297
+ this.resetAllEllipsisScrollOffsets();
298
+ this.current = this.clampPage(this.current);
299
+ }
300
+ handleTotalPagesChange(newValue) {
301
+ this.goToOptionsCache = null;
302
+ this.goToOptionsReady = false;
303
+ if (newValue !== undefined && newValue !== this.total)
304
+ this.total = newValue;
305
+ }
306
+ handleCurrentChange(newValue) {
307
+ this.resetAllEllipsisScrollOffsets();
308
+ const clamped = this.clampPage(newValue);
309
+ if (clamped !== newValue) {
310
+ this.current = clamped;
311
+ }
312
+ if (this.currentPage !== undefined && this.currentPage !== clamped)
313
+ this.currentPage = clamped;
314
+ }
315
+ handleCurrentPageChange(newValue) {
316
+ if (newValue !== undefined && newValue !== this.current)
317
+ this.current = newValue;
318
+ }
319
+ handlePerPagePropChange(newValue) {
320
+ this.goToOptionsCache = null;
321
+ this.goToOptionsReady = false;
322
+ if (this.variant !== 'contextual')
323
+ return;
324
+ const nextPerPage = Math.max(1, Number(newValue) || 1);
325
+ if (nextPerPage !== newValue) {
326
+ this.perPage = nextPerPage;
327
+ return;
328
+ }
329
+ this.current = this.clampPage(this.current);
330
+ }
331
+ handleTotalItemsChange() {
332
+ this.goToOptionsCache = null;
333
+ this.goToOptionsReady = false;
334
+ if (this.variant !== 'contextual')
335
+ return;
336
+ this.current = this.clampPage(this.current);
337
+ }
338
+ handleDensityChange() {
339
+ this.ellipsisScrollOffsets = {};
340
+ this.pendingEllipsisFocus = null;
341
+ this.ellipsisItemHeight = this.computeItemHeightForDensity();
342
+ }
343
+ connectedCallback() {
344
+ this.setupMediaQuery();
345
+ }
346
+ disconnectedCallback() {
347
+ this.cleanupMediaQuery();
348
+ this.pendingEllipsisFocus = null;
349
+ if (this.ellipsisScrollFrame !== null) {
350
+ cancelAnimationFrame(this.ellipsisScrollFrame);
351
+ this.ellipsisScrollFrame = null;
352
+ }
353
+ if (this.pendingGoToResetFrame !== null) {
354
+ cancelAnimationFrame(this.pendingGoToResetFrame);
355
+ this.pendingGoToResetFrame = null;
356
+ }
357
+ this.pendingGoToPage = undefined;
358
+ }
359
+ componentWillLoad() {
360
+ if (this.totalPages !== undefined)
361
+ this.total = this.totalPages;
362
+ if (this.currentPage !== undefined)
363
+ this.current = this.currentPage;
364
+ this.current = this.clampPage(this.current);
365
+ }
366
+ componentDidLoad() {
367
+ this.ellipsisItemHeight = this.computeItemHeightForDensity();
368
+ }
369
+ componentDidRender() {
370
+ this.flushPendingEllipsisFocus();
371
+ }
372
+ /**
373
+ * Define programaticamente a página atual dentro do intervalo permitido.
374
+ * @param page Página desejada (1-indexada).
375
+ * Em `controlled`, emite a solicitação sem alterar `current`.
376
+ */
377
+ async setPage(page) {
378
+ this.goTo(page);
379
+ }
380
+ /**
381
+ * Solicita navegação programática para uma página (1-indexada).
382
+ * Em `controlled`, aguarda a confirmação externa para alterar `current`.
383
+ */
384
+ async goToPage(page) {
385
+ this.goTo(page);
386
+ }
387
+ // Calcula a altura do item com base nos tokens de density do GovBR-DS.
388
+ // py-3 = spacing-scale-2x (medium), py-4 = spacing-scale-3x (large), base para small.
389
+ computeItemHeightForDensity() {
390
+ if (typeof window === 'undefined')
391
+ return Pagination.ELLIPSIS_ITEM_HEIGHT_FALLBACK;
392
+ const style = getComputedStyle(this.el);
393
+ const spacingBase = parseFloat(style.getPropertyValue('--spacing-scale-base'));
394
+ const fontSize = parseFloat(style.getPropertyValue('--font-size-scale-base'));
395
+ const lineHeight = parseFloat(style.getPropertyValue('--font-line-height-medium'));
396
+ if (!Number.isFinite(spacingBase) || !Number.isFinite(fontSize) || !Number.isFinite(lineHeight)) {
397
+ return Pagination.ELLIPSIS_ITEM_HEIGHT_FALLBACK;
398
+ }
399
+ const paddingY = this.density === 'large' ? spacingBase * 3 : this.density === 'medium' ? spacingBase * 2 : spacingBase;
400
+ return Math.ceil(fontSize * lineHeight + paddingY * 2);
401
+ }
402
+ setupMediaQuery() {
403
+ if (typeof window === 'undefined' || typeof window.matchMedia !== 'function')
404
+ return;
405
+ const query = '(max-width: 575.98px)';
406
+ this.cleanupMediaQuery();
407
+ try {
408
+ this.mqlSmall = window.matchMedia(query);
409
+ this.isSmall = this.mqlSmall.matches;
410
+ this.mqlSmallHandler = (event) => {
411
+ this.isSmall = event.matches;
412
+ };
413
+ const legacyMediaQueryList = this.mqlSmall;
414
+ if (typeof this.mqlSmall.addEventListener === 'function') {
415
+ this.mqlSmall.addEventListener('change', this.mqlSmallHandler);
416
+ }
417
+ else if (typeof legacyMediaQueryList.addListener === 'function') {
418
+ legacyMediaQueryList.addListener(this.mqlSmallHandler);
419
+ }
420
+ }
421
+ catch {
422
+ console.warn(`Media Query "${query}" is not supported in this browser.`);
423
+ this.mqlSmall = undefined;
424
+ this.mqlSmallHandler = undefined;
425
+ this.isSmall = false;
426
+ }
427
+ }
428
+ cleanupMediaQuery() {
429
+ if (this.mqlSmall === undefined || this.mqlSmallHandler === undefined) {
430
+ this.mqlSmall = undefined;
431
+ this.mqlSmallHandler = undefined;
432
+ return;
433
+ }
434
+ if (typeof this.mqlSmall.removeEventListener === 'function') {
435
+ this.mqlSmall.removeEventListener('change', this.mqlSmallHandler);
436
+ }
437
+ else {
438
+ const legacyMediaQueryList = this.mqlSmall;
439
+ if (typeof legacyMediaQueryList.removeListener === 'function') {
440
+ legacyMediaQueryList.removeListener(this.mqlSmallHandler);
441
+ }
442
+ }
443
+ this.mqlSmall = undefined;
444
+ this.mqlSmallHandler = undefined;
445
+ }
446
+ getCssClassMap() {
447
+ return {
448
+ 'br-pagination': true,
449
+ small: this.density === 'small',
450
+ large: this.density === 'large',
451
+ medium: this.density === 'medium',
452
+ 'dark-mode': this.colorMode === 'dark',
453
+ };
454
+ }
455
+ getDefaultTotalPages() {
456
+ return Math.max(1, Number(this.totalPages ?? this.total) || 1);
457
+ }
458
+ clampPage(value) {
459
+ const total = this.variant === 'contextual' ? this.getTotalPages() : this.getDefaultTotalPages();
460
+ const clampedValue = Math.max(1, Number(value) || 1);
461
+ return Math.min(clampedValue, total);
462
+ }
463
+ getVisiblePageButtons() {
464
+ const root = this.el.shadowRoot;
465
+ if (root === null)
466
+ return [];
467
+ return Array.from(root.querySelectorAll('button.page[part="page"], .pagination-ellipsis br-button[slot="trigger"]'));
468
+ }
469
+ focusPageButtonByIndex(index) {
470
+ const buttons = this.getVisiblePageButtons();
471
+ if (buttons.length === 0)
472
+ return;
473
+ const clamped = Math.max(0, Math.min(index, buttons.length - 1));
474
+ const btn = buttons[clamped];
475
+ // Garantir roving tabindex
476
+ buttons.forEach((b, i) => {
477
+ b.tabIndex = i === clamped ? 0 : -1;
478
+ });
479
+ btn.focus();
480
+ }
481
+ queueFocusAfterNavigation() {
482
+ // Diferir para após renderização (fallback em ambientes sem RAF)
483
+ const defer = typeof requestAnimationFrame === 'function'
484
+ ? requestAnimationFrame
485
+ : (cb) => setTimeout(() => cb(0), 0);
486
+ defer(() => {
487
+ if (this.variant === 'contextual') {
488
+ this.lastInteraction = undefined;
489
+ return;
490
+ }
491
+ // Variant default: focar no botão da página atual ao vir de reticências
492
+ if (this.lastInteraction === 'ellipsis' || this.lastInteraction === 'number') {
493
+ const buttons = this.getVisiblePageButtons();
494
+ const currentBtn = buttons.find((b) => b.getAttribute('aria-current') === 'page');
495
+ if (currentBtn !== null && currentBtn !== undefined) {
496
+ // Roving tabindex: somente o atual recebe 0
497
+ buttons.forEach((b) => {
498
+ b.tabIndex = b === currentBtn ? 0 : -1;
499
+ });
500
+ currentBtn.focus();
501
+ }
502
+ }
503
+ this.lastInteraction = undefined;
504
+ });
505
+ }
506
+ getComputedNavAriaLabel() {
507
+ // Respeita o valor fornecido externamente
508
+ if (this.ariaLabel && String(this.ariaLabel).trim().length > 0)
509
+ return this.ariaLabel;
510
+ const totalPages = this.variant === 'contextual' ? this.getTotalPages() : this.getDefaultTotalPages();
511
+ return `Paginação: página ${this.current} de ${totalPages}`;
512
+ }
513
+ renderPageButton(page) {
514
+ return (h("li", { key: page }, 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)));
515
+ }
516
+ getEllipsisRangeKey(position, from, to) {
517
+ return `${position}:${from}:${to}`;
518
+ }
519
+ resetAllEllipsisScrollOffsets() {
520
+ this.pendingEllipsisFocus = null;
521
+ if (Object.keys(this.ellipsisScrollOffsets).length === 0)
522
+ return;
523
+ this.ellipsisScrollOffsets = {};
524
+ }
525
+ resetEllipsisScrollOffset(key) {
526
+ if (this.pendingEllipsisFocus?.key === key) {
527
+ this.pendingEllipsisFocus = null;
528
+ }
529
+ if (!(key in this.ellipsisScrollOffsets))
530
+ return;
531
+ const nextOffsets = { ...this.ellipsisScrollOffsets };
532
+ delete nextOffsets[key];
533
+ this.ellipsisScrollOffsets = nextOffsets;
534
+ }
535
+ getEllipsisMetrics(key, totalItems) {
536
+ const itemHeight = this.ellipsisItemHeight;
537
+ const safeTotalItems = Math.max(0, totalItems);
538
+ const shouldVirtualize = safeTotalItems > Pagination.ELLIPSIS_VISIBLE_ITEMS;
539
+ const visibleItems = Math.min(safeTotalItems, Pagination.ELLIPSIS_VISIBLE_ITEMS);
540
+ const viewportHeight = visibleItems * itemHeight;
541
+ const maxScrollTop = Math.max(0, safeTotalItems * itemHeight - viewportHeight);
542
+ const storedScrollTop = shouldVirtualize ? (this.ellipsisScrollOffsets[key] ?? 0) : 0;
543
+ const scrollTop = Math.min(Math.max(0, storedScrollTop), maxScrollTop);
544
+ if (safeTotalItems === 0) {
545
+ return {
546
+ shouldVirtualize,
547
+ visibleItems,
548
+ scrollTop: 0,
549
+ renderedStartIndex: 0,
550
+ renderedEndIndex: -1,
551
+ viewportHeight,
552
+ };
553
+ }
554
+ const firstVisibleIndex = Math.min(safeTotalItems - 1, Math.floor(scrollTop / itemHeight));
555
+ const lastVisibleIndex = shouldVirtualize
556
+ ? Math.min(safeTotalItems - 1, Math.ceil((scrollTop + viewportHeight) / itemHeight) - 1)
557
+ : safeTotalItems - 1;
558
+ const renderedStartIndex = shouldVirtualize
559
+ ? Math.max(0, Math.min(safeTotalItems - 1, firstVisibleIndex - Pagination.ELLIPSIS_OVERSCAN))
560
+ : 0;
561
+ const renderedEndIndex = shouldVirtualize
562
+ ? Math.max(renderedStartIndex, Math.min(safeTotalItems - 1, lastVisibleIndex + Pagination.ELLIPSIS_OVERSCAN))
563
+ : safeTotalItems - 1;
564
+ return {
565
+ shouldVirtualize,
566
+ visibleItems,
567
+ scrollTop,
568
+ renderedStartIndex,
569
+ renderedEndIndex,
570
+ viewportHeight,
571
+ };
572
+ }
573
+ setEllipsisScrollOffset(key, scrollTop, totalItems) {
574
+ const viewportHeight = Math.min(totalItems ?? 0, Pagination.ELLIPSIS_VISIBLE_ITEMS) * this.ellipsisItemHeight;
575
+ const maxScrollTop = totalItems === undefined
576
+ ? Number.POSITIVE_INFINITY
577
+ : Math.max(0, totalItems * this.ellipsisItemHeight - viewportHeight);
578
+ const nextScrollTop = Math.min(Math.max(0, scrollTop), maxScrollTop);
579
+ if ((this.ellipsisScrollOffsets[key] ?? 0) === nextScrollTop)
580
+ return;
581
+ this.ellipsisScrollOffsets = {
582
+ ...this.ellipsisScrollOffsets,
583
+ [key]: nextScrollTop,
584
+ };
585
+ }
586
+ getEllipsisListElement(key) {
587
+ return (this.el.shadowRoot?.querySelector(`.pagination-ellipsis[data-ellipsis-key="${key}"] br-list`) ?? null);
588
+ }
589
+ focusEllipsisItemNow(key, pageIndex) {
590
+ const item = this.el.shadowRoot?.querySelector(`.pagination-ellipsis[data-ellipsis-key="${key}"] br-item[data-page-index="${pageIndex}"]`);
591
+ if (item === null || item === undefined)
592
+ return false;
593
+ if ('setFocus' in item) {
594
+ void item.setFocus();
595
+ return true;
596
+ }
597
+ item.focus();
598
+ return true;
599
+ }
600
+ flushPendingEllipsisFocus() {
601
+ const pendingFocus = this.pendingEllipsisFocus;
602
+ if (pendingFocus === null)
603
+ return;
604
+ const list = this.getEllipsisListElement(pendingFocus.key);
605
+ if (list === null)
606
+ return;
607
+ list.scrollTop = pendingFocus.scrollTop;
608
+ if (!this.focusEllipsisItemNow(pendingFocus.key, pendingFocus.pageIndex)) {
609
+ return;
610
+ }
611
+ this.pendingEllipsisFocus = null;
612
+ }
613
+ ensureEllipsisItemVisible(key, totalItems, pageIndex) {
614
+ const { scrollTop, viewportHeight } = this.getEllipsisMetrics(key, totalItems);
615
+ const itemHeight = this.ellipsisItemHeight;
616
+ const maxScrollTop = Math.max(0, totalItems * itemHeight - viewportHeight);
617
+ const itemTop = pageIndex * itemHeight;
618
+ const itemBottom = itemTop + itemHeight;
619
+ let nextScrollTop = scrollTop;
620
+ if (itemTop < scrollTop) {
621
+ nextScrollTop = itemTop;
622
+ }
623
+ else if (itemBottom > scrollTop + viewportHeight) {
624
+ nextScrollTop = itemBottom - viewportHeight;
625
+ }
626
+ nextScrollTop = Math.min(Math.max(0, nextScrollTop), maxScrollTop);
627
+ if (nextScrollTop !== scrollTop) {
628
+ this.pendingEllipsisFocus = {
629
+ key,
630
+ pageIndex,
631
+ scrollTop: nextScrollTop,
632
+ };
633
+ this.setEllipsisScrollOffset(key, nextScrollTop, totalItems);
634
+ return;
635
+ }
636
+ this.focusEllipsisItemNow(key, pageIndex);
637
+ }
638
+ getEllipsisBoundaryNavigationIndex(eventKey, pageIndex, totalItems, visibleItems, renderedStartIndex, renderedEndIndex) {
639
+ if (eventKey === 'Home')
640
+ return 0;
641
+ if (eventKey === 'End')
642
+ return totalItems - 1;
643
+ if (eventKey === 'PageDown')
644
+ return Math.min(totalItems - 1, pageIndex + visibleItems);
645
+ if (eventKey === 'PageUp')
646
+ return Math.max(0, pageIndex - visibleItems);
647
+ if (eventKey === 'ArrowDown') {
648
+ if (pageIndex === totalItems - 1)
649
+ return pageIndex;
650
+ if (pageIndex + 1 > renderedEndIndex)
651
+ return pageIndex + 1;
652
+ }
653
+ if (eventKey === 'ArrowUp') {
654
+ if (pageIndex === 0)
655
+ return pageIndex;
656
+ if (pageIndex - 1 < renderedStartIndex)
657
+ return pageIndex - 1;
658
+ }
659
+ return null;
660
+ }
661
+ handleEllipsisEscape(item, key) {
662
+ this.resetEllipsisScrollOffset(key);
663
+ const dropdown = item.closest('br-dropdown');
664
+ void dropdown?.hide();
665
+ }
666
+ handleEllipsisBoundaryNavigation(event, key, totalItems, pageIndex) {
667
+ const { visibleItems, renderedStartIndex, renderedEndIndex } = this.getEllipsisMetrics(key, totalItems);
668
+ const nextIndex = this.getEllipsisBoundaryNavigationIndex(event.key, pageIndex, totalItems, visibleItems, renderedStartIndex, renderedEndIndex);
669
+ if (nextIndex === null)
670
+ return;
671
+ event.preventDefault();
672
+ event.stopImmediatePropagation();
673
+ if (nextIndex === pageIndex)
674
+ return;
675
+ this.ensureEllipsisItemVisible(key, totalItems, nextIndex);
676
+ }
677
+ renderEllipsis(from, to, position) {
678
+ if (to < from)
679
+ return null;
680
+ const totalItems = to - from + 1;
681
+ const key = this.getEllipsisRangeKey(position, from, to);
682
+ const { shouldVirtualize, renderedStartIndex, renderedEndIndex, viewportHeight } = this.getEllipsisMetrics(key, totalItems);
683
+ const items = [];
684
+ for (let pageIndex = renderedStartIndex; pageIndex <= renderedEndIndex; pageIndex++) {
685
+ const page = from + pageIndex;
686
+ items.push(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));
687
+ }
688
+ const topSpacerHeight = renderedStartIndex * this.ellipsisItemHeight;
689
+ const bottomSpacerHeight = Math.max(0, totalItems - renderedEndIndex - 1) * this.ellipsisItemHeight;
690
+ return (h("li", { class: "pagination-ellipsis", part: "ellipsis", key: `ellipsis-${key}`, "data-ellipsis-key": key, "data-ellipsis-position": position }, h("br-dropdown", null, 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: () => {
691
+ this.resetEllipsisScrollOffset(key);
692
+ }, onKeyDown: this.handlePageKeyDown }, h("br-icon", { "attr:iconName": "fa6-solid:ellipsis", width: "16", height: "16", "aria-hidden": "true" }), h("span", { class: "visually-hidden" }, this.ellipsisLabel)), 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 ? (h("div", { class: "pagination-ellipsis-virtual-spacer", role: "presentation", "aria-hidden": "true", style: { height: `${topSpacerHeight}px` } })) : null, items, shouldVirtualize && bottomSpacerHeight > 0 ? (h("div", { class: "pagination-ellipsis-virtual-spacer", role: "presentation", "aria-hidden": "true", style: { height: `${bottomSpacerHeight}px` } })) : null))));
693
+ }
694
+ renderPagesSmall(total, current) {
695
+ const nodes = [];
696
+ if (total <= 3) {
697
+ for (let p = 1; p <= total; p++)
698
+ nodes.push(this.renderPageButton(p));
699
+ return nodes;
700
+ }
701
+ if (current <= 2) {
702
+ nodes.push(this.renderPageButton(1));
703
+ nodes.push(this.renderPageButton(2));
704
+ nodes.push(this.renderEllipsis(3, total - 1, 'start'));
705
+ nodes.push(this.renderPageButton(total));
706
+ return nodes;
707
+ }
708
+ if (current >= total - 1) {
709
+ nodes.push(this.renderPageButton(1));
710
+ nodes.push(this.renderEllipsis(2, total - 2, 'end'));
711
+ nodes.push(this.renderPageButton(total - 1));
712
+ nodes.push(this.renderPageButton(total));
713
+ return nodes;
714
+ }
715
+ nodes.push(this.renderPageButton(1));
716
+ nodes.push(this.renderEllipsis(2, current - 1, 'left'));
717
+ nodes.push(this.renderPageButton(current));
718
+ nodes.push(this.renderEllipsis(current + 1, total - 1, 'right'));
719
+ nodes.push(this.renderPageButton(total));
720
+ return nodes;
721
+ }
722
+ renderPagesStandard(total, current) {
723
+ const nodes = [];
724
+ if (total <= 7) {
725
+ for (let p = 1; p <= total; p++)
726
+ nodes.push(this.renderPageButton(p));
727
+ return nodes;
728
+ }
729
+ if (current <= 4) {
730
+ for (let p = 1; p <= 4; p++)
731
+ nodes.push(this.renderPageButton(p));
732
+ nodes.push(this.renderEllipsis(5, total - 1, 'start'));
733
+ nodes.push(this.renderPageButton(total));
734
+ return nodes;
735
+ }
736
+ if (current >= total - 3) {
737
+ nodes.push(this.renderPageButton(1));
738
+ nodes.push(this.renderEllipsis(2, total - 4, 'end'));
739
+ for (let p = total - 3; p <= total; p++)
740
+ nodes.push(this.renderPageButton(p));
741
+ return nodes;
742
+ }
743
+ nodes.push(this.renderPageButton(1));
744
+ nodes.push(this.renderEllipsis(2, current - 2, 'left'));
745
+ for (let p = current - 1; p <= current + 1; p++)
746
+ nodes.push(this.renderPageButton(p));
747
+ nodes.push(this.renderEllipsis(current + 2, total - 1, 'right'));
748
+ nodes.push(this.renderPageButton(total));
749
+ return nodes;
750
+ }
751
+ renderPages() {
752
+ const total = this.getDefaultTotalPages();
753
+ const current = this.clampPage(this.current);
754
+ return this.isSmall ? this.renderPagesSmall(total, current) : this.renderPagesStandard(total, current);
755
+ }
756
+ renderLoading() {
757
+ if (!this.loading)
758
+ return null;
759
+ return (h("span", { part: "loading", class: "pagination-loading", role: "status", "aria-live": "polite", "aria-label": "Carregando" }, h("slot", { name: "loading" }, h("br-loading", { size: "small", compact: true, label: "Carregando" }))));
760
+ }
761
+ getTotalPages() {
762
+ const items = Math.max(0, Number(this.totalItems) || 0);
763
+ const perPage = Math.max(1, Number(this.perPage) || 1);
764
+ return Math.max(1, Math.ceil(items / perPage));
765
+ }
766
+ getRangeInfo() {
767
+ const total = Math.max(0, Number(this.totalItems) || 0);
768
+ const perPage = Math.max(1, Number(this.perPage) || 1);
769
+ const current = this.clampPage(this.current);
770
+ if (total === 0)
771
+ return { start: 0, end: 0, total };
772
+ const start = (current - 1) * perPage + 1;
773
+ const end = Math.min(current * perPage, total);
774
+ return { start, end, total };
775
+ }
776
+ handleContextualSelectChange(event) {
777
+ const select = event
778
+ .composedPath()
779
+ .find((node) => node instanceof HTMLElement && node.tagName === 'BR-SELECT');
780
+ if (!(select instanceof HTMLElement) || select.tagName !== 'BR-SELECT')
781
+ return;
782
+ const container = select.parentElement;
783
+ if (container?.classList.contains('pagination-per-page'))
784
+ this.handlePerPageChange(event);
785
+ else if (container?.classList.contains('pagination-go-to-page'))
786
+ this.handleGoToPageChange(event);
787
+ }
788
+ renderPerPageDropdown() {
789
+ return (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) => (h("br-select-option", { key: String(perPageOption), value: String(perPageOption), selected: perPageOption === this.perPage }, perPageOption)))));
790
+ }
791
+ renderPerPageSelect() {
792
+ return (h("div", { class: "pagination-per-page", part: "per-page" }, this.renderPerPageDropdown()));
793
+ }
794
+ renderGoToSelect() {
795
+ const totalPages = this.getTotalPages();
796
+ const largePageSet = totalPages > Pagination.LARGE_PAGE_THRESHOLD;
797
+ const goToInputWidth = `${Math.max(88, String(totalPages).length * 16 + 48)}px`;
798
+ return (h("div", { class: "pagination-go-to-page d-none d-sm-flex ml-auto" }, 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
799
+ ? this.getWindowedGoToOptions(totalPages, this.goToSearchTerm)
800
+ : this.goToOptionsReady
801
+ ? this.getGoToOptions(totalPages)
802
+ : 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 })));
803
+ }
804
+ getWindowedGoToOptions(totalPages, query) {
805
+ const parsed = Number.parseInt(query.trim(), 10);
806
+ const center = Number.isInteger(parsed) && parsed >= 1 && parsed <= totalPages ? parsed : this.current;
807
+ const radius = query.trim() ? 10 : 50;
808
+ const pages = new Set([1, totalPages]);
809
+ if (!query.trim())
810
+ pages.add(Math.min(Math.max(this.current, 1), totalPages));
811
+ for (let page = center - radius; page <= center + radius; page++) {
812
+ if (page >= 1 && page <= totalPages)
813
+ pages.add(page);
814
+ }
815
+ if (query.trim() && (!Number.isInteger(parsed) || parsed < 1 || parsed > totalPages))
816
+ return [];
817
+ return [...pages]
818
+ .sort((a, b) => a - b)
819
+ .map((page) => ({ value: String(page), label: String(page), selected: page === this.current }));
820
+ }
821
+ getCurrentGoToOption(totalPages) {
822
+ const current = Math.min(Math.max(this.current, 1), totalPages);
823
+ return [{ value: String(current), label: String(current), selected: true }];
824
+ }
825
+ getGoToOptions(totalPages) {
826
+ if (this.goToOptionsCache !== null && this.goToOptionsCache.length === totalPages) {
827
+ return this.goToOptionsCache;
828
+ }
829
+ this.goToOptionsCache = Array.from({ length: totalPages }, (_, index) => {
830
+ const page = index + 1;
831
+ return { value: String(page), label: String(page) };
832
+ });
833
+ return this.goToOptionsCache;
834
+ }
835
+ renderContextual() {
836
+ const { start, end, total } = this.getRangeInfo();
837
+ const totalPages = this.getTotalPages();
838
+ return (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(), h("span", { class: "br-divider d-none d-sm-block mx-3" }), h("div", { class: "pagination-information d-none d-sm-flex", "aria-live": "polite" }, h("slot", { name: "pagination-info" }, h("span", { class: "current" }, start), "\u2013", h("span", { class: "per-page" }, end), "\u00A0de\u00A0", h("span", { class: "total" }, total), "\u00A0", this.itemsText), this.renderLoading()), this.renderGoToSelect(), h("span", { class: "br-divider d-none d-sm-block mx-3" }), h("div", { class: "pagination-arrows ml-auto ml-sm-0" }, 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 }, h("br-icon", { "attr:iconName": "fa6-solid:angle-left", width: "16", height: "16", "aria-hidden": "true" }), h("span", { class: "visually-hidden" }, this.previousLabel)), 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 }, h("br-icon", { "attr:iconName": "fa6-solid:angle-right", width: "16", height: "16", "aria-hidden": "true" }), h("span", { class: "visually-hidden" }, this.nextLabel))), h("span", { class: "visually-hidden", "aria-live": "polite" }, "P\u00E1gina ", this.current, " de ", totalPages)));
839
+ }
840
+ render() {
841
+ if (this.variant === 'contextual') {
842
+ return h(Host, null, this.renderContextual());
843
+ }
844
+ const totalPages = this.getDefaultTotalPages();
845
+ return (h(Host, null, 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 }, h("ul", { part: "list" }, h("li", null, 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 }, h("br-icon", { "attr:iconName": "fa6-solid:angle-left", width: "16", height: "16", "aria-hidden": "true" }), h("span", { class: "visually-hidden" }, this.previousLabel))), this.renderPages(), this.loading ? (h("li", { part: "loading", class: "pagination-loading" }, this.renderLoading())) : null, h("li", null, 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 }, h("br-icon", { "attr:iconName": "fa6-solid:angle-right", width: "16", height: "16", "aria-hidden": "true" }), h("span", { class: "visually-hidden" }, this.nextLabel)))), h("span", { class: "visually-hidden", "aria-live": "polite" }, "P\u00E1gina ", this.current, " de ", totalPages))));
846
+ }
847
+ static get is() { return "br-pagination"; }
848
+ static get encapsulation() { return "shadow"; }
849
+ static get originalStyleUrls() {
850
+ return {
851
+ "$": ["pagination.scss"]
852
+ };
853
+ }
854
+ static get styleUrls() {
855
+ return {
856
+ "$": ["pagination.css"]
857
+ };
858
+ }
859
+ static get properties() {
860
+ return {
861
+ "colorMode": {
862
+ "type": "string",
863
+ "mutable": false,
864
+ "complexType": {
865
+ "original": "PaginationColorMode",
866
+ "resolved": "\"dark\"",
867
+ "references": {
868
+ "PaginationColorMode": {
869
+ "location": "import",
870
+ "path": "./pagination.types",
871
+ "id": "src/components/pagination/pagination.types.ts::PaginationColorMode",
872
+ "referenceLocation": "PaginationColorMode"
873
+ }
874
+ }
875
+ },
876
+ "required": false,
877
+ "optional": true,
878
+ "docs": {
879
+ "tags": [],
880
+ "text": "Define se a pagina\u00E7\u00E3o usar\u00E1 um esquema de cores escuro.\nQuando definido como `dark`, aplica a classe `dark-mode` ao container principal."
881
+ },
882
+ "getter": false,
883
+ "setter": false,
884
+ "reflect": true,
885
+ "attribute": "color-mode"
886
+ },
887
+ "customId": {
888
+ "type": "string",
889
+ "mutable": false,
890
+ "complexType": {
891
+ "original": "string",
892
+ "resolved": "string",
893
+ "references": {}
894
+ },
895
+ "required": false,
896
+ "optional": false,
897
+ "docs": {
898
+ "tags": [],
899
+ "text": "Identificador \u00FAnico do componente.\nQuando omitido, um valor \u00E9 gerado automaticamente.\n\n> **Padr\u00E3o:** valor \u00FAnico gerado por Helpers.generateUniqueId().\n\n> **Uso compartilhado:** mantenha esta descri\u00E7\u00E3o id\u00EAntica em todos os componentes que usam `customId`."
900
+ },
901
+ "getter": false,
902
+ "setter": false,
903
+ "reflect": true,
904
+ "attribute": "custom-id",
905
+ "defaultValue": "Helpers.generateUniqueId()"
906
+ },
907
+ "total": {
908
+ "type": "number",
909
+ "mutable": false,
910
+ "complexType": {
911
+ "original": "number",
912
+ "resolved": "number",
913
+ "references": {}
914
+ },
915
+ "required": false,
916
+ "optional": false,
917
+ "docs": {
918
+ "tags": [],
919
+ "text": "Quantidade total de p\u00E1ginas (m\u00EDnimo 1)."
920
+ },
921
+ "getter": false,
922
+ "setter": false,
923
+ "reflect": true,
924
+ "attribute": "total",
925
+ "defaultValue": "1"
926
+ },
927
+ "totalPages": {
928
+ "type": "number",
929
+ "mutable": false,
930
+ "complexType": {
931
+ "original": "number",
932
+ "resolved": "number",
933
+ "references": {}
934
+ },
935
+ "required": false,
936
+ "optional": true,
937
+ "docs": {
938
+ "tags": [],
939
+ "text": "Quantidade total de p\u00E1ginas. Tem preced\u00EAncia sobre `total`."
940
+ },
941
+ "getter": false,
942
+ "setter": false,
943
+ "reflect": true,
944
+ "attribute": "total-pages"
945
+ },
946
+ "current": {
947
+ "type": "number",
948
+ "mutable": true,
949
+ "complexType": {
950
+ "original": "number",
951
+ "resolved": "number",
952
+ "references": {}
953
+ },
954
+ "required": false,
955
+ "optional": false,
956
+ "docs": {
957
+ "tags": [],
958
+ "text": "P\u00E1gina atual (1-indexada). Valores fora do intervalo ser\u00E3o ajustados."
959
+ },
960
+ "getter": false,
961
+ "setter": false,
962
+ "reflect": true,
963
+ "attribute": "current",
964
+ "defaultValue": "1"
965
+ },
966
+ "currentPage": {
967
+ "type": "number",
968
+ "mutable": true,
969
+ "complexType": {
970
+ "original": "number",
971
+ "resolved": "number",
972
+ "references": {}
973
+ },
974
+ "required": false,
975
+ "optional": true,
976
+ "docs": {
977
+ "tags": [],
978
+ "text": "P\u00E1gina atual. Tem preced\u00EAncia sobre `current`."
979
+ },
980
+ "getter": false,
981
+ "setter": false,
982
+ "reflect": true,
983
+ "attribute": "current-page"
984
+ },
985
+ "ariaLabel": {
986
+ "type": "string",
987
+ "mutable": false,
988
+ "complexType": {
989
+ "original": "string",
990
+ "resolved": "string",
991
+ "references": {}
992
+ },
993
+ "required": true,
994
+ "optional": false,
995
+ "docs": {
996
+ "tags": [],
997
+ "text": "Define o r\u00F3tulo acess\u00EDvel usado por tecnologias assistivas.\n\n> **Uso compartilhado:** mantenha esta descri\u00E7\u00E3o id\u00EAntica em todos os componentes que usam `ariaLabel`."
998
+ },
999
+ "getter": false,
1000
+ "setter": false,
1001
+ "reflect": true,
1002
+ "attribute": "aria-label"
1003
+ },
1004
+ "previousLabel": {
1005
+ "type": "string",
1006
+ "mutable": false,
1007
+ "complexType": {
1008
+ "original": "string",
1009
+ "resolved": "string",
1010
+ "references": {}
1011
+ },
1012
+ "required": false,
1013
+ "optional": false,
1014
+ "docs": {
1015
+ "tags": [],
1016
+ "text": "R\u00F3tulo acess\u00EDvel do bot\u00E3o de p\u00E1gina anterior."
1017
+ },
1018
+ "getter": false,
1019
+ "setter": false,
1020
+ "reflect": false,
1021
+ "attribute": "previous-label",
1022
+ "defaultValue": "'Voltar p\u00E1gina'"
1023
+ },
1024
+ "nextLabel": {
1025
+ "type": "string",
1026
+ "mutable": false,
1027
+ "complexType": {
1028
+ "original": "string",
1029
+ "resolved": "string",
1030
+ "references": {}
1031
+ },
1032
+ "required": false,
1033
+ "optional": false,
1034
+ "docs": {
1035
+ "tags": [],
1036
+ "text": "R\u00F3tulo acess\u00EDvel do bot\u00E3o de pr\u00F3xima p\u00E1gina."
1037
+ },
1038
+ "getter": false,
1039
+ "setter": false,
1040
+ "reflect": false,
1041
+ "attribute": "next-label",
1042
+ "defaultValue": "'P\u00E1gina seguinte'"
1043
+ },
1044
+ "ellipsisLabel": {
1045
+ "type": "string",
1046
+ "mutable": false,
1047
+ "complexType": {
1048
+ "original": "string",
1049
+ "resolved": "string",
1050
+ "references": {}
1051
+ },
1052
+ "required": false,
1053
+ "optional": false,
1054
+ "docs": {
1055
+ "tags": [],
1056
+ "text": "R\u00F3tulo acess\u00EDvel do bot\u00E3o de retic\u00EAncias que abre a lista de p\u00E1ginas ocultas."
1057
+ },
1058
+ "getter": false,
1059
+ "setter": false,
1060
+ "reflect": false,
1061
+ "attribute": "ellipsis-label",
1062
+ "defaultValue": "'Abrir ou fechar a lista de pagina\u00E7\u00E3o'"
1063
+ },
1064
+ "density": {
1065
+ "type": "string",
1066
+ "mutable": false,
1067
+ "complexType": {
1068
+ "original": "PaginationDensity",
1069
+ "resolved": "\"large\" | \"medium\" | \"small\"",
1070
+ "references": {
1071
+ "PaginationDensity": {
1072
+ "location": "import",
1073
+ "path": "./pagination.types",
1074
+ "id": "src/components/pagination/pagination.types.ts::PaginationDensity",
1075
+ "referenceLocation": "PaginationDensity"
1076
+ }
1077
+ }
1078
+ },
1079
+ "required": false,
1080
+ "optional": false,
1081
+ "docs": {
1082
+ "tags": [],
1083
+ "text": "Define a densidade visual do componente.\n\n- `small`: Alta densidade (componente menor, mais compacto e com menos espa\u00E7amento).\n- `medium`: Densidade intermedi\u00E1ria, padr\u00E3o recomendado para a maioria dos casos.\n- `large`: Baixa densidade (componente maior, mais espa\u00E7amento e altura).\n\n> **Uso compartilhado:** mantenha esta descri\u00E7\u00E3o id\u00EAntica em todos os componentes que usam `density`."
1084
+ },
1085
+ "getter": false,
1086
+ "setter": false,
1087
+ "reflect": true,
1088
+ "attribute": "density",
1089
+ "defaultValue": "'medium'"
1090
+ },
1091
+ "variant": {
1092
+ "type": "string",
1093
+ "mutable": false,
1094
+ "complexType": {
1095
+ "original": "PaginationVariant",
1096
+ "resolved": "\"contextual\" | \"default\"",
1097
+ "references": {
1098
+ "PaginationVariant": {
1099
+ "location": "import",
1100
+ "path": "./pagination.types",
1101
+ "id": "src/components/pagination/pagination.types.ts::PaginationVariant",
1102
+ "referenceLocation": "PaginationVariant"
1103
+ }
1104
+ }
1105
+ },
1106
+ "required": false,
1107
+ "optional": false,
1108
+ "docs": {
1109
+ "tags": [],
1110
+ "text": "Variante de renderiza\u00E7\u00E3o do componente.\n- `default`: pagina\u00E7\u00E3o num\u00E9rica (padr\u00E3o)\n- `contextual`: pagina\u00E7\u00E3o contextual com seletores e informa\u00E7\u00E3o de itens"
1111
+ },
1112
+ "getter": false,
1113
+ "setter": false,
1114
+ "reflect": true,
1115
+ "attribute": "variant",
1116
+ "defaultValue": "'default'"
1117
+ },
1118
+ "controlled": {
1119
+ "type": "boolean",
1120
+ "mutable": false,
1121
+ "complexType": {
1122
+ "original": "boolean",
1123
+ "resolved": "boolean",
1124
+ "references": {}
1125
+ },
1126
+ "required": false,
1127
+ "optional": false,
1128
+ "docs": {
1129
+ "tags": [{
1130
+ "name": "default",
1131
+ "text": "false"
1132
+ }],
1133
+ "text": "Mant\u00E9m `current` e `perPage` sob controle da aplica\u00E7\u00E3o.\n\nQuando ativo, intera\u00E7\u00F5es apenas emitem a inten\u00E7\u00E3o de mudan\u00E7a. A aplica\u00E7\u00E3o\ndeve atualizar a propriedade correspondente ap\u00F3s concluir seu processamento."
1134
+ },
1135
+ "getter": false,
1136
+ "setter": false,
1137
+ "reflect": true,
1138
+ "attribute": "controlled",
1139
+ "defaultValue": "false"
1140
+ },
1141
+ "loading": {
1142
+ "type": "boolean",
1143
+ "mutable": false,
1144
+ "complexType": {
1145
+ "original": "boolean",
1146
+ "resolved": "boolean",
1147
+ "references": {}
1148
+ },
1149
+ "required": false,
1150
+ "optional": false,
1151
+ "docs": {
1152
+ "tags": [{
1153
+ "name": "default",
1154
+ "text": "false"
1155
+ }],
1156
+ "text": "Indica que a p\u00E1gina solicitada ainda est\u00E1 sendo carregada pelo consumidor."
1157
+ },
1158
+ "getter": false,
1159
+ "setter": false,
1160
+ "reflect": true,
1161
+ "attribute": "loading",
1162
+ "defaultValue": "false"
1163
+ },
1164
+ "totalItems": {
1165
+ "type": "number",
1166
+ "mutable": false,
1167
+ "complexType": {
1168
+ "original": "number",
1169
+ "resolved": "number",
1170
+ "references": {}
1171
+ },
1172
+ "required": false,
1173
+ "optional": true,
1174
+ "docs": {
1175
+ "tags": [],
1176
+ "text": "Total de itens (aplic\u00E1vel na variante contextual)."
1177
+ },
1178
+ "getter": false,
1179
+ "setter": false,
1180
+ "reflect": true,
1181
+ "attribute": "total-items"
1182
+ },
1183
+ "perPage": {
1184
+ "type": "number",
1185
+ "mutable": true,
1186
+ "complexType": {
1187
+ "original": "number",
1188
+ "resolved": "number",
1189
+ "references": {}
1190
+ },
1191
+ "required": false,
1192
+ "optional": false,
1193
+ "docs": {
1194
+ "tags": [],
1195
+ "text": "Itens por p\u00E1gina (aplic\u00E1vel na variante contextual)."
1196
+ },
1197
+ "getter": false,
1198
+ "setter": false,
1199
+ "reflect": true,
1200
+ "attribute": "per-page",
1201
+ "defaultValue": "10"
1202
+ },
1203
+ "perPageOptions": {
1204
+ "type": "unknown",
1205
+ "mutable": false,
1206
+ "complexType": {
1207
+ "original": "number[]",
1208
+ "resolved": "number[]",
1209
+ "references": {}
1210
+ },
1211
+ "required": false,
1212
+ "optional": false,
1213
+ "docs": {
1214
+ "tags": [],
1215
+ "text": "Op\u00E7\u00F5es dispon\u00EDveis de itens por p\u00E1gina (variante contextual)."
1216
+ },
1217
+ "getter": false,
1218
+ "setter": false,
1219
+ "defaultValue": "[10, 20, 30]"
1220
+ },
1221
+ "perPageLabel": {
1222
+ "type": "string",
1223
+ "mutable": false,
1224
+ "complexType": {
1225
+ "original": "string",
1226
+ "resolved": "string",
1227
+ "references": {}
1228
+ },
1229
+ "required": false,
1230
+ "optional": false,
1231
+ "docs": {
1232
+ "tags": [],
1233
+ "text": "R\u00F3tulo do seletor de itens por p\u00E1gina (variante contextual)."
1234
+ },
1235
+ "getter": false,
1236
+ "setter": false,
1237
+ "reflect": false,
1238
+ "attribute": "per-page-label",
1239
+ "defaultValue": "'Exibir'"
1240
+ },
1241
+ "goToPageLabel": {
1242
+ "type": "string",
1243
+ "mutable": false,
1244
+ "complexType": {
1245
+ "original": "string",
1246
+ "resolved": "string",
1247
+ "references": {}
1248
+ },
1249
+ "required": false,
1250
+ "optional": false,
1251
+ "docs": {
1252
+ "tags": [],
1253
+ "text": "R\u00F3tulo do seletor \"ir para p\u00E1gina\" (variante contextual)."
1254
+ },
1255
+ "getter": false,
1256
+ "setter": false,
1257
+ "reflect": false,
1258
+ "attribute": "go-to-page-label",
1259
+ "defaultValue": "'P\u00E1gina'"
1260
+ },
1261
+ "itemsText": {
1262
+ "type": "string",
1263
+ "mutable": false,
1264
+ "complexType": {
1265
+ "original": "string",
1266
+ "resolved": "string",
1267
+ "references": {}
1268
+ },
1269
+ "required": false,
1270
+ "optional": false,
1271
+ "docs": {
1272
+ "tags": [],
1273
+ "text": "Sufixo textual para a informa\u00E7\u00E3o de quantidade de itens (variante contextual)."
1274
+ },
1275
+ "getter": false,
1276
+ "setter": false,
1277
+ "reflect": false,
1278
+ "attribute": "items-text",
1279
+ "defaultValue": "'itens'"
1280
+ }
1281
+ };
1282
+ }
1283
+ static get states() {
1284
+ return {
1285
+ "isSmall": {},
1286
+ "goToOptionsReady": {},
1287
+ "goToSearchTerm": {},
1288
+ "ellipsisScrollOffsets": {},
1289
+ "ellipsisItemHeight": {}
1290
+ };
1291
+ }
1292
+ static get events() {
1293
+ return [{
1294
+ "method": "pageChange",
1295
+ "name": "pageChange",
1296
+ "bubbles": true,
1297
+ "cancelable": true,
1298
+ "composed": true,
1299
+ "docs": {
1300
+ "tags": [],
1301
+ "text": "Solicita uma p\u00E1gina por intera\u00E7\u00E3o do usu\u00E1rio ou pelo m\u00E9todo p\u00FAblico.\n\nEm `controlled`, o evento informa a p\u00E1gina solicitada, mas `current` s\u00F3\nmuda quando a aplica\u00E7\u00E3o confirma o resultado. O componente n\u00E3o faz\nchamadas remotas nem cancela a consulta do consumidor."
1302
+ },
1303
+ "complexType": {
1304
+ "original": "PaginationPageChangeDetail",
1305
+ "resolved": "{ page: number; }",
1306
+ "references": {
1307
+ "PaginationPageChangeDetail": {
1308
+ "location": "import",
1309
+ "path": "./pagination.types",
1310
+ "id": "src/components/pagination/pagination.types.ts::PaginationPageChangeDetail",
1311
+ "referenceLocation": "PaginationPageChangeDetail"
1312
+ }
1313
+ }
1314
+ }
1315
+ }, {
1316
+ "method": "brPaginationPageChange",
1317
+ "name": "brPaginationPageChange",
1318
+ "bubbles": true,
1319
+ "cancelable": false,
1320
+ "composed": true,
1321
+ "docs": {
1322
+ "tags": [],
1323
+ "text": "Evento can\u00F4nico para iniciar o carregamento de uma p\u00E1gina.\nO `detail` cont\u00E9m `{ page }`; o evento n\u00E3o \u00E9 cancel\u00E1vel."
1324
+ },
1325
+ "complexType": {
1326
+ "original": "PaginationPageChangeDetail",
1327
+ "resolved": "{ page: number; }",
1328
+ "references": {
1329
+ "PaginationPageChangeDetail": {
1330
+ "location": "import",
1331
+ "path": "./pagination.types",
1332
+ "id": "src/components/pagination/pagination.types.ts::PaginationPageChangeDetail",
1333
+ "referenceLocation": "PaginationPageChangeDetail"
1334
+ }
1335
+ }
1336
+ }
1337
+ }, {
1338
+ "method": "perPageChange",
1339
+ "name": "perPageChange",
1340
+ "bubbles": true,
1341
+ "cancelable": true,
1342
+ "composed": true,
1343
+ "docs": {
1344
+ "tags": [],
1345
+ "text": "Solicita uma quantidade de itens por p\u00E1gina (variante contextual).\nEm `controlled`, a aplica\u00E7\u00E3o confirma a mudan\u00E7a atribuindo `perPage`."
1346
+ },
1347
+ "complexType": {
1348
+ "original": "PaginationPerPageChangeDetail",
1349
+ "resolved": "{ perPage: number; }",
1350
+ "references": {
1351
+ "PaginationPerPageChangeDetail": {
1352
+ "location": "import",
1353
+ "path": "./pagination.types",
1354
+ "id": "src/components/pagination/pagination.types.ts::PaginationPerPageChangeDetail",
1355
+ "referenceLocation": "PaginationPerPageChangeDetail"
1356
+ }
1357
+ }
1358
+ }
1359
+ }, {
1360
+ "method": "brPaginationPerPageChange",
1361
+ "name": "brPaginationPerPageChange",
1362
+ "bubbles": true,
1363
+ "cancelable": false,
1364
+ "composed": true,
1365
+ "docs": {
1366
+ "tags": [],
1367
+ "text": "Evento can\u00F4nico para iniciar o carregamento de uma nova quantidade de\nitens. O `detail` cont\u00E9m `{ perPage }`; o evento n\u00E3o \u00E9 cancel\u00E1vel."
1368
+ },
1369
+ "complexType": {
1370
+ "original": "PaginationPerPageChangeDetail",
1371
+ "resolved": "{ perPage: number; }",
1372
+ "references": {
1373
+ "PaginationPerPageChangeDetail": {
1374
+ "location": "import",
1375
+ "path": "./pagination.types",
1376
+ "id": "src/components/pagination/pagination.types.ts::PaginationPerPageChangeDetail",
1377
+ "referenceLocation": "PaginationPerPageChangeDetail"
1378
+ }
1379
+ }
1380
+ }
1381
+ }];
1382
+ }
1383
+ static get methods() {
1384
+ return {
1385
+ "setPage": {
1386
+ "complexType": {
1387
+ "signature": "(page: number) => Promise<void>",
1388
+ "parameters": [{
1389
+ "name": "page",
1390
+ "type": "number",
1391
+ "docs": "P\u00E1gina desejada (1-indexada).\nEm `controlled`, emite a solicita\u00E7\u00E3o sem alterar `current`."
1392
+ }],
1393
+ "references": {
1394
+ "Promise": {
1395
+ "location": "global",
1396
+ "id": "global::Promise"
1397
+ }
1398
+ },
1399
+ "return": "Promise<void>"
1400
+ },
1401
+ "docs": {
1402
+ "text": "Define programaticamente a p\u00E1gina atual dentro do intervalo permitido.",
1403
+ "tags": [{
1404
+ "name": "param",
1405
+ "text": "page P\u00E1gina desejada (1-indexada).\nEm `controlled`, emite a solicita\u00E7\u00E3o sem alterar `current`."
1406
+ }]
1407
+ }
1408
+ },
1409
+ "goToPage": {
1410
+ "complexType": {
1411
+ "signature": "(page: number) => Promise<void>",
1412
+ "parameters": [{
1413
+ "name": "page",
1414
+ "type": "number",
1415
+ "docs": ""
1416
+ }],
1417
+ "references": {
1418
+ "Promise": {
1419
+ "location": "global",
1420
+ "id": "global::Promise"
1421
+ }
1422
+ },
1423
+ "return": "Promise<void>"
1424
+ },
1425
+ "docs": {
1426
+ "text": "Solicita navega\u00E7\u00E3o program\u00E1tica para uma p\u00E1gina (1-indexada).\nEm `controlled`, aguarda a confirma\u00E7\u00E3o externa para alterar `current`.",
1427
+ "tags": []
1428
+ }
1429
+ }
1430
+ };
1431
+ }
1432
+ static get elementRef() { return "el"; }
1433
+ static get watchers() {
1434
+ return [{
1435
+ "propName": "total",
1436
+ "methodName": "handleTotalChange"
1437
+ }, {
1438
+ "propName": "totalPages",
1439
+ "methodName": "handleTotalPagesChange"
1440
+ }, {
1441
+ "propName": "current",
1442
+ "methodName": "handleCurrentChange"
1443
+ }, {
1444
+ "propName": "currentPage",
1445
+ "methodName": "handleCurrentPageChange"
1446
+ }, {
1447
+ "propName": "perPage",
1448
+ "methodName": "handlePerPagePropChange"
1449
+ }, {
1450
+ "propName": "totalItems",
1451
+ "methodName": "handleTotalItemsChange"
1452
+ }, {
1453
+ "propName": "density",
1454
+ "methodName": "handleDensityChange"
1455
+ }];
1456
+ }
1457
+ static get listeners() {
1458
+ return [{
1459
+ "name": "valueChange",
1460
+ "method": "handleContextualSelectChange",
1461
+ "target": undefined,
1462
+ "capture": false,
1463
+ "passive": false
1464
+ }];
1465
+ }
1466
+ }
1467
+ Pagination.ELLIPSIS_VISIBLE_ITEMS = 4;
1468
+ Pagination.ELLIPSIS_ITEM_HEIGHT_FALLBACK = 56;
1469
+ Pagination.ELLIPSIS_OVERSCAN = 1;
1470
+ Pagination.LARGE_PAGE_THRESHOLD = 10000;