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,802 @@
1
+ <template>
2
+ <!--
3
+ A MOLDURA é trocável; o conteúdo é escrito uma vez só.
4
+
5
+ - `q-drawer`: trilho fixo no desktop, gaveta lateral no tablet/celular
6
+ largo. É o comportamento de sempre.
7
+ - `q-dialog maximized` + slide-up: abaixo de `sheetBreakpoint` (600px) o
8
+ menu deixa de ser gaveta e vira FOLHA — sobe de baixo e ocupa a tela
9
+ inteira. Numa tela de 360px uma gaveta lateral nunca foi um bom negócio:
10
+ ou come a tela toda mesmo assim, ou sobra uma faixa inútil de backdrop.
11
+
12
+ Trocar só a moldura (e não duplicar o template em v-if/v-else) importa: a
13
+ árvore de navegação abaixo tem ~120 linhas com grupos, sub-grupos e badges.
14
+ Duas cópias divergiriam no primeiro ajuste.
15
+ -->
16
+ <!-- `ref` fica AQUI e não no `atributosRaiz`: em <script setup> um ref de
17
+ template é uma variável, e `ref: 'drawerRef'` dentro de um v-bind seria
18
+ tratado como string ref — que não existe mais. Na folha ele aponta pro
19
+ QDialog, e o `medirAncora` já se protege com `instanceof HTMLElement`. -->
20
+ <component :is="raiz" ref="drawerRef" v-bind="atributosRaiz">
21
+ <div ref="conteudoRef" class="drawer-container" :class="classesConteudo">
22
+ <!--
23
+ FOLHA — cabeçalho fixo, o único da tela.
24
+
25
+ Ele não some ao trocar de vista: é a mesma barra que muda de título e de
26
+ ícone. Trocar o CONTEÚDO embaixo de um cabeçalho estável é o que faz
27
+ parecer uma tela só com duas abas, em vez de dois painéis empilhados um
28
+ sobre o outro.
29
+ -->
30
+ <!--
31
+ Ações da folha — AO LADO da marca, na mesma linha da logo.
32
+
33
+ Posicionadas em absoluto sobre a linha da marca (mesma âncora do handle
34
+ e do botão de fechar da gaveta) em vez de numa barra própria acima. Uma
35
+ barra separada empurrava a logo pra baixo e deixava uma faixa vazia no
36
+ topo; aqui elas ocupam a quina que a marca cede via `padding-right`.
37
+
38
+ Fora da `<transition>` de propósito: são a parte FIXA da tela. Só o
39
+ conteúdo abaixo troca.
40
+ -->
41
+ <div v-if="ehFolhaMobile" class="drawer-folha__acoes" :style="estiloAcoes">
42
+ <button
43
+ v-if="preferences"
44
+ type="button"
45
+ class="acai-drawer-acao"
46
+ :aria-label="vista === 'menu' ? tituloPreferencias : 'Voltar ao menu'"
47
+ :aria-pressed="vista === 'preferencias'"
48
+ @click="vista = vista === 'menu' ? 'preferencias' : 'menu'"
49
+ >
50
+ <acai-ui-icon :name="vista === 'menu' ? 'tune' : 'menu'" size="20px" decorative />
51
+ </button>
52
+
53
+ <button
54
+ type="button"
55
+ class="acai-drawer-acao"
56
+ aria-label="Fechar menu"
57
+ @click="aberto = false"
58
+ >
59
+ <acai-ui-icon name="close" size="20px" decorative />
60
+ </button>
61
+ </div>
62
+
63
+ <!--
64
+ Fechar — só no modo mobile, e só com a gaveta aberta.
65
+
66
+ DENTRO do drawer, ao contrário do handle logo abaixo. O handle precisa ser
67
+ irmão porque desliza pra FORA ao recolher, e o `.q-drawer__content` é
68
+ `overflow: hidden`. Este nunca sai: fica encostado na borda interna
69
+ direita, então não há o que recortar.
70
+
71
+ E precisa ser dentro: como irmão `position: fixed`, ele exigia um z-index
72
+ acima do drawer sobreposto (3000) — e aí passava por cima de QUALQUER
73
+ outro overlay de mesma camada. Na prática o <acai-ui-preferences>, que é
74
+ um QDrawer à direita também em 3000: abrir as preferências deixava dois
75
+ "X" empilhados na tela, o nosso por cima do painel. Morando dentro, ele
76
+ herda o contexto de empilhamento da própria gaveta e some junto quando
77
+ algo cobre o drawer, sem z-index nenhum.
78
+
79
+ Tocar no backdrop já fecha, mas isso é alvo invisível: quem navega por
80
+ teclado ou leitor de tela não tem como descobrir. Este é o controle
81
+ explícito e rotulado.
82
+
83
+ Não vale na folha: lá o fechar mora no cabeçalho, junto com a troca de
84
+ vista, e dois "fechar" na mesma tela seria ruído.
85
+ -->
86
+ <button
87
+ v-if="comportamento === 'mobile' && !ehFolhaMobile"
88
+ type="button"
89
+ class="acai-drawer-fechar"
90
+ :style="estiloFechar"
91
+ aria-label="Fechar menu"
92
+ @click="aberto = false"
93
+ >
94
+ <acai-ui-icon name="close" size="18px" decorative />
95
+ </button>
96
+
97
+ <!--
98
+ Topo — MONTADO UMA VEZ, nunca trocado.
99
+
100
+ A moldura roxa, esta faixa da marca, os botões e o rodapé são os mesmos
101
+ nas duas vistas. Desmontar e remontar qualquer um deles pra "trocar de
102
+ tela" produz o pisca que não deveria existir: o usuário vê a logo sumir
103
+ e voltar, sendo que ela nunca mudou.
104
+
105
+ Só o MIOLO troca (a `<transition>` mais abaixo).
106
+
107
+ Por isso o slot recebe `vista`: o que muda aqui dentro é decisão do
108
+ consumidor, não da lib. Na documentação, por exemplo, a logo fica parada
109
+ e só o texto ao lado dela vira "Preferências"; o campo de busca, que só
110
+ faz sentido sobre a lista, sai de cena. A lib não tem como fazer esse
111
+ recorte sozinha — logo, título e busca chegam juntos, num slot só.
112
+ -->
113
+ <div v-if="$slots.brand" class="drawer-brand">
114
+ <slot name="brand" :mini="miniAtivo" :vista="vista" />
115
+ </div>
116
+
117
+ <!-- Corpo — a ÚNICA parte que troca. `mode="out-in"`: o que sai termina
118
+ antes do que entra, senão os dois se sobrepõem durante a troca e a
119
+ altura salta. -->
120
+ <transition :name="nomeTransicao" mode="out-in">
121
+ <!-- Vista PREFERÊNCIAS: o mesmo painel de sempre, sem moldura própria. -->
122
+ <div
123
+ v-if="ehFolhaMobile && vista === 'preferencias'"
124
+ key="corpo-pref"
125
+ class="drawer-folha__painel"
126
+ >
127
+ <acai-ui-preferences embutido />
128
+ </div>
129
+
130
+ <q-scroll-area v-else key="corpo-menu" class="drawer-scroll">
131
+ <!-- MINI: trilho só de ícones. Lista própria (e não a de baixo escondida
132
+ por CSS) porque a estrutura é outra — sem expansões, sem badges de
133
+ filho, rótulo em tooltip. Esconder a árvore inteira por CSS deixaria
134
+ itens focáveis invisíveis, que é armadilha de acessibilidade. -->
135
+ <q-list v-if="miniAtivo" class="drawer-mini-list">
136
+ <q-item
137
+ v-for="no in itensVisiveis"
138
+ :key="chaveGrupo(no)"
139
+ :active="ehFolha(no) && ativo(no.name)"
140
+ active-class="item-ativo"
141
+ clickable
142
+ class="drawer-item drawer-mini-item"
143
+ :aria-label="rotuloDe(no)"
144
+ @click="aoClicarMini(no)"
145
+ >
146
+ <acai-ui-icon :name="iconeDe(no)" />
147
+ <acai-ui-tooltip position="right">{{ rotuloDe(no) }}</acai-ui-tooltip>
148
+ </q-item>
149
+ </q-list>
150
+
151
+ <q-list v-else>
152
+ <template v-for="group in itensVisiveis" :key="chaveGrupo(group)">
153
+ <q-expansion-item
154
+ v-if="ehGrupo(group)"
155
+ :header-class="[
156
+ 'header-expansao',
157
+ temAtivo(group) ? 'expansion-ativo' : '',
158
+ ]"
159
+ expand-icon="chevron_right"
160
+ expand-icon-class="text-white"
161
+ :model-value="expansaoAberta[group.expansionName] ?? false"
162
+ @update:model-value="
163
+ (val: boolean) => (expansaoAberta[group.expansionName] = val)
164
+ "
165
+ >
166
+ <template #header>
167
+ <q-item-section class="content-header-itens">
168
+ <acai-ui-icon
169
+ v-if="group.iconExpansion"
170
+ :name="group.iconExpansion"
171
+ />
172
+ <span>{{ group.expansionName }}</span>
173
+ </q-item-section>
174
+ </template>
175
+
176
+ <template v-for="item in group.children" :key="chaveFilho(item)">
177
+ <q-expansion-item
178
+ v-if="ehGrupo(item)"
179
+ :label="item.expansionName"
180
+ :header-class="[
181
+ 'header-expansao',
182
+ 'content-sub-grupo',
183
+ temAtivo(item) ? 'expansion-ativo' : '',
184
+ ]"
185
+ expand-icon="chevron_right"
186
+ expand-icon-class="text-white"
187
+ :model-value="expansaoAberta[item.expansionName] ?? false"
188
+ @update:model-value="
189
+ (val: boolean) => (expansaoAberta[item.expansionName] = val)
190
+ "
191
+ >
192
+ <template v-for="sub in item.children" :key="chaveFilho(sub)">
193
+ <q-item
194
+ v-if="ehFolha(sub)"
195
+ :active="ativo(sub.name)"
196
+ active-class="item-ativo"
197
+ clickable
198
+ class="drawer-item content-item sub-grupo"
199
+ @click="aoClicarItem(sub)"
200
+ >
201
+ <q-item-section>
202
+ <q-item-label style="font-size: 0.875rem">{{
203
+ sub.label
204
+ }}</q-item-label>
205
+ <q-item-label v-if="sub.caption" caption>{{
206
+ sub.caption
207
+ }}</q-item-label>
208
+ </q-item-section>
209
+ <q-item-section v-if="sub.badge !== undefined" side>
210
+ <q-badge
211
+ class="badge-lazy"
212
+ :label="sub.badge"
213
+ color="warning" text-color="dark"
214
+ role="status"
215
+ :aria-label="`${sub.badge} notificações em ${sub.label}`"
216
+ />
217
+ </q-item-section>
218
+ </q-item>
219
+ </template>
220
+ </q-expansion-item>
221
+
222
+ <q-item
223
+ v-else-if="ehFolha(item)"
224
+ :active="ativo(item.name)"
225
+ active-class="item-ativo"
226
+ clickable
227
+ class="drawer-item content-item"
228
+ @click="aoClicarItem(item)"
229
+ >
230
+ <q-item-section>
231
+ <q-item-label>{{ item.label }}</q-item-label>
232
+ <q-item-label v-if="item.caption" caption>{{
233
+ item.caption
234
+ }}</q-item-label>
235
+ </q-item-section>
236
+ <q-item-section v-if="item.badge !== undefined" side>
237
+ <q-badge
238
+ class="badge-lazy"
239
+ :label="item.badge"
240
+ color="warning" text-color="dark"
241
+ role="status"
242
+ :aria-label="`${item.badge} notificações em ${item.label}`"
243
+ />
244
+ </q-item-section>
245
+ </q-item>
246
+ </template>
247
+ </q-expansion-item>
248
+
249
+ <q-item
250
+ v-else-if="ehFolha(group)"
251
+ :active="ativo(group.name)"
252
+ active-class="item-ativo"
253
+ clickable
254
+ class="drawer-item"
255
+ @click="aoClicarItem(group)"
256
+ >
257
+ <q-item-section class="content-header-itens">
258
+ <acai-ui-icon v-if="group.icon" :name="group.icon" />
259
+ <span>{{ group.label }}</span>
260
+ </q-item-section>
261
+ <q-item-section v-if="group.badge !== undefined" side>
262
+ <q-badge
263
+ :label="group.badge"
264
+ color="warning" text-color="dark"
265
+ role="status"
266
+ :aria-label="`${group.badge} notificações em ${group.label}`"
267
+ />
268
+ </q-item-section>
269
+ </q-item>
270
+ </template>
271
+ </q-list>
272
+ </q-scroll-area>
273
+ </transition>
274
+
275
+ <!-- Rodapé — também MONTADO UMA VEZ, igual ao topo. Chegou a sair na vista
276
+ de preferências; era o mesmo pisca do topo, só que embaixo.
277
+ Sem versão e sem slot ele não renderiza: um `border-top` sozinho
278
+ desenharia uma linha solta no pé do drawer. -->
279
+ <div v-if="version || $slots.footer" class="footer">
280
+ <!-- Slot `footer` deixa o consumidor (ex: template do CLI) prover o
281
+ próprio rodapé. Recebe `mini` pra encolher o conteúdo no trilho —
282
+ 72px não comportam o rodapé expandido. E `vista`, pela mesma razão
283
+ do `#brand`: quem decide o que muda aqui dentro é o consumidor. -->
284
+ <slot name="footer" :mini="miniAtivo" :vista="vista">
285
+ <div v-if="version" class="footer__versao">
286
+ <!-- No trilho sobra só o número: a assinatura não caberia em 72px, e
287
+ o número sozinho já é o que se procura ao conferir versão. -->
288
+ <span v-if="!miniAtivo" class="footer__versao-rotulo">
289
+ &copy; {{ anoAtual }} Açaí UI
290
+ </span>
291
+ <span class="footer__versao-numero">v{{ version }}</span>
292
+ </div>
293
+ </slot>
294
+ </div>
295
+ </div>
296
+ </component>
297
+
298
+ <!--
299
+ Handle de recolher/expandir — IRMÃO do q-drawer, não filho.
300
+ O `.q-drawer__content` é `overflow: hidden`, então qualquer elemento dentro
301
+ dele seria cortado na borda (nem `position: fixed` escapa: o `aside` tem
302
+ `transform`, e transform cria bloco de contenção pra descendentes fixos).
303
+ Como irmão, ele desliza livremente pra fora do drawer ao recolher.
304
+ O `left` é interpolado por CSS transition; o `top` acompanha o topo real do
305
+ drawer (que muda se o app tiver header).
306
+ -->
307
+ <button
308
+ v-if="collapsible && comportamento === 'desktop' && aberto"
309
+ type="button"
310
+ class="acai-drawer-handle"
311
+ :class="{ 'acai-drawer-handle--solto': miniAtivo }"
312
+ :style="estiloHandle"
313
+ :aria-label="miniAtivo ? 'Expandir menu' : 'Recolher menu'"
314
+ :aria-expanded="miniAtivo ? 'false' : 'true'"
315
+ @click="miniAtivo = !miniAtivo"
316
+ >
317
+ <acai-ui-icon :name="miniAtivo ? 'arrow_forward' : 'arrow_back'" size="18px" decorative />
318
+ <acai-ui-tooltip position="right">
319
+ {{ miniAtivo ? 'Expandir menu' : 'Recolher menu' }}
320
+ </acai-ui-tooltip>
321
+ </button>
322
+
323
+ </template>
324
+
325
+ <script setup lang="ts">
326
+ import {
327
+ computed,
328
+ nextTick,
329
+ onBeforeUnmount,
330
+ onMounted,
331
+ reactive,
332
+ ref,
333
+ useAttrs,
334
+ watch,
335
+ } from 'vue'
336
+ import { QDialog, QDrawer } from 'quasar'
337
+ import { useTela } from '../../hooks/use-tela'
338
+ import AcaiUiIcon from '../icon/acai-ui-icon.vue'
339
+ import AcaiUiPreferences from '../preferences/acai-ui-preferences.vue'
340
+ import AcaiUiTooltip from '../tooltip/acai-ui-tooltip.vue'
341
+ import type { MaterialIconValues } from '../../constants/lista-icons'
342
+ import type {
343
+ DrawerProps,
344
+ SidebarGroup,
345
+ SidebarLeaf,
346
+ SidebarRouteConfig,
347
+ } from './acai-ui-drawer-interface'
348
+ import { processarSidebar } from './drawer-sidebar-helper'
349
+
350
+ // O componente tem DOIS nós raiz (drawer + handle). Sem isto o Vue avisa que
351
+ // não sabe em qual deles aplicar os atributos herdados — repassamos ao drawer.
352
+ defineOptions({ inheritAttrs: false })
353
+
354
+ const attrs = useAttrs()
355
+
356
+ const props = withDefaults(defineProps<DrawerProps>(), {
357
+ version: '',
358
+ activeKey: '',
359
+ width: 320,
360
+ // 1024 = `$bp-md` de scss/_breakpoints.scss. Ver o porquê da troca (era 1080)
361
+ // no JSDoc da prop, em acai-ui-drawer-interface.ts.
362
+ breakpoint: 1024,
363
+ // 600 = `$bp-sm` de scss/_breakpoints.scss, o mesmo ponto do mixin
364
+ // `ate-mobile` e da classe `lt-sm` do Quasar. Assim um `@media` do app e a
365
+ // folha do menu viram na MESMA largura.
366
+ sheetBreakpoint: 600,
367
+ preferences: true,
368
+ miniWidth: 72,
369
+ collapsible: false,
370
+ })
371
+
372
+ const emit = defineEmits<{
373
+ /** Disparado quando o usuário clica em um item-folha do drawer.
374
+ * Itens com `href` são abertos em nova aba e NÃO disparam este evento. */
375
+ 'item-click': [item: SidebarLeaf]
376
+ }>()
377
+
378
+ const aberto = defineModel<boolean>({ default: false })
379
+ /**
380
+ * Trilho recolhido (`v-model:mini`). Não vale no mobile: lá o drawer é overlay
381
+ * sobre o conteúdo, e um trilho fixo de 72px comeria a tela.
382
+ */
383
+ const mini = defineModel<boolean>('mini', { default: false })
384
+
385
+ const { largura: larguraTela, medido, abaixoDe } = useTela()
386
+
387
+ /**
388
+ * Desktop (trilho fixo que empurra o conteúdo) ou mobile (gaveta sobreposta com
389
+ * backdrop)?
390
+ *
391
+ * 🔴 Isto era um `ref('desktop')` que NUNCA recebia atribuição — em nenhum
392
+ * commit da história do arquivo. Como o valor ia direto pro `:behavior` do
393
+ * QDrawer, e o Quasar faz
394
+ *
395
+ * behavior === 'mobile' || (behavior !== 'desktop' && totalWidth <= breakpoint)
396
+ *
397
+ * o `'desktop'` fixo curto-circuitava a comparação: o `:breakpoint` nunca era
398
+ * consultado, o drawer nunca virava overlay e num celular de 360px ele seguia
399
+ * como painel fixo de 320px empurrando o conteúdo — sobravam ~40px de página.
400
+ * Era a causa de "o layout quebra no celular" em todos os apps que consomem a
401
+ * lib, e nenhuma regra de CSS resolveria, porque o problema era o valor da prop.
402
+ *
403
+ * A decisão sai do `useTela` e não de `$q.screen` cru porque em SSR a largura é
404
+ * 0 até a hidratação terminar — ver o hook pro porquê e pro que se usa no lugar.
405
+ */
406
+ const estreito = abaixoDe(() => props.breakpoint)
407
+
408
+ const comportamento = computed<'desktop' | 'mobile'>(() =>
409
+ estreito.value ? 'mobile' : 'desktop',
410
+ )
411
+
412
+ /**
413
+ * Folha de tela cheia (sobe de baixo) em vez de gaveta lateral.
414
+ *
415
+ * Cuidado com o nome: `ehFolha` (sem o sufixo) é o type guard de item-folha da
416
+ * árvore do menu, coisa completamente diferente.
417
+ */
418
+ const ehFolhaMobile = abaixoDe(() => props.sheetBreakpoint)
419
+
420
+ /** Qual conteúdo a folha mostra. Só existe na folha. */
421
+ const vista = ref<'menu' | 'preferencias'>('menu')
422
+
423
+ /** Rótulo do atalho. Não é mais desenhado como título — o topo é fixo, e quem
424
+ * escreve "Preferências" ali é o slot `#brand`. Aqui serve ao `aria-label`. */
425
+ const tituloPreferencias = 'Preferências'
426
+
427
+ /**
428
+ * Direção da animação de troca: entrando nas preferências o conteúdo AVANÇA
429
+ * (novo entra pela direita), voltando pro menu ele VOLTA (novo entra pela
430
+ * esquerda). Sem a direção, ir e voltar dariam a mesma animação e o gesto
431
+ * perderia a noção de "estou entrando" vs "estou saindo".
432
+ */
433
+ const nomeTransicao = computed(() =>
434
+ vista.value === 'preferencias' ? 'acai-vista-avanca' : 'acai-vista-volta',
435
+ )
436
+
437
+ /**
438
+ * Ações da folha, alinhadas ao CENTRO da linha da marca — a mesma âncora medida
439
+ * que o handle e o botão de fechar usam. Ver `estiloFechar` pro porquê de medir
440
+ * (a altura dessa linha é conteúdo do consumidor) e por que isso não faz o
441
+ * botão saltar.
442
+ */
443
+ const ALTURA_ACAO = 44
444
+
445
+ const estiloAcoes = computed(() => ({
446
+ top: `${centroAncora.value - topoDrawer.value - ALTURA_ACAO / 2}px`,
447
+ }))
448
+
449
+ // Sair da folha (girar a tela, redimensionar) tem que voltar pro menu: a gaveta
450
+ // lateral não tem cabeçalho pra trocar de vista, então o usuário ficaria preso
451
+ // nas preferências sem botão de volta.
452
+ watch(ehFolhaMobile, (folha) => {
453
+ if (!folha) vista.value = 'menu'
454
+ })
455
+
456
+ // Fechar e reabrir sempre começa no menu — é o que se espera de um botão de
457
+ // menu. Sem isto, quem saísse com as preferências abertas reabriria nelas.
458
+ watch(aberto, (estaAberto) => {
459
+ if (!estaAberto) vista.value = 'menu'
460
+ })
461
+
462
+ /**
463
+ * A moldura. Ver o comentário no topo do template pro porquê de trocar só ela.
464
+ *
465
+ * `maximized` + `slide-up`/`slide-down` é o jeito documentado do Quasar de
466
+ * fazer folha de tela cheia vinda de baixo. O QDialog ainda entrega Esc pra
467
+ * fechar, trava de foco e bloqueio de scroll do fundo — tudo que teríamos de
468
+ * refazer à mão num `<div fixed>`.
469
+ */
470
+ const raiz = computed(() => (ehFolhaMobile.value ? QDialog : QDrawer))
471
+
472
+ const atributosRaiz = computed<Record<string, unknown>>(() => {
473
+ const modelo = {
474
+ modelValue: aberto.value,
475
+ 'onUpdate:modelValue': (v: boolean) => {
476
+ aberto.value = v
477
+ },
478
+ }
479
+
480
+ if (ehFolhaMobile.value) {
481
+ return {
482
+ ...modelo,
483
+ maximized: true,
484
+ transitionShow: 'slide-up',
485
+ transitionHide: 'slide-down',
486
+ class: 'acai-drawer-folha',
487
+ }
488
+ }
489
+
490
+ return {
491
+ ...modelo,
492
+ ...attrs,
493
+ showIfAbove: true,
494
+ bordered: true,
495
+ breakpoint: props.breakpoint,
496
+ width: larguraEfetiva.value,
497
+ mini: miniAtivo.value,
498
+ miniWidth: props.miniWidth,
499
+ behavior: comportamento.value,
500
+ overlay: comportamento.value === 'mobile',
501
+ }
502
+ })
503
+
504
+ const classesConteudo = computed(() => ({
505
+ 'drawer-container--mini': miniAtivo.value,
506
+ 'drawer-container--collapsible': props.collapsible,
507
+ 'drawer-container--mobile': comportamento.value === 'mobile' && !ehFolhaMobile.value,
508
+ 'drawer-container--folha': ehFolhaMobile.value,
509
+ // Sem o atalho de preferências sobra um botão só, e a quina reservada na
510
+ // marca encolhe junto.
511
+ 'drawer-container--folha-uma-acao': ehFolhaMobile.value && !props.preferences,
512
+ }))
513
+
514
+ /**
515
+ * No desktop vale a `width` que o consumidor pediu, sem discussão.
516
+ *
517
+ * No celular ela vira um TETO: o default de 320px numa tela de 360px deixaria
518
+ * 40px de backdrop — faixa fina demais pra acertar com o polegar, e a gaveta
519
+ * aberta viraria uma armadilha (só o botão de menu fecharia). Reservando 56px
520
+ * sobra alvo de toque confortável pra fechar tocando fora. O piso de 240px
521
+ * impede que numa tela muito estreita a gaveta encolha até ficar ilegível —
522
+ * aí é melhor o backdrop encolher do que o menu.
523
+ *
524
+ * Sem medição (SSR até hidratar) não há de onde tirar o teto: `larguraTela` é 0
525
+ * e a conta daria o piso de 240px pra QUALQUER aparelho. Aí vale a `width`
526
+ * pedida, e o teto entra junto com a primeira medição.
527
+ */
528
+ const larguraEfetiva = computed<number>(() =>
529
+ comportamento.value === 'mobile' && medido.value
530
+ ? Math.min(props.width, Math.max(larguraTela.value - 56, 240))
531
+ : props.width,
532
+ )
533
+
534
+ const miniAtivo = computed<boolean>({
535
+ get: () => mini.value && comportamento.value === 'desktop',
536
+ set: (v) => {
537
+ mini.value = v
538
+ },
539
+ })
540
+
541
+
542
+ const anoAtual = new Date().getFullYear()
543
+
544
+ const ehGrupo = (n: SidebarRouteConfig): n is SidebarGroup => 'children' in n
545
+ const ehFolha = (n: SidebarRouteConfig): n is SidebarLeaf => 'name' in n
546
+
547
+ function temHref(
548
+ no: SidebarRouteConfig,
549
+ ): no is SidebarRouteConfig & { href: string } {
550
+ return (
551
+ 'href' in no &&
552
+ typeof (no as { href?: unknown }).href === 'string' &&
553
+ (no as { href: string }).href.length > 0
554
+ )
555
+ }
556
+
557
+ const itensVisiveis = computed<SidebarRouteConfig[]>(() =>
558
+ processarSidebar(props.items),
559
+ )
560
+
561
+ /**
562
+ * Item está ativo? — comparado com a prop `activeKey` que o consumidor
563
+ * controla (geralmente `String(route.name)` no vue-router).
564
+ */
565
+ const ativo = (nome?: string): boolean =>
566
+ typeof nome === 'string' && nome.length > 0 && nome === props.activeKey
567
+
568
+ function temAtivo(no: SidebarRouteConfig): boolean {
569
+ if (temHref(no)) return false
570
+ if (ehFolha(no)) return ativo(no.name)
571
+ if (ehGrupo(no)) return no.children.some((child) => temAtivo(child))
572
+ return false
573
+ }
574
+
575
+ // Estado reativo das expansões
576
+ const expansaoAberta = reactive<Record<string, boolean>>({})
577
+
578
+ function abrirExpansoesDaRotaAtiva(): void {
579
+ for (const group of itensVisiveis.value) {
580
+ if (ehGrupo(group)) {
581
+ if (temAtivo(group)) {
582
+ expansaoAberta[group.expansionName] = true
583
+ for (const child of group.children) {
584
+ if (ehGrupo(child) && temAtivo(child)) {
585
+ expansaoAberta[child.expansionName] = true
586
+ }
587
+ }
588
+ }
589
+ }
590
+ }
591
+ }
592
+
593
+ // Abre expansões quando a rota ativa muda
594
+ watch(
595
+ () => props.activeKey,
596
+ () => {
597
+ abrirExpansoesDaRotaAtiva()
598
+ },
599
+ { immediate: true },
600
+ )
601
+
602
+ // =============================================================
603
+ // Handle de recolher/expandir
604
+ // =============================================================
605
+
606
+ const drawerRef = ref<{ $el?: unknown } | null>(null)
607
+
608
+ /**
609
+ * A coluna de conteúdo (`.drawer-container`), que existe igual nas duas
610
+ * molduras. É a referência de medida — ver `medirAncora`.
611
+ */
612
+ const conteudoRef = ref<HTMLElement | null>(null)
613
+
614
+ /** Altura do handle — usada pra converter "centro desejado" em `top`. */
615
+ const ALTURA_HANDLE = 32
616
+ /** Metade do handle + respiro até a borda interna do drawer. */
617
+ const RECUO_INTERNO = 46
618
+ const FOLGA_EXTERNA = 10
619
+ /** Fallback quando não há slot #brand: alinha com o primeiro item da lista. */
620
+ const CENTRO_PADRAO = 35
621
+
622
+ // O fechar usa EXATAMENTE a mesma geometria do handle (32px, mesmo recuo): os
623
+ // dois nunca aparecem juntos e pousam na mesma âncora, então compartilhar a
624
+ // medida é o que faz a troca parecer o mesmo botão mudando de função. O alvo de
625
+ // toque de 44px vem de uma camada invisível no CSS, sem inchar o desenho.
626
+
627
+ /**
628
+ * Centro vertical (na viewport) da linha em que o handle deve pousar.
629
+ * MEDIDO, não constante: o topo do drawer muda se o app tiver header, e a
630
+ * altura da marca depende inteiramente do que o consumidor põe no slot #brand.
631
+ */
632
+ const centroAncora = ref(CENTRO_PADRAO)
633
+
634
+ /**
635
+ * Topo do drawer na viewport. O handle é `position: fixed` e usa `centroAncora`
636
+ * cru; o botão de fechar é `absolute` DENTRO do drawer e precisa da mesma
637
+ * âncora convertida pra coordenada local — daí guardar o topo.
638
+ */
639
+ const topoDrawer = ref(0)
640
+
641
+ function medirAncora(): void {
642
+ // Mede a partir do CONTEÚDO, não da moldura.
643
+ //
644
+ // 🔴 Na folha a moldura é um QDialog, que teleporta o conteúdo pro body: o
645
+ // `$el` dele não contém `.drawer-brand`, então o `querySelector` abaixo dava
646
+ // vazio e a âncora caía no CENTRO_PADRAO. Isso passou despercebido porque no
647
+ // menu o padrão de 35px bate por coincidência com o centro da linha da logo;
648
+ // só ao trocar pro título "Preferências" (24px de altura, centro em 30) o
649
+ // erro apareceu — 5px de desvio, medidos no navegador.
650
+ //
651
+ // O `.drawer-container` preenche a moldura nos dois modos, então usar o topo
652
+ // dele em vez do topo do drawer não muda nada pro handle do desktop.
653
+ const el = conteudoRef.value
654
+ if (!(el instanceof HTMLElement)) return
655
+
656
+ const topo = el.getBoundingClientRect().top
657
+ topoDrawer.value = topo
658
+ const marca = el.querySelector('.drawer-brand')
659
+
660
+ if (!(marca instanceof HTMLElement)) {
661
+ centroAncora.value = topo + CENTRO_PADRAO
662
+ return
663
+ }
664
+
665
+ // Ancora na PRIMEIRA LINHA do slot #brand — a mesma que cede espaço à direita
666
+ // pro handle. Usar o centro do `.drawer-brand` inteiro só funciona enquanto o
667
+ // slot tem uma linha só: assim que o consumidor empilha algo embaixo (um campo
668
+ // de busca, por exemplo), o centro desce e o botão descola da logo.
669
+ const primeiraLinha = marca.firstElementChild
670
+ if (primeiraLinha instanceof HTMLElement) {
671
+ const r = primeiraLinha.getBoundingClientRect()
672
+ centroAncora.value = r.top + r.height / 2
673
+ return
674
+ }
675
+
676
+ // Slot vazio: cai no centro da caixa de conteúdo da marca (descontando o
677
+ // padding, que raramente é simétrico).
678
+ const r = marca.getBoundingClientRect()
679
+ const cs = getComputedStyle(marca)
680
+ const padTopo = Number.parseFloat(cs.paddingTop) || 0
681
+ const padBase = Number.parseFloat(cs.paddingBottom) || 0
682
+ centroAncora.value = r.top + padTopo + (r.height - padTopo - padBase) / 2
683
+ }
684
+
685
+ const estiloHandle = computed(() => ({
686
+ // `top` posiciona a BORDA, então desconta metade da altura pra o CENTRO do
687
+ // handle bater com o centro da marca.
688
+ top: `${centroAncora.value - ALTURA_HANDLE / 2}px`,
689
+ // Recolhido: para FORA do trilho. Expandido: encostado na borda interna, na
690
+ // mesma linha da marca (ao lado do que o consumidor puser no slot #brand).
691
+ left: miniAtivo.value
692
+ ? `${props.miniWidth + FOLGA_EXTERNA}px`
693
+ : `${props.width - RECUO_INTERNO}px`,
694
+ }))
695
+
696
+ /**
697
+ * `top` do botão de fechar, RELATIVO ao drawer (ele é filho absoluto de dentro).
698
+ *
699
+ * Por que medir, se ele mora dentro: a altura da primeira linha da marca é
700
+ * conteúdo do consumidor — logo + duas linhas de texto dão 42px aqui, mas outro
701
+ * app pode pôr só um ícone. Um `top` cravado no CSS acerta um caso e erra os
702
+ * outros; medido, o X sempre nasce no centro exato da linha da marca, alinhado
703
+ * com o que o consumidor puser ali ao lado.
704
+ *
705
+ * E medir aqui NÃO reintroduz o "teletransporte" que você viu: aquilo era
706
+ * consequência de ele ser irmão `position: fixed`, que aparecia pronto no
707
+ * destino enquanto a gaveta ainda estava deslizando. Agora ele é parte da
708
+ * gaveta — entra junto com ela — e qualquer ajuste de medida acontece com o
709
+ * drawer ainda fora da tela.
710
+ *
711
+ * `right` fica no CSS: 18px, o mesmo padding lateral da marca, pra a borda
712
+ * direita do botão bater com a do conteúdo (campo de busca, itens da lista).
713
+ */
714
+ const estiloFechar = computed(() => ({
715
+ top: `${centroAncora.value - topoDrawer.value - ALTURA_HANDLE / 2}px`,
716
+ }))
717
+
718
+ onMounted(() => {
719
+ medirAncora()
720
+ window.addEventListener('resize', medirAncora)
721
+ })
722
+
723
+ onBeforeUnmount(() => {
724
+ window.removeEventListener('resize', medirAncora)
725
+ })
726
+
727
+ // `vista` volta pra cá: o topo não é mais trocado por uma `<transition>`, mas o
728
+ // CONTEÚDO dele pode mudar de altura (na docs, duas linhas de marca viram uma de
729
+ // "Preferências"). Sem remedir, as ações ficariam ancoradas na altura anterior.
730
+ // Um tick basta agora — sem `mode="out-in"` no caminho, o DOM já está no lugar.
731
+ watch([miniAtivo, aberto, vista], () => {
732
+ void nextTick(medirAncora)
733
+ })
734
+
735
+ // =============================================================
736
+ // Trilho mini
737
+ // =============================================================
738
+
739
+ /** Ícone do nó no trilho. Folha usa `icon`; grupo usa `iconExpansion`. */
740
+ function iconeDe(no: SidebarRouteConfig): MaterialIconValues {
741
+ const icone = ehGrupo(no) ? no.iconExpansion : no.icon
742
+ // Sem ícone o item viraria um quadrado vazio e não-clicável aos olhos —
743
+ // melhor um marcador genérico do que um buraco no trilho.
744
+ return icone ?? 'label'
745
+ }
746
+
747
+ function rotuloDe(no: SidebarRouteConfig): string {
748
+ return ehGrupo(no) ? (no.label ?? no.expansionName) : no.label
749
+ }
750
+
751
+ /**
752
+ * Clique no trilho: folha navega direto; grupo não tem como abrir dentro de
753
+ * 72px, então reexpande o drawer já com aquele grupo aberto.
754
+ */
755
+ function aoClicarMini(no: SidebarRouteConfig): void {
756
+ if (ehGrupo(no)) {
757
+ expansaoAberta[no.expansionName] = true
758
+ miniAtivo.value = false
759
+ return
760
+ }
761
+ aoClicarItem(no)
762
+ }
763
+
764
+ function ehUrlAbsoluta(url: string): boolean {
765
+ return /^https?:\/\//i.test(url)
766
+ }
767
+
768
+ function construirUrl(no: { href: string }): string {
769
+ return ehUrlAbsoluta(no.href)
770
+ ? no.href
771
+ : no.href.startsWith('/')
772
+ ? no.href
773
+ : `/${no.href}`
774
+ }
775
+
776
+ function aoClicarItem(no: SidebarRouteConfig): void {
777
+ // href tem precedência: lib lida sozinha (abre em nova aba)
778
+ if (temHref(no)) {
779
+ const url = construirUrl(no)
780
+ window.open(url, '_blank', 'noopener')
781
+ return
782
+ }
783
+ // folha sem href: delega a navegação pro consumidor
784
+ if (ehFolha(no)) {
785
+ emit('item-click', no)
786
+ }
787
+ }
788
+
789
+ function chaveGrupo(n: SidebarRouteConfig): string {
790
+ return ehGrupo(n)
791
+ ? `g:${n.expansionName}`
792
+ : `f:${(n as SidebarLeaf).name ?? n.label}`
793
+ }
794
+
795
+ function chaveFilho(n: SidebarRouteConfig): string {
796
+ return ehGrupo(n)
797
+ ? `g:${n.expansionName}`
798
+ : `f:${(n as SidebarLeaf).name ?? n.label}`
799
+ }
800
+ </script>
801
+
802
+ <style lang="scss" src="./acai-ui-drawer-styles.scss" />