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 @@
|
|
|
1
|
+
{"version":3,"file":"index40.mjs","sources":["../src/components/help/acai-ui-tour.vue"],"sourcesContent":["<template>\n <teleport to=\"body\">\n <div v-if=\"aberto\" class=\"acaitour\" :class=\"{ 'acaitour--estatico': semAnimacao }\">\n <!-- CAMADA 1 — visual. `pointer-events: none`: quem bloqueia clique são as\n divs da camada 2, porque SVG com máscara não recorta área de clique. -->\n <svg class=\"acaitour__overlay\" aria-hidden=\"true\" focusable=\"false\">\n <defs>\n <mask :id=\"idMascara\">\n <rect x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" fill=\"white\" />\n <rect\n v-if=\"recorte\"\n :x=\"recorte.left\"\n :y=\"recorte.top\"\n :width=\"recorte.width\"\n :height=\"recorte.height\"\n :rx=\"RAIO_RECORTE\"\n fill=\"black\"\n />\n </mask>\n </defs>\n <rect\n class=\"acaitour__tinta\"\n x=\"0\"\n y=\"0\"\n width=\"100%\"\n height=\"100%\"\n :mask=\"`url(#${idMascara})`\"\n />\n <!-- Aro do recorte: em alto contraste o escurecimento sozinho não\n comunica \"é aqui\" (eMAG 4.1). -->\n <rect\n v-if=\"recorte\"\n class=\"acaitour__aro\"\n :x=\"recorte.left\"\n :y=\"recorte.top\"\n :width=\"recorte.width\"\n :height=\"recorte.height\"\n :rx=\"RAIO_RECORTE\"\n fill=\"none\"\n />\n </svg>\n\n <!-- CAMADA 2 — bloqueio de clique. Cerca o recorte por fora; a peça\n `centro` só entra quando o passo NÃO é interativo. -->\n <div\n v-for=\"bloqueio in bloqueios\"\n :key=\"bloqueio.nome\"\n class=\"acaitour__bloqueio\"\n :style=\"bloqueio.estilo\"\n />\n\n <!-- CAMADA 3 — o coach mark. -->\n <div\n ref=\"balaoRef\"\n class=\"acaitour__balao\"\n :class=\"[`acaitour__balao--${posicao.side}`, { 'acaitour__balao--solto': !recorte }]\"\n :style=\"{ top: `${posicao.top}px`, left: `${posicao.left}px`, opacity: pronto ? 1 : 0 }\"\n role=\"dialog\"\n aria-modal=\"true\"\n :aria-labelledby=\"idTitulo\"\n :aria-describedby=\"idTexto\"\n :aria-busy=\"buscando ? 'true' : undefined\"\n tabindex=\"-1\"\n >\n <span v-if=\"recorte\" class=\"acaitour__seta\" :style=\"estiloSeta\" aria-hidden=\"true\" />\n\n <header class=\"acaitour__cab\">\n <h2 :id=\"idTitulo\" class=\"acaitour__titulo\">\n {{ passoAtual?.title || tituloTour }}\n </h2>\n <button\n v-if=\"mostrarAudio\"\n type=\"button\"\n class=\"acaitour__ouvir\"\n :aria-pressed=\"lendoPasso\"\n aria-label=\"Ouvir este passo\"\n @click=\"alternarPasso\"\n >\n <acai-ui-icon :name=\"lendoPasso ? 'stop' : 'volume_up'\" size=\"md\" decorative />\n </button>\n <button\n type=\"button\"\n class=\"acaitour__fechar\"\n :aria-label=\"`Sair de ${tituloTour}`\"\n @click=\"sair\"\n >\n <!-- md=16px (escala de espaços): sm=8px sumia no botão de 28px. -->\n <acai-ui-icon name=\"close\" size=\"md\" />\n </button>\n </header>\n\n <p :id=\"idTexto\" class=\"acaitour__texto\">{{ passoAtual?.text }}</p>\n\n <footer class=\"acaitour__rodape\">\n <div class=\"acaitour__pontos\" aria-hidden=\"true\">\n <span\n v-for=\"(_, indice) in passos\"\n :key=\"indice\"\n class=\"acaitour__ponto\"\n :class=\"{ 'acaitour__ponto--ativo': indice === indiceAtual }\"\n />\n </div>\n\n <span class=\"acaitour__contador\">Passo {{ indiceAtual + 1 }} de {{ passos.length }}</span>\n\n <!-- Enquanto procura o alvo, o balão DIZ que está procurando e dá\n saída — antes disso \"esperando\" e \"travado\" eram a mesma tela. -->\n <div v-if=\"buscando\" class=\"acaitour__acoes acaitour__busca\">\n <span class=\"acaitour__busca-giro\" aria-hidden=\"true\" />\n <span class=\"acaitour__busca-texto\">Procurando…</span>\n <acai-ui-button flat dense color=\"primary\" label=\"Pular\" @click=\"pularBusca\" />\n </div>\n\n <div v-else class=\"acaitour__acoes\">\n <acai-ui-button\n v-if=\"indiceAtual > 0\"\n flat\n dense\n color=\"primary\"\n label=\"Anterior\"\n @click=\"anterior\"\n />\n <acai-ui-button\n dense\n color=\"primary\"\n :label=\"ehUltimo ? 'Concluir' : 'Próximo'\"\n @click=\"proximo\"\n />\n </div>\n </footer>\n </div>\n\n <!-- eMAG: leitor de tela anuncia a troca de passo sem roubar o foco. -->\n <div class=\"acaitour__anuncio\" role=\"status\" aria-live=\"polite\">{{ anuncio }}</div>\n </div>\n </teleport>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onBeforeUnmount, ref, watch } from 'vue'\nimport AcaiUiButton from '../button/acai-ui-button.vue'\nimport AcaiUiIcon from '../icon/acai-ui-icon.vue'\nimport { usePreferencias } from '../../hooks/use-preferencias'\nimport { useLeituraVoz } from '../../hooks/use-leitura-voz'\nimport { scrollParaElemento } from '../../utils/scroll-elemento'\nimport {\n ESPERA_PADRAO,\n aguardarAlvo,\n descreverAncora,\n passoSemAncora,\n resolverAlvo,\n} from './tour-registry'\nimport {\n centralizarBalao,\n expandirRecorte,\n posicionarBalao,\n type Viewport,\n} from './tour-posicionar'\nimport type {\n BalloonPosition,\n SpotlightRect,\n TourProps,\n TourSkip,\n TourSkipReason,\n TourStep,\n} from './acai-ui-help-interface'\n\nconst props = withDefaults(defineProps<TourProps>(), { startAt: 0 })\n\nconst emits = defineEmits<{\n /** Chegou ao fim pelo botão \"Concluir\". */\n (e: 'finish'): void\n /** Saiu antes do fim (Esc, X ou fora de passos). */\n (e: 'exit'): void\n /** Trocou de passo — índice 0-based. */\n (e: 'step', indice: number): void\n /**\n * Um passo não pôde ser mostrado. Emitido SEMPRE (o `console.warn` fica só\n * em DEV): é por aqui que o consumidor instrumenta o tour em produção e\n * descobre que metade dele desapareceu.\n */\n (e: 'step-skipped', info: TourSkip): void\n}>()\n\nconst aberto = defineModel<boolean>({ default: false })\n\n/** Folga padrão do recorte, em px. */\nconst PADDING_PADRAO = 8\n/** Cantos do buraco — casa com o `$radius-lg` dos cards. */\nconst RAIO_RECORTE = 8\n\n// `Math.random` aqui é só pra evitar colisão de id de máscara SVG quando dois\n// tours coexistem (docs com dois exemplos na mesma página).\nconst sufixo = Math.random().toString(36).slice(2, 8)\nconst idMascara = `acaitour-mask-${sufixo}`\nconst idTitulo = `acaitour-titulo-${sufixo}`\nconst idTexto = `acaitour-texto-${sufixo}`\n\nconst { preferencias } = usePreferencias()\n\n// ===================== Leitura em voz alta =====================\nconst {\n suportado: vozSuportada,\n temVozPara,\n vozes,\n idLendo,\n alternar: alternarFala,\n parar: pararFala,\n} = useLeituraVoz()\n\nconst idFalaPasso = `acaitour-voz-${sufixo}`\nconst idiomaFala = computed(() => props.audioLang || 'pt-BR')\n\n/** Precedência: prop da tela > preferência do usuário > suporte > voz do idioma. */\nconst mostrarAudio = computed(() => {\n void vozes.value\n return (\n vozSuportada.value &&\n !props.hideAudio &&\n preferencias.leituraVoz &&\n temVozPara(idiomaFala.value)\n )\n})\n\nconst lendoPasso = computed(() => idLendo.value === idFalaPasso)\n\nfunction alternarPasso(): void {\n const passo = passos.value[indiceAtual.value]\n if (!passo) return\n // Sem \"Passo N de M\": o contador está na tela e o leitor de tela já anuncia —\n // repetir em voz vira ruído a cada passo.\n const texto = [passo.title, passo.text].filter(Boolean).join('. ')\n alternarFala(texto, {\n id: idFalaPasso,\n lang: idiomaFala.value,\n voz: preferencias.vozNome,\n rate: preferencias.vozVelocidade,\n })\n}\n\n/**\n * Quanto o tour espera antes de ADMITIR que está procurando. Abaixo disso a\n * troca de passo é percebida como instantânea e o aviso só piscaria.\n */\nconst ESPERA_ATE_AVISAR = 350\n\nconst indiceAtual = ref(0)\nconst alvoEl = ref<HTMLElement | null>(null)\nconst recorte = ref<SpotlightRect | null>(null)\nconst posicao = ref<BalloonPosition>({ top: 0, left: 0, side: 'bottom' })\nconst pronto = ref(false)\nconst anuncio = ref('')\nconst balaoRef = ref<HTMLElement | null>(null)\n/** Está esperando um alvo aparecer — o balão para de fingir que nada acontece. */\nconst buscando = ref(false)\n\n/** Quem tinha o foco antes do tour — devolvemos no fim (eMAG 4.3). */\nlet focoAnterior: HTMLElement | null = null\n/** Direção da navegação: define pra que lado pular um passo sem alvo. */\nlet direcao: 1 | -1 = 1\nlet frameAgendado = 0\nlet observador: ResizeObserver | null = null\n/**\n * Cada abertura é uma sessão. Uma busca que termina depois do tour fechar (ou\n * depois de um `irPara` mais novo) não pode voltar e aplicar um passo velho.\n */\nlet sessao = 0\nlet controleBusca: AbortController | null = null\nlet temporizadorAviso = 0\nlet buscaCancelada = false\n/** Desfaz a escuta do passo interativo da vez. */\nlet desescutarAlvo: (() => void) | null = null\n\nconst passos = computed<TourStep[]>(() => props.tour.steps ?? [])\nconst passoAtual = computed<TourStep | undefined>(() => passos.value[indiceAtual.value])\nconst ehUltimo = computed(() => indiceAtual.value >= passos.value.length - 1)\nconst tituloTour = computed(() => props.tour.title || 'Aprenda a usar')\n\nconst semAnimacao = computed(() => {\n if (preferencias.reduzirAnimacoes) return true\n if (typeof window === 'undefined' || !window.matchMedia) return false\n return window.matchMedia('(prefers-reduced-motion: reduce)').matches\n})\n\nfunction janela(): Viewport {\n return { width: window.innerWidth, height: window.innerHeight }\n}\n\n/**\n * As divs que impedem o clique fora do recorte. São 4 faixas cercando o buraco\n * (e não um retângulo furado) porque CSS não recorta área de clique; com\n * `interactive` a peça do centro simplesmente não é renderizada e o clique\n * chega ao elemento.\n */\nconst bloqueios = computed(() => {\n const r = recorte.value\n if (!r) return [{ nome: 'tudo', estilo: { inset: '0' } }]\n\n const faixas = [\n { nome: 'topo', estilo: { top: '0', left: '0', right: '0', height: `${r.top}px` } },\n {\n nome: 'base',\n estilo: { top: `${r.top + r.height}px`, left: '0', right: '0', bottom: '0' },\n },\n {\n nome: 'esquerda',\n estilo: { top: `${r.top}px`, left: '0', width: `${r.left}px`, height: `${r.height}px` },\n },\n {\n nome: 'direita',\n estilo: {\n top: `${r.top}px`,\n left: `${r.left + r.width}px`,\n right: '0',\n height: `${r.height}px`,\n },\n },\n ]\n\n if (passoAtual.value?.interactive) return faixas\n\n return [\n ...faixas,\n {\n nome: 'centro',\n estilo: {\n top: `${r.top}px`,\n left: `${r.left}px`,\n width: `${r.width}px`,\n height: `${r.height}px`,\n },\n },\n ]\n})\n\n/** Deslocamento da setinha pro centro do recorte, mesmo com o balão deslocado. */\nconst estiloSeta = computed(() => {\n const r = recorte.value\n if (!r) return {}\n const lado = posicao.value.side\n\n if (lado === 'top' || lado === 'bottom') {\n const centro = r.left + r.width / 2 - posicao.value.left\n return { left: `${centro}px` }\n }\n\n const centro = r.top + r.height / 2 - posicao.value.top\n return { top: `${centro}px` }\n})\n\n/**\n * Recalcula recorte e balão. Roda a cada frame em que algo pode ter mexido:\n * scroll (inclusive o do `.q-page.container-page`), resize e mudança de\n * tamanho do alvo. Sem isso o buraco descola do elemento ao rolar a página.\n */\nfunction medir(): void {\n const vp = janela()\n const balao = balaoRef.value?.getBoundingClientRect()\n const tamanhoBalao = { width: balao?.width || 320, height: balao?.height || 160 }\n\n if (!alvoEl.value) {\n recorte.value = null\n posicao.value = centralizarBalao(tamanhoBalao, vp)\n pronto.value = true\n return\n }\n\n const r = alvoEl.value.getBoundingClientRect()\n const bruto: SpotlightRect = { top: r.top, left: r.left, width: r.width, height: r.height }\n const padding = passoAtual.value?.padding ?? PADDING_PADRAO\n\n recorte.value = expandirRecorte(bruto, padding, vp)\n posicao.value = posicionarBalao(\n recorte.value,\n tamanhoBalao,\n vp,\n passoAtual.value?.placement ?? 'auto',\n )\n pronto.value = true\n}\n\nfunction agendarMedicao(): void {\n if (frameAgendado) return\n frameAgendado = requestAnimationFrame(() => {\n frameAgendado = 0\n medir()\n })\n}\n\n/**\n * Scroll manual TRAVADO durante o tour, de propósito: o usuário fica com o\n * foco exatamente no que o passo ilumina e é o TOUR quem rola a página (o\n * `scrollParaElemento` de cada passo). Sem isso, uma rolada de dedo tira o\n * elemento do recorte e a explicação fica apontando pro nada.\n * `preventDefault` exige listener não-passivo.\n */\nfunction bloquearScrollManual(evento: Event): void {\n // Rolagem DENTRO do balão (texto longo em tela baixa) continua permitida.\n if (evento.target instanceof Node && balaoRef.value?.contains(evento.target)) return\n evento.preventDefault()\n}\n\nfunction ligarObservadores(): void {\n window.addEventListener('resize', agendarMedicao)\n // `capture: true` é o que faz o scroll do `.q-page.container-page` chegar\n // aqui — evento de scroll não borbulha, só desce na captura. (Programático\n // dispara `scroll` do mesmo jeito, então a medição acompanha o auto-scroll.)\n window.addEventListener('scroll', agendarMedicao, { capture: true, passive: true })\n document.addEventListener('keydown', aoTeclar, true)\n document.addEventListener('wheel', bloquearScrollManual, { capture: true, passive: false })\n document.addEventListener('touchmove', bloquearScrollManual, { capture: true, passive: false })\n\n if (typeof ResizeObserver !== 'undefined') {\n observador = new ResizeObserver(agendarMedicao)\n observador.observe(document.body)\n }\n}\n\nfunction desligarObservadores(): void {\n window.removeEventListener('resize', agendarMedicao)\n window.removeEventListener('scroll', agendarMedicao, { capture: true })\n document.removeEventListener('keydown', aoTeclar, true)\n document.removeEventListener('wheel', bloquearScrollManual, { capture: true })\n document.removeEventListener('touchmove', bloquearScrollManual, { capture: true })\n observador?.disconnect()\n observador = null\n if (frameAgendado) cancelAnimationFrame(frameAgendado)\n frameAgendado = 0\n}\n\nconst SELETOR_FOCAVEL =\n 'a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])'\n\nfunction focaveis(): HTMLElement[] {\n const doBalao = balaoRef.value\n ? [...balaoRef.value.querySelectorAll<HTMLElement>(SELETOR_FOCAVEL)]\n : []\n\n // Num passo interativo o alvo entra no ciclo do Tab — senão o usuário não\n // consegue fazer, só teclado, o que o passo está mandando fazer (eMAG 2.1).\n if (!passoAtual.value?.interactive || !alvoEl.value) return doBalao\n\n const doAlvo = alvoEl.value.matches(SELETOR_FOCAVEL)\n ? [alvoEl.value]\n : [...alvoEl.value.querySelectorAll<HTMLElement>(SELETOR_FOCAVEL)]\n\n return [...doAlvo, ...doBalao]\n}\n\nfunction ehCampoDeTexto(el: EventTarget | null): boolean {\n if (!(el instanceof HTMLElement)) return false\n if (el.isContentEditable) return true\n return ['INPUT', 'TEXTAREA', 'SELECT'].includes(el.tagName)\n}\n\nfunction aoTeclar(evento: KeyboardEvent): void {\n if (!aberto.value) return\n\n if (evento.key === 'Escape') {\n evento.preventDefault()\n sair()\n return\n }\n\n if (evento.key === 'Tab') {\n const lista = focaveis()\n if (lista.length === 0) return\n evento.preventDefault()\n const atual = lista.indexOf(document.activeElement as HTMLElement)\n const passo = evento.shiftKey ? -1 : 1\n const proximoIndice = (atual + passo + lista.length) % lista.length\n lista[proximoIndice]?.focus()\n return\n }\n\n // Setas e Enter não podem atropelar quem está digitando num passo interativo.\n if (ehCampoDeTexto(evento.target)) return\n\n if (evento.key === 'ArrowRight') {\n evento.preventDefault()\n proximo()\n return\n }\n\n if (evento.key === 'ArrowLeft') {\n evento.preventDefault()\n anterior()\n return\n }\n\n // Enter só avança quando o foco está no balão em si — num botão, ele já é\n // o \"clique\" nativo e avançar de novo pularia um passo.\n if (evento.key === 'Enter' && evento.target === balaoRef.value) {\n evento.preventDefault()\n proximo()\n return\n }\n\n // Teclas de rolagem — mesmo travamento do wheel/touch: quem rola é o tour.\n // Exceção: Space com foco num botão é o \"clique\" do teclado (eMAG 2.1) —\n // bloquear mataria o Tab+Space no \"Próximo\".\n const ehBotao =\n evento.target instanceof HTMLElement && evento.target.closest('button, [role=\"button\"]')\n if (evento.key === ' ' && ehBotao) return\n\n if (['ArrowUp', 'ArrowDown', 'PageUp', 'PageDown', 'Home', 'End', ' '].includes(evento.key)) {\n evento.preventDefault()\n }\n}\n\nfunction pularPasso(passo: TourStep, indice: number, motivo: TourSkipReason): void {\n const referencia = descreverAncora(motivo === 'activate-not-found' ? passo.activate! : passo)\n\n emits('step-skipped', { index: indice, step: passo, reason: motivo, reference: referencia })\n\n if (!import.meta.env.DEV) return\n console.warn(\n `[acai-ui-tour] Passo ${indice + 1} de \"${props.tour.id}\" foi pulado (${motivo}): ` +\n `\"${referencia}\" não apareceu no DOM.`,\n )\n}\n\n/** O usuário desistiu de esperar — a busca da vez devolve `null` na hora. */\nfunction pularBusca(): void {\n buscaCancelada = true\n controleBusca?.abort()\n}\n\nfunction encerrarAviso(): void {\n if (temporizadorAviso) window.clearTimeout(temporizadorAviso)\n temporizadorAviso = 0\n buscando.value = false\n controleBusca = null\n}\n\n/**\n * Espera um alvo COM feedback: passado o limiar, o balão troca as ações por\n * \"Procurando…\" + \"Pular\". Antes disso o tour ficava parado e indistinguível\n * de travado — e o `waitFor` de cada passo somava em silêncio.\n */\nasync function procurarComAviso(\n ancora: Parameters<typeof aguardarAlvo>[0],\n timeout: number,\n): Promise<HTMLElement | null> {\n const imediato = resolverAlvo(ancora)\n if (imediato) return imediato\n\n buscaCancelada = false\n controleBusca = new AbortController()\n temporizadorAviso = window.setTimeout(() => {\n buscando.value = true\n anuncio.value = 'Procurando o próximo passo.'\n }, ESPERA_ATE_AVISAR)\n\n try {\n return await aguardarAlvo(ancora, timeout, controleBusca.signal)\n } finally {\n encerrarAviso()\n }\n}\n\n/**\n * Abre o que o passo vai explicar, ANTES de procurar o alvo: `before` (código\n * do consumidor) e `activate` (um clique que o próprio tour dá). É o que evita\n * transformar um tour que atravessa abas numa corrida de cliques obrigatórios.\n *\n * Devolve `false` quando havia `activate` e o gatilho não apareceu — o passo\n * ainda é tentado, mas o motivo do skip fica correto se ele falhar.\n */\nasync function prepararPasso(passo: TourStep): Promise<boolean> {\n if (passo.before) {\n try {\n await passo.before()\n } catch (erro) {\n if (import.meta.env.DEV) console.warn(`[acai-ui-tour] \"before\" do passo falhou:`, erro)\n }\n }\n\n const ativar = passo.activate\n if (!ativar) return true\n\n // Alvo já à vista: acionar de novo FECHARIA o que está aberto (aba e\n // expansion são toggle). Por isso a ativação é condicional por padrão.\n if (!ativar.always && !passoSemAncora(passo) && resolverAlvo(passo)) return true\n\n const gatilho = await procurarComAviso(ativar, ativar.waitFor ?? passo.waitFor ?? ESPERA_PADRAO)\n if (!gatilho) return false\n\n gatilho.click()\n await nextTick()\n return true\n}\n\nasync function irPara(indice: number): Promise<void> {\n if (indice < 0) return\n if (indice >= passos.value.length) return concluir()\n\n const passo = passos.value[indice]!\n // Toda navegação nova invalida a anterior: a última ganha, e uma busca ainda\n // pendente não volta depois pra aplicar um passo que já não é o da vez.\n const minhaSessao = ++sessao\n controleBusca?.abort()\n\n const ativou = await prepararPasso(passo)\n // O tour fechou (ou outro `irPara` assumiu) enquanto isto acontecia.\n if (minhaSessao !== sessao) return\n\n if (passoSemAncora(passo)) {\n alvoEl.value = null\n aplicarPasso(indice)\n return\n }\n\n const el = await procurarComAviso(passo, passo.waitFor ?? ESPERA_PADRAO)\n if (minhaSessao !== sessao) return\n\n if (!el) {\n const motivo: TourSkipReason = buscaCancelada\n ? 'cancelled'\n : ativou\n ? 'target-not-found'\n : 'activate-not-found'\n pularPasso(passo, indice, motivo)\n\n const seguinte = indice + direcao\n // Pulou o primeiro andando pra trás: não há pra onde ir, fica onde está.\n if (seguinte < 0) return\n return irPara(seguinte)\n }\n\n scrollParaElemento(el, undefined, semAnimacao.value ? 'auto' : 'smooth')\n alvoEl.value = el\n aplicarPasso(indice)\n}\n\n/**\n * Passo interativo avança na AÇÃO, não no botão. A instrução \"clique em\n * Pesquisar\" prometia isso desde sempre: liberar o clique e deixar o índice\n * parado significa que quem obedece o passo vê o tour congelado.\n * Escuta na fase de bolha — o handler do app roda primeiro.\n */\nfunction escutarAlvoInterativo(): void {\n desescutarAlvo?.()\n desescutarAlvo = null\n\n const passo = passoAtual.value\n const el = alvoEl.value\n if (!el || !passo?.interactive || passo.advanceOn === 'manual') return\n\n const aoAgir = (): void => {\n // Solta a escuta na hora: dois cliques seguidos no mesmo elemento não\n // podem virar dois avanços.\n desescutarAlvo?.()\n desescutarAlvo = null\n // Cede um tick pro efeito do clique acontecer (trocar de aba, buscar)\n // antes de procurar o alvo do passo seguinte.\n window.setTimeout(() => {\n if (aberto.value) proximo()\n }, 0)\n }\n\n el.addEventListener('click', aoAgir)\n desescutarAlvo = (): void => el.removeEventListener('click', aoAgir)\n}\n\nfunction aplicarPasso(indice: number): void {\n // Cala ANTES de reescrever o anúncio: a fala é do passo velho, e o `aria-live`\n // abaixo vai anunciar o passo novo. Nessa ordem os dois nunca se atropelam.\n pararFala()\n\n indiceAtual.value = indice\n pronto.value = false\n emits('step', indice)\n\n const passo = passos.value[indice]\n anuncio.value = `Passo ${indice + 1} de ${passos.value.length}. ${passo?.title ?? ''} ${passo?.text ?? ''}`.trim()\n\n escutarAlvoInterativo()\n\n void nextTick(() => {\n medir()\n // Segunda medição no frame seguinte: na primeira o balão ainda não tem o\n // tamanho final (texto do passo novo), e o flip sairia com a altura velha.\n agendarMedicao()\n if (!passo?.interactive) balaoRef.value?.focus({ preventScroll: true })\n })\n}\n\nfunction proximo(): void {\n direcao = 1\n void irPara(indiceAtual.value + 1)\n}\n\nfunction anterior(): void {\n direcao = -1\n void irPara(indiceAtual.value - 1)\n}\n\nfunction encerrar(): void {\n pararFala()\n aberto.value = false\n // Invalida qualquer busca em voo — sem isto um alvo que aparece depois do\n // fim reabriria o passo em cima de uma tela que já seguiu adiante.\n sessao++\n controleBusca?.abort()\n encerrarAviso()\n desescutarAlvo?.()\n desescutarAlvo = null\n desligarObservadores()\n alvoEl.value = null\n recorte.value = null\n pronto.value = false\n focoAnterior?.focus({ preventScroll: true })\n focoAnterior = null\n}\n\nfunction concluir(): void {\n encerrar()\n emits('finish')\n}\n\nfunction sair(): void {\n encerrar()\n emits('exit')\n}\n\nfunction iniciar(): void {\n focoAnterior = document.activeElement instanceof HTMLElement ? document.activeElement : null\n direcao = 1\n ligarObservadores()\n void irPara(Math.min(Math.max(props.startAt, 0), Math.max(passos.value.length - 1, 0)))\n}\n\n// `immediate` porque o caso normal é o pai montar o componente já com o\n// v-model em `true` — sem ele o watcher nunca dispara e o tour não começa.\nwatch(\n aberto,\n ativo => {\n if (ativo) {\n if (passos.value.length === 0) {\n aberto.value = false\n emits('exit')\n return\n }\n void nextTick(iniciar)\n } else {\n desligarObservadores()\n }\n },\n { immediate: true },\n)\n\nonBeforeUnmount(() => {\n pararFala()\n sessao++\n controleBusca?.abort()\n encerrarAviso()\n desescutarAlvo?.()\n desescutarAlvo = null\n desligarObservadores()\n})\n\ndefineExpose({ proximo, anterior, sair, irPara, pularBusca })\n</script>\n\n<style lang=\"scss\" src=\"./acai-ui-tour-styles.scss\" />\n"],"names":["_useModel","centro","_createBlock","_Teleport","_createElementBlock","_normalizeClass","_openBlock","_createElementVNode","_Fragment","_renderList","_normalizeStyle","_createVNode","AcaiUiIcon","_toDisplayString"],"mappings":"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"}
|
package/dist/index42.cjs
ADDED
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const dateUtils = require("./index45.cjs");
|
|
4
|
+
const FormRules = {
|
|
5
|
+
campoObrigatorio(value) {
|
|
6
|
+
if (value === null || value === void 0 || value === "") return "Esse campo é obrigatório";
|
|
7
|
+
if (Array.isArray(value) && value.length === 0) return "Esse campo é obrigatório";
|
|
8
|
+
return true;
|
|
9
|
+
},
|
|
10
|
+
/**
|
|
11
|
+
* Valida formato de e-mail.
|
|
12
|
+
* Se `dominios` for informado, aceita apenas esses domínios.
|
|
13
|
+
* @example
|
|
14
|
+
* FormRules.validarEmail()('teste@gmail.com') // true
|
|
15
|
+
* FormRules.validarEmail(['detran.pa.gov.br'])('teste@gmail.com') // 'E-mail deve ser de: detran.pa.gov.br'
|
|
16
|
+
*/
|
|
17
|
+
validarEmail(dominios) {
|
|
18
|
+
return (value) => {
|
|
19
|
+
var _a;
|
|
20
|
+
if (!value || typeof value !== "string") return true;
|
|
21
|
+
const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
|
|
22
|
+
if (!regex.test(value)) return "E-mail inválido";
|
|
23
|
+
if (dominios && dominios.length > 0) {
|
|
24
|
+
const dominio = (_a = value.split("@")[1]) == null ? void 0 : _a.toLowerCase();
|
|
25
|
+
const permitidos = dominios.map((d) => d.toLowerCase());
|
|
26
|
+
if (!dominio || !permitidos.includes(dominio)) {
|
|
27
|
+
return `E-mail deve ser de: ${permitidos.join(", ")}`;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return true;
|
|
31
|
+
};
|
|
32
|
+
},
|
|
33
|
+
/**
|
|
34
|
+
* Valida se a data é válida (existe no calendário).
|
|
35
|
+
* Aceita formatos: dd/mm/yyyy, yyyy-mm-dd
|
|
36
|
+
* @example
|
|
37
|
+
* FormRules.validarDataValida()('31/02/2026') // 'Data inválida'
|
|
38
|
+
* FormRules.validarDataValida()('28/02/2026') // true
|
|
39
|
+
*/
|
|
40
|
+
validarDataValida() {
|
|
41
|
+
return (value) => {
|
|
42
|
+
if (!value || typeof value !== "string") return true;
|
|
43
|
+
const iso = /^(\d{4})-(\d{2})-(\d{2})/.exec(value.trim());
|
|
44
|
+
const indian = iso ? `${iso[3]}/${iso[2]}/${iso[1]}` : value;
|
|
45
|
+
return dateUtils.parseDataIndian(indian) ? true : "Data inválida";
|
|
46
|
+
};
|
|
47
|
+
},
|
|
48
|
+
/**
|
|
49
|
+
* Valida hora no formato HH:mm (24h).
|
|
50
|
+
* @example
|
|
51
|
+
* FormRules.validarHoraValida()('88:77') // 'Hora inválida'
|
|
52
|
+
* FormRules.validarHoraValida()('23:59') // true
|
|
53
|
+
*/
|
|
54
|
+
validarHoraValida() {
|
|
55
|
+
return (value) => {
|
|
56
|
+
if (!value || typeof value !== "string") return true;
|
|
57
|
+
return dateUtils.horaValida(value) ? true : "Hora inválida";
|
|
58
|
+
};
|
|
59
|
+
},
|
|
60
|
+
/**
|
|
61
|
+
* Valida data e hora juntas, no formato `dd/mm/yyyy HH:mm`.
|
|
62
|
+
* Reporta separadamente qual das duas partes está errada.
|
|
63
|
+
* @example
|
|
64
|
+
* FormRules.validarDataHoraValida()('31/02/2026 10:00') // 'Data inválida'
|
|
65
|
+
* FormRules.validarDataHoraValida()('28/02/2026 99:99') // 'Hora inválida'
|
|
66
|
+
* FormRules.validarDataHoraValida()('28/02/2026 10:00') // true
|
|
67
|
+
*/
|
|
68
|
+
validarDataHoraValida() {
|
|
69
|
+
return (value) => {
|
|
70
|
+
if (!value || typeof value !== "string") return true;
|
|
71
|
+
const [dataParte = "", horaParte = ""] = value.trim().split(" ");
|
|
72
|
+
if (!dateUtils.parseDataIndian(dataParte)) return "Data inválida";
|
|
73
|
+
if (horaParte && !dateUtils.horaValida(horaParte)) return "Hora inválida";
|
|
74
|
+
return true;
|
|
75
|
+
};
|
|
76
|
+
},
|
|
77
|
+
/**
|
|
78
|
+
* Valida se a pessoa tem idade mínima.
|
|
79
|
+
* @param idadeMinima — idade mínima em anos
|
|
80
|
+
* @example
|
|
81
|
+
* FormRules.validarIdadeMinima(18)('01/01/2010') // 'Idade mínima: 18 anos'
|
|
82
|
+
* FormRules.validarIdadeMinima(18)('01/01/2000') // true
|
|
83
|
+
*/
|
|
84
|
+
validarIdadeMinima(idadeMinima) {
|
|
85
|
+
return (value) => {
|
|
86
|
+
if (!value || typeof value !== "string") return true;
|
|
87
|
+
const iso = /^(\d{4})-(\d{2})-(\d{2})/.exec(value.trim());
|
|
88
|
+
const indian = iso ? `${iso[3]}/${iso[2]}/${iso[1]}` : value;
|
|
89
|
+
const nascimento = dateUtils.parseDataIndian(indian);
|
|
90
|
+
if (!nascimento) return "Data inválida";
|
|
91
|
+
const hoje = /* @__PURE__ */ new Date();
|
|
92
|
+
let idade = hoje.getFullYear() - nascimento.getFullYear();
|
|
93
|
+
const mesAtual = hoje.getMonth() - nascimento.getMonth();
|
|
94
|
+
if (mesAtual < 0 || mesAtual === 0 && hoje.getDate() < nascimento.getDate()) {
|
|
95
|
+
idade--;
|
|
96
|
+
}
|
|
97
|
+
if (idade < idadeMinima) return `Idade mínima: ${idadeMinima} anos`;
|
|
98
|
+
return true;
|
|
99
|
+
};
|
|
100
|
+
},
|
|
101
|
+
/**
|
|
102
|
+
* Valida placa de veículo brasileira.
|
|
103
|
+
* Aceita formato antigo (ABC-1234) e Mercosul (ABC1D23).
|
|
104
|
+
* @example
|
|
105
|
+
* FormRules.validarPlaca()('ABC1D23') // true
|
|
106
|
+
* FormRules.validarPlaca()('ABC-1234') // true
|
|
107
|
+
* FormRules.validarPlaca()('123-ABCD') // 'Placa inválida'
|
|
108
|
+
*/
|
|
109
|
+
validarPlaca() {
|
|
110
|
+
return (value) => {
|
|
111
|
+
if (!value || typeof value !== "string") return true;
|
|
112
|
+
const limpo = value.replace(/[-\s]/g, "").toUpperCase();
|
|
113
|
+
const antigo = /^[A-Z]{3}\d{4}$/;
|
|
114
|
+
const mercosul = /^[A-Z]{3}\d[A-Z]\d{2}$/;
|
|
115
|
+
if (!antigo.test(limpo) && !mercosul.test(limpo)) return "Placa inválida";
|
|
116
|
+
return true;
|
|
117
|
+
};
|
|
118
|
+
},
|
|
119
|
+
/**
|
|
120
|
+
* Valida CPF com dígito verificador. Usável direto em `:rules`.
|
|
121
|
+
* Vazio retorna `true` (deixe `campoObrigatorio` cuidar do obrigatório).
|
|
122
|
+
* @example FormRules.validarCpf('111.444.777-35') // true
|
|
123
|
+
*/
|
|
124
|
+
validarCpf(cpf) {
|
|
125
|
+
if (!cpf || typeof cpf !== "string") return true;
|
|
126
|
+
const cpfLimpo = cpf.replace(/\D/g, "");
|
|
127
|
+
if (cpfLimpo.length !== 11) return "Informe um CPF válido";
|
|
128
|
+
if (/^(\d)\1+$/.test(cpfLimpo)) return "Informe um CPF válido";
|
|
129
|
+
let soma = 0;
|
|
130
|
+
for (let i = 0; i < 9; i++) soma += Number(cpfLimpo.charAt(i)) * (10 - i);
|
|
131
|
+
let resto = soma * 10 % 11;
|
|
132
|
+
if (resto === 10) resto = 0;
|
|
133
|
+
if (resto !== Number(cpfLimpo.charAt(9))) return "Informe um CPF válido";
|
|
134
|
+
soma = 0;
|
|
135
|
+
for (let i = 0; i < 10; i++) soma += Number(cpfLimpo.charAt(i)) * (11 - i);
|
|
136
|
+
resto = soma * 10 % 11;
|
|
137
|
+
if (resto === 10) resto = 0;
|
|
138
|
+
if (resto !== Number(cpfLimpo.charAt(10))) return "Informe um CPF válido";
|
|
139
|
+
return true;
|
|
140
|
+
},
|
|
141
|
+
/**
|
|
142
|
+
* Valida CNPJ (estrutural): 14 caracteres alfanuméricos (CNPJ alfanumérico
|
|
143
|
+
* 2026), não todos iguais. NÃO valida dígito verificador. Usável em `:rules`.
|
|
144
|
+
* Vazio retorna `true`.
|
|
145
|
+
*/
|
|
146
|
+
validarCnpj(cnpj) {
|
|
147
|
+
if (!cnpj || typeof cnpj !== "string") return true;
|
|
148
|
+
const cnpjLimpo = cnpj.replace(/[^A-Za-z0-9]/g, "").toUpperCase();
|
|
149
|
+
if (cnpjLimpo.length !== 14) return "Informe um CNPJ válido";
|
|
150
|
+
if (!/^[A-Z0-9]+$/.test(cnpjLimpo)) return "Informe um CNPJ válido";
|
|
151
|
+
if (/^([A-Z0-9])\1+$/.test(cnpjLimpo)) return "Informe um CNPJ válido";
|
|
152
|
+
return true;
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
function validateForm(ref) {
|
|
156
|
+
return ref.validate();
|
|
157
|
+
}
|
|
158
|
+
exports.default = FormRules;
|
|
159
|
+
exports.validateForm = validateForm;
|
|
160
|
+
//# sourceMappingURL=index42.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index42.cjs","sources":["../src/utils/form-rules.ts"],"sourcesContent":["import { horaValida, parseDataIndian } from './date-utils'\n\nconst FormRules = {\n campoObrigatorio(value: unknown): boolean | string {\n if (value === null || value === undefined || value === '') return 'Esse campo é obrigatório'\n if (Array.isArray(value) && value.length === 0) return 'Esse campo é obrigatório'\n return true\n },\n\n /**\n * Valida formato de e-mail.\n * Se `dominios` for informado, aceita apenas esses domínios.\n * @example\n * FormRules.validarEmail()('teste@gmail.com') // true\n * FormRules.validarEmail(['detran.pa.gov.br'])('teste@gmail.com') // 'E-mail deve ser de: detran.pa.gov.br'\n */\n validarEmail(dominios?: string[]) {\n return (value: unknown): boolean | string => {\n if (!value || typeof value !== 'string') return true\n\n const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/\n if (!regex.test(value)) return 'E-mail inválido'\n\n if (dominios && dominios.length > 0) {\n const dominio = value.split('@')[1]?.toLowerCase()\n const permitidos = dominios.map(d => d.toLowerCase())\n if (!dominio || !permitidos.includes(dominio)) {\n return `E-mail deve ser de: ${permitidos.join(', ')}`\n }\n }\n\n return true\n }\n },\n\n /**\n * Valida se a data é válida (existe no calendário).\n * Aceita formatos: dd/mm/yyyy, yyyy-mm-dd\n * @example\n * FormRules.validarDataValida()('31/02/2026') // 'Data inválida'\n * FormRules.validarDataValida()('28/02/2026') // true\n */\n validarDataValida() {\n return (value: unknown): boolean | string => {\n if (!value || typeof value !== 'string') return true\n\n // Normaliza ISO (yyyy-mm-dd) para dd/mm/yyyy e delega ao parser estrito,\n // que é o mesmo usado pelos componentes de data — uma fonte de verdade só.\n const iso = /^(\\d{4})-(\\d{2})-(\\d{2})/.exec(value.trim())\n const indian = iso ? `${iso[3]}/${iso[2]}/${iso[1]}` : value\n\n return parseDataIndian(indian) ? true : 'Data inválida'\n }\n },\n\n /**\n * Valida hora no formato HH:mm (24h).\n * @example\n * FormRules.validarHoraValida()('88:77') // 'Hora inválida'\n * FormRules.validarHoraValida()('23:59') // true\n */\n validarHoraValida() {\n return (value: unknown): boolean | string => {\n if (!value || typeof value !== 'string') return true\n return horaValida(value) ? true : 'Hora inválida'\n }\n },\n\n /**\n * Valida data e hora juntas, no formato `dd/mm/yyyy HH:mm`.\n * Reporta separadamente qual das duas partes está errada.\n * @example\n * FormRules.validarDataHoraValida()('31/02/2026 10:00') // 'Data inválida'\n * FormRules.validarDataHoraValida()('28/02/2026 99:99') // 'Hora inválida'\n * FormRules.validarDataHoraValida()('28/02/2026 10:00') // true\n */\n validarDataHoraValida() {\n return (value: unknown): boolean | string => {\n if (!value || typeof value !== 'string') return true\n\n const [dataParte = '', horaParte = ''] = value.trim().split(' ')\n if (!parseDataIndian(dataParte)) return 'Data inválida'\n // Hora é opcional aqui: o usuário digita a data antes de chegar na hora e\n // não deve levar erro de hora enquanto o campo ainda está pela metade.\n if (horaParte && !horaValida(horaParte)) return 'Hora inválida'\n\n return true\n }\n },\n\n /**\n * Valida se a pessoa tem idade mínima.\n * @param idadeMinima — idade mínima em anos\n * @example\n * FormRules.validarIdadeMinima(18)('01/01/2010') // 'Idade mínima: 18 anos'\n * FormRules.validarIdadeMinima(18)('01/01/2000') // true\n */\n validarIdadeMinima(idadeMinima: number) {\n return (value: unknown): boolean | string => {\n if (!value || typeof value !== 'string') return true\n\n const iso = /^(\\d{4})-(\\d{2})-(\\d{2})/.exec(value.trim())\n const indian = iso ? `${iso[3]}/${iso[2]}/${iso[1]}` : value\n\n // Mesmo parser estrito: antes 31/02/2010 virava 03/03/2010 e a idade era\n // calculada em cima de uma data que não existe.\n const nascimento = parseDataIndian(indian)\n if (!nascimento) return 'Data inválida'\n\n const hoje = new Date()\n let idade = hoje.getFullYear() - nascimento.getFullYear()\n const mesAtual = hoje.getMonth() - nascimento.getMonth()\n\n if (mesAtual < 0 || (mesAtual === 0 && hoje.getDate() < nascimento.getDate())) {\n idade--\n }\n\n if (idade < idadeMinima) return `Idade mínima: ${idadeMinima} anos`\n\n return true\n }\n },\n\n /**\n * Valida placa de veículo brasileira.\n * Aceita formato antigo (ABC-1234) e Mercosul (ABC1D23).\n * @example\n * FormRules.validarPlaca()('ABC1D23') // true\n * FormRules.validarPlaca()('ABC-1234') // true\n * FormRules.validarPlaca()('123-ABCD') // 'Placa inválida'\n */\n validarPlaca() {\n return (value: unknown): boolean | string => {\n if (!value || typeof value !== 'string') return true\n\n const limpo = value.replace(/[-\\s]/g, '').toUpperCase()\n\n // Formato antigo: ABC1234\n const antigo = /^[A-Z]{3}\\d{4}$/\n // Formato Mercosul: ABC1D23\n const mercosul = /^[A-Z]{3}\\d[A-Z]\\d{2}$/\n\n if (!antigo.test(limpo) && !mercosul.test(limpo)) return 'Placa inválida'\n\n return true\n }\n },\n\n /**\n * Valida CPF com dígito verificador. Usável direto em `:rules`.\n * Vazio retorna `true` (deixe `campoObrigatorio` cuidar do obrigatório).\n * @example FormRules.validarCpf('111.444.777-35') // true\n */\n validarCpf(cpf: unknown): boolean | string {\n if (!cpf || typeof cpf !== 'string') return true\n const cpfLimpo = cpf.replace(/\\D/g, '')\n\n if (cpfLimpo.length !== 11) return 'Informe um CPF válido'\n if (/^(\\d)\\1+$/.test(cpfLimpo)) return 'Informe um CPF válido'\n\n let soma = 0\n for (let i = 0; i < 9; i++) soma += Number(cpfLimpo.charAt(i)) * (10 - i)\n let resto = (soma * 10) % 11\n if (resto === 10) resto = 0\n if (resto !== Number(cpfLimpo.charAt(9))) return 'Informe um CPF válido'\n\n soma = 0\n for (let i = 0; i < 10; i++) soma += Number(cpfLimpo.charAt(i)) * (11 - i)\n resto = (soma * 10) % 11\n if (resto === 10) resto = 0\n if (resto !== Number(cpfLimpo.charAt(10))) return 'Informe um CPF válido'\n\n return true\n },\n\n /**\n * Valida CNPJ (estrutural): 14 caracteres alfanuméricos (CNPJ alfanumérico\n * 2026), não todos iguais. NÃO valida dígito verificador. Usável em `:rules`.\n * Vazio retorna `true`.\n */\n validarCnpj(cnpj: unknown): boolean | string {\n if (!cnpj || typeof cnpj !== 'string') return true\n const cnpjLimpo = cnpj.replace(/[^A-Za-z0-9]/g, '').toUpperCase()\n\n if (cnpjLimpo.length !== 14) return 'Informe um CNPJ válido'\n if (!/^[A-Z0-9]+$/.test(cnpjLimpo)) return 'Informe um CNPJ válido'\n if (/^([A-Z0-9])\\1+$/.test(cnpjLimpo)) return 'Informe um CNPJ válido'\n\n return true\n },\n}\n\nexport default FormRules\n\n/**\n * Dispara a validação de um form/campo do Quasar e resolve o resultado.\n * Aceita qualquer ref com `validate(): Promise<boolean>` (ex: QForm, AcaiUiForm).\n * @example if (await validateForm(formRef.value)) submeter()\n */\nexport function validateForm(ref: { validate: () => Promise<boolean> }): Promise<boolean> {\n return ref.validate()\n}\n"],"names":["parseDataIndian","horaValida"],"mappings":"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"}
|
package/dist/index42.mjs
ADDED
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { parseDataIndian, horaValida } from "./index45.mjs";
|
|
2
|
+
const FormRules = {
|
|
3
|
+
campoObrigatorio(value) {
|
|
4
|
+
if (value === null || value === void 0 || value === "") return "Esse campo é obrigatório";
|
|
5
|
+
if (Array.isArray(value) && value.length === 0) return "Esse campo é obrigatório";
|
|
6
|
+
return true;
|
|
7
|
+
},
|
|
8
|
+
/**
|
|
9
|
+
* Valida formato de e-mail.
|
|
10
|
+
* Se `dominios` for informado, aceita apenas esses domínios.
|
|
11
|
+
* @example
|
|
12
|
+
* FormRules.validarEmail()('teste@gmail.com') // true
|
|
13
|
+
* FormRules.validarEmail(['detran.pa.gov.br'])('teste@gmail.com') // 'E-mail deve ser de: detran.pa.gov.br'
|
|
14
|
+
*/
|
|
15
|
+
validarEmail(dominios) {
|
|
16
|
+
return (value) => {
|
|
17
|
+
var _a;
|
|
18
|
+
if (!value || typeof value !== "string") return true;
|
|
19
|
+
const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
|
|
20
|
+
if (!regex.test(value)) return "E-mail inválido";
|
|
21
|
+
if (dominios && dominios.length > 0) {
|
|
22
|
+
const dominio = (_a = value.split("@")[1]) == null ? void 0 : _a.toLowerCase();
|
|
23
|
+
const permitidos = dominios.map((d) => d.toLowerCase());
|
|
24
|
+
if (!dominio || !permitidos.includes(dominio)) {
|
|
25
|
+
return `E-mail deve ser de: ${permitidos.join(", ")}`;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return true;
|
|
29
|
+
};
|
|
30
|
+
},
|
|
31
|
+
/**
|
|
32
|
+
* Valida se a data é válida (existe no calendário).
|
|
33
|
+
* Aceita formatos: dd/mm/yyyy, yyyy-mm-dd
|
|
34
|
+
* @example
|
|
35
|
+
* FormRules.validarDataValida()('31/02/2026') // 'Data inválida'
|
|
36
|
+
* FormRules.validarDataValida()('28/02/2026') // true
|
|
37
|
+
*/
|
|
38
|
+
validarDataValida() {
|
|
39
|
+
return (value) => {
|
|
40
|
+
if (!value || typeof value !== "string") return true;
|
|
41
|
+
const iso = /^(\d{4})-(\d{2})-(\d{2})/.exec(value.trim());
|
|
42
|
+
const indian = iso ? `${iso[3]}/${iso[2]}/${iso[1]}` : value;
|
|
43
|
+
return parseDataIndian(indian) ? true : "Data inválida";
|
|
44
|
+
};
|
|
45
|
+
},
|
|
46
|
+
/**
|
|
47
|
+
* Valida hora no formato HH:mm (24h).
|
|
48
|
+
* @example
|
|
49
|
+
* FormRules.validarHoraValida()('88:77') // 'Hora inválida'
|
|
50
|
+
* FormRules.validarHoraValida()('23:59') // true
|
|
51
|
+
*/
|
|
52
|
+
validarHoraValida() {
|
|
53
|
+
return (value) => {
|
|
54
|
+
if (!value || typeof value !== "string") return true;
|
|
55
|
+
return horaValida(value) ? true : "Hora inválida";
|
|
56
|
+
};
|
|
57
|
+
},
|
|
58
|
+
/**
|
|
59
|
+
* Valida data e hora juntas, no formato `dd/mm/yyyy HH:mm`.
|
|
60
|
+
* Reporta separadamente qual das duas partes está errada.
|
|
61
|
+
* @example
|
|
62
|
+
* FormRules.validarDataHoraValida()('31/02/2026 10:00') // 'Data inválida'
|
|
63
|
+
* FormRules.validarDataHoraValida()('28/02/2026 99:99') // 'Hora inválida'
|
|
64
|
+
* FormRules.validarDataHoraValida()('28/02/2026 10:00') // true
|
|
65
|
+
*/
|
|
66
|
+
validarDataHoraValida() {
|
|
67
|
+
return (value) => {
|
|
68
|
+
if (!value || typeof value !== "string") return true;
|
|
69
|
+
const [dataParte = "", horaParte = ""] = value.trim().split(" ");
|
|
70
|
+
if (!parseDataIndian(dataParte)) return "Data inválida";
|
|
71
|
+
if (horaParte && !horaValida(horaParte)) return "Hora inválida";
|
|
72
|
+
return true;
|
|
73
|
+
};
|
|
74
|
+
},
|
|
75
|
+
/**
|
|
76
|
+
* Valida se a pessoa tem idade mínima.
|
|
77
|
+
* @param idadeMinima — idade mínima em anos
|
|
78
|
+
* @example
|
|
79
|
+
* FormRules.validarIdadeMinima(18)('01/01/2010') // 'Idade mínima: 18 anos'
|
|
80
|
+
* FormRules.validarIdadeMinima(18)('01/01/2000') // true
|
|
81
|
+
*/
|
|
82
|
+
validarIdadeMinima(idadeMinima) {
|
|
83
|
+
return (value) => {
|
|
84
|
+
if (!value || typeof value !== "string") return true;
|
|
85
|
+
const iso = /^(\d{4})-(\d{2})-(\d{2})/.exec(value.trim());
|
|
86
|
+
const indian = iso ? `${iso[3]}/${iso[2]}/${iso[1]}` : value;
|
|
87
|
+
const nascimento = parseDataIndian(indian);
|
|
88
|
+
if (!nascimento) return "Data inválida";
|
|
89
|
+
const hoje = /* @__PURE__ */ new Date();
|
|
90
|
+
let idade = hoje.getFullYear() - nascimento.getFullYear();
|
|
91
|
+
const mesAtual = hoje.getMonth() - nascimento.getMonth();
|
|
92
|
+
if (mesAtual < 0 || mesAtual === 0 && hoje.getDate() < nascimento.getDate()) {
|
|
93
|
+
idade--;
|
|
94
|
+
}
|
|
95
|
+
if (idade < idadeMinima) return `Idade mínima: ${idadeMinima} anos`;
|
|
96
|
+
return true;
|
|
97
|
+
};
|
|
98
|
+
},
|
|
99
|
+
/**
|
|
100
|
+
* Valida placa de veículo brasileira.
|
|
101
|
+
* Aceita formato antigo (ABC-1234) e Mercosul (ABC1D23).
|
|
102
|
+
* @example
|
|
103
|
+
* FormRules.validarPlaca()('ABC1D23') // true
|
|
104
|
+
* FormRules.validarPlaca()('ABC-1234') // true
|
|
105
|
+
* FormRules.validarPlaca()('123-ABCD') // 'Placa inválida'
|
|
106
|
+
*/
|
|
107
|
+
validarPlaca() {
|
|
108
|
+
return (value) => {
|
|
109
|
+
if (!value || typeof value !== "string") return true;
|
|
110
|
+
const limpo = value.replace(/[-\s]/g, "").toUpperCase();
|
|
111
|
+
const antigo = /^[A-Z]{3}\d{4}$/;
|
|
112
|
+
const mercosul = /^[A-Z]{3}\d[A-Z]\d{2}$/;
|
|
113
|
+
if (!antigo.test(limpo) && !mercosul.test(limpo)) return "Placa inválida";
|
|
114
|
+
return true;
|
|
115
|
+
};
|
|
116
|
+
},
|
|
117
|
+
/**
|
|
118
|
+
* Valida CPF com dígito verificador. Usável direto em `:rules`.
|
|
119
|
+
* Vazio retorna `true` (deixe `campoObrigatorio` cuidar do obrigatório).
|
|
120
|
+
* @example FormRules.validarCpf('111.444.777-35') // true
|
|
121
|
+
*/
|
|
122
|
+
validarCpf(cpf) {
|
|
123
|
+
if (!cpf || typeof cpf !== "string") return true;
|
|
124
|
+
const cpfLimpo = cpf.replace(/\D/g, "");
|
|
125
|
+
if (cpfLimpo.length !== 11) return "Informe um CPF válido";
|
|
126
|
+
if (/^(\d)\1+$/.test(cpfLimpo)) return "Informe um CPF válido";
|
|
127
|
+
let soma = 0;
|
|
128
|
+
for (let i = 0; i < 9; i++) soma += Number(cpfLimpo.charAt(i)) * (10 - i);
|
|
129
|
+
let resto = soma * 10 % 11;
|
|
130
|
+
if (resto === 10) resto = 0;
|
|
131
|
+
if (resto !== Number(cpfLimpo.charAt(9))) return "Informe um CPF válido";
|
|
132
|
+
soma = 0;
|
|
133
|
+
for (let i = 0; i < 10; i++) soma += Number(cpfLimpo.charAt(i)) * (11 - i);
|
|
134
|
+
resto = soma * 10 % 11;
|
|
135
|
+
if (resto === 10) resto = 0;
|
|
136
|
+
if (resto !== Number(cpfLimpo.charAt(10))) return "Informe um CPF válido";
|
|
137
|
+
return true;
|
|
138
|
+
},
|
|
139
|
+
/**
|
|
140
|
+
* Valida CNPJ (estrutural): 14 caracteres alfanuméricos (CNPJ alfanumérico
|
|
141
|
+
* 2026), não todos iguais. NÃO valida dígito verificador. Usável em `:rules`.
|
|
142
|
+
* Vazio retorna `true`.
|
|
143
|
+
*/
|
|
144
|
+
validarCnpj(cnpj) {
|
|
145
|
+
if (!cnpj || typeof cnpj !== "string") return true;
|
|
146
|
+
const cnpjLimpo = cnpj.replace(/[^A-Za-z0-9]/g, "").toUpperCase();
|
|
147
|
+
if (cnpjLimpo.length !== 14) return "Informe um CNPJ válido";
|
|
148
|
+
if (!/^[A-Z0-9]+$/.test(cnpjLimpo)) return "Informe um CNPJ válido";
|
|
149
|
+
if (/^([A-Z0-9])\1+$/.test(cnpjLimpo)) return "Informe um CNPJ válido";
|
|
150
|
+
return true;
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
function validateForm(ref) {
|
|
154
|
+
return ref.validate();
|
|
155
|
+
}
|
|
156
|
+
export {
|
|
157
|
+
FormRules as default,
|
|
158
|
+
validateForm
|
|
159
|
+
};
|
|
160
|
+
//# sourceMappingURL=index42.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index42.mjs","sources":["../src/utils/form-rules.ts"],"sourcesContent":["import { horaValida, parseDataIndian } from './date-utils'\n\nconst FormRules = {\n campoObrigatorio(value: unknown): boolean | string {\n if (value === null || value === undefined || value === '') return 'Esse campo é obrigatório'\n if (Array.isArray(value) && value.length === 0) return 'Esse campo é obrigatório'\n return true\n },\n\n /**\n * Valida formato de e-mail.\n * Se `dominios` for informado, aceita apenas esses domínios.\n * @example\n * FormRules.validarEmail()('teste@gmail.com') // true\n * FormRules.validarEmail(['detran.pa.gov.br'])('teste@gmail.com') // 'E-mail deve ser de: detran.pa.gov.br'\n */\n validarEmail(dominios?: string[]) {\n return (value: unknown): boolean | string => {\n if (!value || typeof value !== 'string') return true\n\n const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/\n if (!regex.test(value)) return 'E-mail inválido'\n\n if (dominios && dominios.length > 0) {\n const dominio = value.split('@')[1]?.toLowerCase()\n const permitidos = dominios.map(d => d.toLowerCase())\n if (!dominio || !permitidos.includes(dominio)) {\n return `E-mail deve ser de: ${permitidos.join(', ')}`\n }\n }\n\n return true\n }\n },\n\n /**\n * Valida se a data é válida (existe no calendário).\n * Aceita formatos: dd/mm/yyyy, yyyy-mm-dd\n * @example\n * FormRules.validarDataValida()('31/02/2026') // 'Data inválida'\n * FormRules.validarDataValida()('28/02/2026') // true\n */\n validarDataValida() {\n return (value: unknown): boolean | string => {\n if (!value || typeof value !== 'string') return true\n\n // Normaliza ISO (yyyy-mm-dd) para dd/mm/yyyy e delega ao parser estrito,\n // que é o mesmo usado pelos componentes de data — uma fonte de verdade só.\n const iso = /^(\\d{4})-(\\d{2})-(\\d{2})/.exec(value.trim())\n const indian = iso ? `${iso[3]}/${iso[2]}/${iso[1]}` : value\n\n return parseDataIndian(indian) ? true : 'Data inválida'\n }\n },\n\n /**\n * Valida hora no formato HH:mm (24h).\n * @example\n * FormRules.validarHoraValida()('88:77') // 'Hora inválida'\n * FormRules.validarHoraValida()('23:59') // true\n */\n validarHoraValida() {\n return (value: unknown): boolean | string => {\n if (!value || typeof value !== 'string') return true\n return horaValida(value) ? true : 'Hora inválida'\n }\n },\n\n /**\n * Valida data e hora juntas, no formato `dd/mm/yyyy HH:mm`.\n * Reporta separadamente qual das duas partes está errada.\n * @example\n * FormRules.validarDataHoraValida()('31/02/2026 10:00') // 'Data inválida'\n * FormRules.validarDataHoraValida()('28/02/2026 99:99') // 'Hora inválida'\n * FormRules.validarDataHoraValida()('28/02/2026 10:00') // true\n */\n validarDataHoraValida() {\n return (value: unknown): boolean | string => {\n if (!value || typeof value !== 'string') return true\n\n const [dataParte = '', horaParte = ''] = value.trim().split(' ')\n if (!parseDataIndian(dataParte)) return 'Data inválida'\n // Hora é opcional aqui: o usuário digita a data antes de chegar na hora e\n // não deve levar erro de hora enquanto o campo ainda está pela metade.\n if (horaParte && !horaValida(horaParte)) return 'Hora inválida'\n\n return true\n }\n },\n\n /**\n * Valida se a pessoa tem idade mínima.\n * @param idadeMinima — idade mínima em anos\n * @example\n * FormRules.validarIdadeMinima(18)('01/01/2010') // 'Idade mínima: 18 anos'\n * FormRules.validarIdadeMinima(18)('01/01/2000') // true\n */\n validarIdadeMinima(idadeMinima: number) {\n return (value: unknown): boolean | string => {\n if (!value || typeof value !== 'string') return true\n\n const iso = /^(\\d{4})-(\\d{2})-(\\d{2})/.exec(value.trim())\n const indian = iso ? `${iso[3]}/${iso[2]}/${iso[1]}` : value\n\n // Mesmo parser estrito: antes 31/02/2010 virava 03/03/2010 e a idade era\n // calculada em cima de uma data que não existe.\n const nascimento = parseDataIndian(indian)\n if (!nascimento) return 'Data inválida'\n\n const hoje = new Date()\n let idade = hoje.getFullYear() - nascimento.getFullYear()\n const mesAtual = hoje.getMonth() - nascimento.getMonth()\n\n if (mesAtual < 0 || (mesAtual === 0 && hoje.getDate() < nascimento.getDate())) {\n idade--\n }\n\n if (idade < idadeMinima) return `Idade mínima: ${idadeMinima} anos`\n\n return true\n }\n },\n\n /**\n * Valida placa de veículo brasileira.\n * Aceita formato antigo (ABC-1234) e Mercosul (ABC1D23).\n * @example\n * FormRules.validarPlaca()('ABC1D23') // true\n * FormRules.validarPlaca()('ABC-1234') // true\n * FormRules.validarPlaca()('123-ABCD') // 'Placa inválida'\n */\n validarPlaca() {\n return (value: unknown): boolean | string => {\n if (!value || typeof value !== 'string') return true\n\n const limpo = value.replace(/[-\\s]/g, '').toUpperCase()\n\n // Formato antigo: ABC1234\n const antigo = /^[A-Z]{3}\\d{4}$/\n // Formato Mercosul: ABC1D23\n const mercosul = /^[A-Z]{3}\\d[A-Z]\\d{2}$/\n\n if (!antigo.test(limpo) && !mercosul.test(limpo)) return 'Placa inválida'\n\n return true\n }\n },\n\n /**\n * Valida CPF com dígito verificador. Usável direto em `:rules`.\n * Vazio retorna `true` (deixe `campoObrigatorio` cuidar do obrigatório).\n * @example FormRules.validarCpf('111.444.777-35') // true\n */\n validarCpf(cpf: unknown): boolean | string {\n if (!cpf || typeof cpf !== 'string') return true\n const cpfLimpo = cpf.replace(/\\D/g, '')\n\n if (cpfLimpo.length !== 11) return 'Informe um CPF válido'\n if (/^(\\d)\\1+$/.test(cpfLimpo)) return 'Informe um CPF válido'\n\n let soma = 0\n for (let i = 0; i < 9; i++) soma += Number(cpfLimpo.charAt(i)) * (10 - i)\n let resto = (soma * 10) % 11\n if (resto === 10) resto = 0\n if (resto !== Number(cpfLimpo.charAt(9))) return 'Informe um CPF válido'\n\n soma = 0\n for (let i = 0; i < 10; i++) soma += Number(cpfLimpo.charAt(i)) * (11 - i)\n resto = (soma * 10) % 11\n if (resto === 10) resto = 0\n if (resto !== Number(cpfLimpo.charAt(10))) return 'Informe um CPF válido'\n\n return true\n },\n\n /**\n * Valida CNPJ (estrutural): 14 caracteres alfanuméricos (CNPJ alfanumérico\n * 2026), não todos iguais. NÃO valida dígito verificador. Usável em `:rules`.\n * Vazio retorna `true`.\n */\n validarCnpj(cnpj: unknown): boolean | string {\n if (!cnpj || typeof cnpj !== 'string') return true\n const cnpjLimpo = cnpj.replace(/[^A-Za-z0-9]/g, '').toUpperCase()\n\n if (cnpjLimpo.length !== 14) return 'Informe um CNPJ válido'\n if (!/^[A-Z0-9]+$/.test(cnpjLimpo)) return 'Informe um CNPJ válido'\n if (/^([A-Z0-9])\\1+$/.test(cnpjLimpo)) return 'Informe um CNPJ válido'\n\n return true\n },\n}\n\nexport default FormRules\n\n/**\n * Dispara a validação de um form/campo do Quasar e resolve o resultado.\n * Aceita qualquer ref com `validate(): Promise<boolean>` (ex: QForm, AcaiUiForm).\n * @example if (await validateForm(formRef.value)) submeter()\n */\nexport function validateForm(ref: { validate: () => Promise<boolean> }): Promise<boolean> {\n return ref.validate()\n}\n"],"names":[],"mappings":"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"}
|
package/dist/index43.cjs
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const Hints = {
|
|
3
|
+
pressionarXParaRegistrar(key) {
|
|
4
|
+
return `Pressione "${key}" para adicionar`;
|
|
5
|
+
},
|
|
6
|
+
selecioneParaLiberar(key) {
|
|
7
|
+
return `Selecione o campo "${key}" para habilitar`;
|
|
8
|
+
},
|
|
9
|
+
pressionarEnterParaPesquisar() {
|
|
10
|
+
return 'Pressione "enter" para adicionar';
|
|
11
|
+
},
|
|
12
|
+
maximoCaracter(max) {
|
|
13
|
+
return `Máximo ${max} caracteres`;
|
|
14
|
+
},
|
|
15
|
+
minimoCaracter(min) {
|
|
16
|
+
return `Mínimo ${min} caracteres`;
|
|
17
|
+
},
|
|
18
|
+
justificativa() {
|
|
19
|
+
return "Informe sua justificativa.";
|
|
20
|
+
},
|
|
21
|
+
campoObrigatorio() {
|
|
22
|
+
return "Campo obrigatório";
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
module.exports = Hints;
|
|
26
|
+
//# sourceMappingURL=index43.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index43.cjs","sources":["../src/utils/hint-mensagem.ts"],"sourcesContent":["const Hints = {\n pressionarXParaRegistrar(key: string) {\n return `Pressione \"${key}\" para adicionar`\n },\n selecioneParaLiberar(key: string) {\n return `Selecione o campo \"${key}\" para habilitar`\n },\n pressionarEnterParaPesquisar() {\n return 'Pressione \"enter\" para adicionar'\n },\n maximoCaracter(max: string | number) {\n return `Máximo ${max} caracteres`\n },\n minimoCaracter(min?: string) {\n return `Mínimo ${min} caracteres`\n },\n justificativa() {\n return 'Informe sua justificativa.'\n },\n campoObrigatorio() {\n return 'Campo obrigatório'\n },\n}\n\nexport default Hints\n"],"names":[],"mappings":";AAAA,MAAM,QAAQ;AAAA,EACZ,yBAAyB,KAAa;AACpC,WAAO,cAAc,GAAG;AAAA,EAC1B;AAAA,EACA,qBAAqB,KAAa;AAChC,WAAO,sBAAsB,GAAG;AAAA,EAClC;AAAA,EACA,+BAA+B;AAC7B,WAAO;AAAA,EACT;AAAA,EACA,eAAe,KAAsB;AACnC,WAAO,UAAU,GAAG;AAAA,EACtB;AAAA,EACA,eAAe,KAAc;AAC3B,WAAO,UAAU,GAAG;AAAA,EACtB;AAAA,EACA,gBAAgB;AACd,WAAO;AAAA,EACT;AAAA,EACA,mBAAmB;AACjB,WAAO;AAAA,EACT;AACF;;"}
|
package/dist/index43.mjs
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
const Hints = {
|
|
2
|
+
pressionarXParaRegistrar(key) {
|
|
3
|
+
return `Pressione "${key}" para adicionar`;
|
|
4
|
+
},
|
|
5
|
+
selecioneParaLiberar(key) {
|
|
6
|
+
return `Selecione o campo "${key}" para habilitar`;
|
|
7
|
+
},
|
|
8
|
+
pressionarEnterParaPesquisar() {
|
|
9
|
+
return 'Pressione "enter" para adicionar';
|
|
10
|
+
},
|
|
11
|
+
maximoCaracter(max) {
|
|
12
|
+
return `Máximo ${max} caracteres`;
|
|
13
|
+
},
|
|
14
|
+
minimoCaracter(min) {
|
|
15
|
+
return `Mínimo ${min} caracteres`;
|
|
16
|
+
},
|
|
17
|
+
justificativa() {
|
|
18
|
+
return "Informe sua justificativa.";
|
|
19
|
+
},
|
|
20
|
+
campoObrigatorio() {
|
|
21
|
+
return "Campo obrigatório";
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
export {
|
|
25
|
+
Hints as default
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=index43.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index43.mjs","sources":["../src/utils/hint-mensagem.ts"],"sourcesContent":["const Hints = {\n pressionarXParaRegistrar(key: string) {\n return `Pressione \"${key}\" para adicionar`\n },\n selecioneParaLiberar(key: string) {\n return `Selecione o campo \"${key}\" para habilitar`\n },\n pressionarEnterParaPesquisar() {\n return 'Pressione \"enter\" para adicionar'\n },\n maximoCaracter(max: string | number) {\n return `Máximo ${max} caracteres`\n },\n minimoCaracter(min?: string) {\n return `Mínimo ${min} caracteres`\n },\n justificativa() {\n return 'Informe sua justificativa.'\n },\n campoObrigatorio() {\n return 'Campo obrigatório'\n },\n}\n\nexport default Hints\n"],"names":[],"mappings":"AAAA,MAAM,QAAQ;AAAA,EACZ,yBAAyB,KAAa;AACpC,WAAO,cAAc,GAAG;AAAA,EAC1B;AAAA,EACA,qBAAqB,KAAa;AAChC,WAAO,sBAAsB,GAAG;AAAA,EAClC;AAAA,EACA,+BAA+B;AAC7B,WAAO;AAAA,EACT;AAAA,EACA,eAAe,KAAsB;AACnC,WAAO,UAAU,GAAG;AAAA,EACtB;AAAA,EACA,eAAe,KAAc;AAC3B,WAAO,UAAU,GAAG;AAAA,EACtB;AAAA,EACA,gBAAgB;AACd,WAAO;AAAA,EACT;AAAA,EACA,mBAAmB;AACjB,WAAO;AAAA,EACT;AACF;"}
|
package/dist/index44.cjs
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const Masks = {
|
|
3
|
+
cpf: "###.###.###-##",
|
|
4
|
+
rg: "#######",
|
|
5
|
+
// CNPJ alfanumérico (regra 2026): 12 primeiras posições alfanuméricas
|
|
6
|
+
// (token `X` = alfanumérico maiúsculo, aceita dígito tb → numérico segue ok),
|
|
7
|
+
// os 2 últimos (dígitos verificadores) seguem numéricos (`#`).
|
|
8
|
+
cnpj: "XX.XXX.XXX/XXXX-##",
|
|
9
|
+
telefoneFixo: "(##) ####-####",
|
|
10
|
+
telefoneCelular: "(##) # ####-####",
|
|
11
|
+
cep: "#####-###",
|
|
12
|
+
data: "##/##/####",
|
|
13
|
+
dataHora: "##/##/#### ##:##",
|
|
14
|
+
hora: "##:##",
|
|
15
|
+
renavam: "###########",
|
|
16
|
+
protocolo: "####-##-##############",
|
|
17
|
+
dinheiro: "#.###.###,##"
|
|
18
|
+
};
|
|
19
|
+
module.exports = Masks;
|
|
20
|
+
//# sourceMappingURL=index44.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index44.cjs","sources":["../src/utils/masks.ts"],"sourcesContent":["const Masks = {\n cpf: '###.###.###-##',\n rg: '#######',\n // CNPJ alfanumérico (regra 2026): 12 primeiras posições alfanuméricas\n // (token `X` = alfanumérico maiúsculo, aceita dígito tb → numérico segue ok),\n // os 2 últimos (dígitos verificadores) seguem numéricos (`#`).\n cnpj: 'XX.XXX.XXX/XXXX-##',\n telefoneFixo: '(##) ####-####',\n telefoneCelular: '(##) # ####-####',\n cep: '#####-###',\n data: '##/##/####',\n dataHora: '##/##/#### ##:##',\n hora: '##:##',\n renavam: '###########',\n protocolo: '####-##-##############',\n dinheiro: '#.###.###,##',\n}\n\nexport default Masks\n"],"names":[],"mappings":";AAAA,MAAM,QAAQ;AAAA,EACZ,KAAK;AAAA,EACL,IAAI;AAAA;AAAA;AAAA;AAAA,EAIJ,MAAM;AAAA,EACN,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,KAAK;AAAA,EACL,MAAM;AAAA,EACN,UAAU;AAAA,EACV,MAAM;AAAA,EACN,SAAS;AAAA,EACT,WAAW;AAAA,EACX,UAAU;AACZ;;"}
|
package/dist/index44.mjs
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const Masks = {
|
|
2
|
+
cpf: "###.###.###-##",
|
|
3
|
+
rg: "#######",
|
|
4
|
+
// CNPJ alfanumérico (regra 2026): 12 primeiras posições alfanuméricas
|
|
5
|
+
// (token `X` = alfanumérico maiúsculo, aceita dígito tb → numérico segue ok),
|
|
6
|
+
// os 2 últimos (dígitos verificadores) seguem numéricos (`#`).
|
|
7
|
+
cnpj: "XX.XXX.XXX/XXXX-##",
|
|
8
|
+
telefoneFixo: "(##) ####-####",
|
|
9
|
+
telefoneCelular: "(##) # ####-####",
|
|
10
|
+
cep: "#####-###",
|
|
11
|
+
data: "##/##/####",
|
|
12
|
+
dataHora: "##/##/#### ##:##",
|
|
13
|
+
hora: "##:##",
|
|
14
|
+
renavam: "###########",
|
|
15
|
+
protocolo: "####-##-##############",
|
|
16
|
+
dinheiro: "#.###.###,##"
|
|
17
|
+
};
|
|
18
|
+
export {
|
|
19
|
+
Masks as default
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=index44.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index44.mjs","sources":["../src/utils/masks.ts"],"sourcesContent":["const Masks = {\n cpf: '###.###.###-##',\n rg: '#######',\n // CNPJ alfanumérico (regra 2026): 12 primeiras posições alfanuméricas\n // (token `X` = alfanumérico maiúsculo, aceita dígito tb → numérico segue ok),\n // os 2 últimos (dígitos verificadores) seguem numéricos (`#`).\n cnpj: 'XX.XXX.XXX/XXXX-##',\n telefoneFixo: '(##) ####-####',\n telefoneCelular: '(##) # ####-####',\n cep: '#####-###',\n data: '##/##/####',\n dataHora: '##/##/#### ##:##',\n hora: '##:##',\n renavam: '###########',\n protocolo: '####-##-##############',\n dinheiro: '#.###.###,##',\n}\n\nexport default Masks\n"],"names":[],"mappings":"AAAA,MAAM,QAAQ;AAAA,EACZ,KAAK;AAAA,EACL,IAAI;AAAA;AAAA;AAAA;AAAA,EAIJ,MAAM;AAAA,EACN,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,KAAK;AAAA,EACL,MAAM;AAAA,EACN,UAAU;AAAA,EACV,MAAM;AAAA,EACN,SAAS;AAAA,EACT,WAAW;AAAA,EACX,UAAU;AACZ;"}
|