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,818 @@
1
+ // Plano de desenho — transforma dados + caixa em coordenadas prontas.
2
+ //
3
+ // Tudo que é ARITMÉTICA do gráfico mora aqui, e o `.vue` só percorre listas e
4
+ // pinta. Ganho concreto: dá pra testar "a barra do valor 0 encosta no eixo",
5
+ // "o rótulo do tick está no y certo", "a linha pula o buraco" sem montar
6
+ // componente nem medir DOM.
7
+
8
+ import {
9
+ caixaDoArco,
10
+ caminhoArco,
11
+ caminhoArea,
12
+ caminhoBarra,
13
+ caminhoLinha,
14
+ caminhoMarcador,
15
+ caminhoSetor,
16
+ fatiasPizza,
17
+ pontoNoArco,
18
+ type MarcadorSerie,
19
+ type Ponto,
20
+ } from './chart-caminhos'
21
+ import { corQuasarParaToken, dominioDeSeries, empilhar, resolverCor } from './chart-dados'
22
+ import { escalaBanda, escalaLinear, escalaSubBanda } from './chart-escalas'
23
+ import {
24
+ LARGURA_COMPACTA,
25
+ calcularLayout,
26
+ type AreaPlotagem,
27
+ type RotacaoRotulo,
28
+ } from './chart-layout'
29
+ import { quebrarRotulo } from './chart-rotulos'
30
+ import { dominioBonito } from './chart-ticks'
31
+ import type {
32
+ ChartColorBy,
33
+ ChartThreshold,
34
+ DadosNormalizados,
35
+ } from './acai-ui-chart-interface'
36
+
37
+ export interface TickPlano {
38
+ valor: number
39
+ /** Coordenada no eixo de valor (y em vertical, x em horizontal). */
40
+ posicao: number
41
+ rotulo: string
42
+ }
43
+
44
+ export interface CategoriaPlano {
45
+ rotulo: string
46
+ /** Já quebrado em linhas — em SVG cada uma vira um `<tspan>`. */
47
+ linhas: string[]
48
+ centro: number
49
+ inicio: number
50
+ largura: number
51
+ }
52
+
53
+ export interface BarraPlano {
54
+ chave: string
55
+ indiceSerie: number
56
+ indicePonto: number
57
+ d: string
58
+ cor: string
59
+ fantasma: boolean
60
+ /** Posição do rótulo direto de valor, quando ligado. */
61
+ rotulo: string
62
+ rotuloX: number
63
+ rotuloY: number
64
+ }
65
+
66
+ export interface LinhaPlano {
67
+ chave: string
68
+ indiceSerie: number
69
+ d: string
70
+ dArea: string
71
+ cor: string
72
+ tracejada: boolean
73
+ marcadores: Array<{ d: string; indicePonto: number }>
74
+ marcador: MarcadorSerie
75
+ }
76
+
77
+ export interface PlanoCartesiano {
78
+ area: AreaPlotagem
79
+ horizontal: boolean
80
+ rotacao: RotacaoRotulo
81
+ compacto: boolean
82
+ ticks: TickPlano[]
83
+ categorias: CategoriaPlano[]
84
+ barras: BarraPlano[]
85
+ linhas: LinhaPlano[]
86
+ /** Coordenada da linha do zero, quando ela cai dentro da área. */
87
+ zero: number | null
88
+ }
89
+
90
+ // ── pizza / rosca ──────────────────────────────────────────────────────────
91
+
92
+ export interface FatiaPlano {
93
+ chave: string
94
+ indicePonto: number
95
+ d: string
96
+ cor: string
97
+ rotulo: string
98
+ valor: number
99
+ percentual: string
100
+ /** Valor absoluto já formatado. Percentual sozinho esconde a grandeza. */
101
+ valorFormatado: string
102
+ /** Ângulos crus — o hit-test do cursor em pizza é ANGULAR, não por distância. */
103
+ anguloInicioBruto: number
104
+ anguloFimBruto: number
105
+ /** Rótulo cabe DENTRO da fatia; senão vai pra fora com linha-guia. */
106
+ dentro: boolean
107
+ rotuloX: number
108
+ rotuloY: number
109
+ ancora: 'start' | 'middle' | 'end'
110
+ /** Traço ligando a fatia ao rótulo externo. Vazio quando o rótulo é interno. */
111
+ linhaGuia: string
112
+ }
113
+
114
+ export interface PlanoPizza {
115
+ cx: number
116
+ cy: number
117
+ raioExterno: number
118
+ raioInterno: number
119
+ fatias: FatiaPlano[]
120
+ compacto: boolean
121
+ }
122
+
123
+ export interface EntradaPizza {
124
+ dados: DadosNormalizados
125
+ largura: number
126
+ altura: number
127
+ formatar: (valor: number) => string
128
+ /** 0 = pizza; 0..0.95 = fração do raio virando furo. */
129
+ raioInterno?: number
130
+ colorBy?: ChartColorBy
131
+ thresholds?: readonly ChartThreshold[]
132
+ tamanhoFontePx?: number
133
+ }
134
+
135
+ /** Abaixo disso o rótulo não cabe dentro da fatia e vai pra fora. */
136
+ const FRACAO_ROTULO_INTERNO = 0.12
137
+ /** Espaço reservado nas laterais pros rótulos externos. */
138
+ const MARGEM_ROTULO = 86
139
+
140
+ /**
141
+ * Monta a pizza/rosca.
142
+ *
143
+ * O rótulo direto NÃO é enfeite: a medição da paleta mostrou que, entre TODOS
144
+ * os pares (e em pizza toda fatia toca todas), só 2 a 4 cores se separam
145
+ * dependendo do modo. Sem o rótulo na fatia, boa parte dos usuários não
146
+ * consegue ler o gráfico — por isso ele é calculado aqui, não opcional.
147
+ */
148
+ export function montarPlanoPizza(entrada: EntradaPizza): PlanoPizza {
149
+ const {
150
+ dados,
151
+ largura,
152
+ altura,
153
+ formatar,
154
+ raioInterno = 0,
155
+ colorBy = 'series',
156
+ thresholds = [],
157
+ } = entrada
158
+
159
+ const compacto = largura < LARGURA_COMPACTA
160
+ const serie = dados.series.find((s) => !s.oculta)
161
+
162
+ const cx = largura / 2
163
+ const cy = altura / 2
164
+ // O raio desconta a margem dos rótulos externos; sem isso o texto sai da
165
+ // caixa e é cortado pelo container.
166
+ const margem = compacto ? 44 : MARGEM_ROTULO
167
+ const raioExterno = Math.max(
168
+ 0,
169
+ Math.min(largura / 2 - margem, altura / 2 - 16),
170
+ )
171
+ const ri = Math.max(0, Math.min(0.95, raioInterno)) * raioExterno
172
+
173
+ if (!serie || raioExterno <= 0) {
174
+ return { cx, cy, raioExterno: 0, raioInterno: 0, fatias: [], compacto }
175
+ }
176
+
177
+ const valores = serie.pontos.map((p) => (p.valor === null ? 0 : p.valor))
178
+ const fatiasBase = fatiasPizza(valores, { espacoGraus: valores.length > 1 ? 1 : 0 })
179
+
180
+ const fatias: FatiaPlano[] = []
181
+ fatiasBase.forEach((fatia) => {
182
+ if (fatia.valor <= 0) return
183
+ const ponto = serie.pontos[fatia.indice]
184
+ if (!ponto) return
185
+
186
+ const meio = (fatia.anguloInicio + fatia.anguloFim) / 2
187
+ const dentro = fatia.fracao >= FRACAO_ROTULO_INTERNO && !compacto
188
+ const percentual = `${(fatia.fracao * 100).toFixed(fatia.fracao < 0.1 ? 1 : 0).replace('.', ',')}%`
189
+
190
+ let rotuloX: number
191
+ let rotuloY: number
192
+ let ancora: FatiaPlano['ancora'] = 'middle'
193
+ let linhaGuia = ''
194
+
195
+ if (dentro) {
196
+ const raioTexto = ri > 0 ? (raioExterno + ri) / 2 : raioExterno * 0.62
197
+ const p = pontoNoArco(cx, cy, raioTexto, meio)
198
+ rotuloX = p.x
199
+ rotuloY = p.y
200
+ } else {
201
+ const aDireita = Math.cos((meio * Math.PI) / 180) >= 0
202
+ const dobra = pontoNoArco(cx, cy, raioExterno + 10, meio)
203
+ const fim = { x: aDireita ? dobra.x + 14 : dobra.x - 14, y: dobra.y }
204
+ const inicio = pontoNoArco(cx, cy, raioExterno, meio)
205
+ linhaGuia = `M ${inicio.x.toFixed(2)} ${inicio.y.toFixed(2)} L ${dobra.x.toFixed(2)} ${dobra.y.toFixed(2)} L ${fim.x.toFixed(2)} ${fim.y.toFixed(2)}`
206
+ rotuloX = aDireita ? fim.x + 4 : fim.x - 4
207
+ rotuloY = fim.y
208
+ ancora = aDireita ? 'start' : 'end'
209
+ }
210
+
211
+ fatias.push({
212
+ chave: `f-${fatia.indice}`,
213
+ indicePonto: fatia.indice,
214
+ d: caminhoSetor(cx, cy, raioExterno, ri, fatia.anguloInicio, fatia.anguloFim),
215
+ cor: resolverCor(ponto, serie, colorBy, thresholds),
216
+ rotulo: ponto.rotulo,
217
+ valor: fatia.valor,
218
+ percentual,
219
+ valorFormatado: formatar(fatia.valor),
220
+ anguloInicioBruto: fatia.anguloInicio,
221
+ anguloFimBruto: fatia.anguloFim,
222
+ dentro,
223
+ rotuloX,
224
+ rotuloY,
225
+ ancora,
226
+ linhaGuia,
227
+ })
228
+ })
229
+
230
+ return { cx, cy, raioExterno, raioInterno: ri, fatias, compacto }
231
+ }
232
+
233
+ // ── medidor (gauge) ────────────────────────────────────────────────────────
234
+
235
+ export interface FaixaGaugePlano {
236
+ chave: string
237
+ d: string
238
+ cor: string
239
+ }
240
+
241
+ export interface PlanoGauge {
242
+ cx: number
243
+ cy: number
244
+ raio: number
245
+ espessura: number
246
+ /** Arco de fundo — a escala inteira. */
247
+ dTrilho: string
248
+ /** Arco preenchido até o valor. Vazio quando não há valor. */
249
+ dProgresso: string
250
+ /** Trilho fatiado pelas faixas de `thresholds` (só com `bands`). */
251
+ faixas: FaixaGaugePlano[]
252
+ /** Agulha + eixo. Vazios quando `pointer` está desligado. */
253
+ dPonteiro: string
254
+ dEixoPonteiro: string
255
+ /**
256
+ * Traço radial cruzando o arco na posição do valor. Só com `bands` e sem
257
+ * agulha: ali o progresso é fino e da cor da faixa, e sobre um trilho já
258
+ * colorido o olho não acha onde ele termina.
259
+ */
260
+ dMarcadorValor: string
261
+ cor: string
262
+ valor: number | null
263
+ valorFormatado: string
264
+ /** Posição do valor no domínio, 0..1 — já com clamp. */
265
+ fracao: number
266
+ /** Rótulos das pontas da escala. */
267
+ minFormatado: string
268
+ maxFormatado: string
269
+ minX: number
270
+ maxX: number
271
+ rotulosY: number
272
+ /**
273
+ * Se vale desenhar os rótulos das pontas. Em volta completa as duas pontas
274
+ * caem no MESMO ponto: os dois rótulos se empilham um sobre o outro e ainda por
275
+ * cima do arco.
276
+ */
277
+ mostrarEscala: boolean
278
+ /** Âncora do número central (linha de base) e da legenda logo abaixo. */
279
+ textoX: number
280
+ textoY: number
281
+ legendaY: number
282
+ legenda: string
283
+ compacto: boolean
284
+ }
285
+
286
+ export interface EntradaGauge {
287
+ dados: DadosNormalizados
288
+ largura: number
289
+ altura: number
290
+ formatar: (valor: number) => string
291
+ min?: number
292
+ max?: number
293
+ anguloInicio?: number
294
+ anguloFim?: number
295
+ espessura?: number
296
+ ponteiro?: boolean
297
+ bandas?: boolean
298
+ legenda?: string
299
+ colorBy?: ChartColorBy
300
+ thresholds?: readonly ChartThreshold[]
301
+ }
302
+
303
+ /**
304
+ * Converte o ângulo polar do consumidor (0° à direita, crescendo no
305
+ * ANTI-horário, como no echarts) pro sistema do SVG, onde o y cresce pra baixo
306
+ * e o `pontoNoArco` cresce no horário. É só a inversão de sinal, mas explicitar
307
+ * evita a confusão que faria o medidor nascer de cabeça pra baixo.
308
+ */
309
+ function paraAnguloSvg(anguloPolar: number): number {
310
+ return -anguloPolar
311
+ }
312
+
313
+ /** Respiro pros rótulos de mínimo/máximo nas pontas do arco. */
314
+ const FOLGA_GAUGE = 10
315
+
316
+ /**
317
+ * Altura reservada pro número quando ele sai do centro.
318
+ *
319
+ * Casa com o `font-size: 1.75rem` do `chart-gauge.vue` (28px) mais um fio de
320
+ * folga. Se aquele tamanho mudar, este número muda junto — é a duplicata
321
+ * inevitável entre o SCSS e a aritmética do layout, igual à dos breakpoints.
322
+ */
323
+ const ALTURA_VALOR_GAUGE = 30
324
+
325
+ /** Altura da legenda miúda sob o número. */
326
+ const ALTURA_LEGENDA_GAUGE = 16
327
+
328
+ /**
329
+ * Monta o medidor.
330
+ *
331
+ * O número vai DENTRO do SVG, e não num overlay HTML por cima: overlay não entra
332
+ * no export de imagem, e o medidor sem o número exportado viraria um arco
333
+ * colorido sem informação nenhuma no PDF.
334
+ */
335
+ export function montarPlanoGauge(entrada: EntradaGauge): PlanoGauge {
336
+ const {
337
+ dados,
338
+ largura,
339
+ altura,
340
+ formatar,
341
+ min = 0,
342
+ max = 100,
343
+ anguloInicio = 180,
344
+ anguloFim = 0,
345
+ espessura = 14,
346
+ ponteiro = false,
347
+ bandas = false,
348
+ legenda = '',
349
+ colorBy = 'series',
350
+ thresholds = [],
351
+ } = entrada
352
+
353
+ const compacto = largura < LARGURA_COMPACTA
354
+
355
+ // Sem par ordenado não há escala: min == max dividiria por zero e o arco
356
+ // ficaria preso em 0% (ou em NaN, que não desenha e não avisa).
357
+ const baixo = Math.min(min, max)
358
+ const alto = Math.max(min, max)
359
+ const amplitude = alto - baixo
360
+
361
+ const serie = dados.series.find((s) => !s.oculta)
362
+ const ponto = serie?.pontos.find((p) => p.valor !== null) ?? serie?.pontos[0]
363
+ const valor = ponto?.valor ?? null
364
+
365
+ const fracao =
366
+ valor === null || amplitude <= 0 ? 0 : clamp((valor - baixo) / amplitude, 0, 1)
367
+
368
+ // Varredura no sentido do desenho. Ângulos iguais (ou invertidos) viram uma
369
+ // volta completa em vez de um arco de zero grau que não apareceria.
370
+ const svgInicio = paraAnguloSvg(anguloInicio)
371
+ const svgFimBruto = paraAnguloSvg(anguloFim)
372
+ const svgFim = svgFimBruto > svgInicio ? svgFimBruto : svgInicio + 360
373
+
374
+ const caixa = caixaDoArco(svgInicio, svgFim)
375
+ const larguraCaixa = Math.max(0.0001, caixa.maxX - caixa.minX)
376
+ const alturaCaixa = Math.max(0.0001, caixa.maxY - caixa.minY)
377
+
378
+ // A borda do traço avança meia espessura pra fora do raio, e o rótulo da ponta
379
+ // pede mais um pouco — descontar isso é o que impede o arco de ser cortado.
380
+ const margem = espessura / 2 + FOLGA_GAUGE + (compacto ? 8 : 14)
381
+
382
+ // 🔴 Com agulha o número NÃO pode ficar no centro: é exatamente por ali que a
383
+ // agulha e o eixo passam, e o traço corta o algarismo. Então ele desce pra
384
+ // baixo do arco — e o espaço tem que ser reservado ANTES de calcular o raio,
385
+ // senão o arco cresce até a borda e o número fica sem lugar (ou cortado no
386
+ // export, onde o `overflow: visible` do SVG não vale).
387
+ const reservaTexto = ponteiro
388
+ ? ALTURA_VALOR_GAUGE + (legenda ? ALTURA_LEGENDA_GAUGE : 0)
389
+ : 0
390
+
391
+ const dispX = Math.max(0, largura - margem * 2)
392
+ const dispY = Math.max(0, altura - margem * 2 - reservaTexto)
393
+ const raio = Math.max(0, Math.min(dispX / larguraCaixa, dispY / alturaCaixa))
394
+
395
+ // Centraliza a CAIXA DO ARCO na área, não o círculo: num semicírculo os dois
396
+ // não coincidem, e usar o círculo deixaria o desenho colado no topo.
397
+ const cx = margem + (dispX - larguraCaixa * raio) / 2 - caixa.minX * raio
398
+ const cy = margem + (dispY - alturaCaixa * raio) / 2 - caixa.minY * raio
399
+
400
+ const anguloDoValor = svgInicio + (svgFim - svgInicio) * fracao
401
+
402
+ const faixas: FaixaGaugePlano[] = []
403
+ if (bandas && thresholds.length > 0 && amplitude > 0) {
404
+ const ordenadas = [...thresholds].sort((a, b) => a.upTo - b.upTo)
405
+ let cursorFracao = 0
406
+ ordenadas.forEach((faixa, i) => {
407
+ const ate = clamp((faixa.upTo - baixo) / amplitude, 0, 1)
408
+ if (ate <= cursorFracao) return
409
+ faixas.push({
410
+ chave: `fx-${i}`,
411
+ d: caminhoArco(
412
+ cx,
413
+ cy,
414
+ raio,
415
+ svgInicio + (svgFim - svgInicio) * cursorFracao,
416
+ svgInicio + (svgFim - svgInicio) * ate,
417
+ ),
418
+ cor: corQuasarParaToken(faixa.color),
419
+ })
420
+ cursorFracao = ate
421
+ })
422
+ }
423
+
424
+ const dPonteiro = ponteiro ? caminhoPonteiro(cx, cy, raio, espessura, anguloDoValor) : ''
425
+
426
+ /** Y do ponto mais baixo que o arco alcança — onde o número assenta com agulha. */
427
+ const baseDoDesenho = cy + caixa.maxY * raio + espessura / 2
428
+
429
+ const marcarValor = faixas.length > 0 && !ponteiro && valor !== null
430
+ const dMarcadorValor = marcarValor
431
+ ? caminhoMarcadorRadial(cx, cy, raio, espessura, anguloDoValor)
432
+ : ''
433
+
434
+ return {
435
+ cx,
436
+ cy,
437
+ raio,
438
+ espessura,
439
+ dTrilho: caminhoArco(cx, cy, raio, svgInicio, svgFim),
440
+ dProgresso: valor === null ? '' : caminhoArco(cx, cy, raio, svgInicio, anguloDoValor),
441
+ faixas,
442
+ dPonteiro,
443
+ dEixoPonteiro: ponteiro ? caminhoMarcador('circle', cx, cy, espessura * 0.9) : '',
444
+ dMarcadorValor,
445
+ cor: ponto && serie ? resolverCor(ponto, serie, colorBy, thresholds) : 'var(--acai-chart-1)',
446
+ valor,
447
+ valorFormatado: valor === null ? '—' : formatar(valor),
448
+ fracao,
449
+ minFormatado: formatar(baixo),
450
+ maxFormatado: formatar(alto),
451
+ minX: pontoNoArco(cx, cy, raio, svgInicio).x,
452
+ maxX: pontoNoArco(cx, cy, raio, svgFim).x,
453
+ rotulosY: pontoNoArco(cx, cy, raio, svgInicio).y + espessura / 2 + 14,
454
+ mostrarEscala: !compacto && svgFim - svgInicio < 350,
455
+ textoX: cx,
456
+ // Sem agulha: linha de base um pouco ACIMA do centro. Num semicírculo o `cy`
457
+ // é a borda de baixo da caixa, e assentar o número exatamente nela o
458
+ // empurraria pra fora no export (o canvas corta o que o `overflow: visible`
459
+ // do SVG deixa passar na tela).
460
+ // Com agulha: abaixo do ponto mais baixo do desenho, no espaço reservado.
461
+ textoY: ponteiro ? baseDoDesenho + ALTURA_VALOR_GAUGE : cy - 6,
462
+ legendaY: ponteiro
463
+ ? baseDoDesenho + ALTURA_VALOR_GAUGE + ALTURA_LEGENDA_GAUGE
464
+ : cy + 12,
465
+ legenda,
466
+ compacto,
467
+ }
468
+ }
469
+
470
+ /**
471
+ * Agulha em forma de gota: larga no eixo, fina na ponta. Um retângulo fino ficaria
472
+ * ambíguo sobre qual extremidade aponta o valor.
473
+ */
474
+ function caminhoPonteiro(
475
+ cx: number,
476
+ cy: number,
477
+ raio: number,
478
+ espessura: number,
479
+ anguloSvg: number,
480
+ ): string {
481
+ const comprimento = Math.max(0, raio - espessura)
482
+ if (comprimento <= 0) return ''
483
+ const meiaBase = Math.max(2, espessura * 0.28)
484
+
485
+ const ponta = pontoNoArco(cx, cy, comprimento, anguloSvg)
486
+ const esquerda = pontoNoArco(cx, cy, meiaBase, anguloSvg - 90)
487
+ const direita = pontoNoArco(cx, cy, meiaBase, anguloSvg + 90)
488
+ const cauda = pontoNoArco(cx, cy, meiaBase * 1.4, anguloSvg + 180)
489
+
490
+ const f = (valor: number): string => Number(valor.toFixed(2)).toString()
491
+ return (
492
+ `M ${f(ponta.x)} ${f(ponta.y)} L ${f(esquerda.x)} ${f(esquerda.y)}` +
493
+ ` L ${f(cauda.x)} ${f(cauda.y)} L ${f(direita.x)} ${f(direita.y)} Z`
494
+ )
495
+ }
496
+
497
+ /** Traço radial atravessando a espessura do arco, com uma sobra de cada lado. */
498
+ function caminhoMarcadorRadial(
499
+ cx: number,
500
+ cy: number,
501
+ raio: number,
502
+ espessura: number,
503
+ anguloSvg: number,
504
+ ): string {
505
+ const sobra = espessura * 0.35
506
+ const dentro = pontoNoArco(cx, cy, Math.max(0, raio - espessura / 2 - sobra), anguloSvg)
507
+ const fora = pontoNoArco(cx, cy, raio + espessura / 2 + sobra, anguloSvg)
508
+ const f = (valor: number): string => Number(valor.toFixed(2)).toString()
509
+ return `M ${f(dentro.x)} ${f(dentro.y)} L ${f(fora.x)} ${f(fora.y)}`
510
+ }
511
+
512
+ export interface EntradaPlano {
513
+ dados: DadosNormalizados
514
+ largura: number
515
+ altura: number
516
+ formatar: (valor: number) => string
517
+ horizontal?: boolean
518
+ empilhado?: boolean
519
+ percentual?: boolean
520
+ curva?: 'linear' | 'smooth'
521
+ incluirZero?: boolean
522
+ min?: number | undefined
523
+ max?: number | undefined
524
+ ticksAlvo?: number
525
+ colorBy?: ChartColorBy
526
+ thresholds?: readonly ChartThreshold[]
527
+ mostrarValores?: boolean
528
+ temTitulo?: boolean
529
+ temLegenda?: boolean
530
+ posicaoLegenda?: 'bottom' | 'right'
531
+ tamanhoFontePx?: number
532
+ /** Raio da ponta da barra. 0 desliga. */
533
+ raioBarra?: number
534
+ }
535
+
536
+ /** Barra de valor exatamente 0 vira um traço: some, e "zero" viraria "sem dado". */
537
+ const ALTURA_MINIMA_BARRA = 2
538
+
539
+ export function montarPlanoCartesiano(entrada: EntradaPlano): PlanoCartesiano {
540
+ const {
541
+ dados,
542
+ largura,
543
+ altura,
544
+ formatar,
545
+ horizontal = false,
546
+ empilhado = false,
547
+ percentual = false,
548
+ curva = 'linear',
549
+ colorBy = 'series',
550
+ thresholds = [],
551
+ tamanhoFontePx = 12,
552
+ raioBarra = 3,
553
+ } = entrada
554
+
555
+ const visiveis = dados.series.filter((s) => !s.oculta)
556
+ const temBarra = visiveis.some((s) => s.tipo === 'bar')
557
+
558
+ // Domínio: barra inclui zero por padrão (a área codifica grandeza, cortar a
559
+ // base infla a diferença); linha não (codifica variação).
560
+ const incluirZero = entrada.incluirZero ?? temBarra
561
+
562
+ const [dominioMin, dominioMax] = calcularDominio(dados, {
563
+ empilhado,
564
+ percentual,
565
+ incluirZero,
566
+ min: entrada.min,
567
+ max: entrada.max,
568
+ })
569
+
570
+ const bonito = dominioBonito(dominioMin, dominioMax, {
571
+ alvo: entrada.ticksAlvo ?? 5,
572
+ incluirZero,
573
+ })
574
+
575
+ const rotulosValor = bonito.ticks.map(formatar)
576
+
577
+ const layout = calcularLayout({
578
+ largura,
579
+ altura,
580
+ rotulosCategoria: dados.rotulos,
581
+ rotulosValor: horizontal ? [] : rotulosValor,
582
+ horizontal,
583
+ temTitulo: entrada.temTitulo === true,
584
+ temLegenda: entrada.temLegenda === true,
585
+ ...(entrada.posicaoLegenda ? { posicaoLegenda: entrada.posicaoLegenda } : {}),
586
+ tamanhoFontePx,
587
+ })
588
+
589
+ const { area } = layout
590
+ // Em modo compacto o eixo ganha menos ticks — 5 rótulos num celular viram
591
+ // um borrão.
592
+ const ticksUsados = layout.compacto && bonito.ticks.length > 4
593
+ ? bonito.ticks.filter((_, i) => i % 2 === 0)
594
+ : bonito.ticks
595
+
596
+ // Eixo de valor: em vertical o y CRESCE pra baixo, então a faixa inverte.
597
+ const escalaValor = horizontal
598
+ ? escalaLinear([bonito.min, bonito.max], [area.x, area.x + area.largura])
599
+ : escalaLinear([bonito.min, bonito.max], [area.y + area.altura, area.y])
600
+
601
+ const escalaCategoria = horizontal
602
+ ? escalaBanda(dados.rotulos.length, [area.y, area.y + area.altura])
603
+ : escalaBanda(dados.rotulos.length, [area.x, area.x + area.largura])
604
+
605
+ const ticks: TickPlano[] = ticksUsados.map((valor) => ({
606
+ valor,
607
+ posicao: escalaValor(valor),
608
+ rotulo: formatar(valor),
609
+ }))
610
+
611
+ const categorias: CategoriaPlano[] = dados.rotulos.map((rotulo, i) => ({
612
+ rotulo,
613
+ linhas:
614
+ layout.rotacao === 0 && !horizontal
615
+ ? quebrarRotulo(rotulo, Math.max(4, Math.floor(escalaCategoria.larguraBanda / 7)), 2)
616
+ : [rotulo],
617
+ centro: escalaCategoria.centro(i),
618
+ inicio: escalaCategoria(i),
619
+ largura: escalaCategoria.larguraBanda,
620
+ }))
621
+
622
+ const zeroBruto = escalaValor(0)
623
+ const dentro = horizontal
624
+ ? zeroBruto >= area.x && zeroBruto <= area.x + area.largura
625
+ : zeroBruto >= area.y && zeroBruto <= area.y + area.altura
626
+ const zero = bonito.min <= 0 && bonito.max >= 0 && dentro ? zeroBruto : null
627
+
628
+ const barras = montarBarras({
629
+ dados,
630
+ visiveis,
631
+ escalaValor,
632
+ escalaCategoria,
633
+ horizontal,
634
+ empilhado,
635
+ percentual,
636
+ colorBy,
637
+ thresholds,
638
+ formatar,
639
+ mostrarValores: entrada.mostrarValores === true,
640
+ raioBarra,
641
+ base: escalaValor(clamp(0, bonito.min, bonito.max)),
642
+ })
643
+
644
+ const linhas = montarLinhas({
645
+ visiveis,
646
+ escalaValor,
647
+ escalaCategoria,
648
+ horizontal,
649
+ curva,
650
+ base: escalaValor(clamp(0, bonito.min, bonito.max)),
651
+ })
652
+
653
+ return {
654
+ area,
655
+ horizontal,
656
+ rotacao: layout.rotacao,
657
+ compacto: layout.compacto,
658
+ ticks,
659
+ categorias,
660
+ barras,
661
+ linhas,
662
+ zero,
663
+ }
664
+ }
665
+
666
+ function clamp(valor: number, min: number, max: number): number {
667
+ return Math.min(max, Math.max(min, valor))
668
+ }
669
+
670
+ /**
671
+ * Repassa pro `dominioDeSeries`, montando o objeto sem chaves `undefined` —
672
+ * `exactOptionalPropertyTypes` recusa `{ min: undefined }` numa prop opcional.
673
+ */
674
+ function calcularDominio(
675
+ dados: DadosNormalizados,
676
+ opcoes: {
677
+ empilhado: boolean
678
+ percentual: boolean
679
+ incluirZero: boolean
680
+ min: number | undefined
681
+ max: number | undefined
682
+ },
683
+ ): [number, number] {
684
+ return dominioDeSeries(dados, {
685
+ empilhado: opcoes.empilhado,
686
+ percentual: opcoes.percentual,
687
+ incluirZero: opcoes.incluirZero,
688
+ ...(opcoes.min === undefined ? {} : { min: opcoes.min }),
689
+ ...(opcoes.max === undefined ? {} : { max: opcoes.max }),
690
+ })
691
+ }
692
+
693
+ interface EntradaBarras {
694
+ dados: DadosNormalizados
695
+ visiveis: DadosNormalizados['series']
696
+ escalaValor: ReturnType<typeof escalaLinear>
697
+ escalaCategoria: ReturnType<typeof escalaBanda>
698
+ horizontal: boolean
699
+ empilhado: boolean
700
+ percentual: boolean
701
+ colorBy: ChartColorBy
702
+ thresholds: readonly ChartThreshold[]
703
+ formatar: (valor: number) => string
704
+ mostrarValores: boolean
705
+ raioBarra: number
706
+ base: number
707
+ }
708
+
709
+ function montarBarras(e: EntradaBarras): BarraPlano[] {
710
+ const seriesBarra = e.visiveis.filter((s) => s.tipo === 'bar')
711
+ if (seriesBarra.length === 0) return []
712
+
713
+ const segmentos = e.empilhado ? empilhar(e.dados, e.percentual) : null
714
+ const sub = e.empilhado
715
+ ? null
716
+ : escalaSubBanda(e.escalaCategoria, seriesBarra.length)
717
+
718
+ const barras: BarraPlano[] = []
719
+
720
+ seriesBarra.forEach((serie, ordem) => {
721
+ serie.pontos.forEach((ponto, iPonto) => {
722
+ if (ponto.valor === null) return
723
+
724
+ const inicioBanda = e.escalaCategoria(iPonto)
725
+ const espessura = e.empilhado ? e.escalaCategoria.larguraBanda : (sub as NonNullable<typeof sub>).larguraBanda
726
+ const deslocamento = e.empilhado ? 0 : (sub as NonNullable<typeof sub>)(ordem)
727
+
728
+ let de: number
729
+ let ate: number
730
+ if (segmentos) {
731
+ const seg = segmentos[iPonto]?.find((s) => s.indiceSerie === serie.indice)
732
+ if (!seg) return
733
+ de = e.escalaValor(seg.base)
734
+ ate = e.escalaValor(seg.topo)
735
+ } else {
736
+ de = e.base
737
+ ate = e.escalaValor(ponto.valor)
738
+ }
739
+
740
+ const cor = resolverCor(ponto, serie, e.colorBy, e.thresholds)
741
+ const chave = `b-${serie.indice}-${iPonto}`
742
+ const texto = ponto.rotuloDireto ?? e.formatar(ponto.valor)
743
+
744
+ if (e.horizontal) {
745
+ const x = Math.min(de, ate)
746
+ const comprimento = Math.max(Math.abs(ate - de), ALTURA_MINIMA_BARRA)
747
+ const y = inicioBanda + deslocamento
748
+ barras.push({
749
+ chave,
750
+ indiceSerie: serie.indice,
751
+ indicePonto: iPonto,
752
+ d: caminhoBarra(x, y, comprimento, espessura, e.raioBarra, ate >= de ? 'direita' : 'esquerda'),
753
+ cor,
754
+ fantasma: ponto.fantasma,
755
+ rotulo: e.mostrarValores ? texto : '',
756
+ rotuloX: x + comprimento + 4,
757
+ rotuloY: y + espessura / 2,
758
+ })
759
+ } else {
760
+ const y = Math.min(de, ate)
761
+ const comprimento = Math.max(Math.abs(ate - de), ALTURA_MINIMA_BARRA)
762
+ const x = inicioBanda + deslocamento
763
+ barras.push({
764
+ chave,
765
+ indiceSerie: serie.indice,
766
+ indicePonto: iPonto,
767
+ d: caminhoBarra(x, y, espessura, comprimento, e.raioBarra, ate <= de ? 'topo' : 'base'),
768
+ cor,
769
+ fantasma: ponto.fantasma,
770
+ rotulo: e.mostrarValores ? texto : '',
771
+ rotuloX: x + espessura / 2,
772
+ rotuloY: y - 4,
773
+ })
774
+ }
775
+ })
776
+ })
777
+
778
+ return barras
779
+ }
780
+
781
+ interface EntradaLinhas {
782
+ visiveis: DadosNormalizados['series']
783
+ escalaValor: ReturnType<typeof escalaLinear>
784
+ escalaCategoria: ReturnType<typeof escalaBanda>
785
+ horizontal: boolean
786
+ curva: 'linear' | 'smooth'
787
+ base: number
788
+ }
789
+
790
+ function montarLinhas(e: EntradaLinhas): LinhaPlano[] {
791
+ const seriesLinha = e.visiveis.filter((s) => s.tipo === 'line' || s.tipo === 'area')
792
+
793
+ return seriesLinha.map((serie) => {
794
+ const pontos: Array<Ponto | null> = serie.pontos.map((ponto, i) => {
795
+ if (ponto.valor === null) return null
796
+ const aoLongo = e.escalaCategoria.centro(i)
797
+ const valor = e.escalaValor(ponto.valor)
798
+ // Linha sempre no CENTRO da banda: alinhada com o rótulo do eixo e com o
799
+ // grupo de barras, quando os dois convivem no mesmo gráfico.
800
+ return e.horizontal ? { x: valor, y: aoLongo } : { x: aoLongo, y: valor }
801
+ })
802
+
803
+ const marcadores = pontos
804
+ .map((p, i) => (p ? { d: caminhoMarcador(serie.marcador, p.x, p.y, 7), indicePonto: i } : null))
805
+ .filter((m): m is { d: string; indicePonto: number } => m !== null)
806
+
807
+ return {
808
+ chave: `l-${serie.indice}`,
809
+ indiceSerie: serie.indice,
810
+ d: caminhoLinha(pontos, e.curva),
811
+ dArea: serie.tipo === 'area' ? caminhoArea(pontos, e.base, e.curva) : '',
812
+ cor: serie.cor,
813
+ tracejada: serie.tracejada,
814
+ marcadores,
815
+ marcador: serie.marcador,
816
+ }
817
+ })
818
+ }