acai-ui 1.65.5

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 (1139) hide show
  1. package/CHANGELOG.md +795 -0
  2. package/README.md +64 -0
  3. package/dist/acai-ui.css +14627 -0
  4. package/dist/components/actions/acai-ui-actions.d.ts +3 -0
  5. package/dist/components/async-select/acai-ui-async-select-interface.d.ts +48 -0
  6. package/dist/components/async-select/acai-ui-async-select-interface.d.ts.map +1 -0
  7. package/dist/components/async-select/acai-ui-async-select.d.ts +3 -0
  8. package/dist/components/badge/acai-ui-badge-interface.d.ts +20 -0
  9. package/dist/components/badge/acai-ui-badge-interface.d.ts.map +1 -0
  10. package/dist/components/badge/acai-ui-badge.d.ts +3 -0
  11. package/dist/components/banner/acai-ui-banner-interface.d.ts +16 -0
  12. package/dist/components/banner/acai-ui-banner-interface.d.ts.map +1 -0
  13. package/dist/components/banner/acai-ui-banner.d.ts +3 -0
  14. package/dist/components/button/acai-ui-button-interface.d.ts +21 -0
  15. package/dist/components/button/acai-ui-button-interface.d.ts.map +1 -0
  16. package/dist/components/button/acai-ui-button.d.ts +3 -0
  17. package/dist/components/card/acai-ui-card-interface.d.ts +14 -0
  18. package/dist/components/card/acai-ui-card-interface.d.ts.map +1 -0
  19. package/dist/components/card/acai-ui-card.d.ts +3 -0
  20. package/dist/components/chart/acai-ui-chart-interface.d.ts +190 -0
  21. package/dist/components/chart/acai-ui-chart-interface.d.ts.map +1 -0
  22. package/dist/components/chart/acai-ui-chart.d.ts +3 -0
  23. package/dist/components/chart/chart-a11y.d.ts +40 -0
  24. package/dist/components/chart/chart-a11y.d.ts.map +1 -0
  25. package/dist/components/chart/chart-caminhos.d.ts +91 -0
  26. package/dist/components/chart/chart-caminhos.d.ts.map +1 -0
  27. package/dist/components/chart/chart-cartesiano.d.ts +3 -0
  28. package/dist/components/chart/chart-dados.d.ts +74 -0
  29. package/dist/components/chart/chart-dados.d.ts.map +1 -0
  30. package/dist/components/chart/chart-escalas.d.ts +45 -0
  31. package/dist/components/chart/chart-escalas.d.ts.map +1 -0
  32. package/dist/components/chart/chart-formatar.d.ts +21 -0
  33. package/dist/components/chart/chart-formatar.d.ts.map +1 -0
  34. package/dist/components/chart/chart-gauge.d.ts +3 -0
  35. package/dist/components/chart/chart-headless.d.ts +29 -0
  36. package/dist/components/chart/chart-headless.d.ts.map +1 -0
  37. package/dist/components/chart/chart-imagem.d.ts +51 -0
  38. package/dist/components/chart/chart-imagem.d.ts.map +1 -0
  39. package/dist/components/chart/chart-layout.d.ts +59 -0
  40. package/dist/components/chart/chart-layout.d.ts.map +1 -0
  41. package/dist/components/chart/chart-legenda.d.ts +3 -0
  42. package/dist/components/chart/chart-pizza.d.ts +3 -0
  43. package/dist/components/chart/chart-plano.d.ts +201 -0
  44. package/dist/components/chart/chart-plano.d.ts.map +1 -0
  45. package/dist/components/chart/chart-rotulos.d.ts +10 -0
  46. package/dist/components/chart/chart-rotulos.d.ts.map +1 -0
  47. package/dist/components/chart/chart-tabela.d.ts +3 -0
  48. package/dist/components/chart/chart-ticks.d.ts +35 -0
  49. package/dist/components/chart/chart-ticks.d.ts.map +1 -0
  50. package/dist/components/checkbox/acai-ui-checkbox-interface.d.ts +16 -0
  51. package/dist/components/checkbox/acai-ui-checkbox-interface.d.ts.map +1 -0
  52. package/dist/components/checkbox/acai-ui-checkbox.d.ts +3 -0
  53. package/dist/components/chip/acai-ui-chip-interface.d.ts +17 -0
  54. package/dist/components/chip/acai-ui-chip-interface.d.ts.map +1 -0
  55. package/dist/components/chip/acai-ui-chip.d.ts +3 -0
  56. package/dist/components/code/acai-ui-code-interface.d.ts +44 -0
  57. package/dist/components/code/acai-ui-code-interface.d.ts.map +1 -0
  58. package/dist/components/code/acai-ui-code.d.ts +3 -0
  59. package/dist/components/code/dobras-json.d.ts +14 -0
  60. package/dist/components/code/dobras-json.d.ts.map +1 -0
  61. package/dist/components/confirm/acai-ui-confirm.d.ts +3 -0
  62. package/dist/components/container/acai-ui-container-interface.d.ts +29 -0
  63. package/dist/components/container/acai-ui-container-interface.d.ts.map +1 -0
  64. package/dist/components/container/acai-ui-container.d.ts +3 -0
  65. package/dist/components/date/acai-ui-date-interface.d.ts +19 -0
  66. package/dist/components/date/acai-ui-date-interface.d.ts.map +1 -0
  67. package/dist/components/date/acai-ui-date.d.ts +3 -0
  68. package/dist/components/date-range/acai-ui-date-range-interface.d.ts +27 -0
  69. package/dist/components/date-range/acai-ui-date-range-interface.d.ts.map +1 -0
  70. package/dist/components/date-range/acai-ui-date-range.d.ts +3 -0
  71. package/dist/components/datetime/acai-ui-datetime-interface.d.ts +10 -0
  72. package/dist/components/datetime/acai-ui-datetime-interface.d.ts.map +1 -0
  73. package/dist/components/datetime/acai-ui-datetime.d.ts +3 -0
  74. package/dist/components/dialog/acai-ui-dialog-interface.d.ts +17 -0
  75. package/dist/components/dialog/acai-ui-dialog-interface.d.ts.map +1 -0
  76. package/dist/components/dialog/acai-ui-dialog.d.ts +3 -0
  77. package/dist/components/divider/acai-ui-divider-interface.d.ts +5 -0
  78. package/dist/components/divider/acai-ui-divider-interface.d.ts.map +1 -0
  79. package/dist/components/divider/acai-ui-divider.d.ts +3 -0
  80. package/dist/components/drawer/acai-ui-drawer-interface.d.ts +97 -0
  81. package/dist/components/drawer/acai-ui-drawer-interface.d.ts.map +1 -0
  82. package/dist/components/drawer/acai-ui-drawer.d.ts +3 -0
  83. package/dist/components/drawer/drawer-sidebar-helper.d.ts +4 -0
  84. package/dist/components/drawer/drawer-sidebar-helper.d.ts.map +1 -0
  85. package/dist/components/dropdown/acai-ui-dropdown-interface.d.ts +35 -0
  86. package/dist/components/dropdown/acai-ui-dropdown-interface.d.ts.map +1 -0
  87. package/dist/components/dropdown/acai-ui-dropdown-item.d.ts +3 -0
  88. package/dist/components/dropdown/acai-ui-dropdown.d.ts +3 -0
  89. package/dist/components/error-log/acai-ui-error-log-interface.d.ts +59 -0
  90. package/dist/components/error-log/acai-ui-error-log-interface.d.ts.map +1 -0
  91. package/dist/components/error-log/acai-ui-error-log-json-tree.d.ts +3 -0
  92. package/dist/components/error-log/acai-ui-error-log-redigir.d.ts +28 -0
  93. package/dist/components/error-log/acai-ui-error-log-redigir.d.ts.map +1 -0
  94. package/dist/components/error-log/acai-ui-error-log.d.ts +3 -0
  95. package/dist/components/file/acai-ui-file-interface.d.ts +13 -0
  96. package/dist/components/file/acai-ui-file-interface.d.ts.map +1 -0
  97. package/dist/components/file/acai-ui-file.d.ts +3 -0
  98. package/dist/components/form/acai-ui-form-interface.d.ts +37 -0
  99. package/dist/components/form/acai-ui-form-interface.d.ts.map +1 -0
  100. package/dist/components/form/acai-ui-form.d.ts +3 -0
  101. package/dist/components/help/acai-ui-help-interface.d.ts +184 -0
  102. package/dist/components/help/acai-ui-help-interface.d.ts.map +1 -0
  103. package/dist/components/help/acai-ui-help.d.ts +3 -0
  104. package/dist/components/help/acai-ui-tour.d.ts +3 -0
  105. package/dist/components/help/tour-escolha.d.ts +62 -0
  106. package/dist/components/help/tour-escolha.d.ts.map +1 -0
  107. package/dist/components/help/tour-posicionar.d.ts +39 -0
  108. package/dist/components/help/tour-posicionar.d.ts.map +1 -0
  109. package/dist/components/help/tour-registry.d.ts +54 -0
  110. package/dist/components/help/tour-registry.d.ts.map +1 -0
  111. package/dist/components/help/use-tour-visto.d.ts +11 -0
  112. package/dist/components/help/use-tour-visto.d.ts.map +1 -0
  113. package/dist/components/icon/acai-ui-icon-interface.d.ts +12 -0
  114. package/dist/components/icon/acai-ui-icon-interface.d.ts.map +1 -0
  115. package/dist/components/icon/acai-ui-icon.d.ts +3 -0
  116. package/dist/components/index.d.ts +89 -0
  117. package/dist/components/index.d.ts.map +1 -0
  118. package/dist/components/input/acai-ui-input-interface.d.ts +20 -0
  119. package/dist/components/input/acai-ui-input-interface.d.ts.map +1 -0
  120. package/dist/components/input/acai-ui-input.d.ts +3 -0
  121. package/dist/components/modal/acai-ui-modal-interface.d.ts +16 -0
  122. package/dist/components/modal/acai-ui-modal-interface.d.ts.map +1 -0
  123. package/dist/components/modal/acai-ui-modal.d.ts +3 -0
  124. package/dist/components/pagination/acai-ui-pagination-interface.d.ts +9 -0
  125. package/dist/components/pagination/acai-ui-pagination-interface.d.ts.map +1 -0
  126. package/dist/components/pagination/acai-ui-pagination.d.ts +3 -0
  127. package/dist/components/preferences/acai-ui-preferences-interface.d.ts +5 -0
  128. package/dist/components/preferences/acai-ui-preferences-interface.d.ts.map +1 -0
  129. package/dist/components/preferences/acai-ui-preferences.d.ts +3 -0
  130. package/dist/components/progress/acai-ui-progress-interface.d.ts +18 -0
  131. package/dist/components/progress/acai-ui-progress-interface.d.ts.map +1 -0
  132. package/dist/components/progress/acai-ui-progress.d.ts +3 -0
  133. package/dist/components/radio/acai-ui-radio-interface.d.ts +13 -0
  134. package/dist/components/radio/acai-ui-radio-interface.d.ts.map +1 -0
  135. package/dist/components/radio/acai-ui-radio.d.ts +3 -0
  136. package/dist/components/section/acai-ui-section.d.ts +3 -0
  137. package/dist/components/select/acai-ui-select-interface.d.ts +18 -0
  138. package/dist/components/select/acai-ui-select-interface.d.ts.map +1 -0
  139. package/dist/components/select/acai-ui-select.d.ts +3 -0
  140. package/dist/components/session-clock/acai-ui-session-clock.d.ts +3 -0
  141. package/dist/components/stepper/acai-ui-step-interface.d.ts +18 -0
  142. package/dist/components/stepper/acai-ui-step-interface.d.ts.map +1 -0
  143. package/dist/components/stepper/acai-ui-step.d.ts +3 -0
  144. package/dist/components/stepper/acai-ui-stepper-interface.d.ts +53 -0
  145. package/dist/components/stepper/acai-ui-stepper-interface.d.ts.map +1 -0
  146. package/dist/components/stepper/acai-ui-stepper.d.ts +3 -0
  147. package/dist/components/swagger/acai-ui-swagger-interface.d.ts +53 -0
  148. package/dist/components/swagger/acai-ui-swagger-interface.d.ts.map +1 -0
  149. package/dist/components/swagger/acai-ui-swagger-operacao.d.ts +3 -0
  150. package/dist/components/swagger/acai-ui-swagger-requisicao.d.ts +76 -0
  151. package/dist/components/swagger/acai-ui-swagger-requisicao.d.ts.map +1 -0
  152. package/dist/components/swagger/acai-ui-swagger-schema.d.ts +3 -0
  153. package/dist/components/swagger/acai-ui-swagger.d.ts +3 -0
  154. package/dist/components/swagger/openapi-normalizar.d.ts +51 -0
  155. package/dist/components/swagger/openapi-normalizar.d.ts.map +1 -0
  156. package/dist/components/swagger/openapi-tipos.d.ts +167 -0
  157. package/dist/components/swagger/openapi-tipos.d.ts.map +1 -0
  158. package/dist/components/table/acai-ui-table-interface.d.ts +47 -0
  159. package/dist/components/table/acai-ui-table-interface.d.ts.map +1 -0
  160. package/dist/components/table/acai-ui-table-justificativa.d.ts +3 -0
  161. package/dist/components/table/acai-ui-table.d.ts +3 -0
  162. package/dist/components/tabs/acai-ui-tab.d.ts +3 -0
  163. package/dist/components/tabs/acai-ui-tabs-interface.d.ts +32 -0
  164. package/dist/components/tabs/acai-ui-tabs-interface.d.ts.map +1 -0
  165. package/dist/components/tabs/acai-ui-tabs.d.ts +3 -0
  166. package/dist/components/time/acai-ui-time-interface.d.ts +15 -0
  167. package/dist/components/time/acai-ui-time-interface.d.ts.map +1 -0
  168. package/dist/components/time/acai-ui-time.d.ts +3 -0
  169. package/dist/components/toggle/acai-ui-toggle-interface.d.ts +12 -0
  170. package/dist/components/toggle/acai-ui-toggle-interface.d.ts.map +1 -0
  171. package/dist/components/toggle/acai-ui-toggle.d.ts +3 -0
  172. package/dist/components/tooltip/acai-ui-tooltip-interface.d.ts +9 -0
  173. package/dist/components/tooltip/acai-ui-tooltip-interface.d.ts.map +1 -0
  174. package/dist/components/tooltip/acai-ui-tooltip.d.ts +3 -0
  175. package/dist/components/user-menu/acai-ui-user-menu-interface.d.ts +14 -0
  176. package/dist/components/user-menu/acai-ui-user-menu-interface.d.ts.map +1 -0
  177. package/dist/components/user-menu/acai-ui-user-menu.d.ts +3 -0
  178. package/dist/components/validation/acai-ui-validation.d.ts +3 -0
  179. package/dist/constants/chart-paleta.d.ts +47 -0
  180. package/dist/constants/chart-paleta.d.ts.map +1 -0
  181. package/dist/constants/efeitos.d.ts +22 -0
  182. package/dist/constants/efeitos.d.ts.map +1 -0
  183. package/dist/constants/index.d.ts +13 -0
  184. package/dist/constants/index.d.ts.map +1 -0
  185. package/dist/constants/lista-icons.d.ts +156 -0
  186. package/dist/constants/lista-icons.d.ts.map +1 -0
  187. package/dist/constants/medidas-espacos.d.ts +15 -0
  188. package/dist/constants/medidas-espacos.d.ts.map +1 -0
  189. package/dist/constants/radius.d.ts +15 -0
  190. package/dist/constants/radius.d.ts.map +1 -0
  191. package/dist/constants/status-badge.d.ts +17 -0
  192. package/dist/constants/status-badge.d.ts.map +1 -0
  193. package/dist/hooks/filtros-url-internos.d.ts +121 -0
  194. package/dist/hooks/filtros-url-internos.d.ts.map +1 -0
  195. package/dist/hooks/index.d.ts +18 -0
  196. package/dist/hooks/index.d.ts.map +1 -0
  197. package/dist/hooks/notify.d.ts +8 -0
  198. package/dist/hooks/notify.d.ts.map +1 -0
  199. package/dist/hooks/use-contador-sessao.d.ts +22 -0
  200. package/dist/hooks/use-contador-sessao.d.ts.map +1 -0
  201. package/dist/hooks/use-filtros-na-url.d.ts +110 -0
  202. package/dist/hooks/use-filtros-na-url.d.ts.map +1 -0
  203. package/dist/hooks/use-leitura-voz.d.ts +60 -0
  204. package/dist/hooks/use-leitura-voz.d.ts.map +1 -0
  205. package/dist/hooks/use-listagem-na-url.d.ts +185 -0
  206. package/dist/hooks/use-listagem-na-url.d.ts.map +1 -0
  207. package/dist/hooks/use-preferencias.d.ts +60 -0
  208. package/dist/hooks/use-preferencias.d.ts.map +1 -0
  209. package/dist/hooks/use-repasse-quasar.d.ts +42 -0
  210. package/dist/hooks/use-repasse-quasar.d.ts.map +1 -0
  211. package/dist/hooks/use-tamanho-elemento.d.ts +26 -0
  212. package/dist/hooks/use-tamanho-elemento.d.ts.map +1 -0
  213. package/dist/hooks/use-tela.d.ts +84 -0
  214. package/dist/hooks/use-tela.d.ts.map +1 -0
  215. package/dist/hooks/use-validacao-visual.d.ts +40 -0
  216. package/dist/hooks/use-validacao-visual.d.ts.map +1 -0
  217. package/dist/index.cjs +249 -0
  218. package/dist/index.cjs.map +1 -0
  219. package/dist/index.d.ts +8 -0
  220. package/dist/index.d.ts.map +1 -0
  221. package/dist/index.mjs +249 -0
  222. package/dist/index.mjs.map +1 -0
  223. package/dist/index10.cjs +24 -0
  224. package/dist/index10.cjs.map +1 -0
  225. package/dist/index10.mjs +25 -0
  226. package/dist/index10.mjs.map +1 -0
  227. package/dist/index100.cjs +51 -0
  228. package/dist/index100.cjs.map +1 -0
  229. package/dist/index100.mjs +51 -0
  230. package/dist/index100.mjs.map +1 -0
  231. package/dist/index101.cjs +143 -0
  232. package/dist/index101.cjs.map +1 -0
  233. package/dist/index101.mjs +143 -0
  234. package/dist/index101.mjs.map +1 -0
  235. package/dist/index102.cjs +137 -0
  236. package/dist/index102.cjs.map +1 -0
  237. package/dist/index102.mjs +138 -0
  238. package/dist/index102.mjs.map +1 -0
  239. package/dist/index104.cjs +10 -0
  240. package/dist/index104.cjs.map +1 -0
  241. package/dist/index104.mjs +11 -0
  242. package/dist/index104.mjs.map +1 -0
  243. package/dist/index105.cjs +5 -0
  244. package/dist/index105.cjs.map +1 -0
  245. package/dist/index105.mjs +6 -0
  246. package/dist/index105.mjs.map +1 -0
  247. package/dist/index106.cjs +5 -0
  248. package/dist/index106.cjs.map +1 -0
  249. package/dist/index106.mjs +6 -0
  250. package/dist/index106.mjs.map +1 -0
  251. package/dist/index107.cjs +86 -0
  252. package/dist/index107.cjs.map +1 -0
  253. package/dist/index107.mjs +87 -0
  254. package/dist/index107.mjs.map +1 -0
  255. package/dist/index109.cjs +123 -0
  256. package/dist/index109.cjs.map +1 -0
  257. package/dist/index109.mjs +124 -0
  258. package/dist/index109.mjs.map +1 -0
  259. package/dist/index111.cjs +121 -0
  260. package/dist/index111.cjs.map +1 -0
  261. package/dist/index111.mjs +122 -0
  262. package/dist/index111.mjs.map +1 -0
  263. package/dist/index113.cjs +72 -0
  264. package/dist/index113.cjs.map +1 -0
  265. package/dist/index113.mjs +73 -0
  266. package/dist/index113.mjs.map +1 -0
  267. package/dist/index115.cjs +5 -0
  268. package/dist/index115.cjs.map +1 -0
  269. package/dist/index115.mjs +6 -0
  270. package/dist/index115.mjs.map +1 -0
  271. package/dist/index116.cjs +56 -0
  272. package/dist/index116.cjs.map +1 -0
  273. package/dist/index116.mjs +57 -0
  274. package/dist/index116.mjs.map +1 -0
  275. package/dist/index118.cjs +5 -0
  276. package/dist/index118.cjs.map +1 -0
  277. package/dist/index118.mjs +6 -0
  278. package/dist/index118.mjs.map +1 -0
  279. package/dist/index119.cjs +210 -0
  280. package/dist/index119.cjs.map +1 -0
  281. package/dist/index119.mjs +211 -0
  282. package/dist/index119.mjs.map +1 -0
  283. package/dist/index12.cjs +606 -0
  284. package/dist/index12.cjs.map +1 -0
  285. package/dist/index12.mjs +607 -0
  286. package/dist/index12.mjs.map +1 -0
  287. package/dist/index121.cjs +170 -0
  288. package/dist/index121.cjs.map +1 -0
  289. package/dist/index121.mjs +171 -0
  290. package/dist/index121.mjs.map +1 -0
  291. package/dist/index123.cjs +109 -0
  292. package/dist/index123.cjs.map +1 -0
  293. package/dist/index123.mjs +110 -0
  294. package/dist/index123.mjs.map +1 -0
  295. package/dist/index125.cjs +5 -0
  296. package/dist/index125.cjs.map +1 -0
  297. package/dist/index125.mjs +6 -0
  298. package/dist/index125.mjs.map +1 -0
  299. package/dist/index126.cjs +4 -0
  300. package/dist/index126.cjs.map +1 -0
  301. package/dist/index126.mjs +5 -0
  302. package/dist/index126.mjs.map +1 -0
  303. package/dist/index127.cjs +300 -0
  304. package/dist/index127.cjs.map +1 -0
  305. package/dist/index127.mjs +301 -0
  306. package/dist/index127.mjs.map +1 -0
  307. package/dist/index130.cjs +5 -0
  308. package/dist/index130.cjs.map +1 -0
  309. package/dist/index130.mjs +6 -0
  310. package/dist/index130.mjs.map +1 -0
  311. package/dist/index131.cjs +5 -0
  312. package/dist/index131.cjs.map +1 -0
  313. package/dist/index131.mjs +6 -0
  314. package/dist/index131.mjs.map +1 -0
  315. package/dist/index132.cjs +128 -0
  316. package/dist/index132.cjs.map +1 -0
  317. package/dist/index132.mjs +129 -0
  318. package/dist/index132.mjs.map +1 -0
  319. package/dist/index134.cjs +4 -0
  320. package/dist/index134.cjs.map +1 -0
  321. package/dist/index134.mjs +5 -0
  322. package/dist/index134.mjs.map +1 -0
  323. package/dist/index135.cjs +180 -0
  324. package/dist/index135.cjs.map +1 -0
  325. package/dist/index135.mjs +181 -0
  326. package/dist/index135.mjs.map +1 -0
  327. package/dist/index137.cjs +83 -0
  328. package/dist/index137.cjs.map +1 -0
  329. package/dist/index137.mjs +84 -0
  330. package/dist/index137.mjs.map +1 -0
  331. package/dist/index139.cjs +284 -0
  332. package/dist/index139.cjs.map +1 -0
  333. package/dist/index139.mjs +285 -0
  334. package/dist/index139.mjs.map +1 -0
  335. package/dist/index14.cjs +124 -0
  336. package/dist/index14.cjs.map +1 -0
  337. package/dist/index14.mjs +125 -0
  338. package/dist/index14.mjs.map +1 -0
  339. package/dist/index141.cjs +58 -0
  340. package/dist/index141.cjs.map +1 -0
  341. package/dist/index141.mjs +59 -0
  342. package/dist/index141.mjs.map +1 -0
  343. package/dist/index143.cjs +5 -0
  344. package/dist/index143.cjs.map +1 -0
  345. package/dist/index143.mjs +6 -0
  346. package/dist/index143.mjs.map +1 -0
  347. package/dist/index144.cjs +399 -0
  348. package/dist/index144.cjs.map +1 -0
  349. package/dist/index144.mjs +400 -0
  350. package/dist/index144.mjs.map +1 -0
  351. package/dist/index146.cjs +305 -0
  352. package/dist/index146.cjs.map +1 -0
  353. package/dist/index146.mjs +306 -0
  354. package/dist/index146.mjs.map +1 -0
  355. package/dist/index149.cjs +109 -0
  356. package/dist/index149.cjs.map +1 -0
  357. package/dist/index149.mjs +110 -0
  358. package/dist/index149.mjs.map +1 -0
  359. package/dist/index152.cjs +5 -0
  360. package/dist/index152.cjs.map +1 -0
  361. package/dist/index152.mjs +6 -0
  362. package/dist/index152.mjs.map +1 -0
  363. package/dist/index153.cjs +5 -0
  364. package/dist/index153.cjs.map +1 -0
  365. package/dist/index153.mjs +6 -0
  366. package/dist/index153.mjs.map +1 -0
  367. package/dist/index154.cjs +4 -0
  368. package/dist/index154.cjs.map +1 -0
  369. package/dist/index154.mjs +5 -0
  370. package/dist/index154.mjs.map +1 -0
  371. package/dist/index155.cjs +5 -0
  372. package/dist/index155.cjs.map +1 -0
  373. package/dist/index155.mjs +6 -0
  374. package/dist/index155.mjs.map +1 -0
  375. package/dist/index156.cjs +5 -0
  376. package/dist/index156.cjs.map +1 -0
  377. package/dist/index156.mjs +6 -0
  378. package/dist/index156.mjs.map +1 -0
  379. package/dist/index157.cjs +5 -0
  380. package/dist/index157.cjs.map +1 -0
  381. package/dist/index157.mjs +6 -0
  382. package/dist/index157.mjs.map +1 -0
  383. package/dist/index158.cjs +4 -0
  384. package/dist/index158.cjs.map +1 -0
  385. package/dist/index158.mjs +5 -0
  386. package/dist/index158.mjs.map +1 -0
  387. package/dist/index159.cjs +59 -0
  388. package/dist/index159.cjs.map +1 -0
  389. package/dist/index159.mjs +60 -0
  390. package/dist/index159.mjs.map +1 -0
  391. package/dist/index16.cjs +89 -0
  392. package/dist/index16.cjs.map +1 -0
  393. package/dist/index16.mjs +90 -0
  394. package/dist/index16.mjs.map +1 -0
  395. package/dist/index161.cjs +5 -0
  396. package/dist/index161.cjs.map +1 -0
  397. package/dist/index161.mjs +6 -0
  398. package/dist/index161.mjs.map +1 -0
  399. package/dist/index162.cjs +119 -0
  400. package/dist/index162.cjs.map +1 -0
  401. package/dist/index162.mjs +120 -0
  402. package/dist/index162.mjs.map +1 -0
  403. package/dist/index164.cjs +33 -0
  404. package/dist/index164.cjs.map +1 -0
  405. package/dist/index164.mjs +34 -0
  406. package/dist/index164.mjs.map +1 -0
  407. package/dist/index166.cjs +5 -0
  408. package/dist/index166.cjs.map +1 -0
  409. package/dist/index166.mjs +6 -0
  410. package/dist/index166.mjs.map +1 -0
  411. package/dist/index167.cjs +324 -0
  412. package/dist/index167.cjs.map +1 -0
  413. package/dist/index167.mjs +325 -0
  414. package/dist/index167.mjs.map +1 -0
  415. package/dist/index17.cjs +419 -0
  416. package/dist/index17.cjs.map +1 -0
  417. package/dist/index17.mjs +420 -0
  418. package/dist/index17.mjs.map +1 -0
  419. package/dist/index170.cjs +38 -0
  420. package/dist/index170.cjs.map +1 -0
  421. package/dist/index170.mjs +39 -0
  422. package/dist/index170.mjs.map +1 -0
  423. package/dist/index172.cjs +5 -0
  424. package/dist/index172.cjs.map +1 -0
  425. package/dist/index172.mjs +6 -0
  426. package/dist/index172.mjs.map +1 -0
  427. package/dist/index173.cjs +202 -0
  428. package/dist/index173.cjs.map +1 -0
  429. package/dist/index173.mjs +203 -0
  430. package/dist/index173.mjs.map +1 -0
  431. package/dist/index175.cjs +5 -0
  432. package/dist/index175.cjs.map +1 -0
  433. package/dist/index175.mjs +6 -0
  434. package/dist/index175.mjs.map +1 -0
  435. package/dist/index176.cjs +53 -0
  436. package/dist/index176.cjs.map +1 -0
  437. package/dist/index176.mjs +54 -0
  438. package/dist/index176.mjs.map +1 -0
  439. package/dist/index178.cjs +13 -0
  440. package/dist/index178.cjs.map +1 -0
  441. package/dist/index178.mjs +13 -0
  442. package/dist/index178.mjs.map +1 -0
  443. package/dist/index179.cjs +18 -0
  444. package/dist/index179.cjs.map +1 -0
  445. package/dist/index179.mjs +18 -0
  446. package/dist/index179.mjs.map +1 -0
  447. package/dist/index180.cjs +262 -0
  448. package/dist/index180.cjs.map +1 -0
  449. package/dist/index180.mjs +262 -0
  450. package/dist/index180.mjs.map +1 -0
  451. package/dist/index181.cjs +108 -0
  452. package/dist/index181.cjs.map +1 -0
  453. package/dist/index181.mjs +109 -0
  454. package/dist/index181.mjs.map +1 -0
  455. package/dist/index182.cjs +73 -0
  456. package/dist/index182.cjs.map +1 -0
  457. package/dist/index182.mjs +73 -0
  458. package/dist/index182.mjs.map +1 -0
  459. package/dist/index183.cjs +37 -0
  460. package/dist/index183.cjs.map +1 -0
  461. package/dist/index183.mjs +37 -0
  462. package/dist/index183.mjs.map +1 -0
  463. package/dist/index184.cjs +16 -0
  464. package/dist/index184.cjs.map +1 -0
  465. package/dist/index184.mjs +16 -0
  466. package/dist/index184.mjs.map +1 -0
  467. package/dist/index185.cjs +31 -0
  468. package/dist/index185.cjs.map +1 -0
  469. package/dist/index185.mjs +31 -0
  470. package/dist/index185.mjs.map +1 -0
  471. package/dist/index186.cjs +460 -0
  472. package/dist/index186.cjs.map +1 -0
  473. package/dist/index186.mjs +461 -0
  474. package/dist/index186.mjs.map +1 -0
  475. package/dist/index187.cjs +154 -0
  476. package/dist/index187.cjs.map +1 -0
  477. package/dist/index187.mjs +154 -0
  478. package/dist/index187.mjs.map +1 -0
  479. package/dist/index188.cjs +40 -0
  480. package/dist/index188.cjs.map +1 -0
  481. package/dist/index188.mjs +40 -0
  482. package/dist/index188.mjs.map +1 -0
  483. package/dist/index189.cjs +66 -0
  484. package/dist/index189.cjs.map +1 -0
  485. package/dist/index189.mjs +66 -0
  486. package/dist/index189.mjs.map +1 -0
  487. package/dist/index19.cjs +135 -0
  488. package/dist/index19.cjs.map +1 -0
  489. package/dist/index19.mjs +136 -0
  490. package/dist/index19.mjs.map +1 -0
  491. package/dist/index190.cjs +142 -0
  492. package/dist/index190.cjs.map +1 -0
  493. package/dist/index190.mjs +143 -0
  494. package/dist/index190.mjs.map +1 -0
  495. package/dist/index191.cjs +7 -0
  496. package/dist/index191.cjs.map +1 -0
  497. package/dist/index191.mjs +8 -0
  498. package/dist/index191.mjs.map +1 -0
  499. package/dist/index192.cjs +7 -0
  500. package/dist/index192.cjs.map +1 -0
  501. package/dist/index192.mjs +8 -0
  502. package/dist/index192.mjs.map +1 -0
  503. package/dist/index193.cjs +7 -0
  504. package/dist/index193.cjs.map +1 -0
  505. package/dist/index193.mjs +8 -0
  506. package/dist/index193.mjs.map +1 -0
  507. package/dist/index194.cjs +7 -0
  508. package/dist/index194.cjs.map +1 -0
  509. package/dist/index194.mjs +8 -0
  510. package/dist/index194.mjs.map +1 -0
  511. package/dist/index195.cjs +7 -0
  512. package/dist/index195.cjs.map +1 -0
  513. package/dist/index195.mjs +8 -0
  514. package/dist/index195.mjs.map +1 -0
  515. package/dist/index196.cjs +100 -0
  516. package/dist/index196.cjs.map +1 -0
  517. package/dist/index196.mjs +100 -0
  518. package/dist/index196.mjs.map +1 -0
  519. package/dist/index197.cjs +226 -0
  520. package/dist/index197.cjs.map +1 -0
  521. package/dist/index197.mjs +226 -0
  522. package/dist/index197.mjs.map +1 -0
  523. package/dist/index198.cjs +66 -0
  524. package/dist/index198.cjs.map +1 -0
  525. package/dist/index198.mjs +66 -0
  526. package/dist/index198.mjs.map +1 -0
  527. package/dist/index199.cjs +399 -0
  528. package/dist/index199.cjs.map +1 -0
  529. package/dist/index199.mjs +399 -0
  530. package/dist/index199.mjs.map +1 -0
  531. package/dist/index200.cjs +83 -0
  532. package/dist/index200.cjs.map +1 -0
  533. package/dist/index200.mjs +83 -0
  534. package/dist/index200.mjs.map +1 -0
  535. package/dist/index201.cjs +4 -0
  536. package/dist/index201.cjs.map +1 -0
  537. package/dist/index201.mjs +5 -0
  538. package/dist/index201.mjs.map +1 -0
  539. package/dist/index202.cjs +5 -0
  540. package/dist/index202.cjs.map +1 -0
  541. package/dist/index202.mjs +6 -0
  542. package/dist/index202.mjs.map +1 -0
  543. package/dist/index203.cjs +216 -0
  544. package/dist/index203.cjs.map +1 -0
  545. package/dist/index203.mjs +217 -0
  546. package/dist/index203.mjs.map +1 -0
  547. package/dist/index205.cjs +112 -0
  548. package/dist/index205.cjs.map +1 -0
  549. package/dist/index205.mjs +113 -0
  550. package/dist/index205.mjs.map +1 -0
  551. package/dist/index207.cjs +112 -0
  552. package/dist/index207.cjs.map +1 -0
  553. package/dist/index207.mjs +113 -0
  554. package/dist/index207.mjs.map +1 -0
  555. package/dist/index209.cjs +64 -0
  556. package/dist/index209.cjs.map +1 -0
  557. package/dist/index209.mjs +65 -0
  558. package/dist/index209.mjs.map +1 -0
  559. package/dist/index21.cjs +268 -0
  560. package/dist/index21.cjs.map +1 -0
  561. package/dist/index21.mjs +269 -0
  562. package/dist/index21.mjs.map +1 -0
  563. package/dist/index211.cjs +45 -0
  564. package/dist/index211.cjs.map +1 -0
  565. package/dist/index211.mjs +46 -0
  566. package/dist/index211.mjs.map +1 -0
  567. package/dist/index213.cjs +241 -0
  568. package/dist/index213.cjs.map +1 -0
  569. package/dist/index213.mjs +241 -0
  570. package/dist/index213.mjs.map +1 -0
  571. package/dist/index214.cjs +63 -0
  572. package/dist/index214.cjs.map +1 -0
  573. package/dist/index214.mjs +63 -0
  574. package/dist/index214.mjs.map +1 -0
  575. package/dist/index215.cjs +53 -0
  576. package/dist/index215.cjs.map +1 -0
  577. package/dist/index215.mjs +53 -0
  578. package/dist/index215.mjs.map +1 -0
  579. package/dist/index216.cjs +53 -0
  580. package/dist/index216.cjs.map +1 -0
  581. package/dist/index216.mjs +53 -0
  582. package/dist/index216.mjs.map +1 -0
  583. package/dist/index217.cjs +4 -0
  584. package/dist/index217.cjs.map +1 -0
  585. package/dist/index217.mjs +5 -0
  586. package/dist/index217.mjs.map +1 -0
  587. package/dist/index218.cjs +29 -0
  588. package/dist/index218.cjs.map +1 -0
  589. package/dist/index218.mjs +30 -0
  590. package/dist/index218.mjs.map +1 -0
  591. package/dist/index219.cjs +4 -0
  592. package/dist/index219.cjs.map +1 -0
  593. package/dist/index219.mjs +5 -0
  594. package/dist/index219.mjs.map +1 -0
  595. package/dist/index23.cjs +41 -0
  596. package/dist/index23.cjs.map +1 -0
  597. package/dist/index23.mjs +42 -0
  598. package/dist/index23.mjs.map +1 -0
  599. package/dist/index24.cjs +117 -0
  600. package/dist/index24.cjs.map +1 -0
  601. package/dist/index24.mjs +118 -0
  602. package/dist/index24.mjs.map +1 -0
  603. package/dist/index26.cjs +127 -0
  604. package/dist/index26.cjs.map +1 -0
  605. package/dist/index26.mjs +128 -0
  606. package/dist/index26.mjs.map +1 -0
  607. package/dist/index28.cjs +39 -0
  608. package/dist/index28.cjs.map +1 -0
  609. package/dist/index28.mjs +40 -0
  610. package/dist/index28.mjs.map +1 -0
  611. package/dist/index29.cjs +176 -0
  612. package/dist/index29.cjs.map +1 -0
  613. package/dist/index29.mjs +177 -0
  614. package/dist/index29.mjs.map +1 -0
  615. package/dist/index3.cjs +110 -0
  616. package/dist/index3.cjs.map +1 -0
  617. package/dist/index3.mjs +110 -0
  618. package/dist/index3.mjs.map +1 -0
  619. package/dist/index31.cjs +361 -0
  620. package/dist/index31.cjs.map +1 -0
  621. package/dist/index31.mjs +362 -0
  622. package/dist/index31.mjs.map +1 -0
  623. package/dist/index33.cjs +20 -0
  624. package/dist/index33.cjs.map +1 -0
  625. package/dist/index33.mjs +21 -0
  626. package/dist/index33.mjs.map +1 -0
  627. package/dist/index34.cjs +311 -0
  628. package/dist/index34.cjs.map +1 -0
  629. package/dist/index34.mjs +312 -0
  630. package/dist/index34.mjs.map +1 -0
  631. package/dist/index36.cjs +132 -0
  632. package/dist/index36.cjs.map +1 -0
  633. package/dist/index36.mjs +133 -0
  634. package/dist/index36.mjs.map +1 -0
  635. package/dist/index38.cjs +80 -0
  636. package/dist/index38.cjs.map +1 -0
  637. package/dist/index38.mjs +81 -0
  638. package/dist/index38.mjs.map +1 -0
  639. package/dist/index4.cjs +612 -0
  640. package/dist/index4.cjs.map +1 -0
  641. package/dist/index4.mjs +613 -0
  642. package/dist/index4.mjs.map +1 -0
  643. package/dist/index40.cjs +600 -0
  644. package/dist/index40.cjs.map +1 -0
  645. package/dist/index40.mjs +601 -0
  646. package/dist/index40.mjs.map +1 -0
  647. package/dist/index42.cjs +160 -0
  648. package/dist/index42.cjs.map +1 -0
  649. package/dist/index42.mjs +160 -0
  650. package/dist/index42.mjs.map +1 -0
  651. package/dist/index43.cjs +26 -0
  652. package/dist/index43.cjs.map +1 -0
  653. package/dist/index43.mjs +27 -0
  654. package/dist/index43.mjs.map +1 -0
  655. package/dist/index44.cjs +20 -0
  656. package/dist/index44.cjs.map +1 -0
  657. package/dist/index44.mjs +21 -0
  658. package/dist/index44.mjs.map +1 -0
  659. package/dist/index45.cjs +104 -0
  660. package/dist/index45.cjs.map +1 -0
  661. package/dist/index45.mjs +104 -0
  662. package/dist/index45.mjs.map +1 -0
  663. package/dist/index46.cjs +8 -0
  664. package/dist/index46.cjs.map +1 -0
  665. package/dist/index46.mjs +9 -0
  666. package/dist/index46.mjs.map +1 -0
  667. package/dist/index47.cjs +7 -0
  668. package/dist/index47.cjs.map +1 -0
  669. package/dist/index47.mjs +8 -0
  670. package/dist/index47.mjs.map +1 -0
  671. package/dist/index48.cjs +7 -0
  672. package/dist/index48.cjs.map +1 -0
  673. package/dist/index48.mjs +8 -0
  674. package/dist/index48.mjs.map +1 -0
  675. package/dist/index49.cjs +7 -0
  676. package/dist/index49.cjs.map +1 -0
  677. package/dist/index49.mjs +8 -0
  678. package/dist/index49.mjs.map +1 -0
  679. package/dist/index50.cjs +7 -0
  680. package/dist/index50.cjs.map +1 -0
  681. package/dist/index50.mjs +8 -0
  682. package/dist/index50.mjs.map +1 -0
  683. package/dist/index51.cjs +7 -0
  684. package/dist/index51.cjs.map +1 -0
  685. package/dist/index51.mjs +8 -0
  686. package/dist/index51.mjs.map +1 -0
  687. package/dist/index52.cjs +7 -0
  688. package/dist/index52.cjs.map +1 -0
  689. package/dist/index52.mjs +8 -0
  690. package/dist/index52.mjs.map +1 -0
  691. package/dist/index53.cjs +7 -0
  692. package/dist/index53.cjs.map +1 -0
  693. package/dist/index53.mjs +8 -0
  694. package/dist/index53.mjs.map +1 -0
  695. package/dist/index54.cjs +7 -0
  696. package/dist/index54.cjs.map +1 -0
  697. package/dist/index54.mjs +8 -0
  698. package/dist/index54.mjs.map +1 -0
  699. package/dist/index55.cjs +7 -0
  700. package/dist/index55.cjs.map +1 -0
  701. package/dist/index55.mjs +8 -0
  702. package/dist/index55.mjs.map +1 -0
  703. package/dist/index56.cjs +7 -0
  704. package/dist/index56.cjs.map +1 -0
  705. package/dist/index56.mjs +8 -0
  706. package/dist/index56.mjs.map +1 -0
  707. package/dist/index57.cjs +7 -0
  708. package/dist/index57.cjs.map +1 -0
  709. package/dist/index57.mjs +8 -0
  710. package/dist/index57.mjs.map +1 -0
  711. package/dist/index58.cjs +7 -0
  712. package/dist/index58.cjs.map +1 -0
  713. package/dist/index58.mjs +8 -0
  714. package/dist/index58.mjs.map +1 -0
  715. package/dist/index59.cjs +8 -0
  716. package/dist/index59.cjs.map +1 -0
  717. package/dist/index59.mjs +9 -0
  718. package/dist/index59.mjs.map +1 -0
  719. package/dist/index6.cjs +578 -0
  720. package/dist/index6.cjs.map +1 -0
  721. package/dist/index6.mjs +579 -0
  722. package/dist/index6.mjs.map +1 -0
  723. package/dist/index60.cjs +7 -0
  724. package/dist/index60.cjs.map +1 -0
  725. package/dist/index60.mjs +8 -0
  726. package/dist/index60.mjs.map +1 -0
  727. package/dist/index61.cjs +7 -0
  728. package/dist/index61.cjs.map +1 -0
  729. package/dist/index61.mjs +8 -0
  730. package/dist/index61.mjs.map +1 -0
  731. package/dist/index62.cjs +7 -0
  732. package/dist/index62.cjs.map +1 -0
  733. package/dist/index62.mjs +8 -0
  734. package/dist/index62.mjs.map +1 -0
  735. package/dist/index63.cjs +7 -0
  736. package/dist/index63.cjs.map +1 -0
  737. package/dist/index63.mjs +8 -0
  738. package/dist/index63.mjs.map +1 -0
  739. package/dist/index64.cjs +7 -0
  740. package/dist/index64.cjs.map +1 -0
  741. package/dist/index64.mjs +8 -0
  742. package/dist/index64.mjs.map +1 -0
  743. package/dist/index65.cjs +8 -0
  744. package/dist/index65.cjs.map +1 -0
  745. package/dist/index65.mjs +9 -0
  746. package/dist/index65.mjs.map +1 -0
  747. package/dist/index66.cjs +7 -0
  748. package/dist/index66.cjs.map +1 -0
  749. package/dist/index66.mjs +8 -0
  750. package/dist/index66.mjs.map +1 -0
  751. package/dist/index67.cjs +7 -0
  752. package/dist/index67.cjs.map +1 -0
  753. package/dist/index67.mjs +8 -0
  754. package/dist/index67.mjs.map +1 -0
  755. package/dist/index68.cjs +7 -0
  756. package/dist/index68.cjs.map +1 -0
  757. package/dist/index68.mjs +8 -0
  758. package/dist/index68.mjs.map +1 -0
  759. package/dist/index69.cjs +8 -0
  760. package/dist/index69.cjs.map +1 -0
  761. package/dist/index69.mjs +9 -0
  762. package/dist/index69.mjs.map +1 -0
  763. package/dist/index70.cjs +7 -0
  764. package/dist/index70.cjs.map +1 -0
  765. package/dist/index70.mjs +8 -0
  766. package/dist/index70.mjs.map +1 -0
  767. package/dist/index71.cjs +38 -0
  768. package/dist/index71.cjs.map +1 -0
  769. package/dist/index71.mjs +38 -0
  770. package/dist/index71.mjs.map +1 -0
  771. package/dist/index72.cjs +22 -0
  772. package/dist/index72.cjs.map +1 -0
  773. package/dist/index72.mjs +22 -0
  774. package/dist/index72.mjs.map +1 -0
  775. package/dist/index73.cjs +40 -0
  776. package/dist/index73.cjs.map +1 -0
  777. package/dist/index73.mjs +40 -0
  778. package/dist/index73.mjs.map +1 -0
  779. package/dist/index74.cjs +80 -0
  780. package/dist/index74.cjs.map +1 -0
  781. package/dist/index74.mjs +80 -0
  782. package/dist/index74.mjs.map +1 -0
  783. package/dist/index75.cjs +29 -0
  784. package/dist/index75.cjs.map +1 -0
  785. package/dist/index75.mjs +29 -0
  786. package/dist/index75.mjs.map +1 -0
  787. package/dist/index76.cjs +157 -0
  788. package/dist/index76.cjs.map +1 -0
  789. package/dist/index76.mjs +157 -0
  790. package/dist/index76.mjs.map +1 -0
  791. package/dist/index77.cjs +16 -0
  792. package/dist/index77.cjs.map +1 -0
  793. package/dist/index77.mjs +16 -0
  794. package/dist/index77.mjs.map +1 -0
  795. package/dist/index78.cjs +87 -0
  796. package/dist/index78.cjs.map +1 -0
  797. package/dist/index78.mjs +87 -0
  798. package/dist/index78.mjs.map +1 -0
  799. package/dist/index79.cjs +16 -0
  800. package/dist/index79.cjs.map +1 -0
  801. package/dist/index79.mjs +16 -0
  802. package/dist/index79.mjs.map +1 -0
  803. package/dist/index8.cjs +130 -0
  804. package/dist/index8.cjs.map +1 -0
  805. package/dist/index8.mjs +131 -0
  806. package/dist/index8.mjs.map +1 -0
  807. package/dist/index80.cjs +65 -0
  808. package/dist/index80.cjs.map +1 -0
  809. package/dist/index80.mjs +65 -0
  810. package/dist/index80.mjs.map +1 -0
  811. package/dist/index81.cjs +69 -0
  812. package/dist/index81.cjs.map +1 -0
  813. package/dist/index81.mjs +69 -0
  814. package/dist/index81.mjs.map +1 -0
  815. package/dist/index82.cjs +30 -0
  816. package/dist/index82.cjs.map +1 -0
  817. package/dist/index82.mjs +30 -0
  818. package/dist/index82.mjs.map +1 -0
  819. package/dist/index83.cjs +86 -0
  820. package/dist/index83.cjs.map +1 -0
  821. package/dist/index83.mjs +86 -0
  822. package/dist/index83.mjs.map +1 -0
  823. package/dist/index84.cjs +102 -0
  824. package/dist/index84.cjs.map +1 -0
  825. package/dist/index84.mjs +102 -0
  826. package/dist/index84.mjs.map +1 -0
  827. package/dist/index85.cjs +20 -0
  828. package/dist/index85.cjs.map +1 -0
  829. package/dist/index85.mjs +20 -0
  830. package/dist/index85.mjs.map +1 -0
  831. package/dist/index86.cjs +21 -0
  832. package/dist/index86.cjs.map +1 -0
  833. package/dist/index86.mjs +21 -0
  834. package/dist/index86.mjs.map +1 -0
  835. package/dist/index87.cjs +191 -0
  836. package/dist/index87.cjs.map +1 -0
  837. package/dist/index87.mjs +191 -0
  838. package/dist/index87.mjs.map +1 -0
  839. package/dist/index88.cjs +67 -0
  840. package/dist/index88.cjs.map +1 -0
  841. package/dist/index88.mjs +67 -0
  842. package/dist/index88.mjs.map +1 -0
  843. package/dist/index89.cjs +312 -0
  844. package/dist/index89.cjs.map +1 -0
  845. package/dist/index89.mjs +312 -0
  846. package/dist/index89.mjs.map +1 -0
  847. package/dist/index90.cjs +10 -0
  848. package/dist/index90.cjs.map +1 -0
  849. package/dist/index90.mjs +10 -0
  850. package/dist/index90.mjs.map +1 -0
  851. package/dist/index91.cjs +15 -0
  852. package/dist/index91.cjs.map +1 -0
  853. package/dist/index91.mjs +15 -0
  854. package/dist/index91.mjs.map +1 -0
  855. package/dist/index92.cjs +8 -0
  856. package/dist/index92.cjs.map +1 -0
  857. package/dist/index92.mjs +8 -0
  858. package/dist/index92.mjs.map +1 -0
  859. package/dist/index93.cjs +81 -0
  860. package/dist/index93.cjs.map +1 -0
  861. package/dist/index93.mjs +81 -0
  862. package/dist/index93.mjs.map +1 -0
  863. package/dist/index94.cjs +124 -0
  864. package/dist/index94.cjs.map +1 -0
  865. package/dist/index94.mjs +124 -0
  866. package/dist/index94.mjs.map +1 -0
  867. package/dist/index95.cjs +68 -0
  868. package/dist/index95.cjs.map +1 -0
  869. package/dist/index95.mjs +68 -0
  870. package/dist/index95.mjs.map +1 -0
  871. package/dist/index96.cjs +29 -0
  872. package/dist/index96.cjs.map +1 -0
  873. package/dist/index96.mjs +29 -0
  874. package/dist/index96.mjs.map +1 -0
  875. package/dist/index97.cjs +184 -0
  876. package/dist/index97.cjs.map +1 -0
  877. package/dist/index97.mjs +184 -0
  878. package/dist/index97.mjs.map +1 -0
  879. package/dist/index98.cjs +78 -0
  880. package/dist/index98.cjs.map +1 -0
  881. package/dist/index98.mjs +78 -0
  882. package/dist/index98.mjs.map +1 -0
  883. package/dist/index99.cjs +55 -0
  884. package/dist/index99.cjs.map +1 -0
  885. package/dist/index99.mjs +55 -0
  886. package/dist/index99.mjs.map +1 -0
  887. package/dist/plugin.d.ts +37 -0
  888. package/dist/plugin.d.ts.map +1 -0
  889. package/dist/scss/_badge.scss +12 -0
  890. package/dist/scss/_breakpoints.scss +102 -0
  891. package/dist/scss/_color-utilities.scss +105 -0
  892. package/dist/scss/_controls.scss +135 -0
  893. package/dist/scss/_ds-input-base.scss +302 -0
  894. package/dist/scss/_ds-picker-m3.scss +179 -0
  895. package/dist/scss/_effects.scss +42 -0
  896. package/dist/scss/_overlays.scss +13 -0
  897. package/dist/scss/_radius.scss +24 -0
  898. package/dist/scss/_reset.scss +60 -0
  899. package/dist/scss/_scrollbar.scss +78 -0
  900. package/dist/scss/_spacing.scss +15 -0
  901. package/dist/scss/_themes.scss +493 -0
  902. package/dist/scss/_typography.scss +50 -0
  903. package/dist/scss/_utilities.scss +75 -0
  904. package/dist/scss/_variables.scss +143 -0
  905. package/dist/scss/api.scss +77 -0
  906. package/dist/scss/tokens.scss +13 -0
  907. package/dist/utils/date-utils.d.ts +48 -0
  908. package/dist/utils/date-utils.d.ts.map +1 -0
  909. package/dist/utils/dialog-utils.d.ts +17 -0
  910. package/dist/utils/dialog-utils.d.ts.map +1 -0
  911. package/dist/utils/file-utils.d.ts +20 -0
  912. package/dist/utils/file-utils.d.ts.map +1 -0
  913. package/dist/utils/filtro-input.d.ts +19 -0
  914. package/dist/utils/filtro-input.d.ts.map +1 -0
  915. package/dist/utils/form-rules.d.ts +74 -0
  916. package/dist/utils/form-rules.d.ts.map +1 -0
  917. package/dist/utils/formatadores.d.ts +15 -0
  918. package/dist/utils/formatadores.d.ts.map +1 -0
  919. package/dist/utils/gerador-id.d.ts +3 -0
  920. package/dist/utils/gerador-id.d.ts.map +1 -0
  921. package/dist/utils/hint-mensagem.d.ts +11 -0
  922. package/dist/utils/hint-mensagem.d.ts.map +1 -0
  923. package/dist/utils/index.d.ts +15 -0
  924. package/dist/utils/index.d.ts.map +1 -0
  925. package/dist/utils/limpar-campos.d.ts +6 -0
  926. package/dist/utils/limpar-campos.d.ts.map +1 -0
  927. package/dist/utils/masks.d.ts +16 -0
  928. package/dist/utils/masks.d.ts.map +1 -0
  929. package/dist/utils/medidas-util.d.ts +3 -0
  930. package/dist/utils/medidas-util.d.ts.map +1 -0
  931. package/dist/utils/normalizar-label.d.ts +2 -0
  932. package/dist/utils/normalizar-label.d.ts.map +1 -0
  933. package/dist/utils/scroll-elemento.d.ts +16 -0
  934. package/dist/utils/scroll-elemento.d.ts.map +1 -0
  935. package/dist/utils/validar-campo.d.ts +7 -0
  936. package/dist/utils/validar-campo.d.ts.map +1 -0
  937. package/dist/utils/validar-documentos.d.ts +12 -0
  938. package/dist/utils/validar-documentos.d.ts.map +1 -0
  939. package/dist/utils/vnode-slot.d.ts +43 -0
  940. package/dist/utils/vnode-slot.d.ts.map +1 -0
  941. package/package.json +100 -0
  942. package/src/components/actions/acai-ui-actions.vue +225 -0
  943. package/src/components/async-select/acai-ui-async-select-interface.ts +49 -0
  944. package/src/components/async-select/acai-ui-async-select.vue +409 -0
  945. package/src/components/badge/acai-ui-badge-interface.ts +19 -0
  946. package/src/components/badge/acai-ui-badge.vue +40 -0
  947. package/src/components/banner/acai-ui-banner-interface.ts +17 -0
  948. package/src/components/banner/acai-ui-banner-styles.scss +47 -0
  949. package/src/components/banner/acai-ui-banner.vue +85 -0
  950. package/src/components/button/acai-ui-button-interface.ts +21 -0
  951. package/src/components/button/acai-ui-button.vue +378 -0
  952. package/src/components/card/acai-ui-card-interface.ts +14 -0
  953. package/src/components/card/acai-ui-card-styles.scss +94 -0
  954. package/src/components/card/acai-ui-card.vue +148 -0
  955. package/src/components/chart/acai-ui-chart-interface.ts +226 -0
  956. package/src/components/chart/acai-ui-chart-styles.scss +141 -0
  957. package/src/components/chart/acai-ui-chart.vue +679 -0
  958. package/src/components/chart/chart-a11y.ts +184 -0
  959. package/src/components/chart/chart-caminhos.ts +466 -0
  960. package/src/components/chart/chart-cartesiano.vue +247 -0
  961. package/src/components/chart/chart-dados.ts +381 -0
  962. package/src/components/chart/chart-escalas.ts +141 -0
  963. package/src/components/chart/chart-formatar.ts +98 -0
  964. package/src/components/chart/chart-gauge.vue +152 -0
  965. package/src/components/chart/chart-headless.ts +130 -0
  966. package/src/components/chart/chart-imagem.ts +247 -0
  967. package/src/components/chart/chart-layout.ts +184 -0
  968. package/src/components/chart/chart-legenda.vue +103 -0
  969. package/src/components/chart/chart-pizza.vue +134 -0
  970. package/src/components/chart/chart-plano.ts +818 -0
  971. package/src/components/chart/chart-rotulos.ts +75 -0
  972. package/src/components/chart/chart-tabela.vue +116 -0
  973. package/src/components/chart/chart-ticks.ts +116 -0
  974. package/src/components/checkbox/acai-ui-checkbox-interface.ts +17 -0
  975. package/src/components/checkbox/acai-ui-checkbox.vue +114 -0
  976. package/src/components/chip/acai-ui-chip-interface.ts +19 -0
  977. package/src/components/chip/acai-ui-chip.vue +61 -0
  978. package/src/components/code/acai-ui-code-interface.ts +43 -0
  979. package/src/components/code/acai-ui-code-styles.scss +407 -0
  980. package/src/components/code/acai-ui-code.vue +595 -0
  981. package/src/components/code/dobras-json.ts +52 -0
  982. package/src/components/confirm/acai-ui-confirm.vue +230 -0
  983. package/src/components/container/acai-ui-container-interface.ts +34 -0
  984. package/src/components/container/acai-ui-container-styles.scss +122 -0
  985. package/src/components/container/acai-ui-container.vue +140 -0
  986. package/src/components/date/acai-ui-date-interface.ts +18 -0
  987. package/src/components/date/acai-ui-date.vue +191 -0
  988. package/src/components/date-range/acai-ui-date-range-interface.ts +27 -0
  989. package/src/components/date-range/acai-ui-date-range.vue +300 -0
  990. package/src/components/datetime/acai-ui-datetime-interface.ts +10 -0
  991. package/src/components/datetime/acai-ui-datetime.vue +203 -0
  992. package/src/components/datetime/data-hora-styles.scss +18 -0
  993. package/src/components/dialog/acai-ui-dialog-interface.ts +18 -0
  994. package/src/components/dialog/acai-ui-dialog.vue +168 -0
  995. package/src/components/divider/acai-ui-divider-interface.ts +4 -0
  996. package/src/components/divider/acai-ui-divider-styles.scss +42 -0
  997. package/src/components/divider/acai-ui-divider.vue +20 -0
  998. package/src/components/drawer/acai-ui-drawer-interface.ts +99 -0
  999. package/src/components/drawer/acai-ui-drawer-styles.scss +586 -0
  1000. package/src/components/drawer/acai-ui-drawer.vue +802 -0
  1001. package/src/components/drawer/drawer-sidebar-helper.ts +117 -0
  1002. package/src/components/dropdown/acai-ui-dropdown-interface.ts +41 -0
  1003. package/src/components/dropdown/acai-ui-dropdown-item.vue +36 -0
  1004. package/src/components/dropdown/acai-ui-dropdown-styles.scss +90 -0
  1005. package/src/components/dropdown/acai-ui-dropdown.vue +77 -0
  1006. package/src/components/error-log/acai-ui-error-log-interface.ts +59 -0
  1007. package/src/components/error-log/acai-ui-error-log-json-tree.vue +426 -0
  1008. package/src/components/error-log/acai-ui-error-log-redigir.ts +74 -0
  1009. package/src/components/error-log/acai-ui-error-log-styles.scss +137 -0
  1010. package/src/components/error-log/acai-ui-error-log.vue +318 -0
  1011. package/src/components/file/acai-ui-file-interface.ts +28 -0
  1012. package/src/components/file/acai-ui-file.vue +85 -0
  1013. package/src/components/file/arquivo-styles.scss +109 -0
  1014. package/src/components/form/acai-ui-form-grid.scss +145 -0
  1015. package/src/components/form/acai-ui-form-interface.ts +37 -0
  1016. package/src/components/form/acai-ui-form-styles.scss +159 -0
  1017. package/src/components/form/acai-ui-form-validation-modal.vue +216 -0
  1018. package/src/components/form/acai-ui-form.vue +410 -0
  1019. package/src/components/help/acai-ui-help-interface.ts +200 -0
  1020. package/src/components/help/acai-ui-help-styles.scss +209 -0
  1021. package/src/components/help/acai-ui-help.vue +259 -0
  1022. package/src/components/help/acai-ui-tour-styles.scss +292 -0
  1023. package/src/components/help/acai-ui-tour.vue +766 -0
  1024. package/src/components/help/tour-escolha.ts +139 -0
  1025. package/src/components/help/tour-posicionar.ts +148 -0
  1026. package/src/components/help/tour-registry.ts +177 -0
  1027. package/src/components/help/use-tour-visto.ts +81 -0
  1028. package/src/components/icon/acai-ui-icon-interface.ts +12 -0
  1029. package/src/components/icon/acai-ui-icon.vue +33 -0
  1030. package/src/components/index.ts +149 -0
  1031. package/src/components/input/acai-ui-input-interface.ts +20 -0
  1032. package/src/components/input/acai-ui-input.vue +146 -0
  1033. package/src/components/modal/acai-ui-modal-interface.ts +19 -0
  1034. package/src/components/modal/acai-ui-modal-styles.scss +131 -0
  1035. package/src/components/modal/acai-ui-modal.vue +83 -0
  1036. package/src/components/pagination/acai-ui-pagination-interface.ts +8 -0
  1037. package/src/components/pagination/acai-ui-pagination.vue +36 -0
  1038. package/src/components/preferences/acai-ui-preferences-interface.ts +4 -0
  1039. package/src/components/preferences/acai-ui-preferences-styles.scss +387 -0
  1040. package/src/components/preferences/acai-ui-preferences.vue +349 -0
  1041. package/src/components/progress/acai-ui-progress-interface.ts +20 -0
  1042. package/src/components/progress/acai-ui-progress.vue +124 -0
  1043. package/src/components/radio/acai-ui-radio-interface.ts +14 -0
  1044. package/src/components/radio/acai-ui-radio.vue +78 -0
  1045. package/src/components/section/acai-ui-section-styles.scss +93 -0
  1046. package/src/components/section/acai-ui-section.vue +134 -0
  1047. package/src/components/select/acai-ui-select-interface.ts +18 -0
  1048. package/src/components/select/acai-ui-select.vue +322 -0
  1049. package/src/components/session-clock/acai-ui-session-clock.vue +111 -0
  1050. package/src/components/stepper/acai-ui-step-interface.ts +18 -0
  1051. package/src/components/stepper/acai-ui-step.vue +37 -0
  1052. package/src/components/stepper/acai-ui-stepper-interface.ts +56 -0
  1053. package/src/components/stepper/acai-ui-stepper-styles.scss +222 -0
  1054. package/src/components/stepper/acai-ui-stepper.vue +231 -0
  1055. package/src/components/swagger/acai-ui-swagger-interface.ts +54 -0
  1056. package/src/components/swagger/acai-ui-swagger-operacao.vue +372 -0
  1057. package/src/components/swagger/acai-ui-swagger-requisicao.ts +272 -0
  1058. package/src/components/swagger/acai-ui-swagger-schema.vue +36 -0
  1059. package/src/components/swagger/acai-ui-swagger-styles.scss +883 -0
  1060. package/src/components/swagger/acai-ui-swagger.vue +349 -0
  1061. package/src/components/swagger/openapi-normalizar.ts +514 -0
  1062. package/src/components/swagger/openapi-tipos.ts +198 -0
  1063. package/src/components/table/acai-ui-table-interface.ts +60 -0
  1064. package/src/components/table/acai-ui-table-justificativa.vue +135 -0
  1065. package/src/components/table/acai-ui-table-styles.scss +293 -0
  1066. package/src/components/table/acai-ui-table.vue +340 -0
  1067. package/src/components/tabs/acai-ui-tab.vue +10 -0
  1068. package/src/components/tabs/acai-ui-tabs-interface.ts +48 -0
  1069. package/src/components/tabs/acai-ui-tabs-styles.scss +78 -0
  1070. package/src/components/tabs/acai-ui-tabs.vue +137 -0
  1071. package/src/components/time/acai-ui-time-interface.ts +14 -0
  1072. package/src/components/time/acai-ui-time.vue +86 -0
  1073. package/src/components/toggle/acai-ui-toggle-interface.ts +13 -0
  1074. package/src/components/toggle/acai-ui-toggle.vue +162 -0
  1075. package/src/components/tooltip/acai-ui-tooltip-interface.ts +11 -0
  1076. package/src/components/tooltip/acai-ui-tooltip-styles.scss +104 -0
  1077. package/src/components/tooltip/acai-ui-tooltip.vue +90 -0
  1078. package/src/components/user-menu/acai-ui-user-menu-interface.ts +13 -0
  1079. package/src/components/user-menu/acai-ui-user-menu-styles.scss +125 -0
  1080. package/src/components/user-menu/acai-ui-user-menu.vue +139 -0
  1081. package/src/components/validation/acai-ui-validation.vue +236 -0
  1082. package/src/constants/chart-paleta.ts +162 -0
  1083. package/src/constants/efeitos.ts +24 -0
  1084. package/src/constants/index.ts +24 -0
  1085. package/src/constants/lista-icons.ts +156 -0
  1086. package/src/constants/medidas-espacos.ts +15 -0
  1087. package/src/constants/radius.ts +15 -0
  1088. package/src/constants/status-badge.ts +44 -0
  1089. package/src/env.d.ts +7 -0
  1090. package/src/hooks/filtros-url-internos.ts +497 -0
  1091. package/src/hooks/index.ts +22 -0
  1092. package/src/hooks/notify.ts +18 -0
  1093. package/src/hooks/use-contador-sessao.ts +95 -0
  1094. package/src/hooks/use-filtros-na-url.ts +174 -0
  1095. package/src/hooks/use-leitura-voz.ts +346 -0
  1096. package/src/hooks/use-listagem-na-url.ts +614 -0
  1097. package/src/hooks/use-preferencias.ts +152 -0
  1098. package/src/hooks/use-repasse-quasar.ts +63 -0
  1099. package/src/hooks/use-tamanho-elemento.ts +107 -0
  1100. package/src/hooks/use-tela.ts +114 -0
  1101. package/src/hooks/use-validacao-visual.ts +189 -0
  1102. package/src/index.ts +30 -0
  1103. package/src/plugin.ts +134 -0
  1104. package/src/scss/_badge.scss +12 -0
  1105. package/src/scss/_breakpoints.scss +102 -0
  1106. package/src/scss/_color-utilities.scss +105 -0
  1107. package/src/scss/_controls.scss +135 -0
  1108. package/src/scss/_ds-input-base.scss +302 -0
  1109. package/src/scss/_ds-picker-m3.scss +179 -0
  1110. package/src/scss/_effects.scss +42 -0
  1111. package/src/scss/_overlays.scss +13 -0
  1112. package/src/scss/_radius.scss +24 -0
  1113. package/src/scss/_reset.scss +60 -0
  1114. package/src/scss/_scrollbar.scss +78 -0
  1115. package/src/scss/_spacing.scss +15 -0
  1116. package/src/scss/_themes.scss +493 -0
  1117. package/src/scss/_typography.scss +50 -0
  1118. package/src/scss/_utilities.scss +75 -0
  1119. package/src/scss/_variables.scss +143 -0
  1120. package/src/scss/api.scss +77 -0
  1121. package/src/scss/tokens.scss +13 -0
  1122. package/src/styles-global.scss +30 -0
  1123. package/src/utils/date-utils.ts +128 -0
  1124. package/src/utils/dialog-utils.ts +59 -0
  1125. package/src/utils/file-utils.ts +85 -0
  1126. package/src/utils/filtro-input.ts +41 -0
  1127. package/src/utils/form-rules.ts +202 -0
  1128. package/src/utils/formatadores.ts +97 -0
  1129. package/src/utils/gerador-id.ts +29 -0
  1130. package/src/utils/hint-mensagem.ts +25 -0
  1131. package/src/utils/index.ts +32 -0
  1132. package/src/utils/limpar-campos.ts +94 -0
  1133. package/src/utils/masks.ts +19 -0
  1134. package/src/utils/medidas-util.ts +5 -0
  1135. package/src/utils/normalizar-label.ts +9 -0
  1136. package/src/utils/scroll-elemento.ts +34 -0
  1137. package/src/utils/validar-campo.ts +27 -0
  1138. package/src/utils/validar-documentos.ts +86 -0
  1139. package/src/utils/vnode-slot.ts +74 -0
