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.
- package/CHANGELOG.md +795 -0
- package/README.md +64 -0
- package/dist/acai-ui.css +14627 -0
- package/dist/components/actions/acai-ui-actions.d.ts +3 -0
- package/dist/components/async-select/acai-ui-async-select-interface.d.ts +48 -0
- package/dist/components/async-select/acai-ui-async-select-interface.d.ts.map +1 -0
- package/dist/components/async-select/acai-ui-async-select.d.ts +3 -0
- package/dist/components/badge/acai-ui-badge-interface.d.ts +20 -0
- package/dist/components/badge/acai-ui-badge-interface.d.ts.map +1 -0
- package/dist/components/badge/acai-ui-badge.d.ts +3 -0
- package/dist/components/banner/acai-ui-banner-interface.d.ts +16 -0
- package/dist/components/banner/acai-ui-banner-interface.d.ts.map +1 -0
- package/dist/components/banner/acai-ui-banner.d.ts +3 -0
- package/dist/components/button/acai-ui-button-interface.d.ts +21 -0
- package/dist/components/button/acai-ui-button-interface.d.ts.map +1 -0
- package/dist/components/button/acai-ui-button.d.ts +3 -0
- package/dist/components/card/acai-ui-card-interface.d.ts +14 -0
- package/dist/components/card/acai-ui-card-interface.d.ts.map +1 -0
- package/dist/components/card/acai-ui-card.d.ts +3 -0
- package/dist/components/chart/acai-ui-chart-interface.d.ts +190 -0
- package/dist/components/chart/acai-ui-chart-interface.d.ts.map +1 -0
- package/dist/components/chart/acai-ui-chart.d.ts +3 -0
- package/dist/components/chart/chart-a11y.d.ts +40 -0
- package/dist/components/chart/chart-a11y.d.ts.map +1 -0
- package/dist/components/chart/chart-caminhos.d.ts +91 -0
- package/dist/components/chart/chart-caminhos.d.ts.map +1 -0
- package/dist/components/chart/chart-cartesiano.d.ts +3 -0
- package/dist/components/chart/chart-dados.d.ts +74 -0
- package/dist/components/chart/chart-dados.d.ts.map +1 -0
- package/dist/components/chart/chart-escalas.d.ts +45 -0
- package/dist/components/chart/chart-escalas.d.ts.map +1 -0
- package/dist/components/chart/chart-formatar.d.ts +21 -0
- package/dist/components/chart/chart-formatar.d.ts.map +1 -0
- package/dist/components/chart/chart-gauge.d.ts +3 -0
- package/dist/components/chart/chart-headless.d.ts +29 -0
- package/dist/components/chart/chart-headless.d.ts.map +1 -0
- package/dist/components/chart/chart-imagem.d.ts +51 -0
- package/dist/components/chart/chart-imagem.d.ts.map +1 -0
- package/dist/components/chart/chart-layout.d.ts +59 -0
- package/dist/components/chart/chart-layout.d.ts.map +1 -0
- package/dist/components/chart/chart-legenda.d.ts +3 -0
- package/dist/components/chart/chart-pizza.d.ts +3 -0
- package/dist/components/chart/chart-plano.d.ts +201 -0
- package/dist/components/chart/chart-plano.d.ts.map +1 -0
- package/dist/components/chart/chart-rotulos.d.ts +10 -0
- package/dist/components/chart/chart-rotulos.d.ts.map +1 -0
- package/dist/components/chart/chart-tabela.d.ts +3 -0
- package/dist/components/chart/chart-ticks.d.ts +35 -0
- package/dist/components/chart/chart-ticks.d.ts.map +1 -0
- package/dist/components/checkbox/acai-ui-checkbox-interface.d.ts +16 -0
- package/dist/components/checkbox/acai-ui-checkbox-interface.d.ts.map +1 -0
- package/dist/components/checkbox/acai-ui-checkbox.d.ts +3 -0
- package/dist/components/chip/acai-ui-chip-interface.d.ts +17 -0
- package/dist/components/chip/acai-ui-chip-interface.d.ts.map +1 -0
- package/dist/components/chip/acai-ui-chip.d.ts +3 -0
- package/dist/components/code/acai-ui-code-interface.d.ts +44 -0
- package/dist/components/code/acai-ui-code-interface.d.ts.map +1 -0
- package/dist/components/code/acai-ui-code.d.ts +3 -0
- package/dist/components/code/dobras-json.d.ts +14 -0
- package/dist/components/code/dobras-json.d.ts.map +1 -0
- package/dist/components/confirm/acai-ui-confirm.d.ts +3 -0
- package/dist/components/container/acai-ui-container-interface.d.ts +29 -0
- package/dist/components/container/acai-ui-container-interface.d.ts.map +1 -0
- package/dist/components/container/acai-ui-container.d.ts +3 -0
- package/dist/components/date/acai-ui-date-interface.d.ts +19 -0
- package/dist/components/date/acai-ui-date-interface.d.ts.map +1 -0
- package/dist/components/date/acai-ui-date.d.ts +3 -0
- package/dist/components/date-range/acai-ui-date-range-interface.d.ts +27 -0
- package/dist/components/date-range/acai-ui-date-range-interface.d.ts.map +1 -0
- package/dist/components/date-range/acai-ui-date-range.d.ts +3 -0
- package/dist/components/datetime/acai-ui-datetime-interface.d.ts +10 -0
- package/dist/components/datetime/acai-ui-datetime-interface.d.ts.map +1 -0
- package/dist/components/datetime/acai-ui-datetime.d.ts +3 -0
- package/dist/components/dialog/acai-ui-dialog-interface.d.ts +17 -0
- package/dist/components/dialog/acai-ui-dialog-interface.d.ts.map +1 -0
- package/dist/components/dialog/acai-ui-dialog.d.ts +3 -0
- package/dist/components/divider/acai-ui-divider-interface.d.ts +5 -0
- package/dist/components/divider/acai-ui-divider-interface.d.ts.map +1 -0
- package/dist/components/divider/acai-ui-divider.d.ts +3 -0
- package/dist/components/drawer/acai-ui-drawer-interface.d.ts +97 -0
- package/dist/components/drawer/acai-ui-drawer-interface.d.ts.map +1 -0
- package/dist/components/drawer/acai-ui-drawer.d.ts +3 -0
- package/dist/components/drawer/drawer-sidebar-helper.d.ts +4 -0
- package/dist/components/drawer/drawer-sidebar-helper.d.ts.map +1 -0
- package/dist/components/dropdown/acai-ui-dropdown-interface.d.ts +35 -0
- package/dist/components/dropdown/acai-ui-dropdown-interface.d.ts.map +1 -0
- package/dist/components/dropdown/acai-ui-dropdown-item.d.ts +3 -0
- package/dist/components/dropdown/acai-ui-dropdown.d.ts +3 -0
- package/dist/components/error-log/acai-ui-error-log-interface.d.ts +59 -0
- package/dist/components/error-log/acai-ui-error-log-interface.d.ts.map +1 -0
- package/dist/components/error-log/acai-ui-error-log-json-tree.d.ts +3 -0
- package/dist/components/error-log/acai-ui-error-log-redigir.d.ts +28 -0
- package/dist/components/error-log/acai-ui-error-log-redigir.d.ts.map +1 -0
- package/dist/components/error-log/acai-ui-error-log.d.ts +3 -0
- package/dist/components/file/acai-ui-file-interface.d.ts +13 -0
- package/dist/components/file/acai-ui-file-interface.d.ts.map +1 -0
- package/dist/components/file/acai-ui-file.d.ts +3 -0
- package/dist/components/form/acai-ui-form-interface.d.ts +37 -0
- package/dist/components/form/acai-ui-form-interface.d.ts.map +1 -0
- package/dist/components/form/acai-ui-form.d.ts +3 -0
- package/dist/components/help/acai-ui-help-interface.d.ts +184 -0
- package/dist/components/help/acai-ui-help-interface.d.ts.map +1 -0
- package/dist/components/help/acai-ui-help.d.ts +3 -0
- package/dist/components/help/acai-ui-tour.d.ts +3 -0
- package/dist/components/help/tour-escolha.d.ts +62 -0
- package/dist/components/help/tour-escolha.d.ts.map +1 -0
- package/dist/components/help/tour-posicionar.d.ts +39 -0
- package/dist/components/help/tour-posicionar.d.ts.map +1 -0
- package/dist/components/help/tour-registry.d.ts +54 -0
- package/dist/components/help/tour-registry.d.ts.map +1 -0
- package/dist/components/help/use-tour-visto.d.ts +11 -0
- package/dist/components/help/use-tour-visto.d.ts.map +1 -0
- package/dist/components/icon/acai-ui-icon-interface.d.ts +12 -0
- package/dist/components/icon/acai-ui-icon-interface.d.ts.map +1 -0
- package/dist/components/icon/acai-ui-icon.d.ts +3 -0
- package/dist/components/index.d.ts +89 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/input/acai-ui-input-interface.d.ts +20 -0
- package/dist/components/input/acai-ui-input-interface.d.ts.map +1 -0
- package/dist/components/input/acai-ui-input.d.ts +3 -0
- package/dist/components/modal/acai-ui-modal-interface.d.ts +16 -0
- package/dist/components/modal/acai-ui-modal-interface.d.ts.map +1 -0
- package/dist/components/modal/acai-ui-modal.d.ts +3 -0
- package/dist/components/pagination/acai-ui-pagination-interface.d.ts +9 -0
- package/dist/components/pagination/acai-ui-pagination-interface.d.ts.map +1 -0
- package/dist/components/pagination/acai-ui-pagination.d.ts +3 -0
- package/dist/components/preferences/acai-ui-preferences-interface.d.ts +5 -0
- package/dist/components/preferences/acai-ui-preferences-interface.d.ts.map +1 -0
- package/dist/components/preferences/acai-ui-preferences.d.ts +3 -0
- package/dist/components/progress/acai-ui-progress-interface.d.ts +18 -0
- package/dist/components/progress/acai-ui-progress-interface.d.ts.map +1 -0
- package/dist/components/progress/acai-ui-progress.d.ts +3 -0
- package/dist/components/radio/acai-ui-radio-interface.d.ts +13 -0
- package/dist/components/radio/acai-ui-radio-interface.d.ts.map +1 -0
- package/dist/components/radio/acai-ui-radio.d.ts +3 -0
- package/dist/components/section/acai-ui-section.d.ts +3 -0
- package/dist/components/select/acai-ui-select-interface.d.ts +18 -0
- package/dist/components/select/acai-ui-select-interface.d.ts.map +1 -0
- package/dist/components/select/acai-ui-select.d.ts +3 -0
- package/dist/components/session-clock/acai-ui-session-clock.d.ts +3 -0
- package/dist/components/stepper/acai-ui-step-interface.d.ts +18 -0
- package/dist/components/stepper/acai-ui-step-interface.d.ts.map +1 -0
- package/dist/components/stepper/acai-ui-step.d.ts +3 -0
- package/dist/components/stepper/acai-ui-stepper-interface.d.ts +53 -0
- package/dist/components/stepper/acai-ui-stepper-interface.d.ts.map +1 -0
- package/dist/components/stepper/acai-ui-stepper.d.ts +3 -0
- package/dist/components/swagger/acai-ui-swagger-interface.d.ts +53 -0
- package/dist/components/swagger/acai-ui-swagger-interface.d.ts.map +1 -0
- package/dist/components/swagger/acai-ui-swagger-operacao.d.ts +3 -0
- package/dist/components/swagger/acai-ui-swagger-requisicao.d.ts +76 -0
- package/dist/components/swagger/acai-ui-swagger-requisicao.d.ts.map +1 -0
- package/dist/components/swagger/acai-ui-swagger-schema.d.ts +3 -0
- package/dist/components/swagger/acai-ui-swagger.d.ts +3 -0
- package/dist/components/swagger/openapi-normalizar.d.ts +51 -0
- package/dist/components/swagger/openapi-normalizar.d.ts.map +1 -0
- package/dist/components/swagger/openapi-tipos.d.ts +167 -0
- package/dist/components/swagger/openapi-tipos.d.ts.map +1 -0
- package/dist/components/table/acai-ui-table-interface.d.ts +47 -0
- package/dist/components/table/acai-ui-table-interface.d.ts.map +1 -0
- package/dist/components/table/acai-ui-table-justificativa.d.ts +3 -0
- package/dist/components/table/acai-ui-table.d.ts +3 -0
- package/dist/components/tabs/acai-ui-tab.d.ts +3 -0
- package/dist/components/tabs/acai-ui-tabs-interface.d.ts +32 -0
- package/dist/components/tabs/acai-ui-tabs-interface.d.ts.map +1 -0
- package/dist/components/tabs/acai-ui-tabs.d.ts +3 -0
- package/dist/components/time/acai-ui-time-interface.d.ts +15 -0
- package/dist/components/time/acai-ui-time-interface.d.ts.map +1 -0
- package/dist/components/time/acai-ui-time.d.ts +3 -0
- package/dist/components/toggle/acai-ui-toggle-interface.d.ts +12 -0
- package/dist/components/toggle/acai-ui-toggle-interface.d.ts.map +1 -0
- package/dist/components/toggle/acai-ui-toggle.d.ts +3 -0
- package/dist/components/tooltip/acai-ui-tooltip-interface.d.ts +9 -0
- package/dist/components/tooltip/acai-ui-tooltip-interface.d.ts.map +1 -0
- package/dist/components/tooltip/acai-ui-tooltip.d.ts +3 -0
- package/dist/components/user-menu/acai-ui-user-menu-interface.d.ts +14 -0
- package/dist/components/user-menu/acai-ui-user-menu-interface.d.ts.map +1 -0
- package/dist/components/user-menu/acai-ui-user-menu.d.ts +3 -0
- package/dist/components/validation/acai-ui-validation.d.ts +3 -0
- package/dist/constants/chart-paleta.d.ts +47 -0
- package/dist/constants/chart-paleta.d.ts.map +1 -0
- package/dist/constants/efeitos.d.ts +22 -0
- package/dist/constants/efeitos.d.ts.map +1 -0
- package/dist/constants/index.d.ts +13 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/lista-icons.d.ts +156 -0
- package/dist/constants/lista-icons.d.ts.map +1 -0
- package/dist/constants/medidas-espacos.d.ts +15 -0
- package/dist/constants/medidas-espacos.d.ts.map +1 -0
- package/dist/constants/radius.d.ts +15 -0
- package/dist/constants/radius.d.ts.map +1 -0
- package/dist/constants/status-badge.d.ts +17 -0
- package/dist/constants/status-badge.d.ts.map +1 -0
- package/dist/hooks/filtros-url-internos.d.ts +121 -0
- package/dist/hooks/filtros-url-internos.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +18 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/notify.d.ts +8 -0
- package/dist/hooks/notify.d.ts.map +1 -0
- package/dist/hooks/use-contador-sessao.d.ts +22 -0
- package/dist/hooks/use-contador-sessao.d.ts.map +1 -0
- package/dist/hooks/use-filtros-na-url.d.ts +110 -0
- package/dist/hooks/use-filtros-na-url.d.ts.map +1 -0
- package/dist/hooks/use-leitura-voz.d.ts +60 -0
- package/dist/hooks/use-leitura-voz.d.ts.map +1 -0
- package/dist/hooks/use-listagem-na-url.d.ts +185 -0
- package/dist/hooks/use-listagem-na-url.d.ts.map +1 -0
- package/dist/hooks/use-preferencias.d.ts +60 -0
- package/dist/hooks/use-preferencias.d.ts.map +1 -0
- package/dist/hooks/use-repasse-quasar.d.ts +42 -0
- package/dist/hooks/use-repasse-quasar.d.ts.map +1 -0
- package/dist/hooks/use-tamanho-elemento.d.ts +26 -0
- package/dist/hooks/use-tamanho-elemento.d.ts.map +1 -0
- package/dist/hooks/use-tela.d.ts +84 -0
- package/dist/hooks/use-tela.d.ts.map +1 -0
- package/dist/hooks/use-validacao-visual.d.ts +40 -0
- package/dist/hooks/use-validacao-visual.d.ts.map +1 -0
- package/dist/index.cjs +249 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +249 -0
- package/dist/index.mjs.map +1 -0
- package/dist/index10.cjs +24 -0
- package/dist/index10.cjs.map +1 -0
- package/dist/index10.mjs +25 -0
- package/dist/index10.mjs.map +1 -0
- package/dist/index100.cjs +51 -0
- package/dist/index100.cjs.map +1 -0
- package/dist/index100.mjs +51 -0
- package/dist/index100.mjs.map +1 -0
- package/dist/index101.cjs +143 -0
- package/dist/index101.cjs.map +1 -0
- package/dist/index101.mjs +143 -0
- package/dist/index101.mjs.map +1 -0
- package/dist/index102.cjs +137 -0
- package/dist/index102.cjs.map +1 -0
- package/dist/index102.mjs +138 -0
- package/dist/index102.mjs.map +1 -0
- package/dist/index104.cjs +10 -0
- package/dist/index104.cjs.map +1 -0
- package/dist/index104.mjs +11 -0
- package/dist/index104.mjs.map +1 -0
- package/dist/index105.cjs +5 -0
- package/dist/index105.cjs.map +1 -0
- package/dist/index105.mjs +6 -0
- package/dist/index105.mjs.map +1 -0
- package/dist/index106.cjs +5 -0
- package/dist/index106.cjs.map +1 -0
- package/dist/index106.mjs +6 -0
- package/dist/index106.mjs.map +1 -0
- package/dist/index107.cjs +86 -0
- package/dist/index107.cjs.map +1 -0
- package/dist/index107.mjs +87 -0
- package/dist/index107.mjs.map +1 -0
- package/dist/index109.cjs +123 -0
- package/dist/index109.cjs.map +1 -0
- package/dist/index109.mjs +124 -0
- package/dist/index109.mjs.map +1 -0
- package/dist/index111.cjs +121 -0
- package/dist/index111.cjs.map +1 -0
- package/dist/index111.mjs +122 -0
- package/dist/index111.mjs.map +1 -0
- package/dist/index113.cjs +72 -0
- package/dist/index113.cjs.map +1 -0
- package/dist/index113.mjs +73 -0
- package/dist/index113.mjs.map +1 -0
- package/dist/index115.cjs +5 -0
- package/dist/index115.cjs.map +1 -0
- package/dist/index115.mjs +6 -0
- package/dist/index115.mjs.map +1 -0
- package/dist/index116.cjs +56 -0
- package/dist/index116.cjs.map +1 -0
- package/dist/index116.mjs +57 -0
- package/dist/index116.mjs.map +1 -0
- package/dist/index118.cjs +5 -0
- package/dist/index118.cjs.map +1 -0
- package/dist/index118.mjs +6 -0
- package/dist/index118.mjs.map +1 -0
- package/dist/index119.cjs +210 -0
- package/dist/index119.cjs.map +1 -0
- package/dist/index119.mjs +211 -0
- package/dist/index119.mjs.map +1 -0
- package/dist/index12.cjs +606 -0
- package/dist/index12.cjs.map +1 -0
- package/dist/index12.mjs +607 -0
- package/dist/index12.mjs.map +1 -0
- package/dist/index121.cjs +170 -0
- package/dist/index121.cjs.map +1 -0
- package/dist/index121.mjs +171 -0
- package/dist/index121.mjs.map +1 -0
- package/dist/index123.cjs +109 -0
- package/dist/index123.cjs.map +1 -0
- package/dist/index123.mjs +110 -0
- package/dist/index123.mjs.map +1 -0
- package/dist/index125.cjs +5 -0
- package/dist/index125.cjs.map +1 -0
- package/dist/index125.mjs +6 -0
- package/dist/index125.mjs.map +1 -0
- package/dist/index126.cjs +4 -0
- package/dist/index126.cjs.map +1 -0
- package/dist/index126.mjs +5 -0
- package/dist/index126.mjs.map +1 -0
- package/dist/index127.cjs +300 -0
- package/dist/index127.cjs.map +1 -0
- package/dist/index127.mjs +301 -0
- package/dist/index127.mjs.map +1 -0
- package/dist/index130.cjs +5 -0
- package/dist/index130.cjs.map +1 -0
- package/dist/index130.mjs +6 -0
- package/dist/index130.mjs.map +1 -0
- package/dist/index131.cjs +5 -0
- package/dist/index131.cjs.map +1 -0
- package/dist/index131.mjs +6 -0
- package/dist/index131.mjs.map +1 -0
- package/dist/index132.cjs +128 -0
- package/dist/index132.cjs.map +1 -0
- package/dist/index132.mjs +129 -0
- package/dist/index132.mjs.map +1 -0
- package/dist/index134.cjs +4 -0
- package/dist/index134.cjs.map +1 -0
- package/dist/index134.mjs +5 -0
- package/dist/index134.mjs.map +1 -0
- package/dist/index135.cjs +180 -0
- package/dist/index135.cjs.map +1 -0
- package/dist/index135.mjs +181 -0
- package/dist/index135.mjs.map +1 -0
- package/dist/index137.cjs +83 -0
- package/dist/index137.cjs.map +1 -0
- package/dist/index137.mjs +84 -0
- package/dist/index137.mjs.map +1 -0
- package/dist/index139.cjs +284 -0
- package/dist/index139.cjs.map +1 -0
- package/dist/index139.mjs +285 -0
- package/dist/index139.mjs.map +1 -0
- package/dist/index14.cjs +124 -0
- package/dist/index14.cjs.map +1 -0
- package/dist/index14.mjs +125 -0
- package/dist/index14.mjs.map +1 -0
- package/dist/index141.cjs +58 -0
- package/dist/index141.cjs.map +1 -0
- package/dist/index141.mjs +59 -0
- package/dist/index141.mjs.map +1 -0
- package/dist/index143.cjs +5 -0
- package/dist/index143.cjs.map +1 -0
- package/dist/index143.mjs +6 -0
- package/dist/index143.mjs.map +1 -0
- package/dist/index144.cjs +399 -0
- package/dist/index144.cjs.map +1 -0
- package/dist/index144.mjs +400 -0
- package/dist/index144.mjs.map +1 -0
- package/dist/index146.cjs +305 -0
- package/dist/index146.cjs.map +1 -0
- package/dist/index146.mjs +306 -0
- package/dist/index146.mjs.map +1 -0
- package/dist/index149.cjs +109 -0
- package/dist/index149.cjs.map +1 -0
- package/dist/index149.mjs +110 -0
- package/dist/index149.mjs.map +1 -0
- package/dist/index152.cjs +5 -0
- package/dist/index152.cjs.map +1 -0
- package/dist/index152.mjs +6 -0
- package/dist/index152.mjs.map +1 -0
- package/dist/index153.cjs +5 -0
- package/dist/index153.cjs.map +1 -0
- package/dist/index153.mjs +6 -0
- package/dist/index153.mjs.map +1 -0
- package/dist/index154.cjs +4 -0
- package/dist/index154.cjs.map +1 -0
- package/dist/index154.mjs +5 -0
- package/dist/index154.mjs.map +1 -0
- package/dist/index155.cjs +5 -0
- package/dist/index155.cjs.map +1 -0
- package/dist/index155.mjs +6 -0
- package/dist/index155.mjs.map +1 -0
- package/dist/index156.cjs +5 -0
- package/dist/index156.cjs.map +1 -0
- package/dist/index156.mjs +6 -0
- package/dist/index156.mjs.map +1 -0
- package/dist/index157.cjs +5 -0
- package/dist/index157.cjs.map +1 -0
- package/dist/index157.mjs +6 -0
- package/dist/index157.mjs.map +1 -0
- package/dist/index158.cjs +4 -0
- package/dist/index158.cjs.map +1 -0
- package/dist/index158.mjs +5 -0
- package/dist/index158.mjs.map +1 -0
- package/dist/index159.cjs +59 -0
- package/dist/index159.cjs.map +1 -0
- package/dist/index159.mjs +60 -0
- package/dist/index159.mjs.map +1 -0
- package/dist/index16.cjs +89 -0
- package/dist/index16.cjs.map +1 -0
- package/dist/index16.mjs +90 -0
- package/dist/index16.mjs.map +1 -0
- package/dist/index161.cjs +5 -0
- package/dist/index161.cjs.map +1 -0
- package/dist/index161.mjs +6 -0
- package/dist/index161.mjs.map +1 -0
- package/dist/index162.cjs +119 -0
- package/dist/index162.cjs.map +1 -0
- package/dist/index162.mjs +120 -0
- package/dist/index162.mjs.map +1 -0
- package/dist/index164.cjs +33 -0
- package/dist/index164.cjs.map +1 -0
- package/dist/index164.mjs +34 -0
- package/dist/index164.mjs.map +1 -0
- package/dist/index166.cjs +5 -0
- package/dist/index166.cjs.map +1 -0
- package/dist/index166.mjs +6 -0
- package/dist/index166.mjs.map +1 -0
- package/dist/index167.cjs +324 -0
- package/dist/index167.cjs.map +1 -0
- package/dist/index167.mjs +325 -0
- package/dist/index167.mjs.map +1 -0
- package/dist/index17.cjs +419 -0
- package/dist/index17.cjs.map +1 -0
- package/dist/index17.mjs +420 -0
- package/dist/index17.mjs.map +1 -0
- package/dist/index170.cjs +38 -0
- package/dist/index170.cjs.map +1 -0
- package/dist/index170.mjs +39 -0
- package/dist/index170.mjs.map +1 -0
- package/dist/index172.cjs +5 -0
- package/dist/index172.cjs.map +1 -0
- package/dist/index172.mjs +6 -0
- package/dist/index172.mjs.map +1 -0
- package/dist/index173.cjs +202 -0
- package/dist/index173.cjs.map +1 -0
- package/dist/index173.mjs +203 -0
- package/dist/index173.mjs.map +1 -0
- package/dist/index175.cjs +5 -0
- package/dist/index175.cjs.map +1 -0
- package/dist/index175.mjs +6 -0
- package/dist/index175.mjs.map +1 -0
- package/dist/index176.cjs +53 -0
- package/dist/index176.cjs.map +1 -0
- package/dist/index176.mjs +54 -0
- package/dist/index176.mjs.map +1 -0
- package/dist/index178.cjs +13 -0
- package/dist/index178.cjs.map +1 -0
- package/dist/index178.mjs +13 -0
- package/dist/index178.mjs.map +1 -0
- package/dist/index179.cjs +18 -0
- package/dist/index179.cjs.map +1 -0
- package/dist/index179.mjs +18 -0
- package/dist/index179.mjs.map +1 -0
- package/dist/index180.cjs +262 -0
- package/dist/index180.cjs.map +1 -0
- package/dist/index180.mjs +262 -0
- package/dist/index180.mjs.map +1 -0
- package/dist/index181.cjs +108 -0
- package/dist/index181.cjs.map +1 -0
- package/dist/index181.mjs +109 -0
- package/dist/index181.mjs.map +1 -0
- package/dist/index182.cjs +73 -0
- package/dist/index182.cjs.map +1 -0
- package/dist/index182.mjs +73 -0
- package/dist/index182.mjs.map +1 -0
- package/dist/index183.cjs +37 -0
- package/dist/index183.cjs.map +1 -0
- package/dist/index183.mjs +37 -0
- package/dist/index183.mjs.map +1 -0
- package/dist/index184.cjs +16 -0
- package/dist/index184.cjs.map +1 -0
- package/dist/index184.mjs +16 -0
- package/dist/index184.mjs.map +1 -0
- package/dist/index185.cjs +31 -0
- package/dist/index185.cjs.map +1 -0
- package/dist/index185.mjs +31 -0
- package/dist/index185.mjs.map +1 -0
- package/dist/index186.cjs +460 -0
- package/dist/index186.cjs.map +1 -0
- package/dist/index186.mjs +461 -0
- package/dist/index186.mjs.map +1 -0
- package/dist/index187.cjs +154 -0
- package/dist/index187.cjs.map +1 -0
- package/dist/index187.mjs +154 -0
- package/dist/index187.mjs.map +1 -0
- package/dist/index188.cjs +40 -0
- package/dist/index188.cjs.map +1 -0
- package/dist/index188.mjs +40 -0
- package/dist/index188.mjs.map +1 -0
- package/dist/index189.cjs +66 -0
- package/dist/index189.cjs.map +1 -0
- package/dist/index189.mjs +66 -0
- package/dist/index189.mjs.map +1 -0
- package/dist/index19.cjs +135 -0
- package/dist/index19.cjs.map +1 -0
- package/dist/index19.mjs +136 -0
- package/dist/index19.mjs.map +1 -0
- package/dist/index190.cjs +142 -0
- package/dist/index190.cjs.map +1 -0
- package/dist/index190.mjs +143 -0
- package/dist/index190.mjs.map +1 -0
- package/dist/index191.cjs +7 -0
- package/dist/index191.cjs.map +1 -0
- package/dist/index191.mjs +8 -0
- package/dist/index191.mjs.map +1 -0
- package/dist/index192.cjs +7 -0
- package/dist/index192.cjs.map +1 -0
- package/dist/index192.mjs +8 -0
- package/dist/index192.mjs.map +1 -0
- package/dist/index193.cjs +7 -0
- package/dist/index193.cjs.map +1 -0
- package/dist/index193.mjs +8 -0
- package/dist/index193.mjs.map +1 -0
- package/dist/index194.cjs +7 -0
- package/dist/index194.cjs.map +1 -0
- package/dist/index194.mjs +8 -0
- package/dist/index194.mjs.map +1 -0
- package/dist/index195.cjs +7 -0
- package/dist/index195.cjs.map +1 -0
- package/dist/index195.mjs +8 -0
- package/dist/index195.mjs.map +1 -0
- package/dist/index196.cjs +100 -0
- package/dist/index196.cjs.map +1 -0
- package/dist/index196.mjs +100 -0
- package/dist/index196.mjs.map +1 -0
- package/dist/index197.cjs +226 -0
- package/dist/index197.cjs.map +1 -0
- package/dist/index197.mjs +226 -0
- package/dist/index197.mjs.map +1 -0
- package/dist/index198.cjs +66 -0
- package/dist/index198.cjs.map +1 -0
- package/dist/index198.mjs +66 -0
- package/dist/index198.mjs.map +1 -0
- package/dist/index199.cjs +399 -0
- package/dist/index199.cjs.map +1 -0
- package/dist/index199.mjs +399 -0
- package/dist/index199.mjs.map +1 -0
- package/dist/index200.cjs +83 -0
- package/dist/index200.cjs.map +1 -0
- package/dist/index200.mjs +83 -0
- package/dist/index200.mjs.map +1 -0
- package/dist/index201.cjs +4 -0
- package/dist/index201.cjs.map +1 -0
- package/dist/index201.mjs +5 -0
- package/dist/index201.mjs.map +1 -0
- package/dist/index202.cjs +5 -0
- package/dist/index202.cjs.map +1 -0
- package/dist/index202.mjs +6 -0
- package/dist/index202.mjs.map +1 -0
- package/dist/index203.cjs +216 -0
- package/dist/index203.cjs.map +1 -0
- package/dist/index203.mjs +217 -0
- package/dist/index203.mjs.map +1 -0
- package/dist/index205.cjs +112 -0
- package/dist/index205.cjs.map +1 -0
- package/dist/index205.mjs +113 -0
- package/dist/index205.mjs.map +1 -0
- package/dist/index207.cjs +112 -0
- package/dist/index207.cjs.map +1 -0
- package/dist/index207.mjs +113 -0
- package/dist/index207.mjs.map +1 -0
- package/dist/index209.cjs +64 -0
- package/dist/index209.cjs.map +1 -0
- package/dist/index209.mjs +65 -0
- package/dist/index209.mjs.map +1 -0
- package/dist/index21.cjs +268 -0
- package/dist/index21.cjs.map +1 -0
- package/dist/index21.mjs +269 -0
- package/dist/index21.mjs.map +1 -0
- package/dist/index211.cjs +45 -0
- package/dist/index211.cjs.map +1 -0
- package/dist/index211.mjs +46 -0
- package/dist/index211.mjs.map +1 -0
- package/dist/index213.cjs +241 -0
- package/dist/index213.cjs.map +1 -0
- package/dist/index213.mjs +241 -0
- package/dist/index213.mjs.map +1 -0
- package/dist/index214.cjs +63 -0
- package/dist/index214.cjs.map +1 -0
- package/dist/index214.mjs +63 -0
- package/dist/index214.mjs.map +1 -0
- package/dist/index215.cjs +53 -0
- package/dist/index215.cjs.map +1 -0
- package/dist/index215.mjs +53 -0
- package/dist/index215.mjs.map +1 -0
- package/dist/index216.cjs +53 -0
- package/dist/index216.cjs.map +1 -0
- package/dist/index216.mjs +53 -0
- package/dist/index216.mjs.map +1 -0
- package/dist/index217.cjs +4 -0
- package/dist/index217.cjs.map +1 -0
- package/dist/index217.mjs +5 -0
- package/dist/index217.mjs.map +1 -0
- package/dist/index218.cjs +29 -0
- package/dist/index218.cjs.map +1 -0
- package/dist/index218.mjs +30 -0
- package/dist/index218.mjs.map +1 -0
- package/dist/index219.cjs +4 -0
- package/dist/index219.cjs.map +1 -0
- package/dist/index219.mjs +5 -0
- package/dist/index219.mjs.map +1 -0
- package/dist/index23.cjs +41 -0
- package/dist/index23.cjs.map +1 -0
- package/dist/index23.mjs +42 -0
- package/dist/index23.mjs.map +1 -0
- package/dist/index24.cjs +117 -0
- package/dist/index24.cjs.map +1 -0
- package/dist/index24.mjs +118 -0
- package/dist/index24.mjs.map +1 -0
- package/dist/index26.cjs +127 -0
- package/dist/index26.cjs.map +1 -0
- package/dist/index26.mjs +128 -0
- package/dist/index26.mjs.map +1 -0
- package/dist/index28.cjs +39 -0
- package/dist/index28.cjs.map +1 -0
- package/dist/index28.mjs +40 -0
- package/dist/index28.mjs.map +1 -0
- package/dist/index29.cjs +176 -0
- package/dist/index29.cjs.map +1 -0
- package/dist/index29.mjs +177 -0
- package/dist/index29.mjs.map +1 -0
- package/dist/index3.cjs +110 -0
- package/dist/index3.cjs.map +1 -0
- package/dist/index3.mjs +110 -0
- package/dist/index3.mjs.map +1 -0
- package/dist/index31.cjs +361 -0
- package/dist/index31.cjs.map +1 -0
- package/dist/index31.mjs +362 -0
- package/dist/index31.mjs.map +1 -0
- package/dist/index33.cjs +20 -0
- package/dist/index33.cjs.map +1 -0
- package/dist/index33.mjs +21 -0
- package/dist/index33.mjs.map +1 -0
- package/dist/index34.cjs +311 -0
- package/dist/index34.cjs.map +1 -0
- package/dist/index34.mjs +312 -0
- package/dist/index34.mjs.map +1 -0
- package/dist/index36.cjs +132 -0
- package/dist/index36.cjs.map +1 -0
- package/dist/index36.mjs +133 -0
- package/dist/index36.mjs.map +1 -0
- package/dist/index38.cjs +80 -0
- package/dist/index38.cjs.map +1 -0
- package/dist/index38.mjs +81 -0
- package/dist/index38.mjs.map +1 -0
- package/dist/index4.cjs +612 -0
- package/dist/index4.cjs.map +1 -0
- package/dist/index4.mjs +613 -0
- package/dist/index4.mjs.map +1 -0
- package/dist/index40.cjs +600 -0
- package/dist/index40.cjs.map +1 -0
- package/dist/index40.mjs +601 -0
- package/dist/index40.mjs.map +1 -0
- package/dist/index42.cjs +160 -0
- package/dist/index42.cjs.map +1 -0
- package/dist/index42.mjs +160 -0
- package/dist/index42.mjs.map +1 -0
- package/dist/index43.cjs +26 -0
- package/dist/index43.cjs.map +1 -0
- package/dist/index43.mjs +27 -0
- package/dist/index43.mjs.map +1 -0
- package/dist/index44.cjs +20 -0
- package/dist/index44.cjs.map +1 -0
- package/dist/index44.mjs +21 -0
- package/dist/index44.mjs.map +1 -0
- package/dist/index45.cjs +104 -0
- package/dist/index45.cjs.map +1 -0
- package/dist/index45.mjs +104 -0
- package/dist/index45.mjs.map +1 -0
- package/dist/index46.cjs +8 -0
- package/dist/index46.cjs.map +1 -0
- package/dist/index46.mjs +9 -0
- package/dist/index46.mjs.map +1 -0
- package/dist/index47.cjs +7 -0
- package/dist/index47.cjs.map +1 -0
- package/dist/index47.mjs +8 -0
- package/dist/index47.mjs.map +1 -0
- package/dist/index48.cjs +7 -0
- package/dist/index48.cjs.map +1 -0
- package/dist/index48.mjs +8 -0
- package/dist/index48.mjs.map +1 -0
- package/dist/index49.cjs +7 -0
- package/dist/index49.cjs.map +1 -0
- package/dist/index49.mjs +8 -0
- package/dist/index49.mjs.map +1 -0
- package/dist/index50.cjs +7 -0
- package/dist/index50.cjs.map +1 -0
- package/dist/index50.mjs +8 -0
- package/dist/index50.mjs.map +1 -0
- package/dist/index51.cjs +7 -0
- package/dist/index51.cjs.map +1 -0
- package/dist/index51.mjs +8 -0
- package/dist/index51.mjs.map +1 -0
- package/dist/index52.cjs +7 -0
- package/dist/index52.cjs.map +1 -0
- package/dist/index52.mjs +8 -0
- package/dist/index52.mjs.map +1 -0
- package/dist/index53.cjs +7 -0
- package/dist/index53.cjs.map +1 -0
- package/dist/index53.mjs +8 -0
- package/dist/index53.mjs.map +1 -0
- package/dist/index54.cjs +7 -0
- package/dist/index54.cjs.map +1 -0
- package/dist/index54.mjs +8 -0
- package/dist/index54.mjs.map +1 -0
- package/dist/index55.cjs +7 -0
- package/dist/index55.cjs.map +1 -0
- package/dist/index55.mjs +8 -0
- package/dist/index55.mjs.map +1 -0
- package/dist/index56.cjs +7 -0
- package/dist/index56.cjs.map +1 -0
- package/dist/index56.mjs +8 -0
- package/dist/index56.mjs.map +1 -0
- package/dist/index57.cjs +7 -0
- package/dist/index57.cjs.map +1 -0
- package/dist/index57.mjs +8 -0
- package/dist/index57.mjs.map +1 -0
- package/dist/index58.cjs +7 -0
- package/dist/index58.cjs.map +1 -0
- package/dist/index58.mjs +8 -0
- package/dist/index58.mjs.map +1 -0
- package/dist/index59.cjs +8 -0
- package/dist/index59.cjs.map +1 -0
- package/dist/index59.mjs +9 -0
- package/dist/index59.mjs.map +1 -0
- package/dist/index6.cjs +578 -0
- package/dist/index6.cjs.map +1 -0
- package/dist/index6.mjs +579 -0
- package/dist/index6.mjs.map +1 -0
- package/dist/index60.cjs +7 -0
- package/dist/index60.cjs.map +1 -0
- package/dist/index60.mjs +8 -0
- package/dist/index60.mjs.map +1 -0
- package/dist/index61.cjs +7 -0
- package/dist/index61.cjs.map +1 -0
- package/dist/index61.mjs +8 -0
- package/dist/index61.mjs.map +1 -0
- package/dist/index62.cjs +7 -0
- package/dist/index62.cjs.map +1 -0
- package/dist/index62.mjs +8 -0
- package/dist/index62.mjs.map +1 -0
- package/dist/index63.cjs +7 -0
- package/dist/index63.cjs.map +1 -0
- package/dist/index63.mjs +8 -0
- package/dist/index63.mjs.map +1 -0
- package/dist/index64.cjs +7 -0
- package/dist/index64.cjs.map +1 -0
- package/dist/index64.mjs +8 -0
- package/dist/index64.mjs.map +1 -0
- package/dist/index65.cjs +8 -0
- package/dist/index65.cjs.map +1 -0
- package/dist/index65.mjs +9 -0
- package/dist/index65.mjs.map +1 -0
- package/dist/index66.cjs +7 -0
- package/dist/index66.cjs.map +1 -0
- package/dist/index66.mjs +8 -0
- package/dist/index66.mjs.map +1 -0
- package/dist/index67.cjs +7 -0
- package/dist/index67.cjs.map +1 -0
- package/dist/index67.mjs +8 -0
- package/dist/index67.mjs.map +1 -0
- package/dist/index68.cjs +7 -0
- package/dist/index68.cjs.map +1 -0
- package/dist/index68.mjs +8 -0
- package/dist/index68.mjs.map +1 -0
- package/dist/index69.cjs +8 -0
- package/dist/index69.cjs.map +1 -0
- package/dist/index69.mjs +9 -0
- package/dist/index69.mjs.map +1 -0
- package/dist/index70.cjs +7 -0
- package/dist/index70.cjs.map +1 -0
- package/dist/index70.mjs +8 -0
- package/dist/index70.mjs.map +1 -0
- package/dist/index71.cjs +38 -0
- package/dist/index71.cjs.map +1 -0
- package/dist/index71.mjs +38 -0
- package/dist/index71.mjs.map +1 -0
- package/dist/index72.cjs +22 -0
- package/dist/index72.cjs.map +1 -0
- package/dist/index72.mjs +22 -0
- package/dist/index72.mjs.map +1 -0
- package/dist/index73.cjs +40 -0
- package/dist/index73.cjs.map +1 -0
- package/dist/index73.mjs +40 -0
- package/dist/index73.mjs.map +1 -0
- package/dist/index74.cjs +80 -0
- package/dist/index74.cjs.map +1 -0
- package/dist/index74.mjs +80 -0
- package/dist/index74.mjs.map +1 -0
- package/dist/index75.cjs +29 -0
- package/dist/index75.cjs.map +1 -0
- package/dist/index75.mjs +29 -0
- package/dist/index75.mjs.map +1 -0
- package/dist/index76.cjs +157 -0
- package/dist/index76.cjs.map +1 -0
- package/dist/index76.mjs +157 -0
- package/dist/index76.mjs.map +1 -0
- package/dist/index77.cjs +16 -0
- package/dist/index77.cjs.map +1 -0
- package/dist/index77.mjs +16 -0
- package/dist/index77.mjs.map +1 -0
- package/dist/index78.cjs +87 -0
- package/dist/index78.cjs.map +1 -0
- package/dist/index78.mjs +87 -0
- package/dist/index78.mjs.map +1 -0
- package/dist/index79.cjs +16 -0
- package/dist/index79.cjs.map +1 -0
- package/dist/index79.mjs +16 -0
- package/dist/index79.mjs.map +1 -0
- package/dist/index8.cjs +130 -0
- package/dist/index8.cjs.map +1 -0
- package/dist/index8.mjs +131 -0
- package/dist/index8.mjs.map +1 -0
- package/dist/index80.cjs +65 -0
- package/dist/index80.cjs.map +1 -0
- package/dist/index80.mjs +65 -0
- package/dist/index80.mjs.map +1 -0
- package/dist/index81.cjs +69 -0
- package/dist/index81.cjs.map +1 -0
- package/dist/index81.mjs +69 -0
- package/dist/index81.mjs.map +1 -0
- package/dist/index82.cjs +30 -0
- package/dist/index82.cjs.map +1 -0
- package/dist/index82.mjs +30 -0
- package/dist/index82.mjs.map +1 -0
- package/dist/index83.cjs +86 -0
- package/dist/index83.cjs.map +1 -0
- package/dist/index83.mjs +86 -0
- package/dist/index83.mjs.map +1 -0
- package/dist/index84.cjs +102 -0
- package/dist/index84.cjs.map +1 -0
- package/dist/index84.mjs +102 -0
- package/dist/index84.mjs.map +1 -0
- package/dist/index85.cjs +20 -0
- package/dist/index85.cjs.map +1 -0
- package/dist/index85.mjs +20 -0
- package/dist/index85.mjs.map +1 -0
- package/dist/index86.cjs +21 -0
- package/dist/index86.cjs.map +1 -0
- package/dist/index86.mjs +21 -0
- package/dist/index86.mjs.map +1 -0
- package/dist/index87.cjs +191 -0
- package/dist/index87.cjs.map +1 -0
- package/dist/index87.mjs +191 -0
- package/dist/index87.mjs.map +1 -0
- package/dist/index88.cjs +67 -0
- package/dist/index88.cjs.map +1 -0
- package/dist/index88.mjs +67 -0
- package/dist/index88.mjs.map +1 -0
- package/dist/index89.cjs +312 -0
- package/dist/index89.cjs.map +1 -0
- package/dist/index89.mjs +312 -0
- package/dist/index89.mjs.map +1 -0
- package/dist/index90.cjs +10 -0
- package/dist/index90.cjs.map +1 -0
- package/dist/index90.mjs +10 -0
- package/dist/index90.mjs.map +1 -0
- package/dist/index91.cjs +15 -0
- package/dist/index91.cjs.map +1 -0
- package/dist/index91.mjs +15 -0
- package/dist/index91.mjs.map +1 -0
- package/dist/index92.cjs +8 -0
- package/dist/index92.cjs.map +1 -0
- package/dist/index92.mjs +8 -0
- package/dist/index92.mjs.map +1 -0
- package/dist/index93.cjs +81 -0
- package/dist/index93.cjs.map +1 -0
- package/dist/index93.mjs +81 -0
- package/dist/index93.mjs.map +1 -0
- package/dist/index94.cjs +124 -0
- package/dist/index94.cjs.map +1 -0
- package/dist/index94.mjs +124 -0
- package/dist/index94.mjs.map +1 -0
- package/dist/index95.cjs +68 -0
- package/dist/index95.cjs.map +1 -0
- package/dist/index95.mjs +68 -0
- package/dist/index95.mjs.map +1 -0
- package/dist/index96.cjs +29 -0
- package/dist/index96.cjs.map +1 -0
- package/dist/index96.mjs +29 -0
- package/dist/index96.mjs.map +1 -0
- package/dist/index97.cjs +184 -0
- package/dist/index97.cjs.map +1 -0
- package/dist/index97.mjs +184 -0
- package/dist/index97.mjs.map +1 -0
- package/dist/index98.cjs +78 -0
- package/dist/index98.cjs.map +1 -0
- package/dist/index98.mjs +78 -0
- package/dist/index98.mjs.map +1 -0
- package/dist/index99.cjs +55 -0
- package/dist/index99.cjs.map +1 -0
- package/dist/index99.mjs +55 -0
- package/dist/index99.mjs.map +1 -0
- package/dist/plugin.d.ts +37 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/scss/_badge.scss +12 -0
- package/dist/scss/_breakpoints.scss +102 -0
- package/dist/scss/_color-utilities.scss +105 -0
- package/dist/scss/_controls.scss +135 -0
- package/dist/scss/_ds-input-base.scss +302 -0
- package/dist/scss/_ds-picker-m3.scss +179 -0
- package/dist/scss/_effects.scss +42 -0
- package/dist/scss/_overlays.scss +13 -0
- package/dist/scss/_radius.scss +24 -0
- package/dist/scss/_reset.scss +60 -0
- package/dist/scss/_scrollbar.scss +78 -0
- package/dist/scss/_spacing.scss +15 -0
- package/dist/scss/_themes.scss +493 -0
- package/dist/scss/_typography.scss +50 -0
- package/dist/scss/_utilities.scss +75 -0
- package/dist/scss/_variables.scss +143 -0
- package/dist/scss/api.scss +77 -0
- package/dist/scss/tokens.scss +13 -0
- package/dist/utils/date-utils.d.ts +48 -0
- package/dist/utils/date-utils.d.ts.map +1 -0
- package/dist/utils/dialog-utils.d.ts +17 -0
- package/dist/utils/dialog-utils.d.ts.map +1 -0
- package/dist/utils/file-utils.d.ts +20 -0
- package/dist/utils/file-utils.d.ts.map +1 -0
- package/dist/utils/filtro-input.d.ts +19 -0
- package/dist/utils/filtro-input.d.ts.map +1 -0
- package/dist/utils/form-rules.d.ts +74 -0
- package/dist/utils/form-rules.d.ts.map +1 -0
- package/dist/utils/formatadores.d.ts +15 -0
- package/dist/utils/formatadores.d.ts.map +1 -0
- package/dist/utils/gerador-id.d.ts +3 -0
- package/dist/utils/gerador-id.d.ts.map +1 -0
- package/dist/utils/hint-mensagem.d.ts +11 -0
- package/dist/utils/hint-mensagem.d.ts.map +1 -0
- package/dist/utils/index.d.ts +15 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/limpar-campos.d.ts +6 -0
- package/dist/utils/limpar-campos.d.ts.map +1 -0
- package/dist/utils/masks.d.ts +16 -0
- package/dist/utils/masks.d.ts.map +1 -0
- package/dist/utils/medidas-util.d.ts +3 -0
- package/dist/utils/medidas-util.d.ts.map +1 -0
- package/dist/utils/normalizar-label.d.ts +2 -0
- package/dist/utils/normalizar-label.d.ts.map +1 -0
- package/dist/utils/scroll-elemento.d.ts +16 -0
- package/dist/utils/scroll-elemento.d.ts.map +1 -0
- package/dist/utils/validar-campo.d.ts +7 -0
- package/dist/utils/validar-campo.d.ts.map +1 -0
- package/dist/utils/validar-documentos.d.ts +12 -0
- package/dist/utils/validar-documentos.d.ts.map +1 -0
- package/dist/utils/vnode-slot.d.ts +43 -0
- package/dist/utils/vnode-slot.d.ts.map +1 -0
- package/package.json +100 -0
- package/src/components/actions/acai-ui-actions.vue +225 -0
- package/src/components/async-select/acai-ui-async-select-interface.ts +49 -0
- package/src/components/async-select/acai-ui-async-select.vue +409 -0
- package/src/components/badge/acai-ui-badge-interface.ts +19 -0
- package/src/components/badge/acai-ui-badge.vue +40 -0
- package/src/components/banner/acai-ui-banner-interface.ts +17 -0
- package/src/components/banner/acai-ui-banner-styles.scss +47 -0
- package/src/components/banner/acai-ui-banner.vue +85 -0
- package/src/components/button/acai-ui-button-interface.ts +21 -0
- package/src/components/button/acai-ui-button.vue +378 -0
- package/src/components/card/acai-ui-card-interface.ts +14 -0
- package/src/components/card/acai-ui-card-styles.scss +94 -0
- package/src/components/card/acai-ui-card.vue +148 -0
- package/src/components/chart/acai-ui-chart-interface.ts +226 -0
- package/src/components/chart/acai-ui-chart-styles.scss +141 -0
- package/src/components/chart/acai-ui-chart.vue +679 -0
- package/src/components/chart/chart-a11y.ts +184 -0
- package/src/components/chart/chart-caminhos.ts +466 -0
- package/src/components/chart/chart-cartesiano.vue +247 -0
- package/src/components/chart/chart-dados.ts +381 -0
- package/src/components/chart/chart-escalas.ts +141 -0
- package/src/components/chart/chart-formatar.ts +98 -0
- package/src/components/chart/chart-gauge.vue +152 -0
- package/src/components/chart/chart-headless.ts +130 -0
- package/src/components/chart/chart-imagem.ts +247 -0
- package/src/components/chart/chart-layout.ts +184 -0
- package/src/components/chart/chart-legenda.vue +103 -0
- package/src/components/chart/chart-pizza.vue +134 -0
- package/src/components/chart/chart-plano.ts +818 -0
- package/src/components/chart/chart-rotulos.ts +75 -0
- package/src/components/chart/chart-tabela.vue +116 -0
- package/src/components/chart/chart-ticks.ts +116 -0
- package/src/components/checkbox/acai-ui-checkbox-interface.ts +17 -0
- package/src/components/checkbox/acai-ui-checkbox.vue +114 -0
- package/src/components/chip/acai-ui-chip-interface.ts +19 -0
- package/src/components/chip/acai-ui-chip.vue +61 -0
- package/src/components/code/acai-ui-code-interface.ts +43 -0
- package/src/components/code/acai-ui-code-styles.scss +407 -0
- package/src/components/code/acai-ui-code.vue +595 -0
- package/src/components/code/dobras-json.ts +52 -0
- package/src/components/confirm/acai-ui-confirm.vue +230 -0
- package/src/components/container/acai-ui-container-interface.ts +34 -0
- package/src/components/container/acai-ui-container-styles.scss +122 -0
- package/src/components/container/acai-ui-container.vue +140 -0
- package/src/components/date/acai-ui-date-interface.ts +18 -0
- package/src/components/date/acai-ui-date.vue +191 -0
- package/src/components/date-range/acai-ui-date-range-interface.ts +27 -0
- package/src/components/date-range/acai-ui-date-range.vue +300 -0
- package/src/components/datetime/acai-ui-datetime-interface.ts +10 -0
- package/src/components/datetime/acai-ui-datetime.vue +203 -0
- package/src/components/datetime/data-hora-styles.scss +18 -0
- package/src/components/dialog/acai-ui-dialog-interface.ts +18 -0
- package/src/components/dialog/acai-ui-dialog.vue +168 -0
- package/src/components/divider/acai-ui-divider-interface.ts +4 -0
- package/src/components/divider/acai-ui-divider-styles.scss +42 -0
- package/src/components/divider/acai-ui-divider.vue +20 -0
- package/src/components/drawer/acai-ui-drawer-interface.ts +99 -0
- package/src/components/drawer/acai-ui-drawer-styles.scss +586 -0
- package/src/components/drawer/acai-ui-drawer.vue +802 -0
- package/src/components/drawer/drawer-sidebar-helper.ts +117 -0
- package/src/components/dropdown/acai-ui-dropdown-interface.ts +41 -0
- package/src/components/dropdown/acai-ui-dropdown-item.vue +36 -0
- package/src/components/dropdown/acai-ui-dropdown-styles.scss +90 -0
- package/src/components/dropdown/acai-ui-dropdown.vue +77 -0
- package/src/components/error-log/acai-ui-error-log-interface.ts +59 -0
- package/src/components/error-log/acai-ui-error-log-json-tree.vue +426 -0
- package/src/components/error-log/acai-ui-error-log-redigir.ts +74 -0
- package/src/components/error-log/acai-ui-error-log-styles.scss +137 -0
- package/src/components/error-log/acai-ui-error-log.vue +318 -0
- package/src/components/file/acai-ui-file-interface.ts +28 -0
- package/src/components/file/acai-ui-file.vue +85 -0
- package/src/components/file/arquivo-styles.scss +109 -0
- package/src/components/form/acai-ui-form-grid.scss +145 -0
- package/src/components/form/acai-ui-form-interface.ts +37 -0
- package/src/components/form/acai-ui-form-styles.scss +159 -0
- package/src/components/form/acai-ui-form-validation-modal.vue +216 -0
- package/src/components/form/acai-ui-form.vue +410 -0
- package/src/components/help/acai-ui-help-interface.ts +200 -0
- package/src/components/help/acai-ui-help-styles.scss +209 -0
- package/src/components/help/acai-ui-help.vue +259 -0
- package/src/components/help/acai-ui-tour-styles.scss +292 -0
- package/src/components/help/acai-ui-tour.vue +766 -0
- package/src/components/help/tour-escolha.ts +139 -0
- package/src/components/help/tour-posicionar.ts +148 -0
- package/src/components/help/tour-registry.ts +177 -0
- package/src/components/help/use-tour-visto.ts +81 -0
- package/src/components/icon/acai-ui-icon-interface.ts +12 -0
- package/src/components/icon/acai-ui-icon.vue +33 -0
- package/src/components/index.ts +149 -0
- package/src/components/input/acai-ui-input-interface.ts +20 -0
- package/src/components/input/acai-ui-input.vue +146 -0
- package/src/components/modal/acai-ui-modal-interface.ts +19 -0
- package/src/components/modal/acai-ui-modal-styles.scss +131 -0
- package/src/components/modal/acai-ui-modal.vue +83 -0
- package/src/components/pagination/acai-ui-pagination-interface.ts +8 -0
- package/src/components/pagination/acai-ui-pagination.vue +36 -0
- package/src/components/preferences/acai-ui-preferences-interface.ts +4 -0
- package/src/components/preferences/acai-ui-preferences-styles.scss +387 -0
- package/src/components/preferences/acai-ui-preferences.vue +349 -0
- package/src/components/progress/acai-ui-progress-interface.ts +20 -0
- package/src/components/progress/acai-ui-progress.vue +124 -0
- package/src/components/radio/acai-ui-radio-interface.ts +14 -0
- package/src/components/radio/acai-ui-radio.vue +78 -0
- package/src/components/section/acai-ui-section-styles.scss +93 -0
- package/src/components/section/acai-ui-section.vue +134 -0
- package/src/components/select/acai-ui-select-interface.ts +18 -0
- package/src/components/select/acai-ui-select.vue +322 -0
- package/src/components/session-clock/acai-ui-session-clock.vue +111 -0
- package/src/components/stepper/acai-ui-step-interface.ts +18 -0
- package/src/components/stepper/acai-ui-step.vue +37 -0
- package/src/components/stepper/acai-ui-stepper-interface.ts +56 -0
- package/src/components/stepper/acai-ui-stepper-styles.scss +222 -0
- package/src/components/stepper/acai-ui-stepper.vue +231 -0
- package/src/components/swagger/acai-ui-swagger-interface.ts +54 -0
- package/src/components/swagger/acai-ui-swagger-operacao.vue +372 -0
- package/src/components/swagger/acai-ui-swagger-requisicao.ts +272 -0
- package/src/components/swagger/acai-ui-swagger-schema.vue +36 -0
- package/src/components/swagger/acai-ui-swagger-styles.scss +883 -0
- package/src/components/swagger/acai-ui-swagger.vue +349 -0
- package/src/components/swagger/openapi-normalizar.ts +514 -0
- package/src/components/swagger/openapi-tipos.ts +198 -0
- package/src/components/table/acai-ui-table-interface.ts +60 -0
- package/src/components/table/acai-ui-table-justificativa.vue +135 -0
- package/src/components/table/acai-ui-table-styles.scss +293 -0
- package/src/components/table/acai-ui-table.vue +340 -0
- package/src/components/tabs/acai-ui-tab.vue +10 -0
- package/src/components/tabs/acai-ui-tabs-interface.ts +48 -0
- package/src/components/tabs/acai-ui-tabs-styles.scss +78 -0
- package/src/components/tabs/acai-ui-tabs.vue +137 -0
- package/src/components/time/acai-ui-time-interface.ts +14 -0
- package/src/components/time/acai-ui-time.vue +86 -0
- package/src/components/toggle/acai-ui-toggle-interface.ts +13 -0
- package/src/components/toggle/acai-ui-toggle.vue +162 -0
- package/src/components/tooltip/acai-ui-tooltip-interface.ts +11 -0
- package/src/components/tooltip/acai-ui-tooltip-styles.scss +104 -0
- package/src/components/tooltip/acai-ui-tooltip.vue +90 -0
- package/src/components/user-menu/acai-ui-user-menu-interface.ts +13 -0
- package/src/components/user-menu/acai-ui-user-menu-styles.scss +125 -0
- package/src/components/user-menu/acai-ui-user-menu.vue +139 -0
- package/src/components/validation/acai-ui-validation.vue +236 -0
- package/src/constants/chart-paleta.ts +162 -0
- package/src/constants/efeitos.ts +24 -0
- package/src/constants/index.ts +24 -0
- package/src/constants/lista-icons.ts +156 -0
- package/src/constants/medidas-espacos.ts +15 -0
- package/src/constants/radius.ts +15 -0
- package/src/constants/status-badge.ts +44 -0
- package/src/env.d.ts +7 -0
- package/src/hooks/filtros-url-internos.ts +497 -0
- package/src/hooks/index.ts +22 -0
- package/src/hooks/notify.ts +18 -0
- package/src/hooks/use-contador-sessao.ts +95 -0
- package/src/hooks/use-filtros-na-url.ts +174 -0
- package/src/hooks/use-leitura-voz.ts +346 -0
- package/src/hooks/use-listagem-na-url.ts +614 -0
- package/src/hooks/use-preferencias.ts +152 -0
- package/src/hooks/use-repasse-quasar.ts +63 -0
- package/src/hooks/use-tamanho-elemento.ts +107 -0
- package/src/hooks/use-tela.ts +114 -0
- package/src/hooks/use-validacao-visual.ts +189 -0
- package/src/index.ts +30 -0
- package/src/plugin.ts +134 -0
- package/src/scss/_badge.scss +12 -0
- package/src/scss/_breakpoints.scss +102 -0
- package/src/scss/_color-utilities.scss +105 -0
- package/src/scss/_controls.scss +135 -0
- package/src/scss/_ds-input-base.scss +302 -0
- package/src/scss/_ds-picker-m3.scss +179 -0
- package/src/scss/_effects.scss +42 -0
- package/src/scss/_overlays.scss +13 -0
- package/src/scss/_radius.scss +24 -0
- package/src/scss/_reset.scss +60 -0
- package/src/scss/_scrollbar.scss +78 -0
- package/src/scss/_spacing.scss +15 -0
- package/src/scss/_themes.scss +493 -0
- package/src/scss/_typography.scss +50 -0
- package/src/scss/_utilities.scss +75 -0
- package/src/scss/_variables.scss +143 -0
- package/src/scss/api.scss +77 -0
- package/src/scss/tokens.scss +13 -0
- package/src/styles-global.scss +30 -0
- package/src/utils/date-utils.ts +128 -0
- package/src/utils/dialog-utils.ts +59 -0
- package/src/utils/file-utils.ts +85 -0
- package/src/utils/filtro-input.ts +41 -0
- package/src/utils/form-rules.ts +202 -0
- package/src/utils/formatadores.ts +97 -0
- package/src/utils/gerador-id.ts +29 -0
- package/src/utils/hint-mensagem.ts +25 -0
- package/src/utils/index.ts +32 -0
- package/src/utils/limpar-campos.ts +94 -0
- package/src/utils/masks.ts +19 -0
- package/src/utils/medidas-util.ts +5 -0
- package/src/utils/normalizar-label.ts +9 -0
- package/src/utils/scroll-elemento.ts +34 -0
- package/src/utils/validar-campo.ts +27 -0
- package/src/utils/validar-documentos.ts +86 -0
- package/src/utils/vnode-slot.ts +74 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const CONTAINER_SCROLL_PADRAO = ".q-page.container-page";
|
|
2
|
+
function scrollParaElemento(elemento, containerSeletor = CONTAINER_SCROLL_PADRAO, comportamento = "smooth") {
|
|
3
|
+
const container = document.querySelector(containerSeletor);
|
|
4
|
+
if (container) {
|
|
5
|
+
const containerRect = container.getBoundingClientRect();
|
|
6
|
+
const alvoRect = elemento.getBoundingClientRect();
|
|
7
|
+
const offsetTop = alvoRect.top - containerRect.top + container.scrollTop;
|
|
8
|
+
const centroVertical = offsetTop - containerRect.height / 2 + alvoRect.height / 2;
|
|
9
|
+
container.scrollTo({ top: Math.max(0, centroVertical), behavior: comportamento });
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
elemento.scrollIntoView({ behavior: comportamento, block: "center" });
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
CONTAINER_SCROLL_PADRAO,
|
|
16
|
+
scrollParaElemento
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=index179.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index179.mjs","sources":["../src/utils/scroll-elemento.ts"],"sourcesContent":["/**\n * Rola até um elemento respeitando o container de scroll do layout.\n *\n * Util INTERNO — de propósito fora do barrel `utils/index.ts`, pra não crescer\n * a API pública da lib sem pedido concreto.\n *\n * O detalhe que justifica o arquivo: nos projetos gerados pelo CLI o scroll\n * NÃO está no `<body>` (`html, body { overflow: hidden }` no `app.scss`, pra o\n * header e o drawer ficarem fixos) e sim no `.q-page.container-page`. Um\n * `scrollIntoView` cru não move nada nesse arranjo, então centralizamos no\n * container quando ele existe e só caímos no nativo quando não existe.\n */\n\n/** Onde o scroll realmente acontece nos layouts da lib. */\nexport const CONTAINER_SCROLL_PADRAO = '.q-page.container-page'\n\nexport function scrollParaElemento(\n elemento: Element,\n containerSeletor: string = CONTAINER_SCROLL_PADRAO,\n comportamento: ScrollBehavior = 'smooth',\n): void {\n const container = document.querySelector(containerSeletor)\n\n if (container) {\n const containerRect = container.getBoundingClientRect()\n const alvoRect = elemento.getBoundingClientRect()\n const offsetTop = alvoRect.top - containerRect.top + container.scrollTop\n const centroVertical = offsetTop - containerRect.height / 2 + alvoRect.height / 2\n container.scrollTo({ top: Math.max(0, centroVertical), behavior: comportamento })\n return\n }\n\n elemento.scrollIntoView({ behavior: comportamento, block: 'center' })\n}\n"],"names":[],"mappings":"AAcO,MAAM,0BAA0B;AAEhC,SAAS,mBACd,UACA,mBAA2B,yBAC3B,gBAAgC,UAC1B;AACN,QAAM,YAAY,SAAS,cAAc,gBAAgB;AAEzD,MAAI,WAAW;AACb,UAAM,gBAAgB,UAAU,sBAAA;AAChC,UAAM,WAAW,SAAS,sBAAA;AAC1B,UAAM,YAAY,SAAS,MAAM,cAAc,MAAM,UAAU;AAC/D,UAAM,iBAAiB,YAAY,cAAc,SAAS,IAAI,SAAS,SAAS;AAChF,cAAU,SAAS,EAAE,KAAK,KAAK,IAAI,GAAG,cAAc,GAAG,UAAU,eAAe;AAChF;AAAA,EACF;AAEA,WAAS,eAAe,EAAE,UAAU,eAAe,OAAO,UAAU;AACtE;"}
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const vue = require("vue");
|
|
4
|
+
const SEPARADOR = ".";
|
|
5
|
+
const INVALIDO = Symbol("invalido");
|
|
6
|
+
function ehObjetoSimples(valor) {
|
|
7
|
+
return valor !== null && typeof valor === "object" && !Array.isArray(valor) && !(valor instanceof Date);
|
|
8
|
+
}
|
|
9
|
+
function descritorDeclarado(tipo) {
|
|
10
|
+
const ehArray = tipo.endsWith("[]");
|
|
11
|
+
return { escalar: ehArray ? tipo.slice(0, -2) : tipo, ehArray };
|
|
12
|
+
}
|
|
13
|
+
function escalarDoValor(valor) {
|
|
14
|
+
if (typeof valor === "number") return "number";
|
|
15
|
+
if (typeof valor === "boolean") return "boolean";
|
|
16
|
+
if (valor instanceof Date) return "date";
|
|
17
|
+
return "string";
|
|
18
|
+
}
|
|
19
|
+
function descritorDoValor(valor) {
|
|
20
|
+
if (Array.isArray(valor)) {
|
|
21
|
+
return { escalar: valor.length > 0 ? escalarDoValor(valor[0]) : "string", ehArray: true };
|
|
22
|
+
}
|
|
23
|
+
return { escalar: escalarDoValor(valor), ehArray: false };
|
|
24
|
+
}
|
|
25
|
+
function coagirEscalar(texto, escalar) {
|
|
26
|
+
if (escalar === "number") {
|
|
27
|
+
const numero = Number(texto);
|
|
28
|
+
return texto.trim() !== "" && Number.isFinite(numero) ? numero : INVALIDO;
|
|
29
|
+
}
|
|
30
|
+
if (escalar === "boolean") {
|
|
31
|
+
if (texto === "true") return true;
|
|
32
|
+
if (texto === "false") return false;
|
|
33
|
+
return INVALIDO;
|
|
34
|
+
}
|
|
35
|
+
if (escalar === "date") {
|
|
36
|
+
const data = new Date(texto);
|
|
37
|
+
return Number.isNaN(data.getTime()) ? INVALIDO : data;
|
|
38
|
+
}
|
|
39
|
+
return texto;
|
|
40
|
+
}
|
|
41
|
+
function coagir(brutos, descritor) {
|
|
42
|
+
if (descritor.ehArray) {
|
|
43
|
+
const itens = brutos.map((bruto) => coagirEscalar(bruto, descritor.escalar)).filter((item) => item !== INVALIDO);
|
|
44
|
+
return itens.length > 0 ? itens : INVALIDO;
|
|
45
|
+
}
|
|
46
|
+
const primeiro = brutos[0];
|
|
47
|
+
return primeiro === void 0 ? INVALIDO : coagirEscalar(primeiro, descritor.escalar);
|
|
48
|
+
}
|
|
49
|
+
function ehInvalido(valor) {
|
|
50
|
+
return valor === INVALIDO;
|
|
51
|
+
}
|
|
52
|
+
function paraTexto(valor) {
|
|
53
|
+
if (valor === null || valor === void 0 || valor === "") return null;
|
|
54
|
+
if (valor instanceof Date) return Number.isNaN(valor.getTime()) ? null : valor.toISOString();
|
|
55
|
+
if (typeof valor === "string") return valor;
|
|
56
|
+
if (typeof valor === "number") return Number.isFinite(valor) ? String(valor) : null;
|
|
57
|
+
if (typeof valor === "boolean") return String(valor);
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
function estaVazio(valor) {
|
|
61
|
+
if (valor === null || valor === void 0 || valor === "") return true;
|
|
62
|
+
if (Array.isArray(valor)) {
|
|
63
|
+
return valor.every((item) => item === null || item === void 0 || item === "");
|
|
64
|
+
}
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
function igualAoMolde(valor, molde) {
|
|
68
|
+
if (valor instanceof Date && molde instanceof Date) return valor.getTime() === molde.getTime();
|
|
69
|
+
if (Array.isArray(valor) && Array.isArray(molde)) {
|
|
70
|
+
return valor.length === molde.length && valor.every((item, i) => item === molde[i]);
|
|
71
|
+
}
|
|
72
|
+
return valor === molde;
|
|
73
|
+
}
|
|
74
|
+
function clonarMolde(origem) {
|
|
75
|
+
const saida = {};
|
|
76
|
+
for (const [chave, valor] of Object.entries(origem)) {
|
|
77
|
+
if (Array.isArray(valor)) saida[chave] = [...valor];
|
|
78
|
+
else if (valor instanceof Date) saida[chave] = new Date(valor.getTime());
|
|
79
|
+
else if (ehObjetoSimples(valor)) saida[chave] = { ...valor };
|
|
80
|
+
else saida[chave] = valor;
|
|
81
|
+
}
|
|
82
|
+
return saida;
|
|
83
|
+
}
|
|
84
|
+
function lerEm(alvo, caminho) {
|
|
85
|
+
if (!alvo) return void 0;
|
|
86
|
+
const partes = caminho.split(SEPARADOR);
|
|
87
|
+
const raiz = alvo[partes[0]];
|
|
88
|
+
if (partes.length === 1) return raiz;
|
|
89
|
+
return ehObjetoSimples(raiz) ? raiz[partes[1]] : void 0;
|
|
90
|
+
}
|
|
91
|
+
function ehRouterCompativel(alvo) {
|
|
92
|
+
if (!alvo || typeof alvo !== "object") return false;
|
|
93
|
+
const candidato = alvo;
|
|
94
|
+
return typeof candidato.replace === "function" && !!candidato.currentRoute;
|
|
95
|
+
}
|
|
96
|
+
function paramsParaQuery(params) {
|
|
97
|
+
const query = {};
|
|
98
|
+
for (const chave of new Set(params.keys())) {
|
|
99
|
+
const valores = params.getAll(chave);
|
|
100
|
+
query[chave] = valores.length > 1 ? valores : valores[0];
|
|
101
|
+
}
|
|
102
|
+
return query;
|
|
103
|
+
}
|
|
104
|
+
function criarAdaptador() {
|
|
105
|
+
var _a;
|
|
106
|
+
const router = (_a = vue.getCurrentInstance()) == null ? void 0 : _a.appContext.config.globalProperties.$router;
|
|
107
|
+
if (ehRouterCompativel(router)) {
|
|
108
|
+
return {
|
|
109
|
+
ler: () => {
|
|
110
|
+
const params = new URLSearchParams();
|
|
111
|
+
for (const [chave, valor] of Object.entries(router.currentRoute.value.query)) {
|
|
112
|
+
if (Array.isArray(valor)) {
|
|
113
|
+
for (const item of valor) if (item != null) params.append(chave, String(item));
|
|
114
|
+
} else if (valor != null) {
|
|
115
|
+
params.append(chave, String(valor));
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return params;
|
|
119
|
+
},
|
|
120
|
+
gravar: (params, modo) => {
|
|
121
|
+
const navegar = modo === "push" && router.push ? router.push : router.replace;
|
|
122
|
+
void Promise.resolve(navegar.call(router, { query: paramsParaQuery(params) })).catch(() => {
|
|
123
|
+
});
|
|
124
|
+
},
|
|
125
|
+
rota: () => router.currentRoute.value.path ?? "",
|
|
126
|
+
// `currentRoute` é um ref do vue-router: dá pra observar sem importar a
|
|
127
|
+
// biblioteca. Cobre voltar/avançar, link colado e edição na barra — tudo
|
|
128
|
+
// que muda a URL sem passar pelo hook.
|
|
129
|
+
observar: (aoMudar) => vue.watch(() => router.currentRoute.value.query, aoMudar, { deep: true })
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
if (typeof window === "undefined") {
|
|
133
|
+
return { ler: () => new URLSearchParams(), gravar: () => void 0, rota: () => "" };
|
|
134
|
+
}
|
|
135
|
+
return {
|
|
136
|
+
ler: () => new URLSearchParams(window.location.search),
|
|
137
|
+
gravar: (params, modo) => {
|
|
138
|
+
const busca = params.toString();
|
|
139
|
+
const destino = `${window.location.pathname}${busca ? `?${busca}` : ""}${window.location.hash}`;
|
|
140
|
+
if (modo === "push") window.history.pushState(window.history.state, "", destino);
|
|
141
|
+
else window.history.replaceState(window.history.state, "", destino);
|
|
142
|
+
},
|
|
143
|
+
rota: () => window.location.pathname,
|
|
144
|
+
observar: (aoMudar) => {
|
|
145
|
+
window.addEventListener("popstate", aoMudar);
|
|
146
|
+
return () => window.removeEventListener("popstate", aoMudar);
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
function criarMapa(molde, opcoes = {}) {
|
|
151
|
+
const { excluir = [], tipos = {}, prefixo = "" } = opcoes;
|
|
152
|
+
const excluidas = new Set(excluir);
|
|
153
|
+
const moldeBruto = molde;
|
|
154
|
+
const estaExcluido = (caminho) => excluidas.has(caminho) || excluidas.has(caminho.split(SEPARADOR)[0]);
|
|
155
|
+
const caminhos = (() => {
|
|
156
|
+
const encontrados = [];
|
|
157
|
+
for (const [chave, valor] of Object.entries(molde)) {
|
|
158
|
+
if (!ehObjetoSimples(valor)) {
|
|
159
|
+
encontrados.push(chave);
|
|
160
|
+
continue;
|
|
161
|
+
}
|
|
162
|
+
for (const [sub, subValor] of Object.entries(valor)) {
|
|
163
|
+
if (ehObjetoSimples(subValor)) {
|
|
164
|
+
continue;
|
|
165
|
+
}
|
|
166
|
+
encontrados.push(`${chave}${SEPARADOR}${sub}`);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
for (const declarado of Object.keys(tipos)) {
|
|
170
|
+
if (!encontrados.includes(declarado)) encontrados.push(declarado);
|
|
171
|
+
}
|
|
172
|
+
return encontrados.filter((caminho) => !estaExcluido(caminho));
|
|
173
|
+
})();
|
|
174
|
+
return {
|
|
175
|
+
caminhos,
|
|
176
|
+
molde,
|
|
177
|
+
naUrl: (caminho) => `${prefixo}${caminho}`,
|
|
178
|
+
removerExcluidas: (params) => {
|
|
179
|
+
for (const excluida of excluidas) {
|
|
180
|
+
const alvo = `${prefixo}${excluida}`;
|
|
181
|
+
for (const chave of [...new Set(params.keys())]) {
|
|
182
|
+
if (chave === alvo || chave.startsWith(`${alvo}${SEPARADOR}`)) params.delete(chave);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
descritorDe: (caminho) => {
|
|
187
|
+
const declarado = tipos[caminho];
|
|
188
|
+
return declarado ? descritorDeclarado(declarado) : descritorDoValor(lerEm(moldeBruto, caminho));
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
function lerDaUrl(mapa, params, atual) {
|
|
193
|
+
const alteracoes = {};
|
|
194
|
+
const aninhados = /* @__PURE__ */ new Map();
|
|
195
|
+
for (const caminho of mapa.caminhos) {
|
|
196
|
+
const brutos = params.getAll(mapa.naUrl(caminho));
|
|
197
|
+
if (brutos.length === 0) continue;
|
|
198
|
+
const valor = coagir(brutos, mapa.descritorDe(caminho));
|
|
199
|
+
if (ehInvalido(valor)) continue;
|
|
200
|
+
const partes = caminho.split(SEPARADOR);
|
|
201
|
+
if (partes.length === 1) {
|
|
202
|
+
alteracoes[partes[0]] = valor;
|
|
203
|
+
continue;
|
|
204
|
+
}
|
|
205
|
+
const raiz = partes[0];
|
|
206
|
+
let patch = aninhados.get(raiz);
|
|
207
|
+
if (!patch) {
|
|
208
|
+
const valorAtual = atual[raiz];
|
|
209
|
+
patch = ehObjetoSimples(valorAtual) ? { ...valorAtual } : {};
|
|
210
|
+
aninhados.set(raiz, patch);
|
|
211
|
+
}
|
|
212
|
+
patch[partes[1]] = valor;
|
|
213
|
+
}
|
|
214
|
+
for (const [raiz, patch] of aninhados) alteracoes[raiz] = patch;
|
|
215
|
+
return alteracoes;
|
|
216
|
+
}
|
|
217
|
+
function escreverNaUrl(mapa, base, estado) {
|
|
218
|
+
const params = new URLSearchParams(base);
|
|
219
|
+
for (const caminho of mapa.caminhos) params.delete(mapa.naUrl(caminho));
|
|
220
|
+
const moldeBruto = mapa.molde;
|
|
221
|
+
for (const caminho of mapa.caminhos) {
|
|
222
|
+
const valor = lerEm(estado, caminho);
|
|
223
|
+
if (estaVazio(valor)) continue;
|
|
224
|
+
if (igualAoMolde(valor, lerEm(moldeBruto, caminho))) continue;
|
|
225
|
+
if (Array.isArray(valor)) {
|
|
226
|
+
for (const item of valor) {
|
|
227
|
+
const texto2 = paraTexto(item);
|
|
228
|
+
if (texto2 !== null) params.append(mapa.naUrl(caminho), texto2);
|
|
229
|
+
}
|
|
230
|
+
continue;
|
|
231
|
+
}
|
|
232
|
+
if (ehObjetoSimples(valor)) {
|
|
233
|
+
continue;
|
|
234
|
+
}
|
|
235
|
+
const texto = paraTexto(valor);
|
|
236
|
+
if (texto !== null) params.append(mapa.naUrl(caminho), texto);
|
|
237
|
+
}
|
|
238
|
+
return params;
|
|
239
|
+
}
|
|
240
|
+
function assinatura(mapa, params) {
|
|
241
|
+
const pares = [];
|
|
242
|
+
for (const caminho of mapa.caminhos) {
|
|
243
|
+
const chave = mapa.naUrl(caminho);
|
|
244
|
+
for (const valor of params.getAll(chave)) pares.push(`${chave}=${valor}`);
|
|
245
|
+
}
|
|
246
|
+
return pares.sort().join("&");
|
|
247
|
+
}
|
|
248
|
+
exports.SEPARADOR = SEPARADOR;
|
|
249
|
+
exports.assinatura = assinatura;
|
|
250
|
+
exports.clonarMolde = clonarMolde;
|
|
251
|
+
exports.coagir = coagir;
|
|
252
|
+
exports.criarAdaptador = criarAdaptador;
|
|
253
|
+
exports.criarMapa = criarMapa;
|
|
254
|
+
exports.ehInvalido = ehInvalido;
|
|
255
|
+
exports.ehObjetoSimples = ehObjetoSimples;
|
|
256
|
+
exports.escreverNaUrl = escreverNaUrl;
|
|
257
|
+
exports.estaVazio = estaVazio;
|
|
258
|
+
exports.igualAoMolde = igualAoMolde;
|
|
259
|
+
exports.lerDaUrl = lerDaUrl;
|
|
260
|
+
exports.lerEm = lerEm;
|
|
261
|
+
exports.paraTexto = paraTexto;
|
|
262
|
+
//# sourceMappingURL=index180.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index180.cjs","sources":["../src/hooks/filtros-url-internos.ts"],"sourcesContent":["// Núcleo compartilhado de filtros na query string.\n//\n// Interno: NÃO é exportado no index da lib. Existe porque `useFiltrosNaUrl` e\n// `useListagemNaUrl` precisam da MESMA regra de serialização — se cada um\n// tivesse a sua, o link gerado por uma tela não abriria na outra, e a diferença\n// só apareceria em produção.\n//\n// O que mora aqui é a parte PURA (molde → caminhos → texto → volta) mais o\n// adaptador de URL. Política (quando gravar, o que disparar) fica em cada hook.\n\nimport { getCurrentInstance, watch } from 'vue'\n\n/** Tipos que sobrevivem a uma query string. Sufixo `[]` = chave repetida. */\nexport type TipoFiltroUrl =\n | 'string'\n | 'number'\n | 'boolean'\n | 'date'\n | 'string[]'\n | 'number[]'\n | 'boolean[]'\n | 'date[]'\n\n/**\n * Separador do caminho aninhado: `?periodo.from=2026-01-01`.\n *\n * Ponto, e não junção camelCase (`periodoFrom`), por dois motivos: é legal em\n * query string sem escapar, e não corre o risco de colidir com um campo que se\n * chame de verdade `periodoFrom`. Ler a URL também mostra a estrutura.\n */\nexport const SEPARADOR = '.'\n\ntype TipoEscalar = 'string' | 'number' | 'boolean' | 'date'\n\ninterface Descritor {\n escalar: TipoEscalar\n ehArray: boolean\n}\n\n/** Marcador de \"não deu pra converter\" — distinto de `null`, que é valor válido. */\nconst INVALIDO = Symbol('invalido')\n\nexport function ehObjetoSimples(valor: unknown): valor is Record<string, unknown> {\n return (\n valor !== null && typeof valor === 'object' && !Array.isArray(valor) && !(valor instanceof Date)\n )\n}\n\nfunction descritorDeclarado(tipo: TipoFiltroUrl): Descritor {\n const ehArray = tipo.endsWith('[]')\n return { escalar: (ehArray ? tipo.slice(0, -2) : tipo) as TipoEscalar, ehArray }\n}\n\nfunction escalarDoValor(valor: unknown): TipoEscalar {\n if (typeof valor === 'number') return 'number'\n if (typeof valor === 'boolean') return 'boolean'\n if (valor instanceof Date) return 'date'\n // Também o caso de `null`/`undefined`: não há tipo a inferir, e string é o que\n // menos estraga. Quem precisa do tipo certo declara em `tipos`.\n return 'string'\n}\n\nfunction descritorDoValor(valor: unknown): Descritor {\n if (Array.isArray(valor)) {\n // Array vazio não tem elemento pra amostrar — os itens ficam string. A\n // requisição sai igual (`ids=1&ids=2`, o backend converte); só o tipo em TS\n // fica otimista. `tipos: { ids: 'number[]' }` resolve.\n return { escalar: valor.length > 0 ? escalarDoValor(valor[0]) : 'string', ehArray: true }\n }\n return { escalar: escalarDoValor(valor), ehArray: false }\n}\n\n/**\n * Converte o texto da URL para o tipo resolvido.\n *\n * ⚠️ Nunca \"converter se parecer número\": matrícula, CEP e protocolo têm zero à\n * esquerda, e `'00123'` viraria `123`. A conversão só acontece quando o tipo diz\n * que aquele campo é número.\n */\nfunction coagirEscalar(texto: string, escalar: TipoEscalar): unknown {\n if (escalar === 'number') {\n const numero = Number(texto)\n return texto.trim() !== '' && Number.isFinite(numero) ? numero : INVALIDO\n }\n if (escalar === 'boolean') {\n if (texto === 'true') return true\n if (texto === 'false') return false\n return INVALIDO\n }\n if (escalar === 'date') {\n const data = new Date(texto)\n return Number.isNaN(data.getTime()) ? INVALIDO : data\n }\n return texto\n}\n\nexport function coagir(brutos: string[], descritor: Descritor): unknown {\n if (descritor.ehArray) {\n const itens = brutos\n .map((bruto) => coagirEscalar(bruto, descritor.escalar))\n .filter((item) => item !== INVALIDO)\n return itens.length > 0 ? itens : INVALIDO\n }\n const primeiro = brutos[0]\n return primeiro === undefined ? INVALIDO : coagirEscalar(primeiro, descritor.escalar)\n}\n\nexport function ehInvalido(valor: unknown): boolean {\n return valor === INVALIDO\n}\n\n/** Valor do filtro → texto da URL. `null` significa \"não vai pra URL\". */\nexport function paraTexto(valor: unknown): string | null {\n if (valor === null || valor === undefined || valor === '') return null\n if (valor instanceof Date) return Number.isNaN(valor.getTime()) ? null : valor.toISOString()\n if (typeof valor === 'string') return valor\n if (typeof valor === 'number') return Number.isFinite(valor) ? String(valor) : null\n if (typeof valor === 'boolean') return String(valor)\n return null\n}\n\n/**\n * Mesma regra de \"vazio\" do `limparCamposVazios`: `''`, `null`, `undefined` e\n * array sem item aproveitável ficam fora. `false` e `0` são valores de verdade e\n * entram.\n *\n * ⚠️ Escrito à mão em vez de chamar o `limparCamposVazios`, que era o óbvio: ele\n * trata `Date` como objeto aninhado, e como `Date` não tem chave própria\n * enumerável, o `Object.keys({}).length === 0` DERRUBA o campo. Um filtro de data\n * desaparecia da URL sem aviso. Aqui `Date` é valor escalar.\n */\nexport function estaVazio(valor: unknown): boolean {\n if (valor === null || valor === undefined || valor === '') return true\n if (Array.isArray(valor)) {\n return valor.every((item) => item === null || item === undefined || item === '')\n }\n return false\n}\n\n/**\n * O valor está no default do molde?\n *\n * Vale como \"vazio\" pra efeito de URL: se o campo está do jeito que nasceu, não\n * há nada a lembrar. Sem isso, uma listagem recém-aberta já escreve\n * `?page=0&size=10&somenteAtivos=false` — a URL vira ruído antes de a pessoa\n * pesquisar.\n *\n * Não se perde informação: chave ausente na URL cai no molde na hidratação, que\n * é exatamente o mesmo valor.\n */\nexport function igualAoMolde(valor: unknown, molde: unknown): boolean {\n if (valor instanceof Date && molde instanceof Date) return valor.getTime() === molde.getTime()\n if (Array.isArray(valor) && Array.isArray(molde)) {\n return valor.length === molde.length && valor.every((item, i) => item === molde[i])\n }\n return valor === molde\n}\n\nconst avisados = new Set<string>()\n\n/** Só um nível de aninhamento tem serialização honesta em query string. */\nexport function avisarNaoSuportado(caminho: string, motivo: string): void {\n if (!import.meta.env.DEV || avisados.has(caminho)) return\n avisados.add(caminho)\n console.warn(\n `[acai-ui] filtros na URL: o filtro \"${caminho}\" ${motivo} e não vai pra URL. ` +\n 'Achate o campo, declare em `tipos`, ou use `excluir` pra silenciar este aviso.',\n )\n}\n\n/**\n * Cópia que preserva o TIPO de cada campo, um nível adentro.\n *\n * Existe porque o molde é lido no `setup` e consultado depois: guardar a\n * referência viva faria o molde mudar junto com o filtro, e a conversão passaria\n * a se basear no que o usuário digitou em vez do valor inicial.\n */\nexport function clonarMolde<T extends object>(origem: T): T {\n const saida: Record<string, unknown> = {}\n for (const [chave, valor] of Object.entries(origem)) {\n if (Array.isArray(valor)) saida[chave] = [...valor]\n else if (valor instanceof Date) saida[chave] = new Date(valor.getTime())\n else if (ehObjetoSimples(valor)) saida[chave] = { ...valor }\n else saida[chave] = valor\n }\n return saida as T\n}\n\n/** Lê `periodo.from` (ou `nome`) de um objeto. Um nível só. */\nexport function lerEm(alvo: Record<string, unknown> | undefined, caminho: string): unknown {\n if (!alvo) return undefined\n const partes = caminho.split(SEPARADOR)\n const raiz = alvo[partes[0] as string]\n if (partes.length === 1) return raiz\n return ehObjetoSimples(raiz) ? raiz[partes[1] as string] : undefined\n}\n\n/** Contrato mínimo de leitura/escrita de URL. Duas implementações abaixo. */\nexport interface AdaptadorUrl {\n ler: () => URLSearchParams\n /** `push` cria entrada no histórico; `replace` substitui a atual. */\n gravar: (params: URLSearchParams, modo: 'push' | 'replace') => void\n /** Caminho da rota, sem query. É a chave do cache por tela. */\n rota: () => string\n /**\n * Avisa quando a URL muda POR FORA (voltar/avançar, link, edição na barra).\n * Devolve o desinscrito. Ausente onde não há como observar.\n */\n observar?: (aoMudar: () => void) => () => void\n}\n\n/**\n * Shape do `$router` do vue-router que a gente usa. Declarado à mão porque a lib\n * **não depende de vue-router** — ela apenas o aproveita quando ele existe.\n */\ninterface RouterCompativel {\n /** Opcional de propósito — ver `ehRouterCompativel`. */\n push?: (destino: { query: Record<string, string | string[]> }) => Promise<unknown> | unknown\n replace: (destino: { query: Record<string, string | string[]> }) => Promise<unknown> | unknown\n currentRoute: { value: { query: Record<string, unknown>; path?: string } }\n}\n\n/**\n * `replace` + `currentRoute` bastam. `push` NÃO entra no teste: exigi-lo aqui\n * derrubaria pro History qualquer shim de router que só implemente o que a lib\n * usava até então — e cair no History por trás de um router deixa o\n * `route.query` desatualizado, que é o pior desfecho possível. Sem `push`, o\n * `gravar` degrada pra `replace` (perde histórico, mantém a URL correta).\n */\nfunction ehRouterCompativel(alvo: unknown): alvo is RouterCompativel {\n if (!alvo || typeof alvo !== 'object') return false\n const candidato = alvo as Partial<RouterCompativel>\n return typeof candidato.replace === 'function' && !!candidato.currentRoute\n}\n\n/** `URLSearchParams` → o formato de query do vue-router (repetida vira array). */\nfunction paramsParaQuery(params: URLSearchParams): Record<string, string | string[]> {\n const query: Record<string, string | string[]> = {}\n for (const chave of new Set(params.keys())) {\n const valores = params.getAll(chave)\n query[chave] = valores.length > 1 ? valores : (valores[0] as string)\n }\n return query\n}\n\n/**\n * Descobre como mexer na URL.\n *\n * 🔴 Por que NÃO importar vue-router: a lib é agnóstica dele de propósito (quem\n * usa só chip e input não pode ganhar peer dep). E por que não mexer direto no\n * History quando ele existe: `history.replaceState` por trás do router deixa o\n * `route.query` DESATUALIZADO — a URL diz uma coisa e a rota reativa diz outra,\n * sem erro nenhum. Então: se o app instalou vue-router, `$router` está em\n * `globalProperties` e a gente usa o dele. Se não, cai no History, onde não há\n * router pra desincronizar.\n */\nexport function criarAdaptador(): AdaptadorUrl {\n const router = getCurrentInstance()?.appContext.config.globalProperties.$router\n\n if (ehRouterCompativel(router)) {\n return {\n ler: () => {\n const params = new URLSearchParams()\n for (const [chave, valor] of Object.entries(router.currentRoute.value.query)) {\n if (Array.isArray(valor)) {\n for (const item of valor) if (item != null) params.append(chave, String(item))\n } else if (valor != null) {\n params.append(chave, String(valor))\n }\n }\n return params\n },\n gravar: (params, modo) => {\n const navegar = modo === 'push' && router.push ? router.push : router.replace\n void Promise.resolve(navegar.call(router, { query: paramsParaQuery(params) })).catch(() => {\n // Navegação redundante (mesma query) não é erro — só não fazer nada.\n })\n },\n rota: () => router.currentRoute.value.path ?? '',\n // `currentRoute` é um ref do vue-router: dá pra observar sem importar a\n // biblioteca. Cobre voltar/avançar, link colado e edição na barra — tudo\n // que muda a URL sem passar pelo hook.\n observar: (aoMudar) => watch(() => router.currentRoute.value.query, aoMudar, { deep: true }),\n }\n }\n\n // ⚠️ Este ramo NÃO é o caminho do SSR de app real. A checagem do router vem\n // antes, e no servidor o router existe — então app com vue-router (que é o\n // caso de todos os consumidores) cai lá em cima, e cai certo: `ler()` e\n // `rota()` do router funcionam no servidor e são o que permite o formulário\n // renderizar já preenchido com os filtros da URL.\n //\n // O que NÃO pode acontecer no servidor é buscar e mexer em cache de módulo —\n // e isso é barrado no `useListagemNaUrl`, não aqui. Ver `noServidor()` lá.\n //\n // Aqui é o fallback de ambiente sem window NEM router: teste de nó puro, ou\n // consumidor que usa o hook sem router instalado.\n if (typeof window === 'undefined') {\n return { ler: () => new URLSearchParams(), gravar: () => undefined, rota: () => '' }\n }\n\n return {\n ler: () => new URLSearchParams(window.location.search),\n gravar: (params, modo) => {\n const busca = params.toString()\n const destino = `${window.location.pathname}${busca ? `?${busca}` : ''}${window.location.hash}`\n if (modo === 'push') window.history.pushState(window.history.state, '', destino)\n else window.history.replaceState(window.history.state, '', destino)\n },\n rota: () => window.location.pathname,\n observar: (aoMudar) => {\n window.addEventListener('popstate', aoMudar)\n return () => window.removeEventListener('popstate', aoMudar)\n },\n }\n}\n\nexport interface OpcoesMapa {\n excluir?: readonly string[]\n tipos?: Readonly<Record<string, TipoFiltroUrl>>\n prefixo?: string\n}\n\n/**\n * Mapa de um molde: quais caminhos este hook governa e como converter cada um.\n *\n * Governar é tudo: caminho fora daqui não é lido nem escrito — sem isso a URL\n * viraria vetor de injeção (`?size=99999` descendo direto pro `executar()`).\n */\nexport interface MapaFiltros<T extends object> {\n caminhos: string[]\n molde: T\n naUrl: (caminho: string) => string\n descritorDe: (caminho: string) => Descritor\n /**\n * Remove da query as chaves marcadas em `excluir`.\n *\n * Não é o mesmo que \"não escrever\": aqui a chave é APAGADA mesmo que tenha\n * chegado de fora. `excluir` marca dado pessoal, e uma chave dessas colada à\n * mão na barra de endereço não pode sobreviver à primeira pesquisa — com\n * `push`, ela seria copiada pra toda entrada seguinte do histórico.\n */\n removerExcluidas: (params: URLSearchParams) => void\n}\n\nexport function criarMapa<T extends object>(molde: T, opcoes: OpcoesMapa = {}): MapaFiltros<T> {\n const { excluir = [], tipos = {}, prefixo = '' } = opcoes\n const excluidas = new Set(excluir)\n const moldeBruto = molde as Record<string, unknown>\n\n const estaExcluido = (caminho: string): boolean =>\n excluidas.has(caminho) || excluidas.has(caminho.split(SEPARADOR)[0] as string)\n\n const caminhos = (() => {\n const encontrados: string[] = []\n\n for (const [chave, valor] of Object.entries(molde)) {\n if (!ehObjetoSimples(valor)) {\n encontrados.push(chave)\n continue\n }\n for (const [sub, subValor] of Object.entries(valor)) {\n if (ehObjetoSimples(subValor)) {\n avisarNaoSuportado(`${chave}${SEPARADOR}${sub}`, 'tem dois níveis de aninhamento')\n continue\n }\n encontrados.push(`${chave}${SEPARADOR}${sub}`)\n }\n }\n\n // Declarado em `tipos` mas ausente do molde: entra. É o caso do campo que\n // nasce `null` sem forma (um `periodo: null` de date-range, por exemplo).\n for (const declarado of Object.keys(tipos)) {\n if (!encontrados.includes(declarado)) encontrados.push(declarado)\n }\n\n return encontrados.filter((caminho) => !estaExcluido(caminho))\n })()\n\n return {\n caminhos,\n molde,\n naUrl: (caminho) => `${prefixo}${caminho}`,\n removerExcluidas: (params) => {\n for (const excluida of excluidas) {\n // A chave excluída pode ser a raiz (`periodo`) de folhas que estão na\n // URL como `periodo.from` — daí varrer por prefixo, e não só igualdade.\n const alvo = `${prefixo}${excluida}`\n for (const chave of [...new Set(params.keys())]) {\n if (chave === alvo || chave.startsWith(`${alvo}${SEPARADOR}`)) params.delete(chave)\n }\n }\n },\n descritorDe: (caminho) => {\n const declarado = tipos[caminho]\n return declarado ? descritorDeclarado(declarado) : descritorDoValor(lerEm(moldeBruto, caminho))\n },\n }\n}\n\n/**\n * Lê os caminhos governados de uma query. Devolve só o que a URL trouxe — chave\n * ausente NÃO vira `undefined` no patch, senão hidratar apagaria o que já estava.\n */\nexport function lerDaUrl<T extends object>(\n mapa: MapaFiltros<T>,\n params: URLSearchParams,\n atual: Record<string, unknown>,\n): Record<string, unknown> {\n const alteracoes: Record<string, unknown> = {}\n // Patches por chave-raiz: hidratar `periodo.from` não pode apagar o `to` que\n // já estava no filtro.\n const aninhados = new Map<string, Record<string, unknown>>()\n\n for (const caminho of mapa.caminhos) {\n const brutos = params.getAll(mapa.naUrl(caminho))\n if (brutos.length === 0) continue\n\n const valor = coagir(brutos, mapa.descritorDe(caminho))\n if (ehInvalido(valor)) continue\n\n const partes = caminho.split(SEPARADOR)\n if (partes.length === 1) {\n alteracoes[partes[0] as string] = valor\n continue\n }\n\n const raiz = partes[0] as string\n let patch = aninhados.get(raiz)\n if (!patch) {\n const valorAtual = atual[raiz]\n patch = ehObjetoSimples(valorAtual) ? { ...valorAtual } : {}\n aninhados.set(raiz, patch)\n }\n patch[partes[1] as string] = valor\n }\n\n for (const [raiz, patch] of aninhados) alteracoes[raiz] = patch\n return alteracoes\n}\n\n/**\n * Estado dos filtros → `URLSearchParams`, partindo da query ATUAL para não\n * apagar chave alheia (`?aba=2` de outro componente na mesma rota).\n */\nexport function escreverNaUrl<T extends object>(\n mapa: MapaFiltros<T>,\n base: URLSearchParams,\n estado: Record<string, unknown>,\n): URLSearchParams {\n const params = new URLSearchParams(base)\n for (const caminho of mapa.caminhos) params.delete(mapa.naUrl(caminho))\n\n const moldeBruto = mapa.molde as Record<string, unknown>\n\n for (const caminho of mapa.caminhos) {\n const valor = lerEm(estado, caminho)\n // Mesma regra do payload: campo vazio não viaja.\n if (estaVazio(valor)) continue\n // Nem campo intocado: só o que a pessoa mudou merece estar na URL.\n if (igualAoMolde(valor, lerEm(moldeBruto, caminho))) continue\n\n if (Array.isArray(valor)) {\n // Chave REPETIDA, não junção por vírgula: o `sort` do Spring é\n // `['dataHoraCadastro,desc']` — o próprio valor tem vírgula, e juntar\n // corromperia o par na volta.\n for (const item of valor) {\n const texto = paraTexto(item)\n if (texto !== null) params.append(mapa.naUrl(caminho), texto)\n }\n continue\n }\n\n if (ehObjetoSimples(valor)) {\n avisarNaoSuportado(caminho, 'virou objeto depois da inicialização')\n continue\n }\n\n const texto = paraTexto(valor)\n if (texto !== null) params.append(mapa.naUrl(caminho), texto)\n }\n\n return params\n}\n\n/** Só os caminhos governados, ordenados — serve de chave de cache e de comparação. */\nexport function assinatura<T extends object>(\n mapa: MapaFiltros<T>,\n params: URLSearchParams,\n): string {\n const pares: string[] = []\n for (const caminho of mapa.caminhos) {\n const chave = mapa.naUrl(caminho)\n for (const valor of params.getAll(chave)) pares.push(`${chave}=${valor}`)\n }\n return pares.sort().join('&')\n}\n"],"names":["getCurrentInstance","watch","texto"],"mappings":";;;AA8BO,MAAM,YAAY;AAUzB,MAAM,WAAW,OAAO,UAAU;AAE3B,SAAS,gBAAgB,OAAkD;AAChF,SACE,UAAU,QAAQ,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK,KAAK,EAAE,iBAAiB;AAE/F;AAEA,SAAS,mBAAmB,MAAgC;AAC1D,QAAM,UAAU,KAAK,SAAS,IAAI;AAClC,SAAO,EAAE,SAAU,UAAU,KAAK,MAAM,GAAG,EAAE,IAAI,MAAsB,QAAA;AACzE;AAEA,SAAS,eAAe,OAA6B;AACnD,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,MAAI,OAAO,UAAU,UAAW,QAAO;AACvC,MAAI,iBAAiB,KAAM,QAAO;AAGlC,SAAO;AACT;AAEA,SAAS,iBAAiB,OAA2B;AACnD,MAAI,MAAM,QAAQ,KAAK,GAAG;AAIxB,WAAO,EAAE,SAAS,MAAM,SAAS,IAAI,eAAe,MAAM,CAAC,CAAC,IAAI,UAAU,SAAS,KAAA;AAAA,EACrF;AACA,SAAO,EAAE,SAAS,eAAe,KAAK,GAAG,SAAS,MAAA;AACpD;AASA,SAAS,cAAc,OAAe,SAA+B;AACnE,MAAI,YAAY,UAAU;AACxB,UAAM,SAAS,OAAO,KAAK;AAC3B,WAAO,MAAM,WAAW,MAAM,OAAO,SAAS,MAAM,IAAI,SAAS;AAAA,EACnE;AACA,MAAI,YAAY,WAAW;AACzB,QAAI,UAAU,OAAQ,QAAO;AAC7B,QAAI,UAAU,QAAS,QAAO;AAC9B,WAAO;AAAA,EACT;AACA,MAAI,YAAY,QAAQ;AACtB,UAAM,OAAO,IAAI,KAAK,KAAK;AAC3B,WAAO,OAAO,MAAM,KAAK,QAAA,CAAS,IAAI,WAAW;AAAA,EACnD;AACA,SAAO;AACT;AAEO,SAAS,OAAO,QAAkB,WAA+B;AACtE,MAAI,UAAU,SAAS;AACrB,UAAM,QAAQ,OACX,IAAI,CAAC,UAAU,cAAc,OAAO,UAAU,OAAO,CAAC,EACtD,OAAO,CAAC,SAAS,SAAS,QAAQ;AACrC,WAAO,MAAM,SAAS,IAAI,QAAQ;AAAA,EACpC;AACA,QAAM,WAAW,OAAO,CAAC;AACzB,SAAO,aAAa,SAAY,WAAW,cAAc,UAAU,UAAU,OAAO;AACtF;AAEO,SAAS,WAAW,OAAyB;AAClD,SAAO,UAAU;AACnB;AAGO,SAAS,UAAU,OAA+B;AACvD,MAAI,UAAU,QAAQ,UAAU,UAAa,UAAU,GAAI,QAAO;AAClE,MAAI,iBAAiB,KAAM,QAAO,OAAO,MAAM,MAAM,SAAS,IAAI,OAAO,MAAM,YAAA;AAC/E,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,MAAI,OAAO,UAAU,SAAU,QAAO,OAAO,SAAS,KAAK,IAAI,OAAO,KAAK,IAAI;AAC/E,MAAI,OAAO,UAAU,UAAW,QAAO,OAAO,KAAK;AACnD,SAAO;AACT;AAYO,SAAS,UAAU,OAAyB;AACjD,MAAI,UAAU,QAAQ,UAAU,UAAa,UAAU,GAAI,QAAO;AAClE,MAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,WAAO,MAAM,MAAM,CAAC,SAAS,SAAS,QAAQ,SAAS,UAAa,SAAS,EAAE;AAAA,EACjF;AACA,SAAO;AACT;AAaO,SAAS,aAAa,OAAgB,OAAyB;AACpE,MAAI,iBAAiB,QAAQ,iBAAiB,aAAa,MAAM,QAAA,MAAc,MAAM,QAAA;AACrF,MAAI,MAAM,QAAQ,KAAK,KAAK,MAAM,QAAQ,KAAK,GAAG;AAChD,WAAO,MAAM,WAAW,MAAM,UAAU,MAAM,MAAM,CAAC,MAAM,MAAM,SAAS,MAAM,CAAC,CAAC;AAAA,EACpF;AACA,SAAO,UAAU;AACnB;AAqBO,SAAS,YAA8B,QAAc;AAC1D,QAAM,QAAiC,CAAA;AACvC,aAAW,CAAC,OAAO,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AACnD,QAAI,MAAM,QAAQ,KAAK,SAAS,KAAK,IAAI,CAAC,GAAG,KAAK;AAAA,aACzC,iBAAiB,KAAM,OAAM,KAAK,IAAI,IAAI,KAAK,MAAM,SAAS;AAAA,aAC9D,gBAAgB,KAAK,EAAG,OAAM,KAAK,IAAI,EAAE,GAAG,MAAA;AAAA,QAChD,OAAM,KAAK,IAAI;AAAA,EACtB;AACA,SAAO;AACT;AAGO,SAAS,MAAM,MAA2C,SAA0B;AACzF,MAAI,CAAC,KAAM,QAAO;AAClB,QAAM,SAAS,QAAQ,MAAM,SAAS;AACtC,QAAM,OAAO,KAAK,OAAO,CAAC,CAAW;AACrC,MAAI,OAAO,WAAW,EAAG,QAAO;AAChC,SAAO,gBAAgB,IAAI,IAAI,KAAK,OAAO,CAAC,CAAW,IAAI;AAC7D;AAkCA,SAAS,mBAAmB,MAAyC;AACnE,MAAI,CAAC,QAAQ,OAAO,SAAS,SAAU,QAAO;AAC9C,QAAM,YAAY;AAClB,SAAO,OAAO,UAAU,YAAY,cAAc,CAAC,CAAC,UAAU;AAChE;AAGA,SAAS,gBAAgB,QAA4D;AACnF,QAAM,QAA2C,CAAA;AACjD,aAAW,SAAS,IAAI,IAAI,OAAO,KAAA,CAAM,GAAG;AAC1C,UAAM,UAAU,OAAO,OAAO,KAAK;AACnC,UAAM,KAAK,IAAI,QAAQ,SAAS,IAAI,UAAW,QAAQ,CAAC;AAAA,EAC1D;AACA,SAAO;AACT;AAaO,SAAS,iBAA+B;;AAC7C,QAAM,UAASA,SAAAA,mBAAA,MAAAA,mBAAsB,WAAW,OAAO,iBAAiB;AAExE,MAAI,mBAAmB,MAAM,GAAG;AAC9B,WAAO;AAAA,MACL,KAAK,MAAM;AACT,cAAM,SAAS,IAAI,gBAAA;AACnB,mBAAW,CAAC,OAAO,KAAK,KAAK,OAAO,QAAQ,OAAO,aAAa,MAAM,KAAK,GAAG;AAC5E,cAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,uBAAW,QAAQ,MAAO,KAAI,QAAQ,aAAa,OAAO,OAAO,OAAO,IAAI,CAAC;AAAA,UAC/E,WAAW,SAAS,MAAM;AACxB,mBAAO,OAAO,OAAO,OAAO,KAAK,CAAC;AAAA,UACpC;AAAA,QACF;AACA,eAAO;AAAA,MACT;AAAA,MACA,QAAQ,CAAC,QAAQ,SAAS;AACxB,cAAM,UAAU,SAAS,UAAU,OAAO,OAAO,OAAO,OAAO,OAAO;AACtE,aAAK,QAAQ,QAAQ,QAAQ,KAAK,QAAQ,EAAE,OAAO,gBAAgB,MAAM,EAAA,CAAG,CAAC,EAAE,MAAM,MAAM;AAAA,QAE3F,CAAC;AAAA,MACH;AAAA,MACA,MAAM,MAAM,OAAO,aAAa,MAAM,QAAQ;AAAA;AAAA;AAAA;AAAA,MAI9C,UAAU,CAAC,YAAYC,IAAAA,MAAM,MAAM,OAAO,aAAa,MAAM,OAAO,SAAS,EAAE,MAAM,MAAM;AAAA,IAAA;AAAA,EAE/F;AAaA,MAAI,OAAO,WAAW,aAAa;AACjC,WAAO,EAAE,KAAK,MAAM,IAAI,gBAAA,GAAmB,QAAQ,MAAM,QAAW,MAAM,MAAM,GAAA;AAAA,EAClF;AAEA,SAAO;AAAA,IACL,KAAK,MAAM,IAAI,gBAAgB,OAAO,SAAS,MAAM;AAAA,IACrD,QAAQ,CAAC,QAAQ,SAAS;AACxB,YAAM,QAAQ,OAAO,SAAA;AACrB,YAAM,UAAU,GAAG,OAAO,SAAS,QAAQ,GAAG,QAAQ,IAAI,KAAK,KAAK,EAAE,GAAG,OAAO,SAAS,IAAI;AAC7F,UAAI,SAAS,OAAQ,QAAO,QAAQ,UAAU,OAAO,QAAQ,OAAO,IAAI,OAAO;AAAA,kBACnE,QAAQ,aAAa,OAAO,QAAQ,OAAO,IAAI,OAAO;AAAA,IACpE;AAAA,IACA,MAAM,MAAM,OAAO,SAAS;AAAA,IAC5B,UAAU,CAAC,YAAY;AACrB,aAAO,iBAAiB,YAAY,OAAO;AAC3C,aAAO,MAAM,OAAO,oBAAoB,YAAY,OAAO;AAAA,IAC7D;AAAA,EAAA;AAEJ;AA8BO,SAAS,UAA4B,OAAU,SAAqB,IAAoB;AAC7F,QAAM,EAAE,UAAU,IAAI,QAAQ,CAAA,GAAI,UAAU,GAAA,IAAO;AACnD,QAAM,YAAY,IAAI,IAAI,OAAO;AACjC,QAAM,aAAa;AAEnB,QAAM,eAAe,CAAC,YACpB,UAAU,IAAI,OAAO,KAAK,UAAU,IAAI,QAAQ,MAAM,SAAS,EAAE,CAAC,CAAW;AAE/E,QAAM,YAAY,MAAM;AACtB,UAAM,cAAwB,CAAA;AAE9B,eAAW,CAAC,OAAO,KAAK,KAAK,OAAO,QAAQ,KAAK,GAAG;AAClD,UAAI,CAAC,gBAAgB,KAAK,GAAG;AAC3B,oBAAY,KAAK,KAAK;AACtB;AAAA,MACF;AACA,iBAAW,CAAC,KAAK,QAAQ,KAAK,OAAO,QAAQ,KAAK,GAAG;AACnD,YAAI,gBAAgB,QAAQ,GAAG;AAE7B;AAAA,QACF;AACA,oBAAY,KAAK,GAAG,KAAK,GAAG,SAAS,GAAG,GAAG,EAAE;AAAA,MAC/C;AAAA,IACF;AAIA,eAAW,aAAa,OAAO,KAAK,KAAK,GAAG;AAC1C,UAAI,CAAC,YAAY,SAAS,SAAS,EAAG,aAAY,KAAK,SAAS;AAAA,IAClE;AAEA,WAAO,YAAY,OAAO,CAAC,YAAY,CAAC,aAAa,OAAO,CAAC;AAAA,EAC/D,GAAA;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,OAAO,CAAC,YAAY,GAAG,OAAO,GAAG,OAAO;AAAA,IACxC,kBAAkB,CAAC,WAAW;AAC5B,iBAAW,YAAY,WAAW;AAGhC,cAAM,OAAO,GAAG,OAAO,GAAG,QAAQ;AAClC,mBAAW,SAAS,CAAC,GAAG,IAAI,IAAI,OAAO,KAAA,CAAM,CAAC,GAAG;AAC/C,cAAI,UAAU,QAAQ,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,EAAE,EAAG,QAAO,OAAO,KAAK;AAAA,QACpF;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAa,CAAC,YAAY;AACxB,YAAM,YAAY,MAAM,OAAO;AAC/B,aAAO,YAAY,mBAAmB,SAAS,IAAI,iBAAiB,MAAM,YAAY,OAAO,CAAC;AAAA,IAChG;AAAA,EAAA;AAEJ;AAMO,SAAS,SACd,MACA,QACA,OACyB;AACzB,QAAM,aAAsC,CAAA;AAG5C,QAAM,gCAAgB,IAAA;AAEtB,aAAW,WAAW,KAAK,UAAU;AACnC,UAAM,SAAS,OAAO,OAAO,KAAK,MAAM,OAAO,CAAC;AAChD,QAAI,OAAO,WAAW,EAAG;AAEzB,UAAM,QAAQ,OAAO,QAAQ,KAAK,YAAY,OAAO,CAAC;AACtD,QAAI,WAAW,KAAK,EAAG;AAEvB,UAAM,SAAS,QAAQ,MAAM,SAAS;AACtC,QAAI,OAAO,WAAW,GAAG;AACvB,iBAAW,OAAO,CAAC,CAAW,IAAI;AAClC;AAAA,IACF;AAEA,UAAM,OAAO,OAAO,CAAC;AACrB,QAAI,QAAQ,UAAU,IAAI,IAAI;AAC9B,QAAI,CAAC,OAAO;AACV,YAAM,aAAa,MAAM,IAAI;AAC7B,cAAQ,gBAAgB,UAAU,IAAI,EAAE,GAAG,WAAA,IAAe,CAAA;AAC1D,gBAAU,IAAI,MAAM,KAAK;AAAA,IAC3B;AACA,UAAM,OAAO,CAAC,CAAW,IAAI;AAAA,EAC/B;AAEA,aAAW,CAAC,MAAM,KAAK,KAAK,UAAW,YAAW,IAAI,IAAI;AAC1D,SAAO;AACT;AAMO,SAAS,cACd,MACA,MACA,QACiB;AACjB,QAAM,SAAS,IAAI,gBAAgB,IAAI;AACvC,aAAW,WAAW,KAAK,SAAU,QAAO,OAAO,KAAK,MAAM,OAAO,CAAC;AAEtE,QAAM,aAAa,KAAK;AAExB,aAAW,WAAW,KAAK,UAAU;AACnC,UAAM,QAAQ,MAAM,QAAQ,OAAO;AAEnC,QAAI,UAAU,KAAK,EAAG;AAEtB,QAAI,aAAa,OAAO,MAAM,YAAY,OAAO,CAAC,EAAG;AAErD,QAAI,MAAM,QAAQ,KAAK,GAAG;AAIxB,iBAAW,QAAQ,OAAO;AACxB,cAAMC,SAAQ,UAAU,IAAI;AAC5B,YAAIA,WAAU,KAAM,QAAO,OAAO,KAAK,MAAM,OAAO,GAAGA,MAAK;AAAA,MAC9D;AACA;AAAA,IACF;AAEA,QAAI,gBAAgB,KAAK,GAAG;AAE1B;AAAA,IACF;AAEA,UAAM,QAAQ,UAAU,KAAK;AAC7B,QAAI,UAAU,KAAM,QAAO,OAAO,KAAK,MAAM,OAAO,GAAG,KAAK;AAAA,EAC9D;AAEA,SAAO;AACT;AAGO,SAAS,WACd,MACA,QACQ;AACR,QAAM,QAAkB,CAAA;AACxB,aAAW,WAAW,KAAK,UAAU;AACnC,UAAM,QAAQ,KAAK,MAAM,OAAO;AAChC,eAAW,SAAS,OAAO,OAAO,KAAK,EAAG,OAAM,KAAK,GAAG,KAAK,IAAI,KAAK,EAAE;AAAA,EAC1E;AACA,SAAO,MAAM,OAAO,KAAK,GAAG;AAC9B;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
import { getCurrentInstance, watch } from "vue";
|
|
2
|
+
const SEPARADOR = ".";
|
|
3
|
+
const INVALIDO = Symbol("invalido");
|
|
4
|
+
function ehObjetoSimples(valor) {
|
|
5
|
+
return valor !== null && typeof valor === "object" && !Array.isArray(valor) && !(valor instanceof Date);
|
|
6
|
+
}
|
|
7
|
+
function descritorDeclarado(tipo) {
|
|
8
|
+
const ehArray = tipo.endsWith("[]");
|
|
9
|
+
return { escalar: ehArray ? tipo.slice(0, -2) : tipo, ehArray };
|
|
10
|
+
}
|
|
11
|
+
function escalarDoValor(valor) {
|
|
12
|
+
if (typeof valor === "number") return "number";
|
|
13
|
+
if (typeof valor === "boolean") return "boolean";
|
|
14
|
+
if (valor instanceof Date) return "date";
|
|
15
|
+
return "string";
|
|
16
|
+
}
|
|
17
|
+
function descritorDoValor(valor) {
|
|
18
|
+
if (Array.isArray(valor)) {
|
|
19
|
+
return { escalar: valor.length > 0 ? escalarDoValor(valor[0]) : "string", ehArray: true };
|
|
20
|
+
}
|
|
21
|
+
return { escalar: escalarDoValor(valor), ehArray: false };
|
|
22
|
+
}
|
|
23
|
+
function coagirEscalar(texto, escalar) {
|
|
24
|
+
if (escalar === "number") {
|
|
25
|
+
const numero = Number(texto);
|
|
26
|
+
return texto.trim() !== "" && Number.isFinite(numero) ? numero : INVALIDO;
|
|
27
|
+
}
|
|
28
|
+
if (escalar === "boolean") {
|
|
29
|
+
if (texto === "true") return true;
|
|
30
|
+
if (texto === "false") return false;
|
|
31
|
+
return INVALIDO;
|
|
32
|
+
}
|
|
33
|
+
if (escalar === "date") {
|
|
34
|
+
const data = new Date(texto);
|
|
35
|
+
return Number.isNaN(data.getTime()) ? INVALIDO : data;
|
|
36
|
+
}
|
|
37
|
+
return texto;
|
|
38
|
+
}
|
|
39
|
+
function coagir(brutos, descritor) {
|
|
40
|
+
if (descritor.ehArray) {
|
|
41
|
+
const itens = brutos.map((bruto) => coagirEscalar(bruto, descritor.escalar)).filter((item) => item !== INVALIDO);
|
|
42
|
+
return itens.length > 0 ? itens : INVALIDO;
|
|
43
|
+
}
|
|
44
|
+
const primeiro = brutos[0];
|
|
45
|
+
return primeiro === void 0 ? INVALIDO : coagirEscalar(primeiro, descritor.escalar);
|
|
46
|
+
}
|
|
47
|
+
function ehInvalido(valor) {
|
|
48
|
+
return valor === INVALIDO;
|
|
49
|
+
}
|
|
50
|
+
function paraTexto(valor) {
|
|
51
|
+
if (valor === null || valor === void 0 || valor === "") return null;
|
|
52
|
+
if (valor instanceof Date) return Number.isNaN(valor.getTime()) ? null : valor.toISOString();
|
|
53
|
+
if (typeof valor === "string") return valor;
|
|
54
|
+
if (typeof valor === "number") return Number.isFinite(valor) ? String(valor) : null;
|
|
55
|
+
if (typeof valor === "boolean") return String(valor);
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
function estaVazio(valor) {
|
|
59
|
+
if (valor === null || valor === void 0 || valor === "") return true;
|
|
60
|
+
if (Array.isArray(valor)) {
|
|
61
|
+
return valor.every((item) => item === null || item === void 0 || item === "");
|
|
62
|
+
}
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
function igualAoMolde(valor, molde) {
|
|
66
|
+
if (valor instanceof Date && molde instanceof Date) return valor.getTime() === molde.getTime();
|
|
67
|
+
if (Array.isArray(valor) && Array.isArray(molde)) {
|
|
68
|
+
return valor.length === molde.length && valor.every((item, i) => item === molde[i]);
|
|
69
|
+
}
|
|
70
|
+
return valor === molde;
|
|
71
|
+
}
|
|
72
|
+
function clonarMolde(origem) {
|
|
73
|
+
const saida = {};
|
|
74
|
+
for (const [chave, valor] of Object.entries(origem)) {
|
|
75
|
+
if (Array.isArray(valor)) saida[chave] = [...valor];
|
|
76
|
+
else if (valor instanceof Date) saida[chave] = new Date(valor.getTime());
|
|
77
|
+
else if (ehObjetoSimples(valor)) saida[chave] = { ...valor };
|
|
78
|
+
else saida[chave] = valor;
|
|
79
|
+
}
|
|
80
|
+
return saida;
|
|
81
|
+
}
|
|
82
|
+
function lerEm(alvo, caminho) {
|
|
83
|
+
if (!alvo) return void 0;
|
|
84
|
+
const partes = caminho.split(SEPARADOR);
|
|
85
|
+
const raiz = alvo[partes[0]];
|
|
86
|
+
if (partes.length === 1) return raiz;
|
|
87
|
+
return ehObjetoSimples(raiz) ? raiz[partes[1]] : void 0;
|
|
88
|
+
}
|
|
89
|
+
function ehRouterCompativel(alvo) {
|
|
90
|
+
if (!alvo || typeof alvo !== "object") return false;
|
|
91
|
+
const candidato = alvo;
|
|
92
|
+
return typeof candidato.replace === "function" && !!candidato.currentRoute;
|
|
93
|
+
}
|
|
94
|
+
function paramsParaQuery(params) {
|
|
95
|
+
const query = {};
|
|
96
|
+
for (const chave of new Set(params.keys())) {
|
|
97
|
+
const valores = params.getAll(chave);
|
|
98
|
+
query[chave] = valores.length > 1 ? valores : valores[0];
|
|
99
|
+
}
|
|
100
|
+
return query;
|
|
101
|
+
}
|
|
102
|
+
function criarAdaptador() {
|
|
103
|
+
var _a;
|
|
104
|
+
const router = (_a = getCurrentInstance()) == null ? void 0 : _a.appContext.config.globalProperties.$router;
|
|
105
|
+
if (ehRouterCompativel(router)) {
|
|
106
|
+
return {
|
|
107
|
+
ler: () => {
|
|
108
|
+
const params = new URLSearchParams();
|
|
109
|
+
for (const [chave, valor] of Object.entries(router.currentRoute.value.query)) {
|
|
110
|
+
if (Array.isArray(valor)) {
|
|
111
|
+
for (const item of valor) if (item != null) params.append(chave, String(item));
|
|
112
|
+
} else if (valor != null) {
|
|
113
|
+
params.append(chave, String(valor));
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return params;
|
|
117
|
+
},
|
|
118
|
+
gravar: (params, modo) => {
|
|
119
|
+
const navegar = modo === "push" && router.push ? router.push : router.replace;
|
|
120
|
+
void Promise.resolve(navegar.call(router, { query: paramsParaQuery(params) })).catch(() => {
|
|
121
|
+
});
|
|
122
|
+
},
|
|
123
|
+
rota: () => router.currentRoute.value.path ?? "",
|
|
124
|
+
// `currentRoute` é um ref do vue-router: dá pra observar sem importar a
|
|
125
|
+
// biblioteca. Cobre voltar/avançar, link colado e edição na barra — tudo
|
|
126
|
+
// que muda a URL sem passar pelo hook.
|
|
127
|
+
observar: (aoMudar) => watch(() => router.currentRoute.value.query, aoMudar, { deep: true })
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
if (typeof window === "undefined") {
|
|
131
|
+
return { ler: () => new URLSearchParams(), gravar: () => void 0, rota: () => "" };
|
|
132
|
+
}
|
|
133
|
+
return {
|
|
134
|
+
ler: () => new URLSearchParams(window.location.search),
|
|
135
|
+
gravar: (params, modo) => {
|
|
136
|
+
const busca = params.toString();
|
|
137
|
+
const destino = `${window.location.pathname}${busca ? `?${busca}` : ""}${window.location.hash}`;
|
|
138
|
+
if (modo === "push") window.history.pushState(window.history.state, "", destino);
|
|
139
|
+
else window.history.replaceState(window.history.state, "", destino);
|
|
140
|
+
},
|
|
141
|
+
rota: () => window.location.pathname,
|
|
142
|
+
observar: (aoMudar) => {
|
|
143
|
+
window.addEventListener("popstate", aoMudar);
|
|
144
|
+
return () => window.removeEventListener("popstate", aoMudar);
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
function criarMapa(molde, opcoes = {}) {
|
|
149
|
+
const { excluir = [], tipos = {}, prefixo = "" } = opcoes;
|
|
150
|
+
const excluidas = new Set(excluir);
|
|
151
|
+
const moldeBruto = molde;
|
|
152
|
+
const estaExcluido = (caminho) => excluidas.has(caminho) || excluidas.has(caminho.split(SEPARADOR)[0]);
|
|
153
|
+
const caminhos = (() => {
|
|
154
|
+
const encontrados = [];
|
|
155
|
+
for (const [chave, valor] of Object.entries(molde)) {
|
|
156
|
+
if (!ehObjetoSimples(valor)) {
|
|
157
|
+
encontrados.push(chave);
|
|
158
|
+
continue;
|
|
159
|
+
}
|
|
160
|
+
for (const [sub, subValor] of Object.entries(valor)) {
|
|
161
|
+
if (ehObjetoSimples(subValor)) {
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
encontrados.push(`${chave}${SEPARADOR}${sub}`);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
for (const declarado of Object.keys(tipos)) {
|
|
168
|
+
if (!encontrados.includes(declarado)) encontrados.push(declarado);
|
|
169
|
+
}
|
|
170
|
+
return encontrados.filter((caminho) => !estaExcluido(caminho));
|
|
171
|
+
})();
|
|
172
|
+
return {
|
|
173
|
+
caminhos,
|
|
174
|
+
molde,
|
|
175
|
+
naUrl: (caminho) => `${prefixo}${caminho}`,
|
|
176
|
+
removerExcluidas: (params) => {
|
|
177
|
+
for (const excluida of excluidas) {
|
|
178
|
+
const alvo = `${prefixo}${excluida}`;
|
|
179
|
+
for (const chave of [...new Set(params.keys())]) {
|
|
180
|
+
if (chave === alvo || chave.startsWith(`${alvo}${SEPARADOR}`)) params.delete(chave);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
descritorDe: (caminho) => {
|
|
185
|
+
const declarado = tipos[caminho];
|
|
186
|
+
return declarado ? descritorDeclarado(declarado) : descritorDoValor(lerEm(moldeBruto, caminho));
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
function lerDaUrl(mapa, params, atual) {
|
|
191
|
+
const alteracoes = {};
|
|
192
|
+
const aninhados = /* @__PURE__ */ new Map();
|
|
193
|
+
for (const caminho of mapa.caminhos) {
|
|
194
|
+
const brutos = params.getAll(mapa.naUrl(caminho));
|
|
195
|
+
if (brutos.length === 0) continue;
|
|
196
|
+
const valor = coagir(brutos, mapa.descritorDe(caminho));
|
|
197
|
+
if (ehInvalido(valor)) continue;
|
|
198
|
+
const partes = caminho.split(SEPARADOR);
|
|
199
|
+
if (partes.length === 1) {
|
|
200
|
+
alteracoes[partes[0]] = valor;
|
|
201
|
+
continue;
|
|
202
|
+
}
|
|
203
|
+
const raiz = partes[0];
|
|
204
|
+
let patch = aninhados.get(raiz);
|
|
205
|
+
if (!patch) {
|
|
206
|
+
const valorAtual = atual[raiz];
|
|
207
|
+
patch = ehObjetoSimples(valorAtual) ? { ...valorAtual } : {};
|
|
208
|
+
aninhados.set(raiz, patch);
|
|
209
|
+
}
|
|
210
|
+
patch[partes[1]] = valor;
|
|
211
|
+
}
|
|
212
|
+
for (const [raiz, patch] of aninhados) alteracoes[raiz] = patch;
|
|
213
|
+
return alteracoes;
|
|
214
|
+
}
|
|
215
|
+
function escreverNaUrl(mapa, base, estado) {
|
|
216
|
+
const params = new URLSearchParams(base);
|
|
217
|
+
for (const caminho of mapa.caminhos) params.delete(mapa.naUrl(caminho));
|
|
218
|
+
const moldeBruto = mapa.molde;
|
|
219
|
+
for (const caminho of mapa.caminhos) {
|
|
220
|
+
const valor = lerEm(estado, caminho);
|
|
221
|
+
if (estaVazio(valor)) continue;
|
|
222
|
+
if (igualAoMolde(valor, lerEm(moldeBruto, caminho))) continue;
|
|
223
|
+
if (Array.isArray(valor)) {
|
|
224
|
+
for (const item of valor) {
|
|
225
|
+
const texto2 = paraTexto(item);
|
|
226
|
+
if (texto2 !== null) params.append(mapa.naUrl(caminho), texto2);
|
|
227
|
+
}
|
|
228
|
+
continue;
|
|
229
|
+
}
|
|
230
|
+
if (ehObjetoSimples(valor)) {
|
|
231
|
+
continue;
|
|
232
|
+
}
|
|
233
|
+
const texto = paraTexto(valor);
|
|
234
|
+
if (texto !== null) params.append(mapa.naUrl(caminho), texto);
|
|
235
|
+
}
|
|
236
|
+
return params;
|
|
237
|
+
}
|
|
238
|
+
function assinatura(mapa, params) {
|
|
239
|
+
const pares = [];
|
|
240
|
+
for (const caminho of mapa.caminhos) {
|
|
241
|
+
const chave = mapa.naUrl(caminho);
|
|
242
|
+
for (const valor of params.getAll(chave)) pares.push(`${chave}=${valor}`);
|
|
243
|
+
}
|
|
244
|
+
return pares.sort().join("&");
|
|
245
|
+
}
|
|
246
|
+
export {
|
|
247
|
+
SEPARADOR,
|
|
248
|
+
assinatura,
|
|
249
|
+
clonarMolde,
|
|
250
|
+
coagir,
|
|
251
|
+
criarAdaptador,
|
|
252
|
+
criarMapa,
|
|
253
|
+
ehInvalido,
|
|
254
|
+
ehObjetoSimples,
|
|
255
|
+
escreverNaUrl,
|
|
256
|
+
estaVazio,
|
|
257
|
+
igualAoMolde,
|
|
258
|
+
lerDaUrl,
|
|
259
|
+
lerEm,
|
|
260
|
+
paraTexto
|
|
261
|
+
};
|
|
262
|
+
//# sourceMappingURL=index180.mjs.map
|