@@ -0,0 +1,614 @@
1
+ // Listagem cuja FONTE DA VERDADE é a URL.
2
+ //
3
+ // Feito para o combo `<acai-ui-form>` + `<acai-ui-table>`, que é o desenho de
4
+ // toda listagem dos apps DETRAN. A diferença para o `useFiltrosNaUrl` é de quem
5
+ // manda: lá a tela busca e a URL apenas anota o que foi buscado; aqui a URL é o
6
+ // estado, e a tela é um reflexo dela.
7
+ //
8
+ // O que isso resolve, na ordem em que dói:
9
+ //
10
+ // 1. **Voltar funciona.** Trocar filtro é `push`, então o Voltar do navegador
11
+ // desfaz a pesquisa em vez de sair da tela. Paginar é `replace`, senão sair
12
+ // de uma listagem depois de folhear 8 páginas custaria 8 cliques no Voltar.
13
+ // 2. **Voltar do detalhe não refaz a requisição.** A última pesquisa fica em
14
+ // cache, chaveada pela própria query string. Mesma query = mesma resposta.
15
+ // 3. **A busca não espera a navegação.** A requisição sai na hora, e a URL é
16
+ // escrita em paralelo. Em app com `beforeEach` assíncrono (é o caso do
17
+ // gestao-pessoas, que revalida sessão a cada navegação), amarrar a busca ao
18
+ // router colocaria um round trip de rede na frente de toda pesquisa.
19
+ //
20
+ // 🔴 DADO PESSOAL: o que entra na URL entra no histórico do navegador, é colado
21
+ // em conversa e cai no LOG DE ACESSO do servidor. CPF, RG e afins vão em
22
+ // `excluir`. Vale o mesmo aviso do `useFiltrosNaUrl` — e aqui é mais grave,
23
+ // porque `push` deixa rastro no histórico.
24
+
25
+ import { computed, onScopeDispose, ref, shallowRef, type ComputedRef, type Ref } from 'vue'
26
+ import {
27
+ assinatura,
28
+ clonarMolde,
29
+ criarAdaptador,
30
+ criarMapa,
31
+ escreverNaUrl,
32
+ lerDaUrl,
33
+ type TipoFiltroUrl,
34
+ } from './filtros-url-internos'
35
+
36
+ /** O que a tela precisa devolver para a tabela se pintar. */
37
+ export interface ResultadoListagem<Linha> {
38
+ linhas: Linha[]
39
+ /** Total de registros no servidor. Sem ele, cai na contagem das linhas da página. */
40
+ totalItens?: number
41
+ /** Total de páginas. Sem ele, assume 1. */
42
+ totalPaginas?: number
43
+ }
44
+
45
+ /** O que o hook entrega para a função de busca. Vem da URL, não do formulário. */
46
+ export interface ParametrosListagem<Filtros> {
47
+ /** Filtros já convertidos pelos `tipos` — o que a URL de fato carrega. */
48
+ filtros: Filtros
49
+ /**
50
+ * Página **1-based**, igual ao `v-model` do `<acai-ui-table>`.
51
+ *
52
+ * 🔴 **Com `paginacao: 'cliente'`, IGNORE.** Lá quem fatia é o hook, e a chave
53
+ * do cache não inclui a página de propósito — é isso que faz folhear não
54
+ * chamar `buscar`. Se a busca usar esta página nesse modo, a primeira fatia
55
+ * pedida fica em cache e passa a ser devolvida para TODAS as páginas: dado
56
+ * errado, sem erro nenhum. Nesse modo escreva `({ filtros }) => …`.
57
+ */
58
+ pagina: number
59
+ }
60
+
61
+ export interface OpcoesListagemNaUrl<Filtros extends object, Linha> {
62
+ /**
63
+ * Fábrica do estado inicial dos filtros. **Função, não objeto**: ela é chamada
64
+ * de novo no `limpar()`, e um objeto compartilhado voltaria já sujo da última
65
+ * pesquisa.
66
+ */
67
+ molde: () => Filtros
68
+ /**
69
+ * A requisição. Recebe o que está na URL e devolve o que a tabela mostra.
70
+ *
71
+ * Erro aqui NÃO é engolido nem quebra a tela: as linhas atuais ficam onde
72
+ * estão, `erro` recebe o que foi lançado e o resultado não vai pro cache.
73
+ * Quem trata (notificação, retry) é a tela — o hook não sabe o que é um erro
74
+ * aceitável no domínio dela.
75
+ */
76
+ buscar: (parametros: ParametrosListagem<Filtros>) => Promise<ResultadoListagem<Linha>>
77
+ /** Tipo declarado por campo. Ver `useFiltrosNaUrl` — mesma regra e mesmo motivo. */
78
+ tipos?: Readonly<Record<string, TipoFiltroUrl>>
79
+ /** Chaves que NUNCA entram na URL (dado pessoal). Simétrico: também não são lidas. */
80
+ excluir?: readonly string[]
81
+ /** Prefixo das chaves. Só necessário com DUAS listagens na mesma rota. */
82
+ prefixo?: string
83
+ /** Nome da chave de página na URL. Default `'pagina'`. */
84
+ chavePagina?: string
85
+ /**
86
+ * Quem fatia as páginas. Default `'servidor'`.
87
+ *
88
+ * - **`'servidor'`** — `buscar` recebe a página e devolve só ela. É o desenho
89
+ * de API paginada (Spring e afins), e cada troca de página é uma requisição.
90
+ * - **`'cliente'`** — `buscar` devolve o conjunto INTEIRO e o hook fatia. Uma
91
+ * requisição por conjunto de filtros; folhear não chama `buscar` nenhuma vez.
92
+ *
93
+ * 🔴 `'cliente'` existe para fonte que **não pagina** — SOAP, arquivo, endpoint
94
+ * legado que só sabe devolver tudo. Nesses casos paginar no servidor não é uma
95
+ * escolha de desenho: refazer a chamada a cada clique de página é o custo
96
+ * inteiro da consulta de novo (medido de 9 a 15s no SOAP do DETRAN).
97
+ *
98
+ * Não é atalho para fonte que pagina de verdade: com resultado grande, trazer
99
+ * tudo para fatiar no navegador troca uma requisição pequena por uma enorme.
100
+ */
101
+ paginacao?: 'servidor' | 'cliente'
102
+ /**
103
+ * Quantas linhas por página. Default `10`.
104
+ *
105
+ * ⚠️ **Só vale com `paginacao: 'cliente'`** — quem fatia no modo servidor é o
106
+ * servidor, e o hook não tem como impor tamanho de página a ele. Declarar aqui
107
+ * junto de `'servidor'` avisa em DEV e não faz nada.
108
+ */
109
+ itensPorPagina?: number
110
+ /**
111
+ * Buscar ao montar quando a URL está vazia? Default `true` — é o que toda
112
+ * listagem dos apps faz hoje (`onMounted(buscar)`). Passe `false` na tela que
113
+ * só deve buscar depois que a pessoa pesquisar.
114
+ *
115
+ * Com filtro na URL o hook busca de qualquer jeito: foi pedido explicitamente.
116
+ */
117
+ buscarAoMontar?: boolean
118
+ }
119
+
120
+ export interface ListagemNaUrl<Filtros extends object, Linha> {
121
+ /**
122
+ * Rascunho do formulário — é aqui que os campos dão `v-model`.
123
+ *
124
+ * É rascunho de propósito: digitar não pesquisa e não mexe na URL. O que está
125
+ * na URL é a pesquisa APLICADA, e as duas só se encontram no `pesquisar()`.
126
+ */
127
+ filtros: Ref<Filtros>
128
+ /**
129
+ * Os filtros que produziram as LINHAS que estão na tela — não o rascunho.
130
+ *
131
+ * Serve pra tudo que precisa acompanhar o resultado exibido em vez do que a
132
+ * pessoa está digitando. O caso real: listagem cujas COLUNAS dependem do
133
+ * filtro (situação `Ativo`/`Desligado` mostra ou não "Motivo de saída"). Com
134
+ * `filtros` o cabeçalho mudaria no meio da digitação, antes das linhas
135
+ * correspondentes chegarem.
136
+ *
137
+ * Só avança quando o resultado é aplicado — inclusive vindo do cache. Se a
138
+ * busca falha, continua descrevendo as linhas que ficaram na tela.
139
+ */
140
+ aplicados: Ref<Filtros>
141
+ /** `v-model` do `<acai-ui-table>`. Mudar aqui já pagina (e escreve na URL). */
142
+ pagina: Ref<number>
143
+ linhas: Ref<Linha[]>
144
+ totalItens: Ref<number>
145
+ totalPaginas: Ref<number>
146
+ carregando: Ref<boolean>
147
+ /** O que a última busca lançou, ou `null`. */
148
+ erro: Ref<unknown>
149
+ /** Props prontas do `<acai-ui-table>`: `v-bind="listagem.tabela"`. */
150
+ tabela: ComputedRef<{
151
+ rows: Linha[]
152
+ totalItems: number
153
+ totalPages: number
154
+ skeleton: boolean
155
+ }>
156
+ /** `@submit` do `<acai-ui-form>`. Aplica o rascunho, volta pra página 1. */
157
+ pesquisar: () => void
158
+ /** `@reset` do `<acai-ui-form>`. Devolve o molde e limpa a URL. */
159
+ limpar: () => void
160
+ /**
161
+ * Refaz a requisição da pesquisa atual, ignorando o cache.
162
+ *
163
+ * É o que chamar depois de excluir uma linha na própria tela.
164
+ */
165
+ recarregar: () => Promise<void>
166
+ /** Descarta o cache desta listagem sem refazer a busca agora. */
167
+ invalidar: () => void
168
+ /** `true` quando a tela abriu já com filtro na URL. */
169
+ hidratou: boolean
170
+ }
171
+
172
+ /**
173
+ * Cache da ÚLTIMA pesquisa de cada listagem.
174
+ *
175
+ * Fora do componente de propósito: o caso que ele existe pra resolver é
176
+ * justamente ir no detalhe e voltar, e nesse caminho a tela DESMONTA. Cache
177
+ * guardado no `setup` morreria exatamente quando seria útil.
178
+ *
179
+ * Uma entrada por listagem (rota + prefixo), e só a última pesquisa — foi a
180
+ * decisão tomada: cobre ir-e-voltar, que é o caso real, sem virar um cache de
181
+ * verdade com invalidação por chave, TTL e todo o custo de manter isso correto.
182
+ */
183
+ interface EntradaCache {
184
+ chave: string
185
+ resultado: ResultadoListagem<unknown>
186
+ /** Qual instância do hook gravou. Serve pro aviso de dado velho em DEV. */
187
+ instancia: number
188
+ }
189
+
190
+ const cache = new Map<string, EntradaCache>()
191
+ let proximaInstancia = 0
192
+
193
+ /**
194
+ * Estamos renderizando no SERVIDOR?
195
+ *
196
+ * 🔴 Isto existe porque o `cache` acima é um `Map` de MÓDULO. No navegador ele é
197
+ * por aba e está correto. No Node do SSR ele é do PROCESSO: um objeto só para
198
+ * todas as requisições de todas as pessoas. Chaveado por rota + assinatura dos
199
+ * filtros, dois usuários com a mesma pesquisa passariam a compartilhar entrada —
200
+ * e em app que restringe resultado por perfil, a resposta de um alimentaria a
201
+ * tela do outro.
202
+ *
203
+ * Somado a isso, o `executar` é disparado sem espera (`void executar(...)`): no
204
+ * servidor a requisição SAI, não chega a tempo do HTML, e o resultado cai no
205
+ * cache compartilhado depois que a resposta já foi embora. Custo puro.
206
+ *
207
+ * As duas condições porque nenhuma sozinha cobre tudo: `import.meta.env.SSR` é
208
+ * do Vite (pode não existir em outro empacotador) e `window` é o teste de
209
+ * runtime que vale em qualquer lugar.
210
+ */
211
+ const noServidor = (): boolean => import.meta.env.SSR === true || typeof window === 'undefined'
212
+
213
+ /**
214
+ * Descarta o cache de listagem.
215
+ *
216
+ * 🔴 **Chame depois de gravar.** O cache não tem como saber que outra tela
217
+ * cadastrou, editou ou excluiu um registro que a listagem mostra — e sem isso a
218
+ * pessoa salva, volta pra lista e vê o dado velho.
219
+ *
220
+ * ```ts
221
+ * // na tela de cadastro, depois de salvar
222
+ * await salvar()
223
+ * invalidarListagens('/servidores') // ou sem argumento, pra derrubar todas
224
+ * void router.push({ name: 'servidores' })
225
+ * ```
226
+ *
227
+ * Sem argumento derruba tudo. É grosso, mas é o padrão seguro: o custo de
228
+ * invalidar demais é uma requisição, e o de invalidar de menos é dado errado
229
+ * na tela.
230
+ */
231
+ export function invalidarListagens(rota?: string): void {
232
+ if (rota === undefined) {
233
+ cache.clear()
234
+ return
235
+ }
236
+ for (const chave of [...cache.keys()]) {
237
+ if (chave === rota || chave.startsWith(`${rota}::`)) cache.delete(chave)
238
+ }
239
+ }
240
+
241
+ const avisouCacheVelho = new Set<string>()
242
+
243
+ /**
244
+ * Listagem com a URL como fonte da verdade.
245
+ *
246
+ * ```ts
247
+ * const listagem = useListagemNaUrl({
248
+ * molde: filtrosServidoresIniciais,
249
+ * excluir: ['pessoalCpf'],
250
+ * tipos: { cargoId: 'number', progressoMinimo: 'number' },
251
+ * buscar: async ({ filtros, pagina }) => {
252
+ * const dados = await listarServidores(montarParametros(filtros, pagina))
253
+ * return {
254
+ * linhas: dados.content ?? [],
255
+ * totalItens: dados.page?.totalElements,
256
+ * totalPaginas: dados.page?.totalPages,
257
+ * }
258
+ * },
259
+ * })
260
+ * ```
261
+ *
262
+ * ```html
263
+ * <acai-ui-form @submit="listagem.pesquisar()" @reset="listagem.limpar()">
264
+ * <acai-ui-input v-model="listagem.filtros.value.pessoalNome" label="Nome" />
265
+ * </acai-ui-form>
266
+ *
267
+ * <acai-ui-table v-model="listagem.pagina.value" :columns="colunas" v-bind="listagem.tabela.value" />
268
+ * ```
269
+ *
270
+ * Com `<script setup>`, desestruture — todos os campos são ref/computed e
271
+ * continuam reativos: `const { filtros, pagina, tabela, pesquisar } = listagem`.
272
+ */
273
+ export function useListagemNaUrl<Filtros extends object, Linha>(
274
+ opcoes: OpcoesListagemNaUrl<Filtros, Linha>,
275
+ ): ListagemNaUrl<Filtros, Linha> {
276
+ const {
277
+ molde: fabricaMolde,
278
+ buscar,
279
+ tipos = {},
280
+ excluir = [],
281
+ prefixo = '',
282
+ chavePagina = 'pagina',
283
+ paginacao = 'servidor',
284
+ itensPorPagina = 10,
285
+ buscarAoMontar = true,
286
+ } = opcoes
287
+
288
+ const fatiaNoCliente = paginacao === 'cliente'
289
+ // Guarda de divisão: `itensPorPagina: 0` faria `ceil(n/0)` virar Infinity e a
290
+ // tabela anunciar infinitas páginas.
291
+ const porPagina = Math.max(1, Math.trunc(itensPorPagina))
292
+
293
+ if (import.meta.env.DEV && !fatiaNoCliente && opcoes.itensPorPagina !== undefined) {
294
+ console.warn(
295
+ "[acai-ui] useListagemNaUrl: `itensPorPagina` só vale com `paginacao: 'cliente'`. " +
296
+ "No modo servidor quem decide o tamanho da página é o servidor — esta opção não faz nada.",
297
+ )
298
+ }
299
+
300
+ const adaptador = criarAdaptador()
301
+ const mapa = criarMapa(clonarMolde(fabricaMolde()), { excluir, tipos, prefixo })
302
+ /**
303
+ * Mapa SEM `excluir`, usado só pra chavear o cache.
304
+ *
305
+ * 🔴 Sem isso o cache mente. Filtro excluído muda a BUSCA mas não a URL, então
306
+ * chavear pela URL faz "pesquisar por CPF" bater na entrada da pesquisa
307
+ * anterior e devolver a lista inteira — resultado errado, sem erro nenhum.
308
+ * A chave sai do ESTADO; a URL continua sem o dado pessoal.
309
+ */
310
+ const mapaChave = criarMapa(clonarMolde(fabricaMolde()), { tipos, prefixo })
311
+ const chavePaginaUrl = `${prefixo}${chavePagina}`
312
+ const chaveCache = `${adaptador.rota()}::${prefixo}`
313
+ /**
314
+ * A rota em que este hook nasceu.
315
+ *
316
+ * 🔴 Sem isto o hook age na rota que estiver ATIVA, não na dele. Ao sair da
317
+ * listagem para o detalhe, o watcher da query dispara com a query do DESTINO,
318
+ * e uma escrita atrasada (a tabela reposicionando a página quando o total
319
+ * chega, por exemplo) grava os filtros e o `pagina` na URL do detalhe.
320
+ *
321
+ * Medido: sair de `/servidores?nome=ana&pagina=3` para
322
+ * `/servidores/7?origem=servidores&origemLabel=Servidores` terminava em
323
+ * `/servidores/7?origem=servidores&origemLabel=Servidores&pagina=2`. Isso suja
324
+ * justamente a query de onde a trilha de breadcrumb do app lê a cadeia de
325
+ * origem — e um `push` desses ainda cria entrada de histórico no detalhe,
326
+ * quebrando o Voltar.
327
+ */
328
+ const rotaDona = adaptador.rota()
329
+ const instancia = ++proximaInstancia
330
+
331
+ const filtros = ref(fabricaMolde()) as Ref<Filtros>
332
+ const aplicados = ref(fabricaMolde()) as Ref<Filtros>
333
+ const pagina = ref(1)
334
+ const linhas = shallowRef<Linha[]>([]) as Ref<Linha[]>
335
+ const totalItens = ref(0)
336
+ const totalPaginas = ref(1)
337
+ const carregando = ref(false)
338
+ const erro = ref<unknown>(null)
339
+
340
+ /**
341
+ * Assinatura da pesquisa que está NA TELA. É a chave do cache e o critério de
342
+ * "a URL mudou por fora": se o que chegou na URL bate com isto, o hook mesmo
343
+ * escreveu, e não há o que reagir.
344
+ */
345
+ let chaveAtual = ''
346
+ /** Corrida: só a resposta da última busca disparada pode pintar a tabela. */
347
+ let requisicaoAtual = 0
348
+ /** Uma vez por listagem — o aviso é de código, não de dado. */
349
+ let avisouTotais = false
350
+
351
+ /** Estado (filtros + página) → os params da URL. */
352
+ function paramsDe(valores: Filtros, numeroPagina: number): URLSearchParams {
353
+ const base = adaptador.ler()
354
+ base.delete(chavePaginaUrl)
355
+ // Dado pessoal colado à mão na barra não sobrevive à primeira pesquisa —
356
+ // com `push`, ele entraria em toda entrada seguinte do histórico.
357
+ mapa.removerExcluidas(base)
358
+ const params = escreverNaUrl(mapa, base, valores as Record<string, unknown>)
359
+ // Página 1 fica FORA da URL, mesma regra do filtro no default: `?pagina=1`
360
+ // seria ruído em toda listagem recém-aberta.
361
+ if (numeroPagina > 1) params.set(chavePaginaUrl, String(numeroPagina))
362
+ return params
363
+ }
364
+
365
+ /** Assinatura da URL — serve pra saber se a mudança veio de fora do hook. */
366
+ function chaveDe(params: URLSearchParams): string {
367
+ const dosFiltros = assinatura(mapa, params)
368
+ const daPagina = params.get(chavePaginaUrl) ?? '1'
369
+ return `${dosFiltros}|${chavePaginaUrl}=${daPagina}`
370
+ }
371
+
372
+ /**
373
+ * Assinatura da BUSCA — inclui os filtros excluídos da URL. Chave do cache.
374
+ *
375
+ * 🔴 No modo cliente a PÁGINA fica de fora, e é essa ausência que faz o recurso
376
+ * existir: a entrada do cache passa a valer para o conjunto inteiro, então
377
+ * folhear cai no cache em vez de chamar `buscar`. No modo servidor a página
378
+ * continua na chave — lá cada página é uma resposta diferente.
379
+ */
380
+ function chaveDaBusca(valores: Filtros, numeroPagina: number): string {
381
+ const params = escreverNaUrl(mapaChave, new URLSearchParams(), valores as Record<string, unknown>)
382
+ const dosFiltros = assinatura(mapaChave, params)
383
+ if (fatiaNoCliente) return dosFiltros
384
+ return `${dosFiltros}|${chavePaginaUrl}=${numeroPagina}`
385
+ }
386
+
387
+ function paginaDe(params: URLSearchParams): number {
388
+ const bruto = Number(params.get(chavePaginaUrl))
389
+ return Number.isFinite(bruto) && bruto >= 1 ? Math.trunc(bruto) : 1
390
+ }
391
+
392
+ /**
393
+ * Recebe a página em vez de ler `pagina.value`.
394
+ *
395
+ * O `aplicar` grava o ref antes de chamar o `executar`, então ler de lá daria
396
+ * o mesmo número hoje — mas amarraria o fatiamento à ordem de duas atribuições
397
+ * distantes. Explícito não tem como sair de sincronia.
398
+ */
399
+ function aplicarResultado(
400
+ resultado: ResultadoListagem<Linha>,
401
+ valores: Filtros,
402
+ numeroPagina: number,
403
+ ): void {
404
+ if (fatiaNoCliente) {
405
+ const todas = resultado.linhas
406
+ totalItens.value = todas.length
407
+ // `max(1, …)` mantém "1 página" no resultado vazio, igual ao modo servidor
408
+ // — tabela com 0 páginas não tem o que mostrar na paginação.
409
+ totalPaginas.value = Math.max(1, Math.ceil(todas.length / porPagina))
410
+ const inicio = (numeroPagina - 1) * porPagina
411
+ // Página fora do intervalo (`?pagina=99` com 3 páginas) devolve lista
412
+ // vazia. Não reposiciono pra última: isso exigiria escrever na URL durante
413
+ // a aplicação do resultado, que é a classe de escrita atrasada que sujou a
414
+ // URL da tela de destino na 1.63.2.
415
+ linhas.value = todas.slice(inicio, inicio + porPagina)
416
+ } else {
417
+ linhas.value = resultado.linhas
418
+ totalItens.value = resultado.totalItens ?? resultado.linhas.length
419
+ totalPaginas.value = resultado.totalPaginas ?? 1
420
+ }
421
+ // Só aqui, junto das linhas: `aplicados` descreve o que está na tela. Mover
422
+ // isto pro início da requisição faria o cabeçalho da tabela mudar enquanto
423
+ // as linhas antigas ainda estão sendo exibidas.
424
+ aplicados.value = clonarMolde(valores)
425
+ }
426
+
427
+ /**
428
+ * No modo cliente os totais saem do tamanho do resultado, então `totalItens` e
429
+ * `totalPaginas` devolvidos pela busca são ignorados. Avisa porque o erro
430
+ * provável é copiar uma listagem de servidor e trocar só o `paginacao` — e o
431
+ * sintoma seria uma contagem que não confere, sem erro nenhum.
432
+ */
433
+ function avisarTotaisIgnorados(resultado: ResultadoListagem<Linha>): void {
434
+ if (!import.meta.env.DEV || !fatiaNoCliente) return
435
+ if (resultado.totalItens === undefined && resultado.totalPaginas === undefined) return
436
+ if (avisouTotais) return
437
+ avisouTotais = true
438
+ console.warn(
439
+ "[acai-ui] useListagemNaUrl: com `paginacao: 'cliente'` o hook conta as linhas que a " +
440
+ "busca devolveu — `totalItens` e `totalPaginas` do resultado são ignorados. Devolva só `linhas`.",
441
+ )
442
+ }
443
+
444
+ async function executar(valores: Filtros, numeroPagina: number): Promise<void> {
445
+ // 🔴 No servidor o hook para aqui: nem busca, nem lê, nem escreve o cache.
446
+ // Os filtros JÁ foram hidratados da URL pelo `aplicar`, então o formulário
447
+ // renderiza preenchido e a tabela renderiza vazia — que é exatamente o que o
448
+ // cliente vai renderizar no primeiro quadro, antes de a busca dele voltar.
449
+ // É isso que mantém a hidratação casando; buscar aqui produziria HTML com
450
+ // linhas que o cliente não teria, e aí sim daria divergência.
451
+ if (noServidor()) return
452
+
453
+ const chave = chaveDaBusca(valores, numeroPagina)
454
+ const entrada = cache.get(chaveCache)
455
+ if (entrada && entrada.chave === chave) {
456
+ // Servido do cache: nenhuma requisição.
457
+ if (import.meta.env.DEV && entrada.instancia !== instancia && !avisouCacheVelho.has(chave)) {
458
+ avisouCacheVelho.add(chave)
459
+ console.info(
460
+ `[acai-ui] useListagemNaUrl: "${chaveCache}" foi servida do cache da visita anterior. ` +
461
+ 'Se alguma tela gravou dados desde então, chame invalidarListagens() depois de salvar.',
462
+ )
463
+ }
464
+ aplicarResultado(entrada.resultado as ResultadoListagem<Linha>, valores, numeroPagina)
465
+ erro.value = null
466
+ return
467
+ }
468
+
469
+ const meuTicket = ++requisicaoAtual
470
+ carregando.value = true
471
+ erro.value = null
472
+ try {
473
+ const resultado = await buscar({ filtros: clonarMolde(valores), pagina: numeroPagina })
474
+ // Resposta velha de uma pesquisa que o usuário já trocou: descarta.
475
+ if (meuTicket !== requisicaoAtual) return
476
+ avisarTotaisIgnorados(resultado)
477
+ aplicarResultado(resultado, valores, numeroPagina)
478
+ cache.set(chaveCache, { chave, resultado: resultado as ResultadoListagem<unknown>, instancia })
479
+ } catch (falha) {
480
+ if (meuTicket !== requisicaoAtual) return
481
+ // Linhas ficam como estão: apagar a tabela por causa de um 500 tira da
482
+ // pessoa o resultado que ela tinha, sem ganho nenhum.
483
+ erro.value = falha
484
+ } finally {
485
+ if (meuTicket === requisicaoAtual) carregando.value = false
486
+ }
487
+ }
488
+
489
+ /**
490
+ * Aplica um estado: escreve a URL e dispara a busca.
491
+ *
492
+ * As duas coisas em paralelo, e a busca NÃO espera a navegação — ver o
493
+ * cabeçalho do arquivo.
494
+ */
495
+ /** A tela ainda está no ar? Fora da rota dona o hook não escreve nem busca. */
496
+ function naRotaDona(): boolean {
497
+ return adaptador.rota() === rotaDona
498
+ }
499
+
500
+ function aplicar(
501
+ valores: Filtros,
502
+ numeroPagina: number,
503
+ modo: 'push' | 'replace' | 'nenhum',
504
+ ): void {
505
+ // A navegação já saiu daqui: escrever agora grava os filtros desta listagem
506
+ // na URL de OUTRA tela, e buscar seria requisição para uma tabela que
507
+ // ninguém está vendo. Acontece de verdade — o `v-model` da tabela ainda
508
+ // reposiciona a página enquanto o componente é desmontado.
509
+ if (!naRotaDona()) return
510
+
511
+ const params = paramsDe(valores, numeroPagina)
512
+ const chave = chaveDe(params)
513
+
514
+ filtros.value = valores
515
+ pagina.value = numeroPagina
516
+ chaveAtual = chave
517
+
518
+ if (modo !== 'nenhum') adaptador.gravar(params, modo)
519
+ void executar(valores, numeroPagina)
520
+ }
521
+
522
+ function pesquisar(): void {
523
+ // Sempre volta pra página 1: manter a pessoa na página 7 de um resultado que
524
+ // acabou de mudar é mostrar "nenhum registro" numa busca que tem resultado.
525
+ aplicar(clonarMolde(filtros.value), 1, 'push')
526
+ }
527
+
528
+ function limpar(): void {
529
+ aplicar(fabricaMolde(), 1, 'push')
530
+ }
531
+
532
+ async function recarregar(): Promise<void> {
533
+ cache.delete(chaveCache)
534
+ await executar(filtros.value, pagina.value)
535
+ }
536
+
537
+ function invalidar(): void {
538
+ cache.delete(chaveCache)
539
+ }
540
+
541
+ // ── Entrada: a URL manda ────────────────────────────────────────────────────
542
+ const paramsIniciais = adaptador.ler()
543
+ const doUrl = lerDaUrl(mapa, paramsIniciais, filtros.value as Record<string, unknown>)
544
+ const hidratou = Object.keys(doUrl).length > 0 || paramsIniciais.has(chavePaginaUrl)
545
+
546
+ if (hidratou) {
547
+ // `nenhum`: a URL já está do jeito certo — reescrevê-la no mount criaria uma
548
+ // entrada de histórico duplicada e, num app com guard assíncrono, uma
549
+ // navegação inútil a cada visita.
550
+ aplicar({ ...filtros.value, ...doUrl } as Filtros, paginaDe(paramsIniciais), 'nenhum')
551
+ } else if (buscarAoMontar) {
552
+ aplicar(filtros.value, 1, 'nenhum')
553
+ } else {
554
+ chaveAtual = chaveDe(paramsDe(filtros.value, 1))
555
+ }
556
+
557
+ // ── URL mudando por fora: voltar/avançar, link, barra de endereço ───────────
558
+ const parar = adaptador.observar?.(() => {
559
+ // 🔴 A query mudou porque a navegação saiu daqui, não porque alguém mexeu
560
+ // NESTA listagem. Sem esta linha o hook se re-hidrata a partir da query da
561
+ // outra tela: o estado é zerado e uma requisição sai para uma tabela que
562
+ // ninguém está vendo. O `aplicar` também se protege, mas parar aqui evita o
563
+ // trabalho inteiro.
564
+ if (!naRotaDona()) return
565
+
566
+ const params = adaptador.ler()
567
+ const chave = chaveDe(params)
568
+ // Foi o próprio hook que escreveu — nada a fazer.
569
+ if (chave === chaveAtual) return
570
+
571
+ const alteracoes = lerDaUrl(mapa, params, fabricaMolde() as Record<string, unknown>)
572
+ // Parte do MOLDE, não do estado atual: voltar pra uma URL sem `nome` tem que
573
+ // limpar o campo nome, e não manter o que a pesquisa anterior tinha nele.
574
+ aplicar({ ...fabricaMolde(), ...alteracoes } as Filtros, paginaDe(params), 'nenhum')
575
+ })
576
+
577
+ if (parar) onScopeDispose(parar)
578
+
579
+ // ── Paginação: o `v-model` do table escreve aqui ────────────────────────────
580
+ // Não é `watch(pagina)`: o próprio `aplicar` mexe em `pagina.value`, e o watch
581
+ // reentraria a cada busca. A tabela chama isto por `v-model`, e só ela.
582
+ const paginaModel = computed<number>({
583
+ get: () => pagina.value,
584
+ set: (nova) => {
585
+ if (nova === pagina.value) return
586
+ // `replace`: folhear 8 páginas não pode custar 8 cliques no Voltar.
587
+ aplicar(clonarMolde(filtros.value), nova, 'replace')
588
+ },
589
+ })
590
+
591
+ const tabela = computed(() => ({
592
+ rows: linhas.value,
593
+ totalItems: totalItens.value,
594
+ totalPages: totalPaginas.value,
595
+ skeleton: carregando.value,
596
+ }))
597
+
598
+ return {
599
+ filtros,
600
+ aplicados,
601
+ pagina: paginaModel,
602
+ linhas,
603
+ totalItens,
604
+ totalPaginas,
605
+ carregando,
606
+ erro,
607
+ tabela,
608
+ pesquisar,
609
+ limpar,
610
+ recarregar,
611
+ invalidar,
612
+ hidratou,
613
+ }
614
+ }