mapa-library-ui 0.77.4 → 0.90.0
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/esm2020/lib/core/components/form-errors/form-errors.component.mjs +26 -0
- package/esm2020/lib/core/directives/custom-paginator-legacy.directive.mjs +39 -62
- package/esm2020/lib/core/directives/mat-input-autosize.directive.mjs +11 -8
- package/esm2020/lib/core/elements/errors.mjs +1 -1
- package/esm2020/lib/core/i18n/mapa-ui-texts.mjs +100 -0
- package/esm2020/lib/core/interfaces/classification.interface.mjs +2 -0
- package/esm2020/lib/core/interfaces/table-column.interface.mjs +2 -0
- package/esm2020/lib/core/pipes/safe-html.pipe.mjs +21 -0
- package/esm2020/lib/core/services/html-sanitizer.service.mjs +23 -0
- package/esm2020/lib/core/services/mapa-i18n.service.mjs +36 -0
- package/esm2020/lib/core/services/validation-message-resolver.service.mjs +72 -0
- package/esm2020/public-api.mjs +10 -1
- package/esm2020/src/lib/components/benchmarking/lib/components/benchmarking/src/benchmark-chart.component.mjs +2 -2
- package/esm2020/src/lib/components/benchmarking/lib/components/benchmarking/src/benchmark-indicator/benchmark-indicator.component.mjs +2 -2
- package/esm2020/src/lib/components/breadcrumb/lib/components/breadcrumb/src/breadcrumb.component.mjs +3 -3
- package/esm2020/src/lib/components/button/button.mjs +5 -0
- package/esm2020/src/lib/components/{chart → button}/lib/components/button/src/button.component.mjs +2 -2
- package/esm2020/src/lib/components/button/mapa-library-ui-src-lib-components-button.mjs +2 -2
- package/esm2020/src/lib/components/button-icon/lib/components/button-icon/src/button-icon.component.mjs +11 -3
- package/esm2020/src/lib/components/capability/lib/components/button/src/button.component.mjs +2 -2
- package/esm2020/src/lib/components/capability/lib/components/capability/public-api.mjs +3 -1
- package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-comparative/capability-comparative.module.mjs +2 -2
- package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-comparative-chart/capability-comparative-chart.component.mjs +2 -2
- package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-comparative-header/capability-comparative-header.component.mjs +27 -6
- package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-comparative-indicator/capability-comparative-indicator.component.mjs +2 -2
- package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-detail/capability-detail.component.mjs +18 -4
- package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-detail/capability-detail.module.mjs +1 -1
- package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-dot/capability-dot.component.mjs +4 -4
- package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-dot/capability-dot.module.mjs +9 -11
- package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-expand/capability-expand.component.mjs +35 -9
- package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-expand/capability-expand.module.mjs +4 -3
- package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-indicator/capability-indicator.component.mjs +2 -2
- package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-indicator-chart/capability-indicator-chart.component.mjs +2 -2
- package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-indicator-list/capability-indicator-list.component.mjs +44 -8
- package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-interval/capability-interval.component.mjs +2 -2
- package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-interval-bar/capability-interval-bar.component.mjs +2 -5
- package/esm2020/src/lib/components/capability/lib/components/capability/src/essentials/services/reusable-interval-bar.service.mjs +11 -3
- package/esm2020/src/lib/components/capability/lib/components/dropdown/src/dropdown.component.mjs +75 -99
- package/esm2020/src/lib/components/capability/lib/components/dropdown/src/dropdown.module.mjs +12 -5
- package/esm2020/src/lib/components/capability/lib/components/filters/src/filters.component.mjs +30 -11
- package/esm2020/src/lib/components/capability/lib/components/filters/src/filters.module.mjs +1 -1
- package/esm2020/src/lib/components/capability/lib/components/tag/src/tag.component.mjs +2 -2
- package/esm2020/src/lib/components/capability/lib/core/components/form-errors/form-errors.component.mjs +26 -0
- package/esm2020/src/lib/components/capability/lib/core/elements/errors.mjs +1 -1
- package/esm2020/src/lib/components/capability/lib/core/i18n/mapa-ui-texts.mjs +100 -0
- package/esm2020/src/lib/components/capability/lib/core/pipes/safe-html.pipe.mjs +21 -0
- package/esm2020/src/lib/components/capability/lib/core/services/html-sanitizer.service.mjs +23 -0
- package/esm2020/src/lib/components/capability/lib/core/services/mapa-i18n.service.mjs +36 -0
- package/esm2020/src/lib/components/capability/lib/core/services/validation-message-resolver.service.mjs +72 -0
- package/esm2020/src/lib/components/chart/lib/components/chart/src/chart.component.mjs +11 -6
- package/esm2020/src/lib/components/chart/lib/components/chart/src/chart.module.mjs +2 -2
- package/esm2020/src/lib/components/checkbox/checkbox.mjs +5 -0
- package/esm2020/src/lib/components/{table/lib/components/svg-icon → checkbox/lib/components/checkbox}/public-api.mjs +4 -4
- package/esm2020/src/lib/components/checkbox/{src → lib/components/checkbox/src}/checkbox.component.mjs +1 -1
- package/esm2020/src/lib/components/checkbox/{src → lib/components/checkbox/src}/checkbox.module.mjs +1 -1
- package/esm2020/src/lib/components/checkbox/mapa-library-ui-src-lib-components-checkbox.mjs +2 -2
- package/esm2020/src/lib/components/datepicker/datepicker.mjs +5 -0
- package/esm2020/src/lib/components/datepicker/lib/components/datepicker/public-api.mjs +6 -0
- package/esm2020/src/lib/components/datepicker/lib/components/datepicker/src/datepicker.component.mjs +65 -0
- package/esm2020/src/lib/components/datepicker/lib/components/datepicker/src/datepicker.module.mjs +70 -0
- package/esm2020/src/lib/components/datepicker/lib/core/i18n/mapa-ui-texts.mjs +100 -0
- package/esm2020/src/lib/components/datepicker/lib/core/services/mapa-i18n.service.mjs +36 -0
- package/esm2020/src/lib/components/datepicker/mapa-library-ui-src-lib-components-datepicker.mjs +2 -2
- package/esm2020/src/lib/components/dialog/lib/components/button/src/button.component.mjs +2 -2
- package/esm2020/src/lib/components/dialog/lib/components/dialog/src/dialog.component.mjs +6 -4
- package/esm2020/src/lib/components/dialog/lib/components/dialog/src/dialog.module.mjs +6 -3
- package/esm2020/src/lib/components/dialog/lib/core/pipes/safe-html.pipe.mjs +21 -0
- package/esm2020/src/lib/components/dialog/lib/core/services/html-sanitizer.service.mjs +23 -0
- package/esm2020/src/lib/components/dropdown/dropdown.mjs +1 -2
- package/esm2020/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.component.mjs +75 -99
- package/esm2020/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.module.mjs +12 -5
- package/esm2020/src/lib/components/dropdown/lib/core/components/form-errors/form-errors.component.mjs +26 -0
- package/esm2020/src/lib/components/dropdown/lib/core/elements/errors.mjs +1 -1
- package/esm2020/src/lib/components/dropdown/lib/core/i18n/mapa-ui-texts.mjs +100 -0
- package/esm2020/src/lib/components/dropdown/lib/core/pipes/safe-html.pipe.mjs +21 -0
- package/esm2020/src/lib/components/dropdown/lib/core/services/html-sanitizer.service.mjs +23 -0
- package/esm2020/src/lib/components/dropdown/lib/core/services/mapa-i18n.service.mjs +36 -0
- package/esm2020/src/lib/components/dropdown/lib/core/services/validation-message-resolver.service.mjs +72 -0
- package/esm2020/src/lib/components/dropdown-tree/dropdown-tree.mjs +9 -0
- package/esm2020/src/lib/components/dropdown-tree/lib/components/dropdown-tree/src/dropdown.component.mjs +33 -16
- package/esm2020/src/lib/components/dropdown-tree/lib/components/dropdown-tree/src/dropdown.module.mjs +9 -41
- package/esm2020/src/lib/components/dropdown-tree/lib/core/elements/errors.mjs +1 -1
- package/esm2020/src/lib/components/dropdown-tree/mapa-library-ui-src-lib-components-dropdown-tree.mjs +2 -2
- package/esm2020/src/lib/components/empty/empty.mjs +5 -0
- package/esm2020/src/lib/components/empty/lib/components/empty/public-api.mjs +6 -0
- package/esm2020/src/lib/components/empty/{src → lib/components/empty/src}/empty.component.mjs +4 -3
- package/esm2020/src/lib/components/empty/lib/components/empty/src/empty.module.mjs +27 -0
- package/esm2020/src/lib/components/empty/lib/core/pipes/safe-html.pipe.mjs +21 -0
- package/esm2020/src/lib/components/empty/lib/core/services/html-sanitizer.service.mjs +23 -0
- package/esm2020/src/lib/components/empty/mapa-library-ui-src-lib-components-empty.mjs +2 -2
- package/esm2020/src/lib/components/filters/lib/components/button/src/button.component.mjs +2 -2
- package/esm2020/src/lib/components/filters/lib/components/filters/src/filters.component.mjs +30 -11
- package/esm2020/src/lib/components/filters/lib/components/filters/src/filters.module.mjs +1 -1
- package/esm2020/src/lib/components/filters/lib/core/i18n/mapa-ui-texts.mjs +100 -0
- package/esm2020/src/lib/components/filters/lib/core/services/mapa-i18n.service.mjs +36 -0
- package/esm2020/src/lib/components/form/lib/components/button/src/button.component.mjs +2 -2
- package/esm2020/src/lib/components/form/lib/components/form/src/form.component.mjs +6 -5
- package/esm2020/src/lib/components/form/lib/components/form/src/form.module.mjs +3 -2
- package/esm2020/src/lib/components/form/lib/components/input/src/input.component.mjs +5 -4
- package/esm2020/src/lib/components/form/lib/components/input/src/input.module.mjs +13 -13
- package/esm2020/src/lib/components/form/lib/components/radio-button/src/radio-button.component.mjs +8 -3
- package/esm2020/src/lib/components/form/lib/components/slide-toggle/src/slide-toggle.component.mjs +8 -3
- package/esm2020/src/lib/components/form/lib/components/textarea/src/textarea.component.mjs +4 -3
- package/esm2020/src/lib/components/form/lib/components/textarea/src/textarea.module.mjs +7 -3
- package/esm2020/src/lib/components/form/lib/core/components/form-errors/form-errors.component.mjs +26 -0
- package/esm2020/src/lib/components/form/lib/core/directives/mat-input-autosize.directive.mjs +99 -0
- package/esm2020/src/lib/components/form/lib/core/elements/errors.mjs +1 -1
- package/esm2020/src/lib/components/form/lib/core/i18n/mapa-ui-texts.mjs +100 -0
- package/esm2020/src/lib/components/form/lib/core/services/mapa-i18n.service.mjs +36 -0
- package/esm2020/src/lib/components/form/lib/core/services/validation-message-resolver.service.mjs +72 -0
- package/esm2020/src/lib/components/group-report/lib/components/group-report/src/group-report-interface.mjs +1 -1
- package/esm2020/src/lib/components/group-report/lib/components/group-report/src/group-report.component.mjs +7 -6
- package/esm2020/src/lib/components/group-report/lib/components/group-report/src/group-report.module.mjs +2 -2
- package/esm2020/src/lib/components/icon/icon.mjs +5 -0
- package/esm2020/src/lib/components/icon/mapa-library-ui-src-lib-components-icon.mjs +2 -2
- package/esm2020/src/lib/components/input/input.mjs +5 -0
- package/esm2020/src/lib/components/input/lib/components/input/public-api.mjs +6 -0
- package/esm2020/src/lib/components/input/lib/components/input/src/input.component.mjs +40 -0
- package/esm2020/src/lib/components/input/lib/components/input/src/input.module.mjs +60 -0
- package/esm2020/src/lib/components/input/lib/core/components/form-errors/form-errors.component.mjs +26 -0
- package/esm2020/src/lib/components/input/lib/core/directives/mat-input-autosize.directive.mjs +99 -0
- package/esm2020/src/lib/components/{group-report → input}/lib/core/elements/errors.mjs +1 -1
- package/esm2020/src/lib/components/input/lib/core/i18n/mapa-ui-texts.mjs +100 -0
- package/esm2020/src/lib/components/input/lib/core/services/mapa-i18n.service.mjs +36 -0
- package/esm2020/src/lib/components/input/lib/core/services/validation-message-resolver.service.mjs +72 -0
- package/esm2020/src/lib/components/input/mapa-library-ui-src-lib-components-input.mjs +2 -2
- package/esm2020/src/lib/components/{table → menu}/lib/components/menu/src/menu.module.mjs +1 -1
- package/esm2020/src/lib/components/menu/mapa-library-ui-src-lib-components-menu.mjs +2 -2
- package/esm2020/src/lib/components/menu/menu.mjs +5 -0
- package/esm2020/src/lib/components/nav-list/lib/components/nav-list/src/nav-list.component.mjs +3 -3
- package/esm2020/src/lib/components/radio-button/lib/components/radio-button/src/radio-button.component.mjs +8 -3
- package/esm2020/src/lib/components/report-item/lib/components/report-item/public-api.mjs +6 -0
- package/esm2020/src/lib/components/report-item/lib/components/report-item/src/report-item.component.mjs +63 -0
- package/esm2020/src/lib/components/report-item/{src → lib/components/report-item/src}/report-item.module.mjs +1 -1
- package/esm2020/src/lib/components/report-item/mapa-library-ui-src-lib-components-report-item.mjs +2 -2
- package/esm2020/src/lib/components/report-item/report-item.mjs +5 -0
- package/esm2020/src/lib/components/scale/lib/components/button/src/button.component.mjs +2 -2
- package/esm2020/src/lib/components/scale/lib/components/capability/src/capability-interval/capability-interval.component.mjs +2 -2
- package/esm2020/src/lib/components/scale/lib/components/capability/src/capability-interval-bar/capability-interval-bar.component.mjs +2 -5
- package/esm2020/src/lib/components/scale/lib/components/filters/src/filters.component.mjs +30 -11
- package/esm2020/src/lib/components/scale/lib/components/filters/src/filters.module.mjs +1 -1
- package/esm2020/src/lib/components/scale/lib/components/group-report/src/group-report-interface.mjs +1 -1
- package/esm2020/src/lib/components/scale/lib/components/scale/src/details/details.component.mjs +3 -3
- package/esm2020/src/lib/components/scale/lib/components/scale/src/scale.component.mjs +25 -9
- package/esm2020/src/lib/components/scale/lib/components/scale/src/scale.interface.mjs +1 -1
- package/esm2020/src/lib/components/scale/lib/core/i18n/mapa-ui-texts.mjs +100 -0
- package/esm2020/src/lib/components/scale/lib/core/services/mapa-i18n.service.mjs +36 -0
- package/esm2020/src/lib/components/scale-parameterization/lib/components/group-report/src/group-report-interface.mjs +1 -1
- package/esm2020/src/lib/components/scale-parameterization/lib/components/scale-parameterization/src/details/details.component.mjs +3 -3
- package/esm2020/src/lib/components/scale-parameterization/lib/components/scale-parameterization/src/scale-parameterization.component.mjs +24 -9
- package/esm2020/src/lib/components/scale-parameterization/lib/components/scale-parameterization/src/scale-parameterization.interface.mjs +1 -1
- package/esm2020/src/lib/components/scale-parameterization/lib/components/scale-parameterization/src/scale-parameterization.module.mjs +6 -6
- package/esm2020/src/lib/components/scale-parameterization/lib/core/i18n/mapa-ui-texts.mjs +100 -0
- package/esm2020/src/lib/components/scale-parameterization/lib/core/services/mapa-i18n.service.mjs +36 -0
- package/esm2020/src/lib/components/slide-toggle/lib/components/slide-toggle/src/slide-toggle.component.mjs +8 -3
- package/esm2020/src/lib/components/svg-icon/lib/components/svg-icon/src/svg-icon.component.mjs +30 -18
- package/esm2020/src/lib/components/svg-icon/lib/components/svg-icon/src/svg-icon.module.mjs +5 -5
- package/esm2020/src/lib/components/svg-icon/lib/core/pipes/safe-html.pipe.mjs +21 -0
- package/esm2020/src/lib/components/svg-icon/lib/core/services/html-sanitizer.service.mjs +23 -0
- package/esm2020/src/lib/components/table/lib/components/table/src/paginator_customization.mjs +11 -16
- package/esm2020/src/lib/components/table/lib/components/table/src/table.component.mjs +74 -33
- package/esm2020/src/lib/components/table/lib/components/table/src/table.module.mjs +13 -9
- package/esm2020/src/lib/components/table/lib/core/directives/custom-paginator-legacy.directive.mjs +39 -62
- package/esm2020/src/lib/components/table/lib/core/i18n/mapa-ui-texts.mjs +100 -0
- package/esm2020/src/lib/components/table/lib/core/js-brasil/index.mjs +16 -0
- package/esm2020/src/lib/components/table/lib/core/js-brasil/src/create.mjs +455 -0
- package/esm2020/src/lib/components/table/lib/core/js-brasil/src/createNumberMask.mjs +115 -0
- package/esm2020/src/lib/components/table/lib/core/js-brasil/src/estados.mjs +34 -0
- package/esm2020/src/lib/components/table/lib/core/js-brasil/src/index.mjs +34 -0
- package/esm2020/src/lib/components/table/lib/core/js-brasil/src/inscricaoestadual.mjs +702 -0
- package/esm2020/src/lib/components/table/lib/core/js-brasil/src/interfaces.mjs +2 -0
- package/esm2020/src/lib/components/table/lib/core/js-brasil/src/iptu.mjs +25 -0
- package/esm2020/src/lib/components/table/lib/core/js-brasil/src/iptu_create.mjs +60 -0
- package/esm2020/src/lib/components/table/lib/core/js-brasil/src/iptu_mask.mjs +38 -0
- package/esm2020/src/lib/components/table/lib/core/js-brasil/src/iptu_validate.mjs +67 -0
- package/esm2020/src/lib/components/table/lib/core/js-brasil/src/mask.mjs +579 -0
- package/esm2020/src/lib/components/table/lib/core/js-brasil/src/name.mjs +371 -0
- package/esm2020/src/lib/components/table/lib/core/js-brasil/src/placa.mjs +162 -0
- package/esm2020/src/lib/components/table/lib/core/js-brasil/src/rg.mjs +63 -0
- package/esm2020/src/lib/components/table/lib/core/js-brasil/src/saude.mjs +62 -0
- package/esm2020/src/lib/components/table/lib/core/js-brasil/src/utils.mjs +304 -0
- package/esm2020/src/lib/components/table/lib/core/js-brasil/src/validate.mjs +627 -0
- package/esm2020/src/lib/components/table/lib/core/pipes/cpf.mjs +17 -0
- package/esm2020/src/lib/components/table/lib/core/pipes/safe-html.pipe.mjs +21 -0
- package/esm2020/src/lib/components/table/lib/core/services/html-sanitizer.service.mjs +23 -0
- package/esm2020/src/lib/components/table/lib/core/services/mapa-i18n.service.mjs +36 -0
- package/esm2020/src/lib/components/{scale-parameterization → tag}/lib/components/tag/src/tag.component.mjs +2 -2
- package/esm2020/src/lib/components/tag/mapa-library-ui-src-lib-components-tag.mjs +2 -2
- package/esm2020/src/lib/components/tag/tag.mjs +5 -0
- package/esm2020/src/lib/components/textarea/lib/components/textarea/src/textarea.component.mjs +4 -3
- package/esm2020/src/lib/components/textarea/lib/components/textarea/src/textarea.module.mjs +7 -3
- package/esm2020/src/lib/components/textarea/lib/core/components/form-errors/form-errors.component.mjs +26 -0
- package/esm2020/src/lib/components/textarea/lib/core/elements/errors.mjs +1 -1
- package/esm2020/src/lib/components/textarea/lib/core/i18n/mapa-ui-texts.mjs +100 -0
- package/esm2020/src/lib/components/textarea/lib/core/services/mapa-i18n.service.mjs +36 -0
- package/esm2020/src/lib/components/textarea/lib/core/services/validation-message-resolver.service.mjs +72 -0
- package/esm2020/src/lib/components/tooltip/lib/components/tooltip/public-api.mjs +7 -0
- package/esm2020/src/lib/components/tooltip/mapa-library-ui-src-lib-components-tooltip.mjs +2 -2
- package/esm2020/src/lib/components/tooltip/tooltip.mjs +6 -0
- package/esm2020/src/lib/components/{group-report/lib/components/filters → warning/lib/components/warning}/public-api.mjs +4 -4
- package/esm2020/src/lib/components/warning/lib/components/warning/src/warning.component.mjs +43 -0
- package/esm2020/src/lib/components/warning/{src → lib/components/warning/src}/warning.module.mjs +1 -1
- package/esm2020/src/lib/components/warning/mapa-library-ui-src-lib-components-warning.mjs +2 -2
- package/esm2020/src/lib/components/warning/warning.mjs +5 -0
- package/fesm2015/mapa-library-ui-src-lib-components-benchmarking.mjs +4 -4
- package/fesm2015/mapa-library-ui-src-lib-components-benchmarking.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-breadcrumb.mjs +2 -2
- package/fesm2015/mapa-library-ui-src-lib-components-breadcrumb.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-button-icon.mjs +10 -2
- package/fesm2015/mapa-library-ui-src-lib-components-button-icon.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-button.mjs +6 -2
- package/fesm2015/mapa-library-ui-src-lib-components-button.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-capability.mjs +630 -306
- package/fesm2015/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-chart.mjs +13 -312
- package/fesm2015/mapa-library-ui-src-lib-components-chart.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-checkbox.mjs +4 -0
- package/fesm2015/mapa-library-ui-src-lib-components-checkbox.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-datepicker.mjs +154 -14
- package/fesm2015/mapa-library-ui-src-lib-components-datepicker.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-dialog.mjs +50 -8
- package/fesm2015/mapa-library-ui-src-lib-components-dialog.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-dropdown-tree.mjs +40 -348
- package/fesm2015/mapa-library-ui-src-lib-components-dropdown-tree.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-dropdown.mjs +321 -254
- package/fesm2015/mapa-library-ui-src-lib-components-dropdown.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-empty.mjs +52 -6
- package/fesm2015/mapa-library-ui-src-lib-components-empty.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-filters.mjs +148 -14
- package/fesm2015/mapa-library-ui-src-lib-components-filters.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-form.mjs +347 -30
- package/fesm2015/mapa-library-ui-src-lib-components-form.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-group-report.mjs +7 -40
- package/fesm2015/mapa-library-ui-src-lib-components-group-report.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-icon.mjs +4 -0
- package/fesm2015/mapa-library-ui-src-lib-components-icon.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-input.mjs +319 -15
- package/fesm2015/mapa-library-ui-src-lib-components-input.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-menu.mjs +4 -0
- package/fesm2015/mapa-library-ui-src-lib-components-menu.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-nav-list.mjs +2 -2
- package/fesm2015/mapa-library-ui-src-lib-components-nav-list.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-radio-button.mjs +8 -2
- package/fesm2015/mapa-library-ui-src-lib-components-radio-button.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-report-item.mjs +48 -12
- package/fesm2015/mapa-library-ui-src-lib-components-report-item.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-scale-parameterization.mjs +134 -1304
- package/fesm2015/mapa-library-ui-src-lib-components-scale-parameterization.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-scale.mjs +176 -32
- package/fesm2015/mapa-library-ui-src-lib-components-scale.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-slide-toggle.mjs +8 -2
- package/fesm2015/mapa-library-ui-src-lib-components-slide-toggle.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-svg-icon.mjs +61 -27
- package/fesm2015/mapa-library-ui-src-lib-components-svg-icon.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-table.mjs +3935 -234
- package/fesm2015/mapa-library-ui-src-lib-components-table.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-tag.mjs +6 -2
- package/fesm2015/mapa-library-ui-src-lib-components-tag.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-textarea.mjs +216 -7
- package/fesm2015/mapa-library-ui-src-lib-components-textarea.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-tooltip.mjs +4 -0
- package/fesm2015/mapa-library-ui-src-lib-components-tooltip.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-warning.mjs +12 -2
- package/fesm2015/mapa-library-ui-src-lib-components-warning.mjs.map +1 -1
- package/fesm2015/mapa-library-ui.mjs +297 -70
- package/fesm2015/mapa-library-ui.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-benchmarking.mjs +4 -4
- package/fesm2020/mapa-library-ui-src-lib-components-benchmarking.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-breadcrumb.mjs +2 -2
- package/fesm2020/mapa-library-ui-src-lib-components-breadcrumb.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-button-icon.mjs +10 -2
- package/fesm2020/mapa-library-ui-src-lib-components-button-icon.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-button.mjs +6 -2
- package/fesm2020/mapa-library-ui-src-lib-components-button.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-capability.mjs +641 -303
- package/fesm2020/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-chart.mjs +13 -306
- package/fesm2020/mapa-library-ui-src-lib-components-chart.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-checkbox.mjs +4 -0
- package/fesm2020/mapa-library-ui-src-lib-components-checkbox.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-datepicker.mjs +169 -14
- package/fesm2020/mapa-library-ui-src-lib-components-datepicker.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-dialog.mjs +49 -8
- package/fesm2020/mapa-library-ui-src-lib-components-dialog.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-dropdown-tree.mjs +41 -343
- package/fesm2020/mapa-library-ui-src-lib-components-dropdown-tree.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-dropdown.mjs +333 -254
- package/fesm2020/mapa-library-ui-src-lib-components-dropdown.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-empty.mjs +51 -6
- package/fesm2020/mapa-library-ui-src-lib-components-empty.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-filters.mjs +163 -14
- package/fesm2020/mapa-library-ui-src-lib-components-filters.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-form.mjs +356 -30
- package/fesm2020/mapa-library-ui-src-lib-components-form.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-group-report.mjs +7 -40
- package/fesm2020/mapa-library-ui-src-lib-components-group-report.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-icon.mjs +4 -0
- package/fesm2020/mapa-library-ui-src-lib-components-icon.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-input.mjs +330 -15
- package/fesm2020/mapa-library-ui-src-lib-components-input.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-menu.mjs +4 -0
- package/fesm2020/mapa-library-ui-src-lib-components-menu.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-nav-list.mjs +2 -2
- package/fesm2020/mapa-library-ui-src-lib-components-nav-list.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-radio-button.mjs +7 -2
- package/fesm2020/mapa-library-ui-src-lib-components-radio-button.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-report-item.mjs +47 -12
- package/fesm2020/mapa-library-ui-src-lib-components-report-item.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-scale-parameterization.mjs +140 -1289
- package/fesm2020/mapa-library-ui-src-lib-components-scale-parameterization.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-scale.mjs +191 -32
- package/fesm2020/mapa-library-ui-src-lib-components-scale.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-slide-toggle.mjs +7 -2
- package/fesm2020/mapa-library-ui-src-lib-components-slide-toggle.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-svg-icon.mjs +60 -27
- package/fesm2020/mapa-library-ui-src-lib-components-svg-icon.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-table.mjs +3954 -234
- package/fesm2020/mapa-library-ui-src-lib-components-table.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-tag.mjs +6 -2
- package/fesm2020/mapa-library-ui-src-lib-components-tag.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-textarea.mjs +230 -7
- package/fesm2020/mapa-library-ui-src-lib-components-textarea.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-tooltip.mjs +4 -0
- package/fesm2020/mapa-library-ui-src-lib-components-tooltip.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-warning.mjs +12 -2
- package/fesm2020/mapa-library-ui-src-lib-components-warning.mjs.map +1 -1
- package/fesm2020/mapa-library-ui.mjs +309 -70
- package/fesm2020/mapa-library-ui.mjs.map +1 -1
- package/lib/core/components/form-errors/form-errors.component.d.ts +13 -0
- package/lib/core/directives/custom-paginator-legacy.directive.d.ts +10 -9
- package/lib/core/directives/mat-input-autosize.directive.d.ts +1 -2
- package/lib/core/elements/errors.d.ts +1 -2
- package/lib/core/i18n/mapa-ui-texts.d.ts +102 -0
- package/lib/core/pipes/safe-html.pipe.d.ts +10 -0
- package/lib/core/services/html-sanitizer.service.d.ts +10 -0
- package/lib/core/services/mapa-i18n.service.d.ts +13 -0
- package/lib/core/services/validation-message-resolver.service.d.ts +14 -0
- package/mapa-library-ui-0.90.0.tgz +0 -0
- package/package.json +14 -2
- package/public-api.d.ts +9 -0
- package/src/lib/components/button/button.d.ts +1 -0
- package/src/lib/components/button/index.d.ts +1 -1
- package/src/lib/components/button-icon/lib/components/button-icon/src/button-icon.component.d.ts +5 -3
- package/src/lib/components/capability/lib/components/capability/public-api.d.ts +2 -0
- package/src/lib/components/capability/lib/components/capability/src/capability-comparative/capability-comparative.module.d.ts +1 -1
- package/src/lib/components/capability/lib/components/capability/src/capability-comparative-header/capability-comparative-header.component.d.ts +10 -1
- package/src/lib/components/capability/lib/components/capability/src/capability-detail/capability-detail.component.d.ts +5 -2
- package/src/lib/components/capability/lib/components/capability/src/capability-dot/capability-dot.module.d.ts +3 -3
- package/src/lib/components/capability/lib/components/capability/src/capability-expand/capability-expand.component.d.ts +12 -2
- package/src/lib/components/capability/lib/components/capability/src/capability-expand/capability-expand.module.d.ts +2 -1
- package/src/lib/components/capability/lib/components/capability/src/capability-indicator-list/capability-indicator-list.component.d.ts +15 -3
- package/src/lib/components/capability/lib/components/capability/src/capability-interval-bar/capability-interval-bar.component.d.ts +0 -2
- package/src/lib/components/capability/lib/components/capability/src/essentials/services/reusable-interval-bar.service.d.ts +4 -3
- package/src/lib/components/capability/lib/components/dropdown/src/dropdown.component.d.ts +15 -13
- package/src/lib/components/capability/lib/components/dropdown/src/dropdown.module.d.ts +4 -2
- package/src/lib/components/capability/lib/components/filters/src/filters.component.d.ts +10 -2
- package/src/lib/components/capability/lib/core/components/form-errors/form-errors.component.d.ts +13 -0
- package/src/lib/components/capability/lib/core/elements/errors.d.ts +1 -2
- package/src/lib/components/capability/lib/core/i18n/mapa-ui-texts.d.ts +102 -0
- package/src/lib/components/capability/lib/core/pipes/safe-html.pipe.d.ts +10 -0
- package/src/lib/components/capability/lib/core/services/html-sanitizer.service.d.ts +10 -0
- package/src/lib/components/capability/lib/core/services/mapa-i18n.service.d.ts +13 -0
- package/src/lib/components/capability/lib/core/services/validation-message-resolver.service.d.ts +14 -0
- package/src/lib/components/chart/lib/components/chart/src/chart.component.d.ts +4 -3
- package/src/lib/components/chart/lib/components/chart/src/chart.module.d.ts +1 -1
- package/src/lib/components/checkbox/checkbox.d.ts +1 -0
- package/src/lib/components/checkbox/index.d.ts +1 -1
- package/src/lib/components/datepicker/datepicker.d.ts +1 -0
- package/src/lib/components/datepicker/index.d.ts +1 -1
- package/src/lib/components/datepicker/{src → lib/components/datepicker/src}/datepicker.component.d.ts +10 -1
- package/src/lib/components/datepicker/lib/core/i18n/mapa-ui-texts.d.ts +102 -0
- package/src/lib/components/datepicker/lib/core/services/mapa-i18n.service.d.ts +13 -0
- package/src/lib/components/dialog/lib/components/dialog/src/dialog.component.d.ts +3 -3
- package/src/lib/components/dialog/lib/components/dialog/src/dialog.module.d.ts +2 -1
- package/src/lib/components/dialog/lib/core/pipes/safe-html.pipe.d.ts +10 -0
- package/src/lib/components/dialog/lib/core/services/html-sanitizer.service.d.ts +10 -0
- package/src/lib/components/dropdown/dropdown.d.ts +0 -1
- package/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.component.d.ts +15 -13
- package/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.module.d.ts +4 -2
- package/src/lib/components/dropdown/lib/core/components/form-errors/form-errors.component.d.ts +13 -0
- package/src/lib/components/dropdown/lib/core/elements/errors.d.ts +1 -2
- package/src/lib/components/dropdown/lib/core/i18n/mapa-ui-texts.d.ts +102 -0
- package/src/lib/components/dropdown/lib/core/pipes/safe-html.pipe.d.ts +10 -0
- package/src/lib/components/dropdown/lib/core/services/html-sanitizer.service.d.ts +10 -0
- package/src/lib/components/dropdown/lib/core/services/mapa-i18n.service.d.ts +13 -0
- package/src/lib/components/dropdown/lib/core/services/validation-message-resolver.service.d.ts +14 -0
- package/src/lib/components/dropdown-tree/{dropdown.d.ts → dropdown-tree.d.ts} +1 -1
- package/src/lib/components/dropdown-tree/index.d.ts +1 -1
- package/src/lib/components/dropdown-tree/lib/components/dropdown-tree/src/dropdown.component.d.ts +7 -7
- package/src/lib/components/dropdown-tree/lib/components/dropdown-tree/src/dropdown.module.d.ts +2 -4
- package/src/lib/components/dropdown-tree/lib/core/elements/errors.d.ts +1 -2
- package/src/lib/components/empty/empty.d.ts +1 -0
- package/src/lib/components/empty/index.d.ts +1 -1
- package/src/lib/components/empty/{src → lib/components/empty/src}/empty.module.d.ts +2 -1
- package/src/lib/components/empty/lib/core/pipes/safe-html.pipe.d.ts +10 -0
- package/src/lib/components/empty/lib/core/services/html-sanitizer.service.d.ts +10 -0
- package/src/lib/components/filters/lib/components/filters/src/filters.component.d.ts +10 -2
- package/src/lib/components/filters/lib/core/i18n/mapa-ui-texts.d.ts +102 -0
- package/src/lib/components/filters/lib/core/services/mapa-i18n.service.d.ts +13 -0
- package/src/lib/components/form/lib/components/form/src/form.component.d.ts +1 -2
- package/src/lib/components/form/lib/components/form/src/form.module.d.ts +5 -4
- package/src/lib/components/form/lib/components/input/src/input.component.d.ts +1 -1
- package/src/lib/components/form/lib/components/input/src/input.module.d.ts +3 -2
- package/src/lib/components/form/lib/components/radio-button/src/radio-button.component.d.ts +4 -4
- package/src/lib/components/form/lib/components/slide-toggle/src/slide-toggle.component.d.ts +4 -4
- package/src/lib/components/form/lib/components/textarea/src/textarea.component.d.ts +1 -1
- package/src/lib/components/form/lib/components/textarea/src/textarea.module.d.ts +2 -1
- package/src/lib/components/form/lib/core/components/form-errors/form-errors.component.d.ts +13 -0
- package/src/lib/components/form/lib/core/directives/mat-input-autosize.directive.d.ts +25 -0
- package/src/lib/components/form/lib/core/elements/errors.d.ts +1 -2
- package/src/lib/components/form/lib/core/i18n/mapa-ui-texts.d.ts +102 -0
- package/src/lib/components/form/lib/core/services/mapa-i18n.service.d.ts +13 -0
- package/src/lib/components/form/lib/core/services/validation-message-resolver.service.d.ts +14 -0
- package/src/lib/components/group-report/lib/components/group-report/src/group-report.component.d.ts +3 -3
- package/src/lib/components/group-report/lib/components/group-report/src/group-report.module.d.ts +1 -1
- package/src/lib/components/icon/icon.d.ts +1 -0
- package/src/lib/components/icon/index.d.ts +1 -1
- package/src/lib/components/input/index.d.ts +1 -1
- package/src/lib/components/input/input.d.ts +1 -0
- package/src/lib/components/input/{src → lib/components/input/src}/input.component.d.ts +1 -1
- package/src/lib/components/input/{src → lib/components/input/src}/input.module.d.ts +3 -2
- package/src/lib/components/input/lib/core/components/form-errors/form-errors.component.d.ts +13 -0
- package/src/lib/components/input/lib/core/directives/mat-input-autosize.directive.d.ts +25 -0
- package/src/lib/components/{chart → input}/lib/core/elements/errors.d.ts +1 -2
- package/src/lib/components/input/lib/core/i18n/mapa-ui-texts.d.ts +102 -0
- package/src/lib/components/input/lib/core/services/mapa-i18n.service.d.ts +13 -0
- package/src/lib/components/input/lib/core/services/validation-message-resolver.service.d.ts +14 -0
- package/src/lib/components/menu/index.d.ts +1 -1
- package/src/lib/components/menu/menu.d.ts +1 -0
- package/src/lib/components/nav-list/lib/components/nav-list/src/nav-list.component.d.ts +1 -1
- package/src/lib/components/radio-button/lib/components/radio-button/src/radio-button.component.d.ts +4 -4
- package/src/lib/components/report-item/index.d.ts +1 -1
- package/src/lib/components/report-item/lib/components/report-item/src/report-item.component.d.ts +33 -0
- package/src/lib/components/report-item/report-item.d.ts +1 -0
- package/src/lib/components/scale/lib/components/capability/src/capability-interval-bar/capability-interval-bar.component.d.ts +0 -2
- package/src/lib/components/scale/lib/components/filters/src/filters.component.d.ts +10 -2
- package/src/lib/components/scale/lib/components/scale/src/scale.component.d.ts +11 -3
- package/src/lib/components/scale/lib/components/scale/src/scale.interface.d.ts +1 -1
- package/src/lib/components/scale/lib/core/i18n/mapa-ui-texts.d.ts +102 -0
- package/src/lib/components/scale/lib/core/services/mapa-i18n.service.d.ts +13 -0
- package/src/lib/components/scale-parameterization/lib/components/scale-parameterization/src/scale-parameterization.component.d.ts +12 -4
- package/src/lib/components/scale-parameterization/lib/components/scale-parameterization/src/scale-parameterization.interface.d.ts +1 -1
- package/src/lib/components/scale-parameterization/lib/components/scale-parameterization/src/scale-parameterization.module.d.ts +3 -4
- package/src/lib/components/scale-parameterization/lib/core/i18n/mapa-ui-texts.d.ts +102 -0
- package/src/lib/components/scale-parameterization/lib/core/services/mapa-i18n.service.d.ts +13 -0
- package/src/lib/components/slide-toggle/lib/components/slide-toggle/src/slide-toggle.component.d.ts +4 -4
- package/src/lib/components/svg-icon/lib/components/svg-icon/src/svg-icon.component.d.ts +6 -3
- package/src/lib/components/svg-icon/lib/components/svg-icon/src/svg-icon.module.d.ts +3 -3
- package/src/lib/components/svg-icon/lib/core/pipes/safe-html.pipe.d.ts +10 -0
- package/src/lib/components/svg-icon/lib/core/services/html-sanitizer.service.d.ts +10 -0
- package/src/lib/components/table/lib/components/table/src/paginator_customization.d.ts +2 -1
- package/src/lib/components/table/lib/components/table/src/table.component.d.ts +18 -7
- package/src/lib/components/table/lib/components/table/src/table.module.d.ts +4 -3
- package/src/lib/components/table/lib/core/directives/custom-paginator-legacy.directive.d.ts +10 -9
- package/src/lib/components/table/lib/core/i18n/mapa-ui-texts.d.ts +102 -0
- package/src/lib/components/table/lib/core/js-brasil/index.d.ts +15 -0
- package/src/lib/components/table/lib/core/js-brasil/src/create.d.ts +37 -0
- package/src/lib/components/table/lib/core/js-brasil/src/createNumberMask.d.ts +13 -0
- package/src/lib/components/table/lib/core/js-brasil/src/estados.d.ts +7 -0
- package/src/lib/components/table/lib/core/js-brasil/src/index.d.ts +34 -0
- package/src/lib/components/table/lib/core/js-brasil/src/inscricaoestadual.d.ts +7 -0
- package/src/lib/components/table/lib/core/js-brasil/src/interfaces.d.ts +51 -0
- package/src/lib/components/table/lib/core/js-brasil/src/iptu.d.ts +3 -0
- package/src/lib/components/table/lib/core/js-brasil/src/iptu_create.d.ts +5 -0
- package/src/lib/components/table/lib/core/js-brasil/src/iptu_mask.d.ts +2 -0
- package/src/lib/components/table/lib/core/js-brasil/src/iptu_validate.d.ts +10 -0
- package/src/lib/components/table/lib/core/js-brasil/src/mask.d.ts +53 -0
- package/src/lib/components/table/lib/core/js-brasil/src/name.d.ts +9 -0
- package/src/lib/components/table/lib/core/js-brasil/src/placa.d.ts +6 -0
- package/src/lib/components/table/lib/core/js-brasil/src/rg.d.ts +5 -0
- package/src/lib/components/table/lib/core/js-brasil/src/saude.d.ts +84 -0
- package/src/lib/components/table/lib/core/js-brasil/src/utils.d.ts +71 -0
- package/src/lib/components/table/lib/core/js-brasil/src/validate.d.ts +90 -0
- package/src/lib/components/table/lib/core/pipes/cpf.d.ts +7 -0
- package/src/lib/components/table/lib/core/pipes/safe-html.pipe.d.ts +10 -0
- package/src/lib/components/table/lib/core/services/html-sanitizer.service.d.ts +10 -0
- package/src/lib/components/table/lib/core/services/mapa-i18n.service.d.ts +13 -0
- package/src/lib/components/tag/index.d.ts +1 -1
- package/src/lib/components/tag/tag.d.ts +1 -0
- package/src/lib/components/textarea/lib/components/textarea/src/textarea.component.d.ts +1 -1
- package/src/lib/components/textarea/lib/components/textarea/src/textarea.module.d.ts +2 -1
- package/src/lib/components/textarea/lib/core/components/form-errors/form-errors.component.d.ts +13 -0
- package/src/lib/components/textarea/lib/core/elements/errors.d.ts +1 -2
- package/src/lib/components/textarea/lib/core/i18n/mapa-ui-texts.d.ts +102 -0
- package/src/lib/components/textarea/lib/core/services/mapa-i18n.service.d.ts +13 -0
- package/src/lib/components/textarea/lib/core/services/validation-message-resolver.service.d.ts +14 -0
- package/src/lib/components/tooltip/index.d.ts +1 -1
- package/src/lib/components/tooltip/tooltip.d.ts +2 -0
- package/src/lib/components/warning/index.d.ts +1 -1
- package/src/lib/components/warning/{src → lib/components/warning/src}/warning.component.d.ts +3 -2
- package/src/lib/components/warning/warning.d.ts +1 -0
- package/esm2020/src/lib/components/button/public-api.mjs +0 -6
- package/esm2020/src/lib/components/button/src/button.component.mjs +0 -23
- package/esm2020/src/lib/components/button/src/button.module.mjs +0 -19
- package/esm2020/src/lib/components/button-icon/lib/core/interfaces/button-icon.interface.mjs +0 -2
- package/esm2020/src/lib/components/chart/lib/components/dropdown/public-api.mjs +0 -6
- package/esm2020/src/lib/components/chart/lib/components/dropdown/src/dropdown.component.mjs +0 -191
- package/esm2020/src/lib/components/chart/lib/components/dropdown/src/dropdown.module.mjs +0 -75
- package/esm2020/src/lib/components/chart/lib/core/elements/dropdown.mjs +0 -8
- package/esm2020/src/lib/components/chart/lib/core/elements/errors.mjs +0 -2
- package/esm2020/src/lib/components/chart/lib/core/interfaces/chart-options.interface.mjs +0 -2
- package/esm2020/src/lib/components/checkbox/public-api.mjs +0 -6
- package/esm2020/src/lib/components/datepicker/public-api.mjs +0 -6
- package/esm2020/src/lib/components/datepicker/src/datepicker.component.mjs +0 -44
- package/esm2020/src/lib/components/datepicker/src/datepicker.module.mjs +0 -70
- package/esm2020/src/lib/components/dialog/lib/core/interfaces/dialog-data.interface.mjs +0 -2
- package/esm2020/src/lib/components/dropdown/lib/components/button/public-api.mjs +0 -6
- package/esm2020/src/lib/components/dropdown/lib/components/button/src/button.component.mjs +0 -23
- package/esm2020/src/lib/components/dropdown/lib/components/button/src/button.module.mjs +0 -19
- package/esm2020/src/lib/components/dropdown/lib/components/dropdown-tree/public-api.mjs +0 -6
- package/esm2020/src/lib/components/dropdown/lib/components/dropdown-tree/src/dropdown.component.mjs +0 -77
- package/esm2020/src/lib/components/dropdown/lib/components/dropdown-tree/src/dropdown.module.mjs +0 -52
- package/esm2020/src/lib/components/dropdown/lib/core/elements/dropdown-tree.mjs +0 -8
- package/esm2020/src/lib/components/dropdown/lib/core/elements/index.mjs +0 -10
- package/esm2020/src/lib/components/dropdown/lib/core/elements/input-text.mjs +0 -8
- package/esm2020/src/lib/components/dropdown/lib/core/elements/radio-button.mjs +0 -8
- package/esm2020/src/lib/components/dropdown/lib/core/elements/slide-toggle.mjs +0 -8
- package/esm2020/src/lib/components/dropdown/lib/core/elements/textarea.mjs +0 -8
- package/esm2020/src/lib/components/dropdown/lib/core/interfaces/button-icon.interface.mjs +0 -2
- package/esm2020/src/lib/components/dropdown/lib/core/interfaces/chart-options.interface.mjs +0 -2
- package/esm2020/src/lib/components/dropdown/lib/core/interfaces/classification.interface.mjs +0 -2
- package/esm2020/src/lib/components/dropdown/lib/core/interfaces/dialog-data.interface.mjs +0 -2
- package/esm2020/src/lib/components/dropdown/lib/core/interfaces/index.mjs +0 -7
- package/esm2020/src/lib/components/dropdown/lib/core/interfaces/table-column.interface.mjs +0 -2
- package/esm2020/src/lib/components/dropdown/lib/core/interfaces/table-row-click-event.interface.mjs +0 -2
- package/esm2020/src/lib/components/dropdown-tree/dropdown.mjs +0 -9
- package/esm2020/src/lib/components/dropdown-tree/lib/components/button/public-api.mjs +0 -6
- package/esm2020/src/lib/components/dropdown-tree/lib/components/button/src/button.component.mjs +0 -23
- package/esm2020/src/lib/components/dropdown-tree/lib/components/button/src/button.module.mjs +0 -19
- package/esm2020/src/lib/components/dropdown-tree/lib/components/dropdown/public-api.mjs +0 -6
- package/esm2020/src/lib/components/dropdown-tree/lib/components/dropdown/src/dropdown.component.mjs +0 -191
- package/esm2020/src/lib/components/dropdown-tree/lib/components/dropdown/src/dropdown.module.mjs +0 -75
- package/esm2020/src/lib/components/dropdown-tree/lib/core/elements/index.mjs +0 -10
- package/esm2020/src/lib/components/dropdown-tree/lib/core/elements/radio-button.mjs +0 -8
- package/esm2020/src/lib/components/dropdown-tree/lib/core/elements/slide-toggle.mjs +0 -8
- package/esm2020/src/lib/components/dropdown-tree/lib/core/elements/textarea.mjs +0 -8
- package/esm2020/src/lib/components/dropdown-tree/lib/core/interfaces/button-icon.interface.mjs +0 -2
- package/esm2020/src/lib/components/dropdown-tree/lib/core/interfaces/chart-options.interface.mjs +0 -2
- package/esm2020/src/lib/components/dropdown-tree/lib/core/interfaces/classification.interface.mjs +0 -2
- package/esm2020/src/lib/components/dropdown-tree/lib/core/interfaces/dialog-data.interface.mjs +0 -2
- package/esm2020/src/lib/components/dropdown-tree/lib/core/interfaces/index.mjs +0 -7
- package/esm2020/src/lib/components/dropdown-tree/lib/core/interfaces/table-column.interface.mjs +0 -2
- package/esm2020/src/lib/components/dropdown-tree/lib/core/interfaces/table-row-click-event.interface.mjs +0 -2
- package/esm2020/src/lib/components/empty/public-api.mjs +0 -6
- package/esm2020/src/lib/components/empty/src/empty.module.mjs +0 -24
- package/esm2020/src/lib/components/form/lib/core/elements/dropdown-tree.mjs +0 -8
- package/esm2020/src/lib/components/form/lib/core/elements/dropdown.mjs +0 -8
- package/esm2020/src/lib/components/form/lib/core/elements/index.mjs +0 -10
- package/esm2020/src/lib/components/form/lib/core/elements/radio-button.mjs +0 -8
- package/esm2020/src/lib/components/form/lib/core/elements/slide-toggle.mjs +0 -8
- package/esm2020/src/lib/components/form/lib/core/elements/textarea.mjs +0 -8
- package/esm2020/src/lib/components/form/lib/core/interfaces/button-icon.interface.mjs +0 -2
- package/esm2020/src/lib/components/form/lib/core/interfaces/chart-options.interface.mjs +0 -2
- package/esm2020/src/lib/components/form/lib/core/interfaces/classification.interface.mjs +0 -2
- package/esm2020/src/lib/components/form/lib/core/interfaces/dialog-data.interface.mjs +0 -2
- package/esm2020/src/lib/components/form/lib/core/interfaces/index.mjs +0 -7
- package/esm2020/src/lib/components/form/lib/core/interfaces/table-column.interface.mjs +0 -2
- package/esm2020/src/lib/components/form/lib/core/interfaces/table-row-click-event.interface.mjs +0 -2
- package/esm2020/src/lib/components/group-report/filters.mjs +0 -7
- package/esm2020/src/lib/components/group-report/lib/components/button/public-api.mjs +0 -6
- package/esm2020/src/lib/components/group-report/lib/components/button/src/button.component.mjs +0 -23
- package/esm2020/src/lib/components/group-report/lib/components/button/src/button.module.mjs +0 -19
- package/esm2020/src/lib/components/group-report/lib/components/capability/public-api.mjs +0 -26
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/capability-comparative/capability-comparative.component.mjs +0 -17
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/capability-comparative/capability-comparative.module.mjs +0 -32
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/capability-comparative-chart/capability-comparative-chart.component.mjs +0 -24
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/capability-comparative-chart/capability-comparative-chart.module.mjs +0 -19
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/capability-comparative-header/capability-comparative-header.component.mjs +0 -20
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/capability-comparative-header/capability-comparative-header.module.mjs +0 -19
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/capability-comparative-indicator/capability-comparative-indicator.component.mjs +0 -19
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/capability-comparative-indicator/capability-comparative-indicator.module.mjs +0 -19
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/capability-detail/capability-detail.component.mjs +0 -73
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/capability-detail/capability-detail.module.mjs +0 -64
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/capability-dot/capability-dot.component.mjs +0 -31
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/capability-dot/capability-dot.module.mjs +0 -22
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/capability-expand/capability-expand.component.mjs +0 -27
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/capability-expand/capability-expand.module.mjs +0 -22
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/capability-indicator/capability-indicator.component.mjs +0 -14
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/capability-indicator/capability-indicator.module.mjs +0 -18
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/capability-indicator-chart/capability-indicator-chart.component.mjs +0 -33
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/capability-indicator-chart/capability-indicator-chart.module.mjs +0 -21
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/capability-indicator-list/capability-indicator-list.component.mjs +0 -27
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/capability-indicator-list/capability-indicator-list.module.mjs +0 -21
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/capability-interval/capability-interval.component.mjs +0 -81
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/capability-interval/capability-interval.module.mjs +0 -18
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/capability-interval-bar/capability-interval-bar.component.mjs +0 -31
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/capability-interval-bar/capability-interval-bar.module.mjs +0 -20
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/essentials/consts/capability-classification.const.mjs +0 -57
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/essentials/interfaces/capability-classification.interface.mjs +0 -2
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/essentials/interfaces/capability-comparative.interface.mjs +0 -2
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/essentials/interfaces/capability-item.interface.mjs +0 -2
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/essentials/interfaces/capability.interface.mjs +0 -2
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/essentials/interfaces/index.mjs +0 -4
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/essentials/services/capability-classification.service.mjs +0 -14
- package/esm2020/src/lib/components/group-report/lib/components/capability/src/essentials/services/reusable-interval-bar.service.mjs +0 -32
- package/esm2020/src/lib/components/group-report/lib/components/dropdown/public-api.mjs +0 -6
- package/esm2020/src/lib/components/group-report/lib/components/dropdown/src/dropdown.component.mjs +0 -191
- package/esm2020/src/lib/components/group-report/lib/components/dropdown/src/dropdown.module.mjs +0 -75
- package/esm2020/src/lib/components/group-report/lib/components/filters/src/filters.component.mjs +0 -34
- package/esm2020/src/lib/components/group-report/lib/components/filters/src/filters.module.mjs +0 -38
- package/esm2020/src/lib/components/group-report/lib/components/tag/public-api.mjs +0 -6
- package/esm2020/src/lib/components/group-report/lib/components/tag/src/tag.component.mjs +0 -14
- package/esm2020/src/lib/components/group-report/lib/core/elements/action-button.mjs +0 -2
- package/esm2020/src/lib/components/group-report/lib/core/elements/dropdown.mjs +0 -8
- package/esm2020/src/lib/components/group-report/lib/core/elements/element-base.mjs +0 -37
- package/esm2020/src/lib/components/group-report/lib/core/elements/element-search.mjs +0 -2
- package/esm2020/src/lib/components/group-report/lib/core/interfaces/classification.interface.mjs +0 -2
- package/esm2020/src/lib/components/group-report/lib/core/interfaces/element-group.interface.mjs +0 -2
- package/esm2020/src/lib/components/group-report/lib/core/interfaces/element-option.interface.mjs +0 -2
- package/esm2020/src/lib/components/group-report/lib/core/interfaces/table-column.interface.mjs +0 -2
- package/esm2020/src/lib/components/icon/public-api.mjs +0 -6
- package/esm2020/src/lib/components/icon/src/icon.component.mjs +0 -26
- package/esm2020/src/lib/components/icon/src/icon.module.mjs +0 -19
- package/esm2020/src/lib/components/input/public-api.mjs +0 -6
- package/esm2020/src/lib/components/input/src/input.component.mjs +0 -39
- package/esm2020/src/lib/components/input/src/input.module.mjs +0 -60
- package/esm2020/src/lib/components/menu/public-api.mjs +0 -6
- package/esm2020/src/lib/components/menu/src/menu.component.mjs +0 -34
- package/esm2020/src/lib/components/menu/src/menu.module.mjs +0 -36
- package/esm2020/src/lib/components/nav-list/lib/core/interfaces/element-option.interface.mjs +0 -2
- package/esm2020/src/lib/components/radio-button/lib/core/elements/action-button.mjs +0 -2
- package/esm2020/src/lib/components/radio-button/lib/core/elements/element-base.mjs +0 -37
- package/esm2020/src/lib/components/radio-button/lib/core/elements/element-search.mjs +0 -2
- package/esm2020/src/lib/components/radio-button/lib/core/elements/errors.mjs +0 -2
- package/esm2020/src/lib/components/radio-button/lib/core/interfaces/element-group.interface.mjs +0 -2
- package/esm2020/src/lib/components/radio-button/lib/core/interfaces/element-option.interface.mjs +0 -2
- package/esm2020/src/lib/components/report-item/public-api.mjs +0 -6
- package/esm2020/src/lib/components/report-item/src/report-item.component.mjs +0 -32
- package/esm2020/src/lib/components/scale/lib/components/capability/public-api.mjs +0 -26
- package/esm2020/src/lib/components/scale/lib/components/capability/src/capability-comparative/capability-comparative.component.mjs +0 -17
- package/esm2020/src/lib/components/scale/lib/components/capability/src/capability-comparative/capability-comparative.module.mjs +0 -32
- package/esm2020/src/lib/components/scale/lib/components/capability/src/capability-comparative-chart/capability-comparative-chart.component.mjs +0 -24
- package/esm2020/src/lib/components/scale/lib/components/capability/src/capability-comparative-chart/capability-comparative-chart.module.mjs +0 -19
- package/esm2020/src/lib/components/scale/lib/components/capability/src/capability-comparative-header/capability-comparative-header.component.mjs +0 -20
- package/esm2020/src/lib/components/scale/lib/components/capability/src/capability-comparative-header/capability-comparative-header.module.mjs +0 -19
- package/esm2020/src/lib/components/scale/lib/components/capability/src/capability-comparative-indicator/capability-comparative-indicator.component.mjs +0 -19
- package/esm2020/src/lib/components/scale/lib/components/capability/src/capability-comparative-indicator/capability-comparative-indicator.module.mjs +0 -19
- package/esm2020/src/lib/components/scale/lib/components/capability/src/capability-detail/capability-detail.component.mjs +0 -73
- package/esm2020/src/lib/components/scale/lib/components/capability/src/capability-detail/capability-detail.module.mjs +0 -64
- package/esm2020/src/lib/components/scale/lib/components/capability/src/capability-dot/capability-dot.component.mjs +0 -31
- package/esm2020/src/lib/components/scale/lib/components/capability/src/capability-dot/capability-dot.module.mjs +0 -22
- package/esm2020/src/lib/components/scale/lib/components/capability/src/capability-expand/capability-expand.component.mjs +0 -27
- package/esm2020/src/lib/components/scale/lib/components/capability/src/capability-expand/capability-expand.module.mjs +0 -22
- package/esm2020/src/lib/components/scale/lib/components/capability/src/capability-indicator/capability-indicator.component.mjs +0 -14
- package/esm2020/src/lib/components/scale/lib/components/capability/src/capability-indicator/capability-indicator.module.mjs +0 -18
- package/esm2020/src/lib/components/scale/lib/components/capability/src/capability-indicator-chart/capability-indicator-chart.component.mjs +0 -33
- package/esm2020/src/lib/components/scale/lib/components/capability/src/capability-indicator-chart/capability-indicator-chart.module.mjs +0 -21
- package/esm2020/src/lib/components/scale/lib/components/capability/src/capability-indicator-list/capability-indicator-list.component.mjs +0 -27
- package/esm2020/src/lib/components/scale/lib/components/capability/src/capability-indicator-list/capability-indicator-list.module.mjs +0 -21
- package/esm2020/src/lib/components/scale/lib/components/capability/src/essentials/consts/capability-classification.const.mjs +0 -57
- package/esm2020/src/lib/components/scale/lib/components/capability/src/essentials/interfaces/capability-classification.interface.mjs +0 -2
- package/esm2020/src/lib/components/scale/lib/components/capability/src/essentials/interfaces/capability-comparative.interface.mjs +0 -2
- package/esm2020/src/lib/components/scale/lib/components/capability/src/essentials/interfaces/index.mjs +0 -4
- package/esm2020/src/lib/components/scale/lib/components/capability/src/essentials/services/capability-classification.service.mjs +0 -14
- package/esm2020/src/lib/components/scale/lib/components/capability/src/essentials/services/reusable-interval-bar.service.mjs +0 -32
- package/esm2020/src/lib/components/scale/lib/components/dropdown/public-api.mjs +0 -6
- package/esm2020/src/lib/components/scale/lib/components/dropdown/src/dropdown.component.mjs +0 -191
- package/esm2020/src/lib/components/scale/lib/components/dropdown/src/dropdown.module.mjs +0 -75
- package/esm2020/src/lib/components/scale/lib/components/tag/public-api.mjs +0 -6
- package/esm2020/src/lib/components/scale/lib/components/tag/src/tag.component.mjs +0 -14
- package/esm2020/src/lib/components/scale/lib/components/tag/src/tag.module.mjs +0 -24
- package/esm2020/src/lib/components/scale/lib/components/tooltip/src/tooltip.component.mjs +0 -21
- package/esm2020/src/lib/components/scale/lib/components/tooltip/src/tooltip.directive.mjs +0 -140
- package/esm2020/src/lib/components/scale/lib/components/tooltip/src/tooltip.enums.mjs +0 -16
- package/esm2020/src/lib/components/scale/lib/components/tooltip/src/tooltip.module.mjs +0 -19
- package/esm2020/src/lib/components/scale/lib/core/elements/action-button.mjs +0 -2
- package/esm2020/src/lib/components/scale/lib/core/elements/dropdown.mjs +0 -8
- package/esm2020/src/lib/components/scale/lib/core/elements/element-base.mjs +0 -37
- package/esm2020/src/lib/components/scale/lib/core/elements/element-search.mjs +0 -2
- package/esm2020/src/lib/components/scale/lib/core/elements/errors.mjs +0 -2
- package/esm2020/src/lib/components/scale/lib/core/interfaces/classification.interface.mjs +0 -2
- package/esm2020/src/lib/components/scale/lib/core/interfaces/element-group.interface.mjs +0 -2
- package/esm2020/src/lib/components/scale/lib/core/interfaces/element-option.interface.mjs +0 -2
- package/esm2020/src/lib/components/scale-parameterization/filters.mjs +0 -7
- package/esm2020/src/lib/components/scale-parameterization/lib/components/button/public-api.mjs +0 -6
- package/esm2020/src/lib/components/scale-parameterization/lib/components/button/src/button.component.mjs +0 -23
- package/esm2020/src/lib/components/scale-parameterization/lib/components/button/src/button.module.mjs +0 -19
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/public-api.mjs +0 -26
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/capability-comparative/capability-comparative.component.mjs +0 -17
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/capability-comparative/capability-comparative.module.mjs +0 -32
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/capability-comparative-chart/capability-comparative-chart.component.mjs +0 -24
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/capability-comparative-chart/capability-comparative-chart.module.mjs +0 -19
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/capability-comparative-header/capability-comparative-header.component.mjs +0 -20
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/capability-comparative-header/capability-comparative-header.module.mjs +0 -19
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/capability-comparative-indicator/capability-comparative-indicator.component.mjs +0 -19
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/capability-comparative-indicator/capability-comparative-indicator.module.mjs +0 -19
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/capability-detail/capability-detail.component.mjs +0 -73
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/capability-detail/capability-detail.module.mjs +0 -64
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/capability-dot/capability-dot.component.mjs +0 -31
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/capability-dot/capability-dot.module.mjs +0 -22
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/capability-expand/capability-expand.component.mjs +0 -27
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/capability-expand/capability-expand.module.mjs +0 -22
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/capability-indicator/capability-indicator.component.mjs +0 -14
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/capability-indicator/capability-indicator.module.mjs +0 -18
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/capability-indicator-chart/capability-indicator-chart.component.mjs +0 -33
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/capability-indicator-chart/capability-indicator-chart.module.mjs +0 -21
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/capability-indicator-list/capability-indicator-list.component.mjs +0 -27
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/capability-indicator-list/capability-indicator-list.module.mjs +0 -21
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/capability-interval/capability-interval.component.mjs +0 -81
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/capability-interval/capability-interval.module.mjs +0 -18
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/capability-interval-bar/capability-interval-bar.component.mjs +0 -31
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/capability-interval-bar/capability-interval-bar.module.mjs +0 -20
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/essentials/consts/capability-classification.const.mjs +0 -57
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/essentials/interfaces/capability-classification.interface.mjs +0 -2
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/essentials/interfaces/capability-comparative.interface.mjs +0 -2
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/essentials/interfaces/capability-item.interface.mjs +0 -2
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/essentials/interfaces/capability.interface.mjs +0 -2
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/essentials/interfaces/index.mjs +0 -4
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/essentials/services/capability-classification.service.mjs +0 -14
- package/esm2020/src/lib/components/scale-parameterization/lib/components/capability/src/essentials/services/reusable-interval-bar.service.mjs +0 -32
- package/esm2020/src/lib/components/scale-parameterization/lib/components/dropdown/public-api.mjs +0 -6
- package/esm2020/src/lib/components/scale-parameterization/lib/components/dropdown/src/dropdown.component.mjs +0 -191
- package/esm2020/src/lib/components/scale-parameterization/lib/components/dropdown/src/dropdown.module.mjs +0 -75
- package/esm2020/src/lib/components/scale-parameterization/lib/components/filters/public-api.mjs +0 -6
- package/esm2020/src/lib/components/scale-parameterization/lib/components/filters/src/filters.component.mjs +0 -34
- package/esm2020/src/lib/components/scale-parameterization/lib/components/filters/src/filters.module.mjs +0 -38
- package/esm2020/src/lib/components/scale-parameterization/lib/components/icon/public-api.mjs +0 -6
- package/esm2020/src/lib/components/scale-parameterization/lib/components/icon/src/icon.component.mjs +0 -26
- package/esm2020/src/lib/components/scale-parameterization/lib/components/icon/src/icon.module.mjs +0 -19
- package/esm2020/src/lib/components/scale-parameterization/lib/components/tag/public-api.mjs +0 -6
- package/esm2020/src/lib/components/scale-parameterization/lib/components/tag/src/tag.module.mjs +0 -24
- package/esm2020/src/lib/components/scale-parameterization/lib/components/tooltip/src/tooltip.component.mjs +0 -21
- package/esm2020/src/lib/components/scale-parameterization/lib/components/tooltip/src/tooltip.directive.mjs +0 -140
- package/esm2020/src/lib/components/scale-parameterization/lib/components/tooltip/src/tooltip.enums.mjs +0 -16
- package/esm2020/src/lib/components/scale-parameterization/lib/components/tooltip/src/tooltip.module.mjs +0 -19
- package/esm2020/src/lib/components/scale-parameterization/lib/core/elements/action-button.mjs +0 -2
- package/esm2020/src/lib/components/scale-parameterization/lib/core/elements/dropdown.mjs +0 -8
- package/esm2020/src/lib/components/scale-parameterization/lib/core/elements/element-base.mjs +0 -37
- package/esm2020/src/lib/components/scale-parameterization/lib/core/elements/element-search.mjs +0 -2
- package/esm2020/src/lib/components/scale-parameterization/lib/core/elements/errors.mjs +0 -2
- package/esm2020/src/lib/components/scale-parameterization/lib/core/interfaces/classification.interface.mjs +0 -2
- package/esm2020/src/lib/components/scale-parameterization/lib/core/interfaces/element-group.interface.mjs +0 -2
- package/esm2020/src/lib/components/scale-parameterization/lib/core/interfaces/element-option.interface.mjs +0 -2
- package/esm2020/src/lib/components/slide-toggle/lib/core/elements/action-button.mjs +0 -2
- package/esm2020/src/lib/components/slide-toggle/lib/core/elements/element-base.mjs +0 -37
- package/esm2020/src/lib/components/slide-toggle/lib/core/elements/element-search.mjs +0 -2
- package/esm2020/src/lib/components/slide-toggle/lib/core/elements/errors.mjs +0 -2
- package/esm2020/src/lib/components/slide-toggle/lib/core/interfaces/element-group.interface.mjs +0 -2
- package/esm2020/src/lib/components/slide-toggle/lib/core/interfaces/element-option.interface.mjs +0 -2
- package/esm2020/src/lib/components/svg-icon/lib/components/svg-icon/src/safe-html.pipe.mjs +0 -20
- package/esm2020/src/lib/components/table/lib/components/svg-icon/src/safe-html.pipe.mjs +0 -20
- package/esm2020/src/lib/components/table/lib/components/svg-icon/src/svg-icon.component.mjs +0 -48
- package/esm2020/src/lib/components/table/lib/components/svg-icon/src/svg-icon.module.mjs +0 -19
- package/esm2020/src/lib/components/tag/public-api.mjs +0 -6
- package/esm2020/src/lib/components/tag/src/tag.component.mjs +0 -14
- package/esm2020/src/lib/components/tag/src/tag.module.mjs +0 -24
- package/esm2020/src/lib/components/textarea/lib/core/elements/action-button.mjs +0 -2
- package/esm2020/src/lib/components/textarea/lib/core/elements/element-base.mjs +0 -37
- package/esm2020/src/lib/components/textarea/lib/core/elements/element-search.mjs +0 -2
- package/esm2020/src/lib/components/textarea/lib/core/elements/textarea.mjs +0 -8
- package/esm2020/src/lib/components/textarea/lib/core/interfaces/element-group.interface.mjs +0 -2
- package/esm2020/src/lib/components/textarea/lib/core/interfaces/element-option.interface.mjs +0 -2
- package/esm2020/src/lib/components/tooltip/public-api.mjs +0 -7
- package/esm2020/src/lib/components/tooltip/src/tooltip.component.mjs +0 -21
- package/esm2020/src/lib/components/tooltip/src/tooltip.directive.mjs +0 -140
- package/esm2020/src/lib/components/tooltip/src/tooltip.enums.mjs +0 -16
- package/esm2020/src/lib/components/tooltip/src/tooltip.module.mjs +0 -19
- package/esm2020/src/lib/components/warning/public-api.mjs +0 -6
- package/esm2020/src/lib/components/warning/src/warning.component.mjs +0 -37
- package/mapa-library-ui-0.77.4.tgz +0 -0
- package/src/lib/components/button-icon/lib/core/interfaces/button-icon.interface.d.ts +0 -6
- package/src/lib/components/chart/lib/components/button/public-api.d.ts +0 -2
- package/src/lib/components/chart/lib/components/button/src/button.component.d.ts +0 -10
- package/src/lib/components/chart/lib/components/button/src/button.module.d.ts +0 -9
- package/src/lib/components/chart/lib/components/dropdown/public-api.d.ts +0 -2
- package/src/lib/components/chart/lib/components/dropdown/src/dropdown.component.d.ts +0 -45
- package/src/lib/components/chart/lib/components/dropdown/src/dropdown.module.d.ts +0 -16
- package/src/lib/components/chart/lib/core/elements/dropdown.d.ts +0 -4
- package/src/lib/components/chart/lib/core/interfaces/chart-options.interface.d.ts +0 -19
- package/src/lib/components/dialog/lib/core/interfaces/dialog-data.interface.d.ts +0 -11
- package/src/lib/components/dropdown/lib/components/button/public-api.d.ts +0 -2
- package/src/lib/components/dropdown/lib/components/button/src/button.component.d.ts +0 -10
- package/src/lib/components/dropdown/lib/components/button/src/button.module.d.ts +0 -9
- package/src/lib/components/dropdown/lib/components/dropdown-tree/public-api.d.ts +0 -2
- package/src/lib/components/dropdown/lib/components/dropdown-tree/src/dropdown.component.d.ts +0 -37
- package/src/lib/components/dropdown/lib/components/dropdown-tree/src/dropdown.module.d.ts +0 -12
- package/src/lib/components/dropdown/lib/core/elements/dropdown-tree.d.ts +0 -4
- package/src/lib/components/dropdown/lib/core/elements/index.d.ts +0 -9
- package/src/lib/components/dropdown/lib/core/elements/input-text.d.ts +0 -4
- package/src/lib/components/dropdown/lib/core/elements/radio-button.d.ts +0 -4
- package/src/lib/components/dropdown/lib/core/elements/slide-toggle.d.ts +0 -4
- package/src/lib/components/dropdown/lib/core/elements/textarea.d.ts +0 -4
- package/src/lib/components/dropdown/lib/core/interfaces/button-icon.interface.d.ts +0 -6
- package/src/lib/components/dropdown/lib/core/interfaces/chart-options.interface.d.ts +0 -19
- package/src/lib/components/dropdown/lib/core/interfaces/classification.interface.d.ts +0 -6
- package/src/lib/components/dropdown/lib/core/interfaces/dialog-data.interface.d.ts +0 -11
- package/src/lib/components/dropdown/lib/core/interfaces/index.d.ts +0 -6
- package/src/lib/components/dropdown/lib/core/interfaces/table-column.interface.d.ts +0 -19
- package/src/lib/components/dropdown/lib/core/interfaces/table-row-click-event.interface.d.ts +0 -4
- package/src/lib/components/dropdown-tree/lib/components/button/public-api.d.ts +0 -2
- package/src/lib/components/dropdown-tree/lib/components/button/src/button.component.d.ts +0 -10
- package/src/lib/components/dropdown-tree/lib/components/button/src/button.module.d.ts +0 -9
- package/src/lib/components/dropdown-tree/lib/components/dropdown/public-api.d.ts +0 -2
- package/src/lib/components/dropdown-tree/lib/components/dropdown/src/dropdown.component.d.ts +0 -45
- package/src/lib/components/dropdown-tree/lib/components/dropdown/src/dropdown.module.d.ts +0 -16
- package/src/lib/components/dropdown-tree/lib/core/elements/index.d.ts +0 -9
- package/src/lib/components/dropdown-tree/lib/core/elements/radio-button.d.ts +0 -4
- package/src/lib/components/dropdown-tree/lib/core/elements/slide-toggle.d.ts +0 -4
- package/src/lib/components/dropdown-tree/lib/core/elements/textarea.d.ts +0 -4
- package/src/lib/components/dropdown-tree/lib/core/interfaces/button-icon.interface.d.ts +0 -6
- package/src/lib/components/dropdown-tree/lib/core/interfaces/chart-options.interface.d.ts +0 -19
- package/src/lib/components/dropdown-tree/lib/core/interfaces/dialog-data.interface.d.ts +0 -11
- package/src/lib/components/dropdown-tree/lib/core/interfaces/index.d.ts +0 -6
- package/src/lib/components/dropdown-tree/lib/core/interfaces/table-row-click-event.interface.d.ts +0 -4
- package/src/lib/components/form/lib/core/elements/dropdown-tree.d.ts +0 -4
- package/src/lib/components/form/lib/core/elements/dropdown.d.ts +0 -4
- package/src/lib/components/form/lib/core/elements/index.d.ts +0 -9
- package/src/lib/components/form/lib/core/elements/radio-button.d.ts +0 -4
- package/src/lib/components/form/lib/core/elements/slide-toggle.d.ts +0 -4
- package/src/lib/components/form/lib/core/elements/textarea.d.ts +0 -4
- package/src/lib/components/form/lib/core/interfaces/button-icon.interface.d.ts +0 -6
- package/src/lib/components/form/lib/core/interfaces/chart-options.interface.d.ts +0 -19
- package/src/lib/components/form/lib/core/interfaces/classification.interface.d.ts +0 -6
- package/src/lib/components/form/lib/core/interfaces/dialog-data.interface.d.ts +0 -11
- package/src/lib/components/form/lib/core/interfaces/index.d.ts +0 -6
- package/src/lib/components/form/lib/core/interfaces/table-column.interface.d.ts +0 -19
- package/src/lib/components/form/lib/core/interfaces/table-row-click-event.interface.d.ts +0 -4
- package/src/lib/components/group-report/filters.d.ts +0 -3
- package/src/lib/components/group-report/lib/components/button/public-api.d.ts +0 -2
- package/src/lib/components/group-report/lib/components/button/src/button.component.d.ts +0 -10
- package/src/lib/components/group-report/lib/components/button/src/button.module.d.ts +0 -9
- package/src/lib/components/group-report/lib/components/capability/public-api.d.ts +0 -22
- package/src/lib/components/group-report/lib/components/capability/src/capability-comparative/capability-comparative.component.d.ts +0 -10
- package/src/lib/components/group-report/lib/components/capability/src/capability-comparative/capability-comparative.module.d.ts +0 -11
- package/src/lib/components/group-report/lib/components/capability/src/capability-comparative-chart/capability-comparative-chart.component.d.ts +0 -9
- package/src/lib/components/group-report/lib/components/capability/src/capability-comparative-chart/capability-comparative-chart.module.d.ts +0 -9
- package/src/lib/components/group-report/lib/components/capability/src/capability-comparative-header/capability-comparative-header.component.d.ts +0 -9
- package/src/lib/components/group-report/lib/components/capability/src/capability-comparative-header/capability-comparative-header.module.d.ts +0 -9
- package/src/lib/components/group-report/lib/components/capability/src/capability-comparative-indicator/capability-comparative-indicator.component.d.ts +0 -9
- package/src/lib/components/group-report/lib/components/capability/src/capability-comparative-indicator/capability-comparative-indicator.module.d.ts +0 -9
- package/src/lib/components/group-report/lib/components/capability/src/capability-detail/capability-detail.component.d.ts +0 -29
- package/src/lib/components/group-report/lib/components/capability/src/capability-detail/capability-detail.module.d.ts +0 -17
- package/src/lib/components/group-report/lib/components/capability/src/capability-dot/capability-dot.component.d.ts +0 -17
- package/src/lib/components/group-report/lib/components/capability/src/capability-dot/capability-dot.module.d.ts +0 -10
- package/src/lib/components/group-report/lib/components/capability/src/capability-expand/capability-expand.component.d.ts +0 -16
- package/src/lib/components/group-report/lib/components/capability/src/capability-expand/capability-expand.module.d.ts +0 -10
- package/src/lib/components/group-report/lib/components/capability/src/capability-indicator/capability-indicator.component.d.ts +0 -7
- package/src/lib/components/group-report/lib/components/capability/src/capability-indicator/capability-indicator.module.d.ts +0 -8
- package/src/lib/components/group-report/lib/components/capability/src/capability-indicator-chart/capability-indicator-chart.component.d.ts +0 -12
- package/src/lib/components/group-report/lib/components/capability/src/capability-indicator-chart/capability-indicator-chart.module.d.ts +0 -9
- package/src/lib/components/group-report/lib/components/capability/src/capability-indicator-list/capability-indicator-list.component.d.ts +0 -14
- package/src/lib/components/group-report/lib/components/capability/src/capability-indicator-list/capability-indicator-list.module.d.ts +0 -9
- package/src/lib/components/group-report/lib/components/capability/src/capability-interval/capability-interval.component.d.ts +0 -29
- package/src/lib/components/group-report/lib/components/capability/src/capability-interval/capability-interval.module.d.ts +0 -8
- package/src/lib/components/group-report/lib/components/capability/src/capability-interval-bar/capability-interval-bar.component.d.ts +0 -16
- package/src/lib/components/group-report/lib/components/capability/src/capability-interval-bar/capability-interval-bar.module.d.ts +0 -10
- package/src/lib/components/group-report/lib/components/capability/src/essentials/consts/capability-classification.const.d.ts +0 -2
- package/src/lib/components/group-report/lib/components/capability/src/essentials/interfaces/capability-classification.interface.d.ts +0 -6
- package/src/lib/components/group-report/lib/components/capability/src/essentials/interfaces/capability-comparative.interface.d.ts +0 -10
- package/src/lib/components/group-report/lib/components/capability/src/essentials/interfaces/capability-item.interface.d.ts +0 -20
- package/src/lib/components/group-report/lib/components/capability/src/essentials/interfaces/capability.interface.d.ts +0 -8
- package/src/lib/components/group-report/lib/components/capability/src/essentials/interfaces/index.d.ts +0 -3
- package/src/lib/components/group-report/lib/components/capability/src/essentials/services/capability-classification.service.d.ts +0 -8
- package/src/lib/components/group-report/lib/components/capability/src/essentials/services/reusable-interval-bar.service.d.ts +0 -15
- package/src/lib/components/group-report/lib/components/dropdown/public-api.d.ts +0 -2
- package/src/lib/components/group-report/lib/components/dropdown/src/dropdown.component.d.ts +0 -45
- package/src/lib/components/group-report/lib/components/dropdown/src/dropdown.module.d.ts +0 -16
- package/src/lib/components/group-report/lib/components/filters/public-api.d.ts +0 -2
- package/src/lib/components/group-report/lib/components/filters/src/filters.component.d.ts +0 -14
- package/src/lib/components/group-report/lib/components/filters/src/filters.module.d.ts +0 -12
- package/src/lib/components/group-report/lib/components/tag/public-api.d.ts +0 -2
- package/src/lib/components/group-report/lib/core/elements/action-button.d.ts +0 -5
- package/src/lib/components/group-report/lib/core/elements/dropdown.d.ts +0 -4
- package/src/lib/components/group-report/lib/core/elements/element-base.d.ts +0 -75
- package/src/lib/components/group-report/lib/core/elements/element-search.d.ts +0 -7
- package/src/lib/components/group-report/lib/core/elements/errors.d.ts +0 -12
- package/src/lib/components/group-report/lib/core/interfaces/classification.interface.d.ts +0 -6
- package/src/lib/components/group-report/lib/core/interfaces/element-group.interface.d.ts +0 -5
- package/src/lib/components/group-report/lib/core/interfaces/element-option.interface.d.ts +0 -6
- package/src/lib/components/group-report/lib/core/interfaces/table-column.interface.d.ts +0 -19
- package/src/lib/components/icon/public-api.d.ts +0 -2
- package/src/lib/components/icon/src/icon.component.d.ts +0 -13
- package/src/lib/components/icon/src/icon.module.d.ts +0 -9
- package/src/lib/components/nav-list/lib/core/interfaces/element-option.interface.d.ts +0 -6
- package/src/lib/components/radio-button/lib/core/elements/action-button.d.ts +0 -5
- package/src/lib/components/radio-button/lib/core/elements/element-base.d.ts +0 -75
- package/src/lib/components/radio-button/lib/core/elements/element-search.d.ts +0 -7
- package/src/lib/components/radio-button/lib/core/elements/errors.d.ts +0 -12
- package/src/lib/components/radio-button/lib/core/interfaces/element-group.interface.d.ts +0 -5
- package/src/lib/components/radio-button/lib/core/interfaces/element-option.interface.d.ts +0 -6
- package/src/lib/components/report-item/src/report-item.component.d.ts +0 -18
- package/src/lib/components/scale/lib/components/capability/public-api.d.ts +0 -22
- package/src/lib/components/scale/lib/components/capability/src/capability-comparative/capability-comparative.component.d.ts +0 -10
- package/src/lib/components/scale/lib/components/capability/src/capability-comparative/capability-comparative.module.d.ts +0 -11
- package/src/lib/components/scale/lib/components/capability/src/capability-comparative-chart/capability-comparative-chart.component.d.ts +0 -9
- package/src/lib/components/scale/lib/components/capability/src/capability-comparative-chart/capability-comparative-chart.module.d.ts +0 -9
- package/src/lib/components/scale/lib/components/capability/src/capability-comparative-header/capability-comparative-header.component.d.ts +0 -9
- package/src/lib/components/scale/lib/components/capability/src/capability-comparative-header/capability-comparative-header.module.d.ts +0 -9
- package/src/lib/components/scale/lib/components/capability/src/capability-comparative-indicator/capability-comparative-indicator.component.d.ts +0 -9
- package/src/lib/components/scale/lib/components/capability/src/capability-comparative-indicator/capability-comparative-indicator.module.d.ts +0 -9
- package/src/lib/components/scale/lib/components/capability/src/capability-detail/capability-detail.component.d.ts +0 -29
- package/src/lib/components/scale/lib/components/capability/src/capability-detail/capability-detail.module.d.ts +0 -17
- package/src/lib/components/scale/lib/components/capability/src/capability-dot/capability-dot.component.d.ts +0 -17
- package/src/lib/components/scale/lib/components/capability/src/capability-dot/capability-dot.module.d.ts +0 -10
- package/src/lib/components/scale/lib/components/capability/src/capability-expand/capability-expand.component.d.ts +0 -16
- package/src/lib/components/scale/lib/components/capability/src/capability-expand/capability-expand.module.d.ts +0 -10
- package/src/lib/components/scale/lib/components/capability/src/capability-indicator/capability-indicator.component.d.ts +0 -7
- package/src/lib/components/scale/lib/components/capability/src/capability-indicator/capability-indicator.module.d.ts +0 -8
- package/src/lib/components/scale/lib/components/capability/src/capability-indicator-chart/capability-indicator-chart.component.d.ts +0 -12
- package/src/lib/components/scale/lib/components/capability/src/capability-indicator-chart/capability-indicator-chart.module.d.ts +0 -9
- package/src/lib/components/scale/lib/components/capability/src/capability-indicator-list/capability-indicator-list.component.d.ts +0 -14
- package/src/lib/components/scale/lib/components/capability/src/capability-indicator-list/capability-indicator-list.module.d.ts +0 -9
- package/src/lib/components/scale/lib/components/capability/src/essentials/consts/capability-classification.const.d.ts +0 -2
- package/src/lib/components/scale/lib/components/capability/src/essentials/interfaces/capability-classification.interface.d.ts +0 -6
- package/src/lib/components/scale/lib/components/capability/src/essentials/interfaces/capability-comparative.interface.d.ts +0 -10
- package/src/lib/components/scale/lib/components/capability/src/essentials/interfaces/index.d.ts +0 -3
- package/src/lib/components/scale/lib/components/capability/src/essentials/services/capability-classification.service.d.ts +0 -8
- package/src/lib/components/scale/lib/components/capability/src/essentials/services/reusable-interval-bar.service.d.ts +0 -15
- package/src/lib/components/scale/lib/components/dropdown/public-api.d.ts +0 -2
- package/src/lib/components/scale/lib/components/dropdown/src/dropdown.component.d.ts +0 -45
- package/src/lib/components/scale/lib/components/dropdown/src/dropdown.module.d.ts +0 -16
- package/src/lib/components/scale/lib/components/tag/public-api.d.ts +0 -2
- package/src/lib/components/scale/lib/components/tag/src/tag.component.d.ts +0 -12
- package/src/lib/components/scale/lib/components/tag/src/tag.module.d.ts +0 -8
- package/src/lib/components/scale/lib/components/tooltip/src/tooltip.component.d.ts +0 -15
- package/src/lib/components/scale/lib/components/tooltip/src/tooltip.directive.d.ts +0 -32
- package/src/lib/components/scale/lib/components/tooltip/src/tooltip.enums.d.ts +0 -13
- package/src/lib/components/scale/lib/components/tooltip/src/tooltip.module.d.ts +0 -9
- package/src/lib/components/scale/lib/core/elements/action-button.d.ts +0 -5
- package/src/lib/components/scale/lib/core/elements/dropdown.d.ts +0 -4
- package/src/lib/components/scale/lib/core/elements/element-base.d.ts +0 -75
- package/src/lib/components/scale/lib/core/elements/element-search.d.ts +0 -7
- package/src/lib/components/scale/lib/core/elements/errors.d.ts +0 -12
- package/src/lib/components/scale/lib/core/interfaces/classification.interface.d.ts +0 -6
- package/src/lib/components/scale/lib/core/interfaces/element-group.interface.d.ts +0 -5
- package/src/lib/components/scale/lib/core/interfaces/element-option.interface.d.ts +0 -6
- package/src/lib/components/scale-parameterization/filters.d.ts +0 -3
- package/src/lib/components/scale-parameterization/lib/components/button/public-api.d.ts +0 -2
- package/src/lib/components/scale-parameterization/lib/components/button/src/button.component.d.ts +0 -10
- package/src/lib/components/scale-parameterization/lib/components/button/src/button.module.d.ts +0 -9
- package/src/lib/components/scale-parameterization/lib/components/capability/public-api.d.ts +0 -22
- package/src/lib/components/scale-parameterization/lib/components/capability/src/capability-comparative/capability-comparative.component.d.ts +0 -10
- package/src/lib/components/scale-parameterization/lib/components/capability/src/capability-comparative/capability-comparative.module.d.ts +0 -11
- package/src/lib/components/scale-parameterization/lib/components/capability/src/capability-comparative-chart/capability-comparative-chart.component.d.ts +0 -9
- package/src/lib/components/scale-parameterization/lib/components/capability/src/capability-comparative-chart/capability-comparative-chart.module.d.ts +0 -9
- package/src/lib/components/scale-parameterization/lib/components/capability/src/capability-comparative-header/capability-comparative-header.component.d.ts +0 -9
- package/src/lib/components/scale-parameterization/lib/components/capability/src/capability-comparative-header/capability-comparative-header.module.d.ts +0 -9
- package/src/lib/components/scale-parameterization/lib/components/capability/src/capability-comparative-indicator/capability-comparative-indicator.component.d.ts +0 -9
- package/src/lib/components/scale-parameterization/lib/components/capability/src/capability-comparative-indicator/capability-comparative-indicator.module.d.ts +0 -9
- package/src/lib/components/scale-parameterization/lib/components/capability/src/capability-detail/capability-detail.component.d.ts +0 -29
- package/src/lib/components/scale-parameterization/lib/components/capability/src/capability-detail/capability-detail.module.d.ts +0 -17
- package/src/lib/components/scale-parameterization/lib/components/capability/src/capability-dot/capability-dot.component.d.ts +0 -17
- package/src/lib/components/scale-parameterization/lib/components/capability/src/capability-dot/capability-dot.module.d.ts +0 -10
- package/src/lib/components/scale-parameterization/lib/components/capability/src/capability-expand/capability-expand.component.d.ts +0 -16
- package/src/lib/components/scale-parameterization/lib/components/capability/src/capability-expand/capability-expand.module.d.ts +0 -10
- package/src/lib/components/scale-parameterization/lib/components/capability/src/capability-indicator/capability-indicator.component.d.ts +0 -7
- package/src/lib/components/scale-parameterization/lib/components/capability/src/capability-indicator/capability-indicator.module.d.ts +0 -8
- package/src/lib/components/scale-parameterization/lib/components/capability/src/capability-indicator-chart/capability-indicator-chart.component.d.ts +0 -12
- package/src/lib/components/scale-parameterization/lib/components/capability/src/capability-indicator-chart/capability-indicator-chart.module.d.ts +0 -9
- package/src/lib/components/scale-parameterization/lib/components/capability/src/capability-indicator-list/capability-indicator-list.component.d.ts +0 -14
- package/src/lib/components/scale-parameterization/lib/components/capability/src/capability-indicator-list/capability-indicator-list.module.d.ts +0 -9
- package/src/lib/components/scale-parameterization/lib/components/capability/src/capability-interval/capability-interval.component.d.ts +0 -29
- package/src/lib/components/scale-parameterization/lib/components/capability/src/capability-interval/capability-interval.module.d.ts +0 -8
- package/src/lib/components/scale-parameterization/lib/components/capability/src/capability-interval-bar/capability-interval-bar.component.d.ts +0 -16
- package/src/lib/components/scale-parameterization/lib/components/capability/src/capability-interval-bar/capability-interval-bar.module.d.ts +0 -10
- package/src/lib/components/scale-parameterization/lib/components/capability/src/essentials/consts/capability-classification.const.d.ts +0 -2
- package/src/lib/components/scale-parameterization/lib/components/capability/src/essentials/interfaces/capability-classification.interface.d.ts +0 -6
- package/src/lib/components/scale-parameterization/lib/components/capability/src/essentials/interfaces/capability-comparative.interface.d.ts +0 -10
- package/src/lib/components/scale-parameterization/lib/components/capability/src/essentials/interfaces/capability-item.interface.d.ts +0 -20
- package/src/lib/components/scale-parameterization/lib/components/capability/src/essentials/interfaces/capability.interface.d.ts +0 -8
- package/src/lib/components/scale-parameterization/lib/components/capability/src/essentials/interfaces/index.d.ts +0 -3
- package/src/lib/components/scale-parameterization/lib/components/capability/src/essentials/services/capability-classification.service.d.ts +0 -8
- package/src/lib/components/scale-parameterization/lib/components/capability/src/essentials/services/reusable-interval-bar.service.d.ts +0 -15
- package/src/lib/components/scale-parameterization/lib/components/dropdown/public-api.d.ts +0 -2
- package/src/lib/components/scale-parameterization/lib/components/dropdown/src/dropdown.component.d.ts +0 -45
- package/src/lib/components/scale-parameterization/lib/components/dropdown/src/dropdown.module.d.ts +0 -16
- package/src/lib/components/scale-parameterization/lib/components/filters/public-api.d.ts +0 -2
- package/src/lib/components/scale-parameterization/lib/components/filters/src/filters.component.d.ts +0 -14
- package/src/lib/components/scale-parameterization/lib/components/filters/src/filters.module.d.ts +0 -12
- package/src/lib/components/scale-parameterization/lib/components/icon/public-api.d.ts +0 -2
- package/src/lib/components/scale-parameterization/lib/components/icon/src/icon.component.d.ts +0 -13
- package/src/lib/components/scale-parameterization/lib/components/icon/src/icon.module.d.ts +0 -9
- package/src/lib/components/scale-parameterization/lib/components/tag/public-api.d.ts +0 -2
- package/src/lib/components/scale-parameterization/lib/components/tag/src/tag.component.d.ts +0 -12
- package/src/lib/components/scale-parameterization/lib/components/tag/src/tag.module.d.ts +0 -8
- package/src/lib/components/scale-parameterization/lib/components/tooltip/src/tooltip.component.d.ts +0 -15
- package/src/lib/components/scale-parameterization/lib/components/tooltip/src/tooltip.directive.d.ts +0 -32
- package/src/lib/components/scale-parameterization/lib/components/tooltip/src/tooltip.enums.d.ts +0 -13
- package/src/lib/components/scale-parameterization/lib/components/tooltip/src/tooltip.module.d.ts +0 -9
- package/src/lib/components/scale-parameterization/lib/core/elements/action-button.d.ts +0 -5
- package/src/lib/components/scale-parameterization/lib/core/elements/dropdown.d.ts +0 -4
- package/src/lib/components/scale-parameterization/lib/core/elements/element-base.d.ts +0 -75
- package/src/lib/components/scale-parameterization/lib/core/elements/element-search.d.ts +0 -7
- package/src/lib/components/scale-parameterization/lib/core/elements/errors.d.ts +0 -12
- package/src/lib/components/scale-parameterization/lib/core/interfaces/classification.interface.d.ts +0 -6
- package/src/lib/components/scale-parameterization/lib/core/interfaces/element-group.interface.d.ts +0 -5
- package/src/lib/components/scale-parameterization/lib/core/interfaces/element-option.interface.d.ts +0 -6
- package/src/lib/components/slide-toggle/lib/core/elements/action-button.d.ts +0 -5
- package/src/lib/components/slide-toggle/lib/core/elements/element-base.d.ts +0 -75
- package/src/lib/components/slide-toggle/lib/core/elements/element-search.d.ts +0 -7
- package/src/lib/components/slide-toggle/lib/core/elements/errors.d.ts +0 -12
- package/src/lib/components/slide-toggle/lib/core/interfaces/element-group.interface.d.ts +0 -5
- package/src/lib/components/slide-toggle/lib/core/interfaces/element-option.interface.d.ts +0 -6
- package/src/lib/components/svg-icon/lib/components/svg-icon/src/safe-html.pipe.d.ts +0 -10
- package/src/lib/components/table/lib/components/menu/public-api.d.ts +0 -2
- package/src/lib/components/table/lib/components/menu/src/menu.component.d.ts +0 -22
- package/src/lib/components/table/lib/components/menu/src/menu.module.d.ts +0 -11
- package/src/lib/components/table/lib/components/svg-icon/public-api.d.ts +0 -2
- package/src/lib/components/table/lib/components/svg-icon/src/safe-html.pipe.d.ts +0 -10
- package/src/lib/components/table/lib/components/svg-icon/src/svg-icon.component.d.ts +0 -14
- package/src/lib/components/table/lib/components/svg-icon/src/svg-icon.module.d.ts +0 -9
- package/src/lib/components/tag/public-api.d.ts +0 -2
- package/src/lib/components/tag/src/tag.component.d.ts +0 -12
- package/src/lib/components/tag/src/tag.module.d.ts +0 -8
- package/src/lib/components/textarea/lib/core/elements/action-button.d.ts +0 -5
- package/src/lib/components/textarea/lib/core/elements/element-base.d.ts +0 -75
- package/src/lib/components/textarea/lib/core/elements/element-search.d.ts +0 -7
- package/src/lib/components/textarea/lib/core/elements/textarea.d.ts +0 -4
- package/src/lib/components/textarea/lib/core/interfaces/element-group.interface.d.ts +0 -5
- package/src/lib/components/textarea/lib/core/interfaces/element-option.interface.d.ts +0 -6
- package/src/lib/components/tooltip/src/tooltip.component.d.ts +0 -15
- package/src/lib/components/tooltip/src/tooltip.directive.d.ts +0 -32
- package/src/lib/components/tooltip/src/tooltip.enums.d.ts +0 -13
- package/src/lib/components/tooltip/src/tooltip.module.d.ts +0 -9
- /package/esm2020/src/lib/components/{chart → button}/lib/components/button/public-api.mjs +0 -0
- /package/esm2020/src/lib/components/{chart → button}/lib/components/button/src/button.module.mjs +0 -0
- /package/esm2020/src/lib/components/{group-report → icon}/lib/components/icon/public-api.mjs +0 -0
- /package/esm2020/src/lib/components/{group-report → icon}/lib/components/icon/src/icon.component.mjs +0 -0
- /package/esm2020/src/lib/components/{group-report → icon}/lib/components/icon/src/icon.module.mjs +0 -0
- /package/esm2020/src/lib/components/{chart → input}/lib/core/elements/action-button.mjs +0 -0
- /package/esm2020/src/lib/components/{chart → input}/lib/core/elements/element-base.mjs +0 -0
- /package/esm2020/src/lib/components/{chart → input}/lib/core/elements/element-search.mjs +0 -0
- /package/esm2020/src/lib/components/{dropdown-tree → input}/lib/core/elements/input-text.mjs +0 -0
- /package/esm2020/src/lib/components/{chart → input}/lib/core/interfaces/element-group.interface.mjs +0 -0
- /package/esm2020/src/lib/components/{chart → input}/lib/core/interfaces/element-option.interface.mjs +0 -0
- /package/esm2020/src/lib/components/{table → menu}/lib/components/menu/public-api.mjs +0 -0
- /package/esm2020/src/lib/components/{table → menu}/lib/components/menu/src/menu.component.mjs +0 -0
- /package/esm2020/src/lib/components/{capability → tag}/lib/components/tag/public-api.mjs +0 -0
- /package/esm2020/src/lib/components/{group-report → tag}/lib/components/tag/src/tag.module.mjs +0 -0
- /package/esm2020/src/lib/components/{group-report → tooltip}/lib/components/tooltip/src/tooltip.component.mjs +0 -0
- /package/esm2020/src/lib/components/{group-report → tooltip}/lib/components/tooltip/src/tooltip.directive.mjs +0 -0
- /package/esm2020/src/lib/components/{group-report → tooltip}/lib/components/tooltip/src/tooltip.enums.mjs +0 -0
- /package/esm2020/src/lib/components/{group-report → tooltip}/lib/components/tooltip/src/tooltip.module.mjs +0 -0
- /package/{src/lib/components/dropdown-tree/lib → lib}/core/interfaces/classification.interface.d.ts +0 -0
- /package/{src/lib/components/dropdown-tree/lib → lib}/core/interfaces/table-column.interface.d.ts +0 -0
- /package/src/lib/components/button/{public-api.d.ts → lib/components/button/public-api.d.ts} +0 -0
- /package/src/lib/components/button/{src → lib/components/button/src}/button.component.d.ts +0 -0
- /package/src/lib/components/button/{src → lib/components/button/src}/button.module.d.ts +0 -0
- /package/src/lib/components/checkbox/{public-api.d.ts → lib/components/checkbox/public-api.d.ts} +0 -0
- /package/src/lib/components/checkbox/{src → lib/components/checkbox/src}/checkbox.component.d.ts +0 -0
- /package/src/lib/components/checkbox/{src → lib/components/checkbox/src}/checkbox.module.d.ts +0 -0
- /package/src/lib/components/datepicker/{public-api.d.ts → lib/components/datepicker/public-api.d.ts} +0 -0
- /package/src/lib/components/datepicker/{src → lib/components/datepicker/src}/datepicker.module.d.ts +0 -0
- /package/src/lib/components/empty/{public-api.d.ts → lib/components/empty/public-api.d.ts} +0 -0
- /package/src/lib/components/empty/{src → lib/components/empty/src}/empty.component.d.ts +0 -0
- /package/src/lib/components/{group-report → icon}/lib/components/icon/public-api.d.ts +0 -0
- /package/src/lib/components/{group-report → icon}/lib/components/icon/src/icon.component.d.ts +0 -0
- /package/src/lib/components/{group-report → icon}/lib/components/icon/src/icon.module.d.ts +0 -0
- /package/src/lib/components/input/{public-api.d.ts → lib/components/input/public-api.d.ts} +0 -0
- /package/src/lib/components/{chart → input}/lib/core/elements/action-button.d.ts +0 -0
- /package/src/lib/components/{chart → input}/lib/core/elements/element-base.d.ts +0 -0
- /package/src/lib/components/{chart → input}/lib/core/elements/element-search.d.ts +0 -0
- /package/src/lib/components/{dropdown-tree → input}/lib/core/elements/input-text.d.ts +0 -0
- /package/src/lib/components/{chart → input}/lib/core/interfaces/element-group.interface.d.ts +0 -0
- /package/src/lib/components/{chart → input}/lib/core/interfaces/element-option.interface.d.ts +0 -0
- /package/src/lib/components/menu/{public-api.d.ts → lib/components/menu/public-api.d.ts} +0 -0
- /package/src/lib/components/menu/{src → lib/components/menu/src}/menu.component.d.ts +0 -0
- /package/src/lib/components/menu/{src → lib/components/menu/src}/menu.module.d.ts +0 -0
- /package/src/lib/components/report-item/{public-api.d.ts → lib/components/report-item/public-api.d.ts} +0 -0
- /package/src/lib/components/report-item/{src → lib/components/report-item/src}/report-item.module.d.ts +0 -0
- /package/src/lib/components/{capability → tag}/lib/components/tag/public-api.d.ts +0 -0
- /package/src/lib/components/{group-report → tag}/lib/components/tag/src/tag.component.d.ts +0 -0
- /package/src/lib/components/{group-report → tag}/lib/components/tag/src/tag.module.d.ts +0 -0
- /package/src/lib/components/tooltip/{public-api.d.ts → lib/components/tooltip/public-api.d.ts} +0 -0
- /package/src/lib/components/{group-report → tooltip}/lib/components/tooltip/src/tooltip.component.d.ts +0 -0
- /package/src/lib/components/{group-report → tooltip}/lib/components/tooltip/src/tooltip.directive.d.ts +0 -0
- /package/src/lib/components/{group-report → tooltip}/lib/components/tooltip/src/tooltip.enums.d.ts +0 -0
- /package/src/lib/components/{group-report → tooltip}/lib/components/tooltip/src/tooltip.module.d.ts +0 -0
- /package/src/lib/components/warning/{public-api.d.ts → lib/components/warning/public-api.d.ts} +0 -0
- /package/src/lib/components/warning/{src → lib/components/warning/src}/warning.module.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapa-library-ui-src-lib-components-table.mjs","sources":["../../../projects/mapa-library-ui/src/lib/core/directives/custom-paginator-legacy.directive.ts","../../../projects/mapa-library-ui/src/lib/components/table/src/paginator_customization.ts","../../../projects/mapa-library-ui/src/lib/components/menu/src/menu.component.ts","../../../projects/mapa-library-ui/src/lib/components/menu/src/menu.component.html","../../../projects/mapa-library-ui/src/lib/components/svg-icon/src/safe-html.pipe.ts","../../../projects/mapa-library-ui/src/lib/components/svg-icon/src/svg-icon.component.ts","../../../projects/mapa-library-ui/src/lib/components/svg-icon/src/svg-icon.component.html","../../../projects/mapa-library-ui/src/lib/components/table/src/table.component.ts","../../../projects/mapa-library-ui/src/lib/components/table/src/table.component.html","../../../projects/mapa-library-ui/src/lib/components/menu/src/menu.module.ts","../../../projects/mapa-library-ui/src/lib/components/menu/public-api.ts","../../../projects/mapa-library-ui/src/lib/components/svg-icon/src/svg-icon.module.ts","../../../projects/mapa-library-ui/src/lib/components/svg-icon/public-api.ts","../../../projects/mapa-library-ui/src/lib/components/table/src/table.module.ts","../../../projects/mapa-library-ui/src/lib/components/table/public-api.ts","../../../projects/mapa-library-ui/src/table.ts","../../../projects/mapa-library-ui/src/mapa-library-ui-src-lib-components-table.ts"],"sourcesContent":["import {\n AfterViewInit,\n Directive,\n DoCheck,\n Host,\n Optional,\n Renderer2,\n Self,\n ViewContainerRef,\n} from '@angular/core';\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\nimport { MatButton } from '@angular/material/button';\n\n@Directive({\n selector: '[appStylePaginatorMv]',\n standalone: true\n})\nexport class PaginatorLegacyDirective implements DoCheck, AfterViewInit {\n private currentPage: number;\n private pageGapTxt: string[];\n private rangeStart!: number;\n private rangeEnd!: number;\n private buttons: MatButton[] = [];\n private showTotalPages: number;\n private checkPage: number[];\n\n constructor(\n @Host() @Self() @Optional() private readonly matPag: MatPaginator,\n private readonly ViewContainer: ViewContainerRef,\n private readonly renderer: Renderer2\n ) {\n this.currentPage = 1;\n this.pageGapTxt = ['•••', '---'];\n this.showTotalPages = 2;\n this.checkPage = [0, 0, 0];\n // Display custom range label text\n this.matPag._intl.getRangeLabel = (\n page: number,\n pageSize: number,\n length: number\n ): string => {\n const startIndex = page * pageSize;\n const endIndex =\n startIndex < length\n ? Math.min(startIndex + pageSize, length)\n : startIndex + pageSize;\n if (length === 0) {\n return 'Mostrando 0 – 0 de 0 item';\n }\n if (length === 1) {\n return (\n 'Mostrando ' +\n (startIndex + 1) +\n ' – ' +\n endIndex +\n ' de ' +\n length +\n ' item'\n );\n } else {\n return (\n 'Mostrando ' +\n (startIndex + 1) +\n ' – ' +\n endIndex +\n ' de ' +\n length +\n ' itens'\n );\n }\n };\n // Subscribe to rerender buttons when next page and last page button is used\n this.matPag.page.subscribe((paginator: PageEvent) => {\n this.currentPage = paginator.pageIndex;\n this.matPag.pageIndex = paginator.pageIndex;\n this.initPageRange();\n });\n this.matPag._intl.itemsPerPageLabel = 'Itens por página';\n const paginatorIntl = this.matPag._intl;\n paginatorIntl.nextPageLabel = '';\n paginatorIntl.previousPageLabel = '';\n }\n\n ngDoCheck(): void {\n // Reset paginator if the pageSize, pageIndex, length changes\n if (\n this.matPag?.length !== this.checkPage[0] ||\n this.matPag?.pageSize !== this.checkPage[1] ||\n this.matPag?.pageIndex !== this.checkPage[2]\n ) {\n const pageCount = this.matPag.getNumberOfPages();\n if (this.currentPage > pageCount && pageCount !== 0) {\n this.currentPage = 1;\n this.matPag.pageIndex = 0;\n }\n this.currentPage = this.matPag.pageIndex;\n this.initPageRange();\n this.checkPage = [\n this.matPag.length,\n this.matPag.pageSize,\n this.matPag.pageIndex,\n ];\n }\n }\n\n private buildPageNumbers = () => {\n let dots: boolean[];\n let page: number;\n let pageDifference: number;\n let startIndex: number;\n let totalPages: number;\n totalPages = this.matPag.getNumberOfPages();\n // Container div with paginator elements\n const actionContainer =\n this.ViewContainer.element.nativeElement.querySelector(\n 'div.mat-paginator-range-actions'\n );\n // Button that triggers the next page action\n const nextPageNode = this.ViewContainer.element.nativeElement.querySelector(\n 'button.mat-paginator-navigation-next'\n );\n // Label showing the page range\n const pageRange = this.ViewContainer.element.nativeElement.querySelector(\n 'div.mat-paginator-range-label'\n );\n\n let prevButtonCount = this.buttons.length;\n\n // Remove buttons before creating new ones\n if (prevButtonCount > 0) {\n this.buttons.forEach((button) => {\n this.renderer.removeChild(actionContainer, button);\n });\n // Empty state array\n prevButtonCount = 0;\n }\n\n this.renderer.addClass(pageRange, 'custom-paginator-counter');\n this.renderer.addClass(actionContainer, 'custom-paginator-container');\n\n // Initialize next page and last page buttons\n if (prevButtonCount === 0) {\n const nodeArray = actionContainer.childNodes;\n setTimeout(() => {\n for (const node of nodeArray) {\n if (node.nodeName === 'BUTTON') {\n // Next Button styles\n if (node.innerHTML.length > 100 && node.disabled) {\n this.renderer.addClass(node, 'custom-paginator-arrow-disabled');\n this.renderer.removeClass(node, 'custom-paginator-arrow-enabled');\n } else if (node.innerHTML.length > 100 && !node.disabled) {\n this.renderer.addClass(node, 'custom-paginator-arrow-enabled');\n this.renderer.removeClass(\n node,\n 'custom-paginator-arrow-disabled'\n );\n }\n }\n }\n });\n }\n\n dots = [false, false];\n\n if (totalPages > 0) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton('0', this.matPag.pageIndex),\n nextPageNode\n );\n }\n\n page = this.showTotalPages + 2;\n pageDifference = totalPages - page;\n startIndex = Math.max(this.currentPage - this.showTotalPages - 2, 1);\n\n for (let index = startIndex; index < totalPages - 1; index = index + 1) {\n if (\n (index < page && this.currentPage <= this.showTotalPages) ||\n (index >= this.rangeStart && index <= this.rangeEnd) ||\n (this.currentPage > pageDifference && index >= pageDifference) ||\n totalPages < this.showTotalPages + page\n ) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(`${index}`, this.matPag.pageIndex),\n nextPageNode\n );\n } else {\n if (index > this.rangeEnd && !dots[0]) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(this.pageGapTxt[0], this.matPag.pageIndex),\n nextPageNode\n );\n dots[0] = true;\n break;\n }\n if (index < this.rangeEnd && !dots[1]) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(this.pageGapTxt[1], this.matPag.pageIndex),\n nextPageNode\n );\n dots[1] = true;\n }\n }\n }\n\n if (totalPages > 1) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(`${totalPages - 1}`, this.matPag.pageIndex),\n nextPageNode\n );\n }\n };\n\n private createButton(index: string, pageIndex: number): MatButton {\n const linkBtn: MatButton = this.renderer.createElement('button');\n this.renderer.setAttribute(linkBtn, 'class', 'custom-paginator-page');\n this.renderer.addClass(linkBtn, 'custom-paginator-page-enabled');\n if (index === this.pageGapTxt[0] || index === this.pageGapTxt[1]) {\n this.renderer.addClass(linkBtn, 'custom-paginator-arrow-enabled');\n }\n const pagingTxt = isNaN(+index) ? this.pageGapTxt[0] : +index + 1;\n const text = this.renderer.createText(pagingTxt + '');\n this.renderer.addClass(linkBtn, 'mat-custom-page');\n switch (index) {\n case `${pageIndex}`:\n this.renderer.setAttribute(linkBtn, 'disabled', 'disabled');\n this.renderer.removeClass(linkBtn, 'custom-paginator-page-enabled');\n this.renderer.addClass(linkBtn, 'custom-paginator-page-disabled');\n break;\n case this.pageGapTxt[0]:\n this.renderer.listen(linkBtn, 'click', () => {\n this.switchPage(\n this.currentPage < this.showTotalPages + 1\n ? this.showTotalPages + 2\n : this.currentPage + this.showTotalPages - 1\n );\n });\n break;\n case this.pageGapTxt[1]:\n this.renderer.listen(linkBtn, 'click', () => {\n this.switchPage(\n this.currentPage >\n this.matPag.getNumberOfPages() - this.showTotalPages - 2\n ? this.matPag.getNumberOfPages() - this.showTotalPages - 3\n : this.currentPage - this.showTotalPages + 1\n );\n });\n break;\n default:\n this.renderer.listen(linkBtn, 'click', () => {\n this.switchPage(+index);\n });\n break;\n }\n this.renderer.appendChild(linkBtn, text);\n // Add button to private array for state\n this.buttons.push(linkBtn);\n return linkBtn;\n }\n\n /**\n * @description calculates the button range based on class input parameters and based on current page index value.\n */\n private initPageRange(): void {\n this.rangeStart = this.currentPage - this.showTotalPages / 2;\n this.rangeEnd = this.currentPage + this.showTotalPages / 2;\n this.buildPageNumbers();\n }\n\n private switchPage(index: number): void {\n this.matPag.pageIndex = index;\n this.matPag.page.emit({\n previousPageIndex: this.currentPage,\n pageIndex: index,\n pageSize: this.matPag.pageSize,\n length: this.matPag.length,\n });\n this.currentPage = index;\n this.initPageRange();\n }\n\n public ngAfterViewInit(): void {\n this.rangeStart = 0;\n this.rangeEnd = this.showTotalPages - 1;\n this.initPageRange();\n }\n}\n","import { MatPaginatorIntl } from '@angular/material/paginator';\n\nexport function CustomPaginator() {\n const customPaginatorIntl = new MatPaginatorIntl();\n\n const rangeLabel = (page: number, pageSize: number, length: number) => {\n if (length == 0 || pageSize == 0) { return `0 de ${length}`; }\n \n length = Math.max(length, 0);\n\n const startIndex = page * pageSize;\n\n const endIndex = startIndex < length ?\n Math.min(startIndex + pageSize, length) :\n startIndex + pageSize;\n\n return `${startIndex + 1} - ${endIndex} de ${length}`;\n}\n\n customPaginatorIntl.itemsPerPageLabel = 'Itens por página:';\n customPaginatorIntl.nextPageLabel = 'Próxima página';\n customPaginatorIntl.previousPageLabel = 'Página anterior'; \n customPaginatorIntl.getRangeLabel = rangeLabel;\n\n return customPaginatorIntl;\n}","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n} from \"@angular/core\";\nimport { MatMenuTrigger } from \"@angular/material/menu\";\n\nexport interface MenuItem {\n image?: string;\n icon?: string;\n route?: string;\n showText?: boolean;\n svg?: string;\n text: string;\n action: string;\n}\n\n@Component({\n selector: \"mapa-menu\",\n templateUrl: \"./menu.component.html\",\n styleUrls: [\"./menu.component.scss\"],\n})\nexport class MapaMenuComponent {\n @Input() items: MenuItem[] = [];\n @Input() data?: any;\n @Output() emitMenu: EventEmitter<any> = new EventEmitter<any>();\n @ViewChild(MatMenuTrigger) trigger!: MatMenuTrigger;\n\n toggleMenu(): void {\n this.trigger.openMenu();\n }\n\n clickMenu(action: string): void {\n this.emitMenu.emit({ action, data: this.data });\n }\n}\n","<mat-menu #menu=\"matMenu\" class=\"mapa-menu\">\n <button\n *ngFor=\"let item of items\"\n mat-menu-item\n (click)=\"clickMenu(item.action)\"\n class=\"mapa-menu__item\"\n >\n <mat-icon *ngIf=\"item.icon\">{{item.icon}}</mat-icon>\n <img *ngIf=\"item.image\" [src]=\"item.image\" />\n <span>{{item.text}}</span>\n </button>\n</mat-menu>\n\n<img\n class=\"outside-menu-icon\"\n src=\"assets/images/icons/ThreePoints.svg\"\n (click)=\"toggleMenu()\"\n [matMenuTriggerFor]=\"menu\"\n/>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'safeHtml',\n})\nexport class SafeHtmlPipe implements PipeTransform {\n\n constructor(private sanitized: DomSanitizer) {}\n\n transform(value: string): SafeHtml {\n return this.sanitized.bypassSecurityTrustHtml(value);\n }\n}\n","import { ChangeDetectorRef, Component, Input, OnChanges, SecurityContext } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\n\n@Component({\n selector: \"mapa-svg-icon\",\n templateUrl: \"./svg-icon.component.html\",\n styleUrls: [\"./svg-icon.component.scss\"],\n})\nexport class MapaSvgIconComponent implements OnChanges {\n @Input() public name?: string;\n @Input() public color?: string;\n\n public svgIcon: any;\n\n constructor(private httpClient: HttpClient, private cdr: ChangeDetectorRef) { }\n\n public ngOnChanges(): void {\n if (!this.name) {\n this.svgIcon = '';\n return;\n }\n if (this.color) {\n this.httpClient\n .get(`images/icons/${this.name}.svg`, { responseType: 'text' })\n .subscribe((value: string) => {\n if (this.color) {\n value = value.replaceAll('fill=\"#50575E\"', `fill=\"${this.color}\"`);\n value = value.replaceAll('fill=\"#181818\"', `fill=\"${this.color}\"`);\n value = value.replaceAll('fill=\"#7def7b\"', `fill=\"${this.color}\"`);\n value = value.replaceAll('stroke=\"#50575E\"', `stroke=\"${this.color}\"`);\n value = value.replaceAll('stroke=\"#181818\"', `stroke=\"${this.color}\"`);\n value = value.replaceAll('stroke=\"#7def7b\"', `stroke=\"${this.color}\"`);\n }\n this.svgIcon = value;\n });\n } else {\n const img = `<img src=\"images/icons/${this.name}.svg\" alt=\"${this.name}\" />`;\n this.svgIcon = img;\n }\n this.cdr.detectChanges();\n }\n}\n","<span *ngIf=\"svgIcon\" class=\"mapa__svg-icon\" [innerHTML]=\"svgIcon | safeHtml\"></span>","import { SelectionModel } from \"@angular/cdk/collections\";\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport { FormGroup, FormControl } from \"@angular/forms\";\nimport moment from \"moment\";\n\nimport { MatPaginator, PageEvent } from \"@angular/material/paginator\";\nimport { MatSort, Sort } from \"@angular/material/sort\";\nimport { MatTableDataSource } from \"@angular/material/table\";\n\nimport { RowClickEvent } from \"../../../core/interfaces/table-row-click-event.interface\";\nimport { TableColumn } from \"../../../core/interfaces/table-column.interface\";\nimport { MatMenuTrigger } from \"@angular/material/menu\";\nimport { MenuItem } from \"../../menu/public-api\";\n\n@Component({\n selector: \"mapa-table\",\n templateUrl: \"./table.component.html\",\n styleUrls: [\n \"./table.component.scss\",\n \"./../../capability/styles/capability.scss\",\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MapaTableComponent implements AfterViewInit {\n @Input() columns: TableColumn[] = [];\n @Input() data: Object[] = [];\n @Input() pageIndex: number = 1;\n @Input() pageSize: number = 5;\n @Input() totalCount: number = 0;\n @Input() totalPages: number = 0;\n @Input() checkbox: boolean | undefined;\n @Input() selection: SelectionModel<any> | undefined;\n @Input() actions?: MenuItem[] | undefined;\n @Input() filterControl: FormControl | undefined;\n @Input() menuItems: MenuItem[] = [];\n @Input() menu: boolean | undefined;\n @Input() showPaginator: boolean = true;\n\n @ViewChild(MatMenuTrigger) trigger!: MatMenuTrigger;\n\n @Output() rowClick: EventEmitter<RowClickEvent> = new EventEmitter<\n RowClickEvent\n >();\n @Output() selectedRows: EventEmitter<any[]> = new EventEmitter<any[]>();\n @Output() onChangePage: EventEmitter<any> = new EventEmitter<any>();\n @Output() onSortChange: EventEmitter<Sort> = new EventEmitter<Sort>();\n\n @ViewChild(MatPaginator, { read: true }) paginator!: MatPaginator;\n @ViewChild(MatSort) sort!: MatSort;\n\n checkboxGroup!: FormGroup;\n dataSource!: MatTableDataSource<Object>;\n displayedColumns: string[] = [];\n currentSort: Sort | undefined;\n\n constructor(private cdr: ChangeDetectorRef) { }\n\n ngAfterViewInit(): void {\n this.dataSource = new MatTableDataSource(this.data);\n this.dataSource.sort = this.sort;\n this.displayedColumns = this.columns.map((column) => column.key);\n this.cdr.detectChanges();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes[\"data\"]) {\n if (this.dataSource) {\n this.data = changes[\"data\"].currentValue;\n this.dataSource = new MatTableDataSource(this.data);\n this.dataSource.sort = this.sort;\n this.displayedColumns = this.columns.map((column) => column.key);\n this.cdr.detectChanges();\n }\n }\n\n if (changes[\"filterControl\"] && this.filterControl) {\n this.setupFilter();\n }\n }\n\n setupFilter() {\n if (this.dataSource) {\n this.filterControl!.valueChanges.subscribe((value: string) => {\n this.dataSource.filter = value.trim().toLowerCase();\n });\n\n this.dataSource.filterPredicate = (data: any, filter: string) => {\n const dataStr = Object.keys(data)\n .reduce((currentTerm, key) => {\n return (\n currentTerm +\n ((data[key] && data[key].toString().toLowerCase()) || \"\") +\n \" \"\n );\n }, \"\")\n .trim()\n .toLowerCase();\n\n return dataStr.indexOf(filter) !== -1;\n };\n }\n }\n\n isAllSelected() {\n if (this.selection) {\n const numSelected = this.selection.selected.length;\n const numRows = this.dataSource.data.length;\n return numSelected === numRows;\n }\n return false;\n }\n\n toggleAllRows() {\n if (this.selection) {\n if (this.isAllSelected()) {\n this.selection.clear();\n this.getSelectedValues();\n } else {\n const dataAsPeriodicElements = this.dataSource.data as any[];\n dataAsPeriodicElements.forEach((row) => this.selection?.select(row));\n this.getSelectedValues();\n }\n }\n }\n\n checkboxLabel(row?: any): string {\n if (this.selection) {\n if (!row) {\n return `${this.isAllSelected() ? \"deselect\" : \"select\"} all`;\n }\n return `${this.selection.isSelected(row) ? \"deselect\" : \"select\"} row ${row.position + 1\n }`;\n }\n return \"\";\n }\n\n sortData(column: TableColumn): void {\n if (column.sort) {\n const sort: Sort = { active: column.key, direction: \"asc\" };\n\n if (\n this.currentSort &&\n this.currentSort.active === column.key &&\n this.currentSort.direction === \"asc\"\n ) {\n sort.direction = \"desc\";\n }\n\n this.currentSort = sort;\n this.sortDataFunction(sort);\n }\n }\n\n sortDataFunction(sort: Sort) {\n this.onSortChange.emit(sort);\n }\n\n emitRowClick(row: string, action: string) {\n const rowData: RowClickEvent = { row, action };\n this.rowClick.emit(rowData);\n }\n\n toggleSelection(row: any) {\n if (this.selection) {\n if (this.selection.isSelected(row)) {\n this.selection.deselect(row);\n } else {\n this.selection.select(row);\n }\n this.getSelectedValues();\n }\n }\n\n getSelectedValues() {\n if (this.selection) {\n const selectedRows = this.selection.selected.map((row) => {\n return { row };\n });\n this.selectedRows.emit(selectedRows);\n }\n }\n\n generateColumns() {\n let columns: TableColumn[] = [{ key: \"name\", label: \"\", sort: false }];\n\n this.columns = columns;\n }\n\n columnExists(columns: TableColumn[], key: string): boolean {\n return columns.some((column) => column.key === key);\n }\n\n generateGroupData() {\n const result: { [key: string]: any }[] = [];\n\n this.data = result;\n }\n\n isBoolean(column: TableColumn, row: any): boolean {\n return typeof row[column.key] === \"boolean\";\n }\n\n isMaskedData(column: TableColumn, row: any): boolean {\n const formats = [moment.ISO_8601, \"MM/DD/YYYY :) HH*mm*ss\"];\n const isDate = moment(row[column.key], formats, true).isValid();\n return (column.mask && isDate) || false;\n }\n\n getValueAsDate(column: TableColumn, row: any): Date {\n return new Date(row[column.key]);\n }\n\n getCellClass(column: TableColumn, row: any): string {\n if (\n column.key === \"name\" ||\n column.key === \"cpf\" ||\n column.key === \"general\"\n ) {\n return \"\";\n }\n try {\n return `classification`;\n } catch {\n return \"\";\n }\n }\n\n getCellBg(column: TableColumn, row: any): string {\n if (\n column.key === \"name\" ||\n column.key === \"cpf\" ||\n column.key === \"general\"\n ) {\n return \"\";\n }\n try {\n const bg = row[column.key]?.classificationColor;\n return bg;\n } catch {\n return \"\";\n }\n }\n\n getCellTextColor(column: TableColumn, row: any): string {\n if (\n column.key === \"name\" ||\n column.key === \"cpf\" ||\n column.key === \"general\"\n ) {\n return \"\";\n }\n try {\n const color = row[column.key]?.classificationTextColor!;\n return color;\n } catch {\n return \"\";\n }\n }\n\n getValue(row: { value: string }): string {\n try {\n if (row.value) {\n return row.value + \"%\";\n } else {\n return \"-\";\n }\n } catch {\n return \"-\";\n }\n }\n\n changePage(event?: PageEvent): void {\n this.onChangePage.emit(event);\n }\n\n toggleMenu() {\n this.trigger.openMenu();\n }\n\n getBackgroundColor(column: TableColumn, row: any): string {\n return column.status?.color?.[row[column.key] || 0] || \"\";\n }\n\n getTextColor(column: TableColumn, row: any): string {\n return column.status?.textColor?.[row[column.key] || 0] || \"\";\n }\n\n\n hasCustomClass(column: TableColumn, row: any, key: string): boolean {\n if (\n column?.class ||\n row?.rowStyleClass ||\n this.hasCellStyleClass(row, key)\n ) {\n return true;\n }\n return false;\n }\n\n getCustomClass(column: TableColumn, row: any, key: string): string {\n if (this.hasCellStyleClass(row, key)) {\n return this.getCellStyleClass(row, column.key);\n } else if (column?.class) {\n return column.class;\n } else if (row?.rowStyleClass) {\n return row.rowStyleClass;\n }\n return \"\";\n }\n\n hasCellStyleClass(row: any, key: string): boolean {\n return row.styleClass?.key === key;\n }\n\n getCellStyleClass(row: any, key: string): string {\n return row.styleClass?.key === key ? row.styleClass?.class : \"\";\n }\n\n handleMenu(selected: any) {\n this.emitRowClick(selected.data, selected.action);\n }\n\n hasIndividualMenu(row: Object | undefined): boolean {\n if (row && (row as any).menu && (row as any).menu.length > 0) return true;\n return false;\n }\n\n getMenuItems(row: Object | undefined): MenuItem[] {\n if (row && (row as any).menu && (row as any).menu.length > 0) return (row as any).menu;\n return [];\n }\n\n getContentFromColumn(row: Object | undefined, key: string): any[] {\n if (row && (row as any)[key]) return (row as any)[key];\n return [];\n }\n\n hasActionsColumn(): boolean {\n return this.columns.some((column) => column.key.includes('actions'));\n }\n\n hasMenuColumn(): boolean {\n return this.columns.some((column) => column.key.includes('menu'));\n }\n\n setSvgName(image: string): string {\n return image.split('/').pop()?.split('.')[0] || '';\n }\n}\n","<section class=\"mapa-table\" *ngIf=\"dataSource && dataSource.data && dataSource.data.length > 0\">\n <div class=\"mapa-table--show-on-mobile\">\n <div *ngIf=\"checkbox\" class=\"mapa-table__select-all\">\n <mat-checkbox\n *ngIf=\"selection\"\n (change)=\"$event ? toggleAllRows() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation()\"\n color=\"primary\"\n >Selecionar todos</mat-checkbox>\n </div>\n <div *ngFor=\"let row of dataSource.data.values(); let i = index\">\n <div class=\"mapa-table__card mapa__card\">\n <div *ngFor=\"let column of columns; let j = index; let isFirst = first\" [ngClass]=\"'mapa-table__card--column-' + column.key\">\n <strong\n class=\"mapa-table__card--header\"\n [class.mapa-table__checkbox--header]=\"isFirst && checkbox\"\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu'\">\n <div\n [ngTemplateOutlet]=\"tableHeader\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox: false }\"\n class=\"hidden\"\n ></div>\n </strong>\n <div\n class=\"mapa-table__card--column\"\n [class.mapa-table__column--center-cell]=\"column?.align === 'center'\"\n >\n <ng-container\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu'; else columnActionsOrMenu\"\n >\n <div class=\"mapa-table__content\">\n <div\n [style.width]=\"column?.width\"\n [class.mapa-table__column--ellipsis]=\"column?.collapse === 'overflow'\"\n [class.mapa-table__column--no-wrap]=\"column?.collapse === 'no-wrap'\"\n [class.mapa-table__column--wrap]=\"column?.collapse === 'wrap'\"\n [ngClass]=\"[hasCustomClass(column, row, column.key) ? getCustomClass(column, row, column.key) : '']\"\n >\n <div\n *ngIf=\"column?.status?.color; else commonColumn\"\n class=\"mapa-table__column--status\"\n [style.backgroundColor]=\"getBackgroundColor(column, row)\"\n [style.color]=\"getTextColor(column, row)\"\n [class.mapa-table__column--status-round]=\"column.status?.style == 'round'\"\n >\n <div\n [ngTemplateOutlet]=\"tableContent\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox, row }\"\n ></div>\n </div>\n <ng-template #commonColumn>\n <div\n [ngTemplateOutlet]=\"tableContent\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox, row }\"\n ></div>\n </ng-template>\n </div>\n </div>\n </ng-container>\n <ng-template #columnActionsOrMenu>\n <div *ngIf=\"column.key === 'actions' && actions\">\n <div *ngFor=\"let item of getContentFromColumn(row, 'actions') || actions\">\n <a *ngIf=\"item.route; else commonClickAction\" [href]=\"item.route\" [routerLink]=\"item.route\">\n <button\n class=\"mapa-table__column--actions-item\"\n [title]=\"item.text\"\n mat-icon-button\n >\n <mat-icon *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\n <img *ngIf=\"item.image\" [src]=\"item.image\" />\n <mapa-svg-icon *ngIf=\"item.svg\" [name]=\"setSvgName(item.svg)\"></mapa-svg-icon>\n <span *ngIf=\"item.showText\">{{ item.text }}</span>\n </button>\n </a>\n <ng-template #commonClickAction>\n <button\n (click)=\"handleMenu({data: row, action: item.action})\"\n class=\"mapa-table__column--actions-item\"\n [title]=\"item.text\"\n mat-icon-button\n >\n <mat-icon *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\n <img *ngIf=\"item.image\" [src]=\"item.image\" />\n <mapa-svg-icon *ngIf=\"item.svg\" [name]=\"setSvgName(item.svg)\"></mapa-svg-icon>\n <span *ngIf=\"item.showText\">{{ item.text }}</span>\n </button>\n </ng-template>\n </div>\n </div>\n \n <div *ngIf=\"column.key === 'menu'\">\n <div *ngIf=\"hasIndividualMenu(row); else generalMenu\" class=\"mapa-table__column--menu\">\n <button\n *ngFor=\"let item of getMenuItems(row)\"\n (click)=\"handleMenu({data: row, action: item.action})\"\n class=\"mapa-table__column--menu-item\"\n [title]=\"item.text\"\n mat-icon-button\n >\n <mat-icon *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\n <img *ngIf=\"item.image\" [src]=\"item.image\" />\n <span class=\"mapa-table__column--menu-item-text\">{{ item.text }}</span>\n </button>\n </div>\n <ng-template #generalMenu>\n <div class=\"mapa-table__column--menu\">\n <button\n *ngFor=\"let item of menuItems\"\n (click)=\"handleMenu({data: row, action: item.action})\"\n class=\"mapa-table__column--menu-item\"\n [title]=\"item.text\"\n mat-icon-button\n >\n <mat-icon *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\n <mapa-svg-icon *ngIf=\"item.image\" [name]=\"setSvgName(item.image)\"></mapa-svg-icon>\n <span class=\"mapa-table__column--menu-item-text\">{{ item.text }}</span>\n </button>\n </div>\n </ng-template>\n </div>\n </ng-template>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"mapa-table--show-on-desktop\">\n <table\n mat-table\n [dataSource]=\"dataSource\"\n matSort\n (matSortChange)=\"sortDataFunction($event)\"\n >\n <ng-container\n *ngFor=\"let column of columns; let isFirst = first\"\n [matColumnDef]=\"column.key\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n [disabled]=\"!(column.key !== 'actions' ? column.sort : null)\"\n >\n <div\n [ngTemplateOutlet]=\"tableHeader\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox }\"\n ></div>\n </th>\n <td mat-cell *matCellDef=\"let row\" [style.width]=\"column?.width\">\n <div\n class=\"mapa-table__column\"\n (click)=\"emitRowClick(row, '')\"\n [class.mapa-table__column--center-cell]=\"column?.align === 'center'\"\n >\n <ng-container\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu'; else columnActionsOrMenu\"\n >\n <div class=\"mapa-table__content\">\n <div\n [style.width]=\"column?.width\"\n [class.mapa-table__column--ellipsis]=\"column?.collapse === 'overflow'\"\n [class.mapa-table__column--no-wrap]=\"column?.collapse === 'no-wrap'\"\n [class.mapa-table__column--wrap]=\"column?.collapse === 'wrap'\"\n [ngClass]=\"[hasCustomClass(column, row, column.key) ? getCustomClass(column, row, column.key) : '']\"\n >\n <div\n *ngIf=\"column?.status?.color; else commonColumn\"\n class=\"mapa-table__column--status\"\n [style.backgroundColor]=\"getBackgroundColor(column, row)\"\n [style.color]=\"getTextColor(column, row)\"\n [class.mapa-table__column--status-round]=\"column.status?.style == 'round'\"\n >\n <div\n [ngTemplateOutlet]=\"tableContent\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox, row }\"\n ></div>\n </div>\n <ng-template #commonColumn>\n <div\n [ngTemplateOutlet]=\"tableContent\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox, row }\"\n ></div>\n </ng-template>\n </div>\n </div>\n </ng-container>\n <ng-template #columnActionsOrMenu>\n <div\n class=\"mapa-table__column--actions\"\n *ngIf=\"column.key === 'actions' && actions\"\n >\n <div *ngFor=\"let item of row['actions'] || actions\">\n <a *ngIf=\"item.route; else commonClickAction\" [href]=\"item.route\" [routerLink]=\"item.route\">\n <button\n class=\"mapa-table__column--actions-item\"\n [title]=\"item.text\"\n mat-icon-button\n >\n <mat-icon *ngIf=\"item.icon\">{{item.icon}}</mat-icon>\n <img *ngIf=\"item.image\" [src]=\"item.image\" />\n <mapa-svg-icon *ngIf=\"item.svg\" [name]=\"setSvgName(item.svg)\"></mapa-svg-icon>\n <span *ngIf=\"item.showText\">{{ item.text }}</span>\n </button>\n </a>\n <ng-template #commonClickAction>\n <button\n (click)=\"handleMenu({data: row, action: item.action})\"\n class=\"mapa-table__column--actions-item\"\n [title]=\"item.text\"\n mat-icon-button\n >\n <mat-icon *ngIf=\"item.icon\">{{item.icon}}</mat-icon>\n <img *ngIf=\"item.image\" [src]=\"item.image\" />\n <mapa-svg-icon *ngIf=\"item.svg\" [name]=\"setSvgName(item.svg)\"></mapa-svg-icon>\n <span *ngIf=\"item.showText\">{{ item.text }}</span>\n </button>\n </ng-template>\n </div>\n </div>\n <div class=\"mapa-table__column--menu\" *ngIf=\"column.key === 'menu'\">\n <mapa-menu\n *ngIf=\"hasIndividualMenu(row); else generalMenu\"\n [items]=\"row?.menu\"\n [data]=\"row\"\n (emitMenu)=\"handleMenu($event)\"\n ></mapa-menu>\n <ng-template #generalMenu>\n <mapa-menu\n *ngIf=\"menuItems && menuItems.length > 0\"\n [items]=\"menuItems\"\n [data]=\"row\"\n (emitMenu)=\"handleMenu($event)\"\n ></mapa-menu>\n </ng-template>\n </div>\n </ng-template>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns;\"\n class=\"row-hover\"\n ></tr>\n </table>\n </div>\n <section *ngIf=\"showPaginator\">\n <mat-paginator\n class=\"mapa-table__paginator-legacy\"\n itemsPerPageLabel=\"Item por página\"\n appStylePaginatorMv\n [length]=\"totalCount\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\"\n (page)=\"changePage($event)\"\n ></mat-paginator>\n </section>\n</section>\n\n<ng-template\n #tableHeader\n let-selection=\"selection\"\n let-column=\"column\"\n let-isFirst=\"isFirst\"\n let-checkbox=\"checkbox\"\n>\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n *ngIf=\"selection\"\n (change)=\"$event ? toggleAllRows() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation()\"\n color=\"primary\"\n ></mat-checkbox>\n </ng-container>\n <div>\n <span [innerHTML]=\"column.label\"></span>\n </div>\n <div\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu' && column.sort\"\n class=\"mapa-table--show-on-desktop\">\n <mat-icon>filter_list</mat-icon>\n </div>\n</ng-template>\n\n<ng-template\n #tableContent\n let-selection=\"selection\"\n let-column=\"column\"\n let-isFirst=\"isFirst\"\n let-checkbox=\"checkbox\"\n let-row=\"row\"\n>\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selection?.toggle(row) : null; getSelectedValues()\"\n [checked]=\"selection?.isSelected(row)\"\n color=\"primary\"\n class=\"mapa-table__checkbox\"\n >\n </mat-checkbox>\n </ng-container>\n <!-- POR FAVOR, NÃO QUEBRE LINHA ENTRE NG-CONTAINER/TEMPLATE E O VALOR CONTEÚDO -->\n <ng-container *ngIf=\"isMaskedData(column, row); else statusContent\"\n >{{ getValueAsDate(column, row) | date: column.mask }}</ng-container\n >\n <ng-template #statusContent>\n <ng-container *ngIf=\"column.status; else commonContent\">\n <ng-container *ngIf=\"isBoolean(column, row); else commonStatus\"\n ><span [innerHTML]=\"column.status.label[row[column.key] ? 1 : 0]\"></span\n ></ng-container>\n <ng-template #commonStatus\n ><span [innerHTML]=\"column.status.label[row[column.key]] || '-' \"></span\n ></ng-template>\n </ng-container>\n <ng-template #commonContent\n ><span [innerHTML]=\"row[column.key]\"></span\n ></ng-template>\n </ng-template>\n <ng-template #statusContent>\n <ng-template #commonContent\n ><span [innerHTML]=\"row[column.key]\"></span\n ></ng-template>\n </ng-template>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MapaMenuComponent } from './menu.component';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MapaButtonModule } from 'mapa-library-ui/src/lib/components/button';\n\n\n\n@NgModule({\n declarations: [\n MapaMenuComponent\n ],\n imports: [\n CommonModule,\n MatMenuModule, \n MapaButtonModule,\n MatIconModule\n ],\n exports: [\n MapaMenuComponent,\n ]\n})\nexport class MapaMenuModule { }\n","/*\n * Public API Surface of mapa-library-ui input\n */\n\nexport * from '../menu/src/menu.component';\nexport * from '../menu/src/menu.module';","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { MapaSvgIconComponent } from \"./svg-icon.component\";\nimport { SafeHtmlPipe } from \"./safe-html.pipe\";\n\n@NgModule({\n declarations: [MapaSvgIconComponent, SafeHtmlPipe],\n exports: [MapaSvgIconComponent],\n imports: [CommonModule],\n})\nexport class MapaSvgIconModule {}\n","/*\n * Public API Surface of mapa-library-ui svg-icon\n */\n\nexport * from './src/svg-icon.component';\nexport * from './src/svg-icon.module';","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\nimport { MatTableModule } from \"@angular/material/table\";\nimport { MatSortModule } from \"@angular/material/sort\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport {\n MatPaginatorIntl,\n MatPaginatorModule,\n} from \"@angular/material/paginator\";\n\nimport { MapaTableComponent } from \"./table.component\";\nimport { CustomPaginator } from \"./paginator_customization\";\nimport { PaginatorLegacyDirective } from \"../../../core/directives/custom-paginator-legacy.directive\";\nimport { MapaMenuModule } from \"../../menu/public-api\";\nimport { MatMenuModule } from \"@angular/material/menu\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { CPFPipe } from \"mapa-library-ui\";\nimport { MapaSvgIconModule } from \"../../svg-icon/public-api\";\nimport { RouterModule } from \"@angular/router\";\n\n@NgModule({\n declarations: [MapaTableComponent],\n imports: [\n CommonModule,\n RouterModule,\n MapaMenuModule,\n MapaSvgIconModule,\n MatButtonModule,\n MatCheckboxModule,\n MatIconModule,\n MatMenuModule,\n MatPaginatorModule,\n MatTableModule,\n MatSortModule,\n PaginatorLegacyDirective,\n FormsModule,\n ReactiveFormsModule,\n ],\n exports: [MapaTableComponent],\n providers: [\n { provide: MatPaginatorIntl, useValue: CustomPaginator() },\n CPFPipe,\n ],\n})\nexport class MapaTableModule {}\n","/*\n * Public API Surface of mapa-library-ui input\n */\n\nexport * from '../table/src/paginator_customization';\nexport * from '../table/src/table.component';\nexport * from '../table/src/table.module';","/*\n * Public API Surface of mapa-library-ui table\n */\nexport * from './lib/core/directives/custom-paginator-legacy.directive';\nexport * from './lib/components/table/public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './table';\n"],"names":["i1","i2","i3.SafeHtmlPipe","i3.MapaMenuComponent","i4.MapaSvgIconComponent","i7","i8","i11.PaginatorLegacyDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mapa-library-ui-src-lib-components-table.mjs","sources":["../../../projects/mapa-library-ui/src/lib/core/i18n/mapa-ui-texts.ts","../../../projects/mapa-library-ui/src/lib/core/services/mapa-i18n.service.ts","../../../projects/mapa-library-ui/src/lib/core/directives/custom-paginator-legacy.directive.ts","../../../projects/mapa-library-ui/src/lib/components/table/src/paginator_customization.ts","../../../projects/mapa-library-ui/src/lib/core/services/html-sanitizer.service.ts","../../../projects/mapa-library-ui/src/lib/core/pipes/safe-html.pipe.ts","../../../projects/mapa-library-ui/src/lib/components/table/src/table.component.ts","../../../projects/mapa-library-ui/src/lib/components/table/src/table.component.html","../../../projects/mapa-library-ui/src/lib/core/js-brasil/src/estados.ts","../../../projects/mapa-library-ui/src/lib/core/js-brasil/src/utils.ts","../../../projects/mapa-library-ui/src/lib/core/js-brasil/src/inscricaoestadual.ts","../../../projects/mapa-library-ui/src/lib/core/js-brasil/src/placa.ts","../../../projects/mapa-library-ui/src/lib/core/js-brasil/src/create.ts","../../../projects/mapa-library-ui/src/lib/core/js-brasil/src/rg.ts","../../../projects/mapa-library-ui/src/lib/core/js-brasil/src/iptu_mask.ts","../../../projects/mapa-library-ui/src/lib/core/js-brasil/src/iptu_create.ts","../../../projects/mapa-library-ui/src/lib/core/js-brasil/src/iptu_validate.ts","../../../projects/mapa-library-ui/src/lib/core/js-brasil/src/iptu.ts","../../../projects/mapa-library-ui/src/lib/core/js-brasil/src/validate.ts","../../../projects/mapa-library-ui/src/lib/core/js-brasil/src/createNumberMask.ts","../../../projects/mapa-library-ui/src/lib/core/js-brasil/src/mask.ts","../../../projects/mapa-library-ui/src/lib/core/js-brasil/src/index.ts","../../../projects/mapa-library-ui/src/lib/core/js-brasil/src/name.ts","../../../projects/mapa-library-ui/src/lib/core/js-brasil/src/saude.ts","../../../projects/mapa-library-ui/src/lib/core/pipes/cpf.ts","../../../projects/mapa-library-ui/src/lib/components/table/src/table.module.ts","../../../projects/mapa-library-ui/src/lib/components/table/public-api.ts","../../../projects/mapa-library-ui/src/table.ts","../../../projects/mapa-library-ui/src/mapa-library-ui-src-lib-components-table.ts"],"sourcesContent":["import { InjectionToken, Provider } from \"@angular/core\";\n\nexport interface ValidationMessageContext {\n actualLength?: number;\n max?: number;\n min?: number;\n requiredLength?: number;\n}\n\nexport type ValidationTextResolver =\n | string\n | ((context?: ValidationMessageContext) => string);\n\nexport interface MapaUiTexts {\n common: {\n selectAll: string;\n };\n filters: {\n clear: string;\n submit: string;\n };\n datepicker: {\n startDatePlaceholder: string;\n endDatePlaceholder: string;\n };\n capability: {\n groupAverageTitle: string;\n individualAverageTitle: string;\n conceptTitle: string;\n resultTitle: string;\n positiveIndicatorsTitle: string;\n negativeIndicatorsTitle: string;\n riskIndicatorsTitle: string;\n precipitationRiskTitle: string;\n negligenceRiskTitle: string;\n negativeDirectionLabel: string;\n positiveDirectionLabel: string;\n };\n paginator: {\n itemsPerPage: string;\n nextPage: string;\n previousPage: string;\n rangeLabel: (page: number, pageSize: number, length: number) => string;\n showingRangeLabel: (\n page: number,\n pageSize: number,\n length: number\n ) => string;\n };\n validation: {\n cnpj: ValidationTextResolver;\n cpf: ValidationTextResolver;\n email: ValidationTextResolver;\n max: ValidationTextResolver;\n maxLength: ValidationTextResolver;\n min: ValidationTextResolver;\n minLength: ValidationTextResolver;\n pattern: ValidationTextResolver;\n required: ValidationTextResolver;\n };\n}\n\nexport type PartialMapaUiTexts = Partial<{\n [K in keyof MapaUiTexts]: Partial<MapaUiTexts[K]>;\n}>;\n\nexport const MAPA_UI_TEXTS = new InjectionToken<PartialMapaUiTexts>(\n \"MAPA_UI_TEXTS\"\n);\n\nexport const MAPA_UI_DEFAULT_TEXTS: MapaUiTexts = {\n common: {\n selectAll: \"Selecionar todos\",\n },\n filters: {\n clear: \"Limpar filtros\",\n submit: \"Filtrar\",\n },\n datepicker: {\n startDatePlaceholder: \"Data inicial\",\n endDatePlaceholder: \"Data final\",\n },\n capability: {\n groupAverageTitle: \"Média geral do grupo\",\n individualAverageTitle: \"Média geral do indivíduo\",\n conceptTitle: \"Conceito\",\n resultTitle: \"Resultado\",\n positiveIndicatorsTitle: \"Indicadores positivos\",\n negativeIndicatorsTitle: \"Indicadores negativos\",\n riskIndicatorsTitle: \"Indicadores de risco\",\n precipitationRiskTitle: \"Risco de acidente por precipitação\",\n negligenceRiskTitle: \"Risco de acidente por negligência\",\n negativeDirectionLabel: \"Direção Negativa |\",\n positiveDirectionLabel: \"Direção Positiva |\",\n },\n paginator: {\n itemsPerPage: \"Itens por página\",\n nextPage: \"Próxima página\",\n previousPage: \"Página anterior\",\n rangeLabel: (page: number, pageSize: number, length: number) => {\n if (length === 0 || pageSize === 0) {\n return `0 de ${length}`;\n }\n\n const startIndex = page * pageSize;\n const endIndex =\n startIndex < length\n ? Math.min(startIndex + pageSize, length)\n : startIndex + pageSize;\n\n return `${startIndex + 1} - ${endIndex} de ${length}`;\n },\n showingRangeLabel: (page: number, pageSize: number, length: number) => {\n if (length === 0) {\n return \"Mostrando 0 - 0 de 0 item\";\n }\n\n const startIndex = page * pageSize;\n const endIndex =\n startIndex < length\n ? Math.min(startIndex + pageSize, length)\n : startIndex + pageSize;\n const itemLabel = length === 1 ? \"item\" : \"itens\";\n\n return `Mostrando ${startIndex + 1} - ${endIndex} de ${length} ${itemLabel}`;\n },\n },\n validation: {\n cnpj: \"CNPJ inválido\",\n cpf: \"CPF inválido\",\n email: \"E-mail inválido\",\n max: (context?: ValidationMessageContext) =>\n `O valor máximo permitido é ${context?.max ?? \"\"}`.trim(),\n maxLength: (context?: ValidationMessageContext) =>\n `O máximo permitido é ${context?.requiredLength ?? \"\"} caracteres`.trim(),\n min: (context?: ValidationMessageContext) =>\n `O valor minimo permitido é ${context?.min ?? \"\"}`.trim(),\n minLength: (context?: ValidationMessageContext) =>\n `O mínimo permitido é ${context?.requiredLength ?? \"\"} caracteres`.trim(),\n pattern: \"Formato inválido\",\n required: \"Campo obrigatório\",\n },\n};\n\nexport function mergeMapaUiTexts(\n customTexts?: PartialMapaUiTexts | null\n): MapaUiTexts {\n return {\n common: {\n ...MAPA_UI_DEFAULT_TEXTS.common,\n ...(customTexts?.common ?? {}),\n },\n filters: {\n ...MAPA_UI_DEFAULT_TEXTS.filters,\n ...(customTexts?.filters ?? {}),\n },\n datepicker: {\n ...MAPA_UI_DEFAULT_TEXTS.datepicker,\n ...(customTexts?.datepicker ?? {}),\n },\n capability: {\n ...MAPA_UI_DEFAULT_TEXTS.capability,\n ...(customTexts?.capability ?? {}),\n },\n paginator: {\n ...MAPA_UI_DEFAULT_TEXTS.paginator,\n ...(customTexts?.paginator ?? {}),\n },\n validation: {\n ...MAPA_UI_DEFAULT_TEXTS.validation,\n ...(customTexts?.validation ?? {}),\n },\n };\n}\n\nexport function provideMapaUiTexts(texts: PartialMapaUiTexts): Provider {\n return {\n provide: MAPA_UI_TEXTS,\n useValue: texts,\n };\n}\n","import { Inject, Injectable, Optional } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\nimport {\n MAPA_UI_TEXTS,\n MapaUiTexts,\n PartialMapaUiTexts,\n ValidationMessageContext,\n ValidationTextResolver,\n mergeMapaUiTexts,\n} from \"../i18n/mapa-ui-texts\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class MapaI18nService {\n private readonly textsSubject: BehaviorSubject<MapaUiTexts>;\n\n readonly texts$;\n\n constructor(\n @Optional() @Inject(MAPA_UI_TEXTS) customTexts: PartialMapaUiTexts | null\n ) {\n this.textsSubject = new BehaviorSubject<MapaUiTexts>(\n mergeMapaUiTexts(customTexts)\n );\n this.texts$ = this.textsSubject.asObservable();\n }\n\n get texts(): MapaUiTexts {\n return this.textsSubject.value;\n }\n\n setTexts(texts: PartialMapaUiTexts): void {\n this.textsSubject.next(mergeMapaUiTexts(texts));\n }\n\n resolveValidationText(\n key: keyof MapaUiTexts[\"validation\"],\n context?: ValidationMessageContext\n ): string {\n return this.resolveText(this.texts.validation[key], context);\n }\n\n private resolveText(\n value: ValidationTextResolver,\n context?: ValidationMessageContext\n ): string {\n return typeof value === \"function\" ? value(context) : value;\n }\n}\n","import {\n AfterViewInit,\n Directive,\n DoCheck,\n Host,\n OnDestroy,\n Optional,\n Renderer2,\n Self,\n ViewContainerRef,\n} from '@angular/core';\nimport { MatButton } from '@angular/material/button';\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { MapaI18nService } from '../services/mapa-i18n.service';\n\n@Directive({\n selector: '[appStylePaginatorMv]',\n standalone: true\n})\nexport class PaginatorLegacyDirective implements DoCheck, AfterViewInit, OnDestroy {\n private currentPage: number;\n private pageGapTxt: string[];\n private rangeStart!: number;\n private rangeEnd!: number;\n private buttons: MatButton[] = [];\n private showTotalPages: number;\n private checkPage: number[];\n private readonly onDestroy$ = new Subject<void>();\n\n constructor(\n @Host() @Self() @Optional() private readonly matPag: MatPaginator,\n private readonly viewContainer: ViewContainerRef,\n private readonly renderer: Renderer2,\n private readonly i18n: MapaI18nService\n ) {\n this.currentPage = 1;\n this.pageGapTxt = ['...', '---'];\n this.showTotalPages = 2;\n this.checkPage = [0, 0, 0];\n\n this.matPag._intl.getRangeLabel = (\n page: number,\n pageSize: number,\n length: number\n ): string => this.i18n.texts.paginator.showingRangeLabel(page, pageSize, length);\n\n this.matPag.page\n .pipe(takeUntil(this.onDestroy$))\n .subscribe((paginator: PageEvent) => {\n this.currentPage = paginator.pageIndex;\n this.matPag.pageIndex = paginator.pageIndex;\n this.initPageRange();\n });\n\n this.i18n.texts$\n .pipe(takeUntil(this.onDestroy$))\n .subscribe(() => {\n this.matPag._intl.itemsPerPageLabel = this.i18n.texts.paginator.itemsPerPage;\n const paginatorIntl = this.matPag._intl;\n paginatorIntl.nextPageLabel = this.i18n.texts.paginator.nextPage;\n paginatorIntl.previousPageLabel = this.i18n.texts.paginator.previousPage;\n paginatorIntl.changes.next();\n });\n }\n\n ngAfterViewInit(): void {\n this.rangeStart = 0;\n this.rangeEnd = this.showTotalPages - 1;\n this.initPageRange();\n }\n\n ngDoCheck(): void {\n if (\n this.matPag?.length !== this.checkPage[0] ||\n this.matPag?.pageSize !== this.checkPage[1] ||\n this.matPag?.pageIndex !== this.checkPage[2]\n ) {\n const pageCount = this.matPag.getNumberOfPages();\n if (this.currentPage > pageCount && pageCount !== 0) {\n this.currentPage = 1;\n this.matPag.pageIndex = 0;\n }\n this.currentPage = this.matPag.pageIndex;\n this.initPageRange();\n this.checkPage = [\n this.matPag.length,\n this.matPag.pageSize,\n this.matPag.pageIndex,\n ];\n }\n }\n\n ngOnDestroy(): void {\n this.onDestroy$.next();\n this.onDestroy$.complete();\n }\n\n private buildPageNumbers = () => {\n let dots: boolean[];\n let page: number;\n let pageDifference: number;\n let startIndex: number;\n let totalPages: number;\n totalPages = this.matPag.getNumberOfPages();\n const actionContainer =\n this.viewContainer.element.nativeElement.querySelector(\n 'div.mat-paginator-range-actions'\n );\n const nextPageNode = this.viewContainer.element.nativeElement.querySelector(\n 'button.mat-paginator-navigation-next'\n );\n const pageRange = this.viewContainer.element.nativeElement.querySelector(\n 'div.mat-paginator-range-label'\n );\n\n let prevButtonCount = this.buttons.length;\n\n if (prevButtonCount > 0) {\n this.buttons.forEach((button) => {\n this.renderer.removeChild(actionContainer, button);\n });\n prevButtonCount = 0;\n }\n\n this.renderer.addClass(pageRange, 'custom-paginator-counter');\n this.renderer.addClass(actionContainer, 'custom-paginator-container');\n\n if (prevButtonCount === 0) {\n const nodeArray = actionContainer.childNodes;\n setTimeout(() => {\n for (const node of nodeArray) {\n if (node.nodeName === 'BUTTON') {\n const nodeTextLength = node.textContent?.length ?? 0;\n if (nodeTextLength > 100 && node.disabled) {\n this.renderer.addClass(node, 'custom-paginator-arrow-disabled');\n this.renderer.removeClass(node, 'custom-paginator-arrow-enabled');\n } else if (nodeTextLength > 100 && !node.disabled) {\n this.renderer.addClass(node, 'custom-paginator-arrow-enabled');\n this.renderer.removeClass(\n node,\n 'custom-paginator-arrow-disabled'\n );\n }\n }\n }\n });\n }\n\n dots = [false, false];\n\n if (totalPages > 0) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton('0', this.matPag.pageIndex),\n nextPageNode\n );\n }\n\n page = this.showTotalPages + 2;\n pageDifference = totalPages - page;\n startIndex = Math.max(this.currentPage - this.showTotalPages - 2, 1);\n\n for (let index = startIndex; index < totalPages - 1; index = index + 1) {\n if (\n (index < page && this.currentPage <= this.showTotalPages) ||\n (index >= this.rangeStart && index <= this.rangeEnd) ||\n (this.currentPage > pageDifference && index >= pageDifference) ||\n totalPages < this.showTotalPages + page\n ) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(`${index}`, this.matPag.pageIndex),\n nextPageNode\n );\n } else {\n if (index > this.rangeEnd && !dots[0]) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(this.pageGapTxt[0], this.matPag.pageIndex),\n nextPageNode\n );\n dots[0] = true;\n break;\n }\n if (index < this.rangeEnd && !dots[1]) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(this.pageGapTxt[1], this.matPag.pageIndex),\n nextPageNode\n );\n dots[1] = true;\n }\n }\n }\n\n if (totalPages > 1) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(`${totalPages - 1}`, this.matPag.pageIndex),\n nextPageNode\n );\n }\n };\n\n private createButton(index: string, pageIndex: number): MatButton {\n const linkBtn: MatButton = this.renderer.createElement('button');\n this.renderer.setAttribute(linkBtn, 'class', 'custom-paginator-page');\n this.renderer.addClass(linkBtn, 'custom-paginator-page-enabled');\n if (index === this.pageGapTxt[0] || index === this.pageGapTxt[1]) {\n this.renderer.addClass(linkBtn, 'custom-paginator-arrow-enabled');\n }\n const pagingTxt = isNaN(+index) ? this.pageGapTxt[0] : +index + 1;\n const text = this.renderer.createText(pagingTxt + '');\n this.renderer.addClass(linkBtn, 'mat-custom-page');\n switch (index) {\n case `${pageIndex}`:\n this.renderer.setAttribute(linkBtn, 'disabled', 'disabled');\n this.renderer.removeClass(linkBtn, 'custom-paginator-page-enabled');\n this.renderer.addClass(linkBtn, 'custom-paginator-page-disabled');\n break;\n case this.pageGapTxt[0]:\n this.renderer.listen(linkBtn, 'click', () => {\n this.switchPage(\n this.currentPage < this.showTotalPages + 1\n ? this.showTotalPages + 2\n : this.currentPage + this.showTotalPages - 1\n );\n });\n break;\n case this.pageGapTxt[1]:\n this.renderer.listen(linkBtn, 'click', () => {\n this.switchPage(\n this.currentPage >\n this.matPag.getNumberOfPages() - this.showTotalPages - 2\n ? this.matPag.getNumberOfPages() - this.showTotalPages - 3\n : this.currentPage - this.showTotalPages + 1\n );\n });\n break;\n default:\n this.renderer.listen(linkBtn, 'click', () => {\n this.switchPage(+index);\n });\n break;\n }\n this.renderer.appendChild(linkBtn, text);\n this.buttons.push(linkBtn);\n return linkBtn;\n }\n\n private initPageRange(): void {\n this.rangeStart = this.currentPage - this.showTotalPages / 2;\n this.rangeEnd = this.currentPage + this.showTotalPages / 2;\n this.buildPageNumbers();\n }\n\n private switchPage(index: number): void {\n this.matPag.pageIndex = index;\n this.matPag.page.emit({\n previousPageIndex: this.currentPage,\n pageIndex: index,\n pageSize: this.matPag.pageSize,\n length: this.matPag.length,\n });\n this.currentPage = index;\n this.initPageRange();\n }\n}\n\n","import { MatPaginatorIntl } from '@angular/material/paginator';\nimport { MapaI18nService } from '../../../core/services/mapa-i18n.service';\n\nexport function customPaginatorFactory(i18n: MapaI18nService): MatPaginatorIntl {\n const customPaginatorIntl = new MatPaginatorIntl();\n const updateTexts = () => {\n const paginatorTexts = i18n.texts.paginator;\n\n customPaginatorIntl.itemsPerPageLabel = paginatorTexts.itemsPerPage;\n customPaginatorIntl.nextPageLabel = paginatorTexts.nextPage;\n customPaginatorIntl.previousPageLabel = paginatorTexts.previousPage;\n customPaginatorIntl.getRangeLabel = paginatorTexts.rangeLabel;\n customPaginatorIntl.changes.next();\n };\n\n updateTexts();\n i18n.texts$.subscribe(() => updateTexts());\n\n return customPaginatorIntl;\n}\n","import { Injectable, SecurityContext } from \"@angular/core\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\n\nexport function sanitizeHtmlContent(\n sanitizer: DomSanitizer,\n value?: string | null\n): string {\n return sanitizer.sanitize(SecurityContext.HTML, value ?? \"\") ?? \"\";\n}\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class HtmlSanitizerService {\n constructor(private readonly sanitizer: DomSanitizer) {}\n\n sanitize(value?: string | null): string {\n return sanitizeHtmlContent(this.sanitizer, value);\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { HtmlSanitizerService } from \"../services/html-sanitizer.service\";\n\n@Pipe({\n name: \"safeHtml\",\n standalone: true,\n})\nexport class SafeHtmlPipe implements PipeTransform {\n constructor(private readonly htmlSanitizer: HtmlSanitizerService) {}\n\n transform(value?: string | null): string {\n return this.htmlSanitizer.sanitize(value);\n }\n}\n","import { SelectionModel } from \"@angular/cdk/collections\";\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport { FormControl, FormGroup } from \"@angular/forms\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\nimport moment from \"moment\";\n\nimport { MatPaginator, PageEvent } from \"@angular/material/paginator\";\nimport { MatSort, Sort } from \"@angular/material/sort\";\nimport { MatTable, MatTableDataSource } from \"@angular/material/table\";\nimport { MatMenuTrigger } from \"@angular/material/menu\";\n\nimport { MenuItem } from \"mapa-library-ui/src/lib/components/menu\";\nimport { RowClickEvent } from \"../../../core/interfaces/table-row-click-event.interface\";\nimport { TableColumn } from \"../../../core/interfaces/table-column.interface\";\nimport { MapaI18nService } from \"../../../core/services/mapa-i18n.service\";\n\n@Component({\n selector: \"mapa-table\",\n templateUrl: \"./table.component.html\",\n styleUrls: [\n \"./table.component.scss\",\n \"./../../capability/styles/capability.scss\",\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MapaTableComponent implements AfterViewInit, OnChanges, OnDestroy {\n @Input() columns: TableColumn[] = [];\n @Input() data: Object[] = [];\n @Input() pageIndex: number = 1;\n @Input() pageSize: number = 5;\n @Input() totalCount: number = 0;\n @Input() totalPages: number = 0;\n @Input() checkbox: boolean | undefined;\n @Input() selection: SelectionModel<any> | undefined;\n @Input() actions?: MenuItem[] | undefined;\n @Input() filterControl: FormControl | undefined;\n @Input() menuItems: MenuItem[] = [];\n @Input() menu: boolean | undefined;\n @Input() showPaginator: boolean = true;\n\n @ViewChild(MatMenuTrigger) trigger!: MatMenuTrigger;\n @ViewChild(MatTable) table?: MatTable<Object>;\n\n @Output() rowClick: EventEmitter<RowClickEvent> = new EventEmitter<RowClickEvent>();\n @Output() selectedRows: EventEmitter<any[]> = new EventEmitter<any[]>();\n @Output() onChangePage: EventEmitter<any> = new EventEmitter<any>();\n @Output() onSortChange: EventEmitter<Sort> = new EventEmitter<Sort>();\n\n @ViewChild(MatPaginator, { read: true }) paginator!: MatPaginator;\n @ViewChild(MatSort) sort!: MatSort;\n\n checkboxGroup!: FormGroup;\n dataSource!: MatTableDataSource<Object>;\n displayedColumns: string[] = [];\n currentSort: Sort | undefined;\n texts = this.i18n.texts;\n desktopTableVisible = true;\n private readonly onDestroy$ = new Subject<void>();\n\n constructor(\n private cdr: ChangeDetectorRef,\n private readonly i18n: MapaI18nService\n ) {\n this.i18n.texts$\n .pipe(takeUntil(this.onDestroy$))\n .subscribe((texts) => {\n this.texts = texts;\n this.cdr.markForCheck();\n });\n }\n\n get selectAllLabel(): string {\n return this.texts.common.selectAll;\n }\n\n ngAfterViewInit(): void {\n this.refreshTableState();\n this.cdr.markForCheck();\n }\n\n ngOnDestroy(): void {\n this.onDestroy$.next();\n this.onDestroy$.complete();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if ((changes[\"data\"] || changes[\"columns\"]) && this.dataSource) {\n if (changes[\"data\"]) {\n this.data = changes[\"data\"].currentValue;\n }\n if (changes[\"columns\"]) {\n this.columns = changes[\"columns\"].currentValue;\n }\n\n this.refreshTableState();\n if (changes[\"columns\"]) {\n this.rebuildDesktopTable();\n }\n this.cdr.markForCheck();\n }\n\n if (changes[\"filterControl\"] && this.filterControl) {\n this.setupFilter();\n }\n }\n\n private refreshTableState(): void {\n this.dataSource = new MatTableDataSource(this.data);\n this.dataSource.sort = this.sort;\n this.displayedColumns = this.columns.map((column) => column.key);\n this.table?.renderRows();\n }\n\n private rebuildDesktopTable(): void {\n this.desktopTableVisible = false;\n this.cdr.detectChanges();\n this.desktopTableVisible = true;\n this.cdr.detectChanges();\n }\n\n trackColumn(index: number, column: TableColumn): string {\n return `${index}:${column.key}:${column.label}`;\n }\n\n setupFilter() {\n if (this.dataSource) {\n this.filterControl!.valueChanges\n .pipe(takeUntil(this.onDestroy$))\n .subscribe((value: string) => {\n this.dataSource.filter = value.trim().toLowerCase();\n });\n\n this.dataSource.filterPredicate = (data: any, filter: string) => {\n const dataStr = Object.keys(data)\n .reduce((currentTerm, key) => {\n return (\n currentTerm +\n ((data[key] && data[key].toString().toLowerCase()) || \"\") +\n \" \"\n );\n }, \"\")\n .trim()\n .toLowerCase();\n\n return dataStr.indexOf(filter) !== -1;\n };\n }\n }\n\n isAllSelected() {\n if (this.selection) {\n const numSelected = this.selection.selected.length;\n const numRows = this.dataSource.data.length;\n return numSelected === numRows;\n }\n return false;\n }\n\n toggleAllRows() {\n if (this.selection) {\n if (this.isAllSelected()) {\n this.selection.clear();\n this.getSelectedValues();\n } else {\n const dataAsPeriodicElements = this.dataSource.data as any[];\n dataAsPeriodicElements.forEach((row) => this.selection?.select(row));\n this.getSelectedValues();\n }\n }\n }\n\n checkboxLabel(row?: any): string {\n if (this.selection) {\n if (!row) {\n return `${this.isAllSelected() ? \"deselect\" : \"select\"} all`;\n }\n return `${this.selection.isSelected(row) ? \"deselect\" : \"select\"} row ${row.position + 1}`;\n }\n return \"\";\n }\n\n sortData(column: TableColumn): void {\n if (column.sort) {\n const sort: Sort = { active: column.key, direction: \"asc\" };\n\n if (\n this.currentSort &&\n this.currentSort.active === column.key &&\n this.currentSort.direction === \"asc\"\n ) {\n sort.direction = \"desc\";\n }\n\n this.currentSort = sort;\n this.sortDataFunction(sort);\n }\n }\n\n sortDataFunction(sort: Sort) {\n this.onSortChange.emit(sort);\n }\n\n emitRowClick(row: string, action: string) {\n const rowData: RowClickEvent = { row, action };\n this.rowClick.emit(rowData);\n }\n\n toggleSelection(row: any) {\n if (this.selection) {\n if (this.selection.isSelected(row)) {\n this.selection.deselect(row);\n } else {\n this.selection.select(row);\n }\n this.getSelectedValues();\n }\n }\n\n getSelectedValues() {\n if (this.selection) {\n const selectedRows = this.selection.selected.map((row) => {\n return { row };\n });\n this.selectedRows.emit(selectedRows);\n }\n }\n\n generateColumns() {\n const columns: TableColumn[] = [{ key: \"name\", label: \"\", sort: false }];\n\n this.columns = columns;\n }\n\n columnExists(columns: TableColumn[], key: string): boolean {\n return columns.some((column) => column.key === key);\n }\n\n generateGroupData() {\n const result: { [key: string]: any }[] = [];\n\n this.data = result;\n }\n\n isBoolean(column: TableColumn, row: any): boolean {\n return typeof row[column.key] === \"boolean\";\n }\n\n isMaskedData(column: TableColumn, row: any): boolean {\n const formats = [moment.ISO_8601, \"MM/DD/YYYY :) HH*mm*ss\"];\n const isDate = moment(row[column.key], formats, true).isValid();\n return (column.mask && isDate) || false;\n }\n\n getValueAsDate(column: TableColumn, row: any): Date {\n return new Date(row[column.key]);\n }\n\n getCellClass(column: TableColumn, row: any): string {\n if (\n column.key === \"name\" ||\n column.key === \"cpf\" ||\n column.key === \"general\"\n ) {\n return \"\";\n }\n try {\n return `classification`;\n } catch {\n return \"\";\n }\n }\n\n getCellBg(column: TableColumn, row: any): string {\n if (\n column.key === \"name\" ||\n column.key === \"cpf\" ||\n column.key === \"general\"\n ) {\n return \"\";\n }\n try {\n const bg = row[column.key]?.classificationColor;\n return bg;\n } catch {\n return \"\";\n }\n }\n\n getCellTextColor(column: TableColumn, row: any): string {\n if (\n column.key === \"name\" ||\n column.key === \"cpf\" ||\n column.key === \"general\"\n ) {\n return \"\";\n }\n try {\n const color = row[column.key]?.classificationTextColor!;\n return color;\n } catch {\n return \"\";\n }\n }\n\n getValue(row: { value: string }): string {\n try {\n if (row.value) {\n return row.value + \"%\";\n }\n return \"-\";\n } catch {\n return \"-\";\n }\n }\n\n changePage(event?: PageEvent): void {\n this.onChangePage.emit(event);\n }\n\n toggleMenu() {\n this.trigger.openMenu();\n }\n\n getBackgroundColor(column: TableColumn, row: any): string {\n return column.status?.color?.[row[column.key] || 0] || \"\";\n }\n\n getTextColor(column: TableColumn, row: any): string {\n return column.status?.textColor?.[row[column.key] || 0] || \"\";\n }\n\n hasCustomClass(column: TableColumn, row: any, key: string): boolean {\n if (\n column?.class ||\n row?.rowStyleClass ||\n this.hasCellStyleClass(row, key)\n ) {\n return true;\n }\n return false;\n }\n\n getCustomClass(column: TableColumn, row: any, key: string): string {\n if (this.hasCellStyleClass(row, key)) {\n return this.getCellStyleClass(row, column.key);\n } else if (column?.class) {\n return column.class;\n } else if (row?.rowStyleClass) {\n return row.rowStyleClass;\n }\n return \"\";\n }\n\n hasCellStyleClass(row: any, key: string): boolean {\n return row.styleClass?.key === key;\n }\n\n getCellStyleClass(row: any, key: string): string {\n return row.styleClass?.key === key ? row.styleClass?.class : \"\";\n }\n\n handleMenu(selected: any) {\n this.emitRowClick(selected.data, selected.action);\n }\n\n hasIndividualMenu(row: Object | undefined): boolean {\n if (row && (row as any).menu && (row as any).menu.length > 0) return true;\n return false;\n }\n\n getMenuItems(row: Object | undefined): MenuItem[] {\n if (row && (row as any).menu && (row as any).menu.length > 0) return (row as any).menu;\n return [];\n }\n\n getContentFromColumn(row: Object | undefined, key: string): any[] {\n if (row && (row as any)[key]) return (row as any)[key];\n return [];\n }\n\n hasActionsColumn(): boolean {\n return this.columns.some((column) => column.key.includes('actions'));\n }\n\n hasMenuColumn(): boolean {\n return this.columns.some((column) => column.key.includes('menu'));\n }\n\n setSvgName(image: string): string {\n return image.split('/').pop()?.split('.')[0] || '';\n }\n}\n","<section class=\"mapa-table\" *ngIf=\"dataSource && dataSource.data && dataSource.data.length > 0\">\n <div class=\"mapa-table--show-on-mobile\">\n <div *ngIf=\"checkbox\" class=\"mapa-table__select-all\">\n <mat-checkbox\n *ngIf=\"selection\"\n (change)=\"$event ? toggleAllRows() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation()\"\n color=\"primary\"\n > {{ selectAllLabel }}</mat-checkbox>\n </div>\n <div *ngFor=\"let row of dataSource.data.values(); let i = index\">\n <div class=\"mapa-table__card mapa__card\">\n <div *ngFor=\"let column of columns; trackBy: trackColumn; let j = index; let isFirst = first\" [ngClass]=\"'mapa-table__card--column-' + column.key\">\n <strong\n class=\"mapa-table__card--header\"\n [class.mapa-table__checkbox--header]=\"isFirst && checkbox\"\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu'\">\n <div\n [ngTemplateOutlet]=\"tableHeader\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox: false }\"\n class=\"hidden\"\n ></div>\n </strong>\n <div\n class=\"mapa-table__card--column\"\n [class.mapa-table__column--center-cell]=\"column?.align === 'center'\"\n >\n <ng-container\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu'; else columnActionsOrMenu\"\n >\n <div class=\"mapa-table__content\">\n <div\n [style.width]=\"column?.width\"\n [class.mapa-table__column--ellipsis]=\"column?.collapse === 'overflow'\"\n [class.mapa-table__column--no-wrap]=\"column?.collapse === 'no-wrap'\"\n [class.mapa-table__column--wrap]=\"column?.collapse === 'wrap'\"\n [ngClass]=\"[hasCustomClass(column, row, column.key) ? getCustomClass(column, row, column.key) : '']\"\n >\n <div\n *ngIf=\"column?.status?.color; else commonColumn\"\n class=\"mapa-table__column--status\"\n [style.backgroundColor]=\"getBackgroundColor(column, row)\"\n [style.color]=\"getTextColor(column, row)\"\n [class.mapa-table__column--status-round]=\"column.status?.style == 'round'\"\n >\n <div\n [ngTemplateOutlet]=\"tableContent\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox, row }\"\n ></div>\n </div>\n <ng-template #commonColumn>\n <div\n [ngTemplateOutlet]=\"tableContent\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox, row }\"\n ></div>\n </ng-template>\n </div>\n </div>\n </ng-container>\n <ng-template #columnActionsOrMenu>\n <div *ngIf=\"column.key === 'actions' && actions\">\n <div *ngFor=\"let item of getContentFromColumn(row, 'actions') || actions\">\n <a *ngIf=\"item.route; else commonClickAction\" [href]=\"item.route\" [routerLink]=\"item.route\">\n <button\n class=\"mapa-table__column--actions-item\"\n [title]=\"item.text\"\n mat-icon-button\n >\n <mat-icon *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\n <img *ngIf=\"item.image\" [src]=\"item.image\" />\n <mapa-svg-icon *ngIf=\"item.svg\" [name]=\"setSvgName(item.svg)\"></mapa-svg-icon>\n <span *ngIf=\"item.showText\">{{ item.text }}</span>\n </button>\n </a>\n <ng-template #commonClickAction>\n <button\n (click)=\"handleMenu({data: row, action: item.action})\"\n class=\"mapa-table__column--actions-item\"\n [title]=\"item.text\"\n mat-icon-button\n >\n <mat-icon *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\n <img *ngIf=\"item.image\" [src]=\"item.image\" />\n <mapa-svg-icon *ngIf=\"item.svg\" [name]=\"setSvgName(item.svg)\"></mapa-svg-icon>\n <span *ngIf=\"item.showText\">{{ item.text }}</span>\n </button>\n </ng-template>\n </div>\n </div>\n \n <div *ngIf=\"column.key === 'menu'\">\n <div *ngIf=\"hasIndividualMenu(row); else generalMenu\" class=\"mapa-table__column--menu\">\n <button\n *ngFor=\"let item of getMenuItems(row)\"\n (click)=\"handleMenu({data: row, action: item.action})\"\n class=\"mapa-table__column--menu-item\"\n [title]=\"item.text\"\n mat-icon-button\n >\n <mat-icon *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\n <img *ngIf=\"item.image\" [src]=\"item.image\" />\n <span class=\"mapa-table__column--menu-item-text\">{{ item.text }}</span>\n </button>\n </div>\n <ng-template #generalMenu>\n <div class=\"mapa-table__column--menu\">\n <button\n *ngFor=\"let item of menuItems\"\n (click)=\"handleMenu({data: row, action: item.action})\"\n class=\"mapa-table__column--menu-item\"\n [title]=\"item.text\"\n mat-icon-button\n >\n <mat-icon *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\n <mapa-svg-icon *ngIf=\"item.image\" [name]=\"setSvgName(item.image)\"></mapa-svg-icon>\n <span class=\"mapa-table__column--menu-item-text\">{{ item.text }}</span>\n </button>\n </div>\n </ng-template>\n </div>\n </ng-template>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"mapa-table--show-on-desktop\">\n <table\n *ngIf=\"desktopTableVisible\"\n mat-table\n [dataSource]=\"dataSource\"\n matSort\n (matSortChange)=\"sortDataFunction($event)\"\n >\n <ng-container\n *ngFor=\"let column of columns; trackBy: trackColumn; let isFirst = first\"\n [matColumnDef]=\"column.key\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n [disabled]=\"!(column.key !== 'actions' ? column.sort : null)\"\n >\n <div\n [ngTemplateOutlet]=\"tableHeader\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox }\"\n ></div>\n </th>\n <td mat-cell *matCellDef=\"let row\" [style.width]=\"column?.width\">\n <div\n class=\"mapa-table__column\"\n (click)=\"emitRowClick(row, '')\"\n [class.mapa-table__column--center-cell]=\"column?.align === 'center'\"\n >\n <ng-container\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu'; else columnActionsOrMenu\"\n >\n <div class=\"mapa-table__content\">\n <div\n [style.width]=\"column?.width\"\n [class.mapa-table__column--ellipsis]=\"column?.collapse === 'overflow'\"\n [class.mapa-table__column--no-wrap]=\"column?.collapse === 'no-wrap'\"\n [class.mapa-table__column--wrap]=\"column?.collapse === 'wrap'\"\n [ngClass]=\"[hasCustomClass(column, row, column.key) ? getCustomClass(column, row, column.key) : '']\"\n >\n <div\n *ngIf=\"column?.status?.color; else commonColumn\"\n class=\"mapa-table__column--status\"\n [style.backgroundColor]=\"getBackgroundColor(column, row)\"\n [style.color]=\"getTextColor(column, row)\"\n [class.mapa-table__column--status-round]=\"column.status?.style == 'round'\"\n >\n <div\n [ngTemplateOutlet]=\"tableContent\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox, row }\"\n ></div>\n </div>\n <ng-template #commonColumn>\n <div\n [ngTemplateOutlet]=\"tableContent\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox, row }\"\n ></div>\n </ng-template>\n </div>\n </div>\n </ng-container>\n <ng-template #columnActionsOrMenu>\n <div\n class=\"mapa-table__column--actions\"\n *ngIf=\"column.key === 'actions' && actions\"\n >\n <div *ngFor=\"let item of row['actions'] || actions\">\n <a *ngIf=\"item.route; else commonClickAction\" [href]=\"item.route\" [routerLink]=\"item.route\">\n <button\n class=\"mapa-table__column--actions-item\"\n [title]=\"item.text\"\n mat-icon-button\n >\n <mat-icon *ngIf=\"item.icon\">{{item.icon}}</mat-icon>\n <img *ngIf=\"item.image\" [src]=\"item.image\" />\n <mapa-svg-icon *ngIf=\"item.svg\" [name]=\"setSvgName(item.svg)\"></mapa-svg-icon>\n <span *ngIf=\"item.showText\">{{ item.text }}</span>\n </button>\n </a>\n <ng-template #commonClickAction>\n <button\n (click)=\"handleMenu({data: row, action: item.action})\"\n class=\"mapa-table__column--actions-item\"\n [title]=\"item.text\"\n mat-icon-button\n >\n <mat-icon *ngIf=\"item.icon\">{{item.icon}}</mat-icon>\n <img *ngIf=\"item.image\" [src]=\"item.image\" />\n <mapa-svg-icon *ngIf=\"item.svg\" [name]=\"setSvgName(item.svg)\"></mapa-svg-icon>\n <span *ngIf=\"item.showText\">{{ item.text }}</span>\n </button>\n </ng-template>\n </div>\n </div>\n <div class=\"mapa-table__column--menu\" *ngIf=\"column.key === 'menu'\">\n <mapa-menu\n *ngIf=\"hasIndividualMenu(row); else generalMenu\"\n [items]=\"row?.menu\"\n [data]=\"row\"\n (emitMenu)=\"handleMenu($event)\"\n ></mapa-menu>\n <ng-template #generalMenu>\n <mapa-menu\n *ngIf=\"menuItems && menuItems.length > 0\"\n [items]=\"menuItems\"\n [data]=\"row\"\n (emitMenu)=\"handleMenu($event)\"\n ></mapa-menu>\n </ng-template>\n </div>\n </ng-template>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns;\"\n class=\"row-hover\"\n ></tr>\n </table>\n </div>\n <section *ngIf=\"showPaginator\">\n <mat-paginator\n class=\"mapa-table__paginator-legacy\"\n appStylePaginatorMv\n [length]=\"totalCount\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\"\n (page)=\"changePage($event)\"\n ></mat-paginator>\n </section>\n</section>\n\n<ng-template\n #tableHeader\n let-selection=\"selection\"\n let-column=\"column\"\n let-isFirst=\"isFirst\"\n let-checkbox=\"checkbox\"\n>\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n *ngIf=\"selection\"\n (change)=\"$event ? toggleAllRows() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation()\"\n color=\"primary\"\n ></mat-checkbox>\n </ng-container>\n <div>\n <span [innerHTML]=\"column.label | safeHtml\"></span>\n </div>\n <div\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu' && column.sort\"\n class=\"mapa-table--show-on-desktop\">\n <mat-icon>filter_list</mat-icon>\n </div>\n</ng-template>\n\n<ng-template\n #tableContent\n let-selection=\"selection\"\n let-column=\"column\"\n let-isFirst=\"isFirst\"\n let-checkbox=\"checkbox\"\n let-row=\"row\"\n>\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selection?.toggle(row) : null; getSelectedValues()\"\n [checked]=\"selection?.isSelected(row)\"\n color=\"primary\"\n class=\"mapa-table__checkbox\"\n >\n </mat-checkbox>\n </ng-container>\n <!-- POR FAVOR, NÃO QUEBRE LINHA ENTRE NG-CONTAINER/TEMPLATE E O VALOR CONTEÚDO -->\n <ng-container *ngIf=\"isMaskedData(column, row); else statusContent\"\n >{{ getValueAsDate(column, row) | date: column.mask }}</ng-container\n >\n <ng-template #statusContent>\n <ng-container *ngIf=\"column.status; else commonContent\">\n <ng-container *ngIf=\"isBoolean(column, row); else commonStatus\"\n ><span [innerHTML]=\"column.status.label[row[column.key] ? 1 : 0] | safeHtml\"></span\n ></ng-container>\n <ng-template #commonStatus\n ><span [innerHTML]=\"(column.status.label[row[column.key]] || '-') | safeHtml\"></span\n ></ng-template>\n </ng-container>\n <ng-template #commonContent\n ><span [innerHTML]=\"row[column.key] | safeHtml\"></span\n ></ng-template>\n </ng-template>\n <ng-template #statusContent>\n <ng-template #commonContent\n ><span [innerHTML]=\"row[column.key] | safeHtml\"></span\n ></ng-template>\n </ng-template>\n</ng-template>\n\n\n","export const ESTADOS_SIGLA: any = ['ac', 'al', 'am', 'ap', 'ba', 'ce', 'df', 'es', 'go', 'ma',\n 'mg', 'ms', 'mt', 'pa', 'pb', 'pe', 'pi', 'pr', 'rj', 'rn', 'ro', 'rr', 'rs',\n 'sc', 'se', 'sp', 'to'\n];\n\n\nexport type EstadosType = 'ac'| 'al'| 'am'| 'ap'| 'ba'| 'ce'| 'df'| 'es'| 'go'| 'ma'|\n'mg'| 'ms'| 'mt'| 'pa'| 'pb'| 'pe'| 'pi'| 'pr'| 'rj'| 'rn'| 'ro'| 'rr'| 'rs'|\n'sc'| 'se'| 'sp'| 'to';\n\n\nexport const ESTADOS = [\n { name: 'Acre', shortname: 'AC', slug: 'acre' },\n { name: 'Alagoas', shortname: 'AL', slug: 'alagoas' },\n { name: 'Amapá', shortname: 'AP', slug: 'amapa' },\n { name: 'Amazonas', shortname: 'AM', slug: 'amazonas' },\n { name: 'Bahia', shortname: 'BA', slug: 'bahia' },\n { name: 'Ceará', shortname: 'CE', slug: 'ceara' },\n { name: 'Distrito Federal', shortname: 'DF', slug: 'distrito-federal' },\n { name: 'Espírito Santo', shortname: 'ES', slug: 'espirito-santo' },\n { name: 'Goiás', shortname: 'GO', slug: 'goias' },\n { name: 'Maranhão', shortname: 'MA', slug: 'maranhao' },\n { name: 'Mato Grosso', shortname: 'MT', slug: 'mato-grosso' },\n { name: 'Mato Grosso do Sul', shortname: 'MS', slug: 'mato-grosso-do-sul' },\n { name: 'Minas Gerais', shortname: 'MG', slug: 'minas-gerais' },\n { name: 'Pará', shortname: 'PA', slug: 'para' },\n { name: 'Paraíba', shortname: 'PB', slug: 'paraiba' },\n { name: 'Paraná', shortname: 'PR', slug: 'parana' },\n { name: 'Pernambuco', shortname: 'PE', slug: 'pernambuco' },\n { name: 'Piauí', shortname: 'PI', slug: 'piaui' },\n { name: 'Rio de Janeiro', shortname: 'RJ', slug: 'rio-de-janeiro' },\n { name: 'Rio Grande do Norte', shortname: 'RN', slug: 'rio-grande-do-norte' },\n { name: 'Rio Grande do Sul', shortname: 'RS', slug: 'rio-grande-do-sul' },\n { name: 'Rondônia', shortname: 'RO', slug: 'rondonia' },\n { name: 'Roraima', shortname: 'RR', slug: 'roraima' },\n { name: 'Santa Catarina', shortname: 'SC', slug: 'santa-catarina' },\n { name: 'São Paulo', shortname: 'SP', slug: 'sao-paulo' },\n { name: 'Sergipe', shortname: 'SE', slug: 'sergipe' },\n { name: 'Tocantins', shortname: 'TO', slug: 'tocantins' }\n]","import { ESTADOS_SIGLA } from './estados';\nimport { BigObject } from './interfaces';\n\nexport function isPresent(obj: any): boolean {\n return obj !== undefined && obj !== null;\n}\n\nexport function isArray(value: any) {\n return (Array.isArray && Array.isArray(value)) || value instanceof Array\n}\n\nexport function isString(value: any) {\n return typeof value === 'string' || value instanceof String\n}\n\nexport function isNumber(value: any) {\n return typeof value === 'number' && !isNaN(value); // && value.length === undefined\n}\n\nexport function isNil(value: any) {\n return typeof value === 'undefined' || value === null\n}\n\n\n\n\nconst strCaretTrap = '[]'\nexport function processCaretTraps(mask: any) {\n const indexes = []\n\n let indexOfCaretTrap: number\n while (indexOfCaretTrap = mask.indexOf(strCaretTrap), indexOfCaretTrap !== -1) { // eslint-disable-line\n indexes.push(indexOfCaretTrap)\n\n mask.splice(indexOfCaretTrap, 1)\n }\n\n return { maskWithoutCaretTraps: mask, indexes }\n}\n\nexport const modulo11 = (value: string) => {\n let mults: any = []\n let weightVal = 2\n for (let i = 0; i < value.length; i++) {\n // mults = [weightVal, ...mults]\n mults.push(weightVal)\n weightVal++\n if (weightVal > 9) weightVal = 2\n }\n\n mults = mults.reverse()\n\n let sum = 0\n for (let i = 0; i < value.length; i++) {\n sum += parseInt(value[i]) * mults[i]\n }\n const digit = (sum *10) % 11\n return digit\n}\n\nexport const modulo11Custom = (string: string, size: number, maxMult = string.length, by10 = true) => {\n if (!by10) size = 1\n for (let n = 1; n <= size; n++) {\n let soma = 0\n let mult = 2\n for (let i = string.length - 1; i >= 0; i--) {\n soma += (mult * parseInt(string.charAt(i)))\n mult++\n if (mult > maxMult) mult = 2\n }\n let dig\n if (by10) {\n dig = ((soma * 10) % 11) % 10;\n } else {\n dig = soma % 11;\n if (dig == 10) dig = 0;\n }\n string += dig;\n }\n return string.substr(string.length - size, size);\n}\n\n\nexport const modulo11a = (string: string, size: number, mod: number) => {\n let soma = 0;\n for (let i = 1; i <= size; i++) {\n // tslint:disable-next-line:radix\n soma = soma + parseInt(string.substring(i - 1, i)) * (mod - i);\n }\n let resto = (soma * 10) % 11;\n\n if ((resto === 10) || (resto === 11)) {\n resto = 0;\n }\n return resto;\n}\n\n/**\n * \n * @param input \n * ^ - Match line start\n (\\d) - match first digit and capture it in back reference #1 i.e. \\1\n (?!..) is a negative lookahead\n (?!\\1+$) means disallow the match if first digit is followed by same digit (captured group) till end.\n \\d{11}$ match next 11 digit followed by line end\n */\nexport function allNumbersAreSame(inputValue: string) {\n const input: string | void = getAllDigits(inputValue);\n if (typeof input === 'string') {\n const reg = new RegExp('^(\\\\d)(?!\\\\1+$)\\\\d{' + ((<string>input).length - 1) + '}$');\n return reg.test(input);\n }\n return false;\n}\n\nexport function getAllDigits(input: string) {\n if (!input.match) {\n input = input.toString();\n }\n const match = input.match(/\\d/g);\n if (match) {\n return match.join(\"\");\n }\n return '';\n}\n\nexport function getAllWords(input: string) {\n const match = input.match(/\\w/g);\n if (match) {\n return match.join(\"\");\n }\n return '';\n}\n\nexport function currencyToNumber(input: string | number) {\n if (typeof input === 'number') {\n return input;\n }\n input = input.replace(/ /g, '');\n if (input.indexOf('$') !== -1) {\n const vals = input.split('$');\n input = vals[1];\n }\n\n // Keeping just numbers . and ,\n input = input.replace(/[^0-9.,]+/, '');\n\n // eua format\n if (input.indexOf('.') === (input.length - 1) - 2) {\n input = input.replace(/\\,/g, '')\n }\n // br format\n else {\n input = input.replace(/\\./g, '').replace(',', '.');\n }\n\n return parseFloat(input);\n}\n\nexport function numberToCurrency(value: number) {\n return ' R$ ' + value.toFixed(2).replace('.', ',') + ' ';\n};\n\nexport function slugify(value: string) {\n\n return value.toString().toLowerCase()\n .replace(/[àÀáÁâÂãäÄÅåª]+/g, 'a') // Special Characters #1\n .replace(/[èÈéÉêÊëË]+/g, 'e') \t// Special Characters #2\n .replace(/[ìÌíÍîÎïÏ]+/g, 'i') \t// Special Characters #3\n .replace(/[òÒóÓôÔõÕöÖº]+/g, 'o') \t// Special Characters #4\n .replace(/[ùÙúÚûÛüÜ]+/g, 'u') \t// Special Characters #5\n .replace(/[ýÝÿŸ]+/g, 'y') \t\t// Special Characters #6\n .replace(/[ñÑ]+/g, 'n') \t\t\t// Special Characters #7\n .replace(/[çÇ]+/g, 'c') \t\t\t// Special Characters #8\n .replace(/[ß]+/g, 'ss') \t\t\t// Special Characters #9\n .replace(/[Ææ]+/g, 'ae') \t\t\t// Special Characters #10\n .replace(/[Øøœ]+/g, 'oe') \t\t// Special Characters #11\n .replace(/[%]+/g, 'pct') \t\t\t// Special Characters #12\n .replace(/\\s+/g, '-') \t\t// Replace spaces with -\n .replace(/[^\\w\\-]+/g, '') \t\t// Remove all non-word chars\n .replace(/\\-\\-+/g, '-') \t\t// Replace multiple - with single -\n .replace(/^-+/, '') \t\t// Trim - from start of text\n .replace(/-+$/, ''); \t\t// Trim - from end of text\n\n};\n/**\n * \n * @param string ex. 12345\n * @param size 11\n * @param fill 0\n * \n * Returns: 00000012345\n */\nexport function fillString(string: string, size: number, fill: string) {\n if (string.length < size) {\n const dif = size - string.length;\n for (let i = 0; i < dif; i++) {\n string = fill + string\n }\n }\n return string;\n}\n\n\nexport function randArray(array: string | any[]) {\n const index = randomNumber(0, array.length);\n return array[index];\n}\n\n\nexport function rand(length: number, ...ranges: any[]) {\n var str = \"\"; // the string (initialized to \"\")\n while (length--) { // repeat this length of times\n var ind = Math.floor(Math.random() * ranges.length); // get a random range from the ranges object\n var min = ranges[ind][0].charCodeAt(0), // get the minimum char code allowed for this range\n max = ranges[ind][1].charCodeAt(0); // get the maximum char code allowed for this range\n var c = Math.floor(Math.random() * (max - min + 1)) + min; // get a random char code between min and max\n str += String.fromCharCode(c); // convert it back into a character and append it to the string str\n }\n return str; // return str\n}\n\nexport function randomNumber(begin: number, end: number) {\n const dif = end - begin;\n const number = Math.floor(Math.random() * dif) + begin;\n return number;\n}\n\n\nexport function randomLetter(size = 1, onlyCapitals = false) {\n var text = \"\";\n let possible: any = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\n if (onlyCapitals == false) {\n possible += \"abcdefghijklmnopqrstuvwxyz\";\n }\n possible = possible.split('');\n for (let i = 0; i < size; i++) {\n const pos = Math.floor(Math.random() * possible.length);\n text += possible[pos];\n }\n return text;\n}\n\n\nexport function randomLetterOrNumber(size = 1, onlyCapitals = false) {\n var text = \"\";\n let possible: any = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\";\n if (onlyCapitals == false) {\n possible += \"abcdefghijklmnopqrstuvwxyz0123456789\";\n }\n possible = possible.split('');\n for (let i = 0; i < size; i++) {\n const pos = Math.floor(Math.random() * possible.length);\n text += possible[pos];\n }\n return text;\n}\n\nexport const randomEstadoSigla = () => {\n const total = ESTADOS_SIGLA.length;\n return ESTADOS_SIGLA[Math.floor(Math.random() * total)];\n}\n\nexport const CORES = [\"AMARELO\", \"AZUL\", \"BEGE\", \"BRANCA\", \"CINZA\", \"DOURADA\", \"GRENA\", \"LARANJA\", \"MARROM\", \"PRATA\",\n \"PRETA\", \"ROSA\", \"ROXA\", \"VERDE\", \"VERMELHA\", \"FANTASIA\"];\n\n\nexport function getSpecialProperty<TModel, TKey extends keyof TModel>(\n model: TModel,\n key: TKey\n) {\n return model[key];\n}\n\n/**\n * \n */\nexport const makeGenericFaker = (val: any, options: BigObject<Function> | null = null) => {\n return () => {\n if (!val.textMask || !val.textMask.map) {\n return '';\n }\n const newData = val.textMask.map((c: string | any[], index: number) => {\n if (options && options[index]) {\n return options[index]();\n }\n c = c.toString();\n if (c === /\\d/.toString()) {\n return Math.floor(Math.random() * 10).toString()\n } else if (c === /[A-Za-z]/.toString()) {\n return randomLetter(1).toString();\n } else if (c === /\\w/.toString()) {\n return randomLetterOrNumber(1).toString();\n } else if (c.indexOf('/[') === 0) { // /[1-9]/ ou /[5-9]/\n c = c.replace('/[', '').replace(']/', '');\n\n if (c.indexOf('-') > 0) {\n c = c.split('-');\n if (parseInt(c[1])) {\n const mult = c[1] - c[0];\n const plus = parseInt(c[0]);\n return (Math.floor(Math.random() * mult) + plus).toString();\n } else {\n return rand(1, [c[0], c[1]]);\n }\n } else if (c.indexOf('|') > 0) {\n c = c.split('|');\n const index = Math.floor(Math.random() * c.length);\n return c[index];\n }\n\n } else {\n return c;\n }\n });\n return newData.join('');\n };\n}\n\nconst utilsBr = {\n isPresent,\n isArray,\n isString,\n isNumber,\n isNil,\n processCaretTraps,\n allNumbersAreSame,\n getAllDigits,\n getAllWords,\n currencyToNumber,\n numberToCurrency,\n slugify,\n fillString,\n randArray,\n rand,\n randomNumber,\n randomLetter,\n randomLetterOrNumber,\n getSpecialProperty\n}\n\nexport default utilsBr;","import { allNumbersAreSame } from './utils';\nimport { BigObject, MaskType } from './interfaces';\n\n/**\n * BASED ON https://github.com/gammasoft/ie/\n */\n\n\nexport const generateInscricaoEstadual: BigObject<Function> = {\n ac: function (valor: any) {\n if (tamanhoNaoE(valor, 13)) {\n return false;\n }\n\n if (naoComecaCom(valor, '01')) {\n return false;\n }\n\n const base = primeiros(valor, 11);\n\n const primeiroDigito = substracaoPor11SeMaiorQue2CasoContrario0(mod(base));\n const segundoDigito = substracaoPor11SeMaiorQue2CasoContrario0(mod(base + primeiroDigito));\n\n return base + primeiroDigito + segundoDigito;\n },\n\n am: function (valor: any) {\n if (tamanhoNaoE(valor)) {\n return false;\n }\n\n return calculoTrivialGenerate(valor);\n },\n\n al: function (valor: any) {\n if (tamanhoNaoE(valor)) {\n return false;\n }\n\n if (naoComecaCom(valor, '24')) {\n return false;\n }\n\n // FORMAÇÃO: 24XNNNNND, sendo:\n // 24 – Código do Estado\n // X – Tipo de empresa (0-Normal, 3-Produtor Rural, 5-Substituta, 7- Micro-Empresa Ambulante, 8-Micro-Empresa)\n // NNNNN – Número da empresa\n // D – Dígito de verificação calculado pelo Módulo11, pêsos 2 à 9 da direita para a esquerda, exceto D\n // Exemplo: Número 2 4 0 0 0 0 0 4 D\n // 2 4 X N N N N N D\n // Fonte: http://www.sintegra.gov.br/Cad_Estados/cad_AL.html\n\n const base: any = primeiros(valor);\n\n // Pesos 9 8 7 6 5 4 3 2\n // SOMA = (2 * 4) + (3 * 0) + (4 * 0) + (5 * 0) + (6 * 0) + (7 * 0) + (8 * 4) + (9 * 2) = 58\n const soma = base.split('').reduce((acc: number, v: string, i: number) => {\n return acc + (9 - i) * Number(v)\n }, 0)\n // PRODUTO = 58 * 10 = 580\n const produto = soma * 10\n // RESTO = 580 – INTEIRO(580 / 11)*11 = 580 – (52*11) = 8\n const resto = produto - Math.floor(produto / 11) * 11\n // DÍGITO = 8 - Caso RESTO seja igual a 10 o DÍGITO será 0 (zero)\n const digito = resto === 10 ? 0 : resto\n return base + digito;\n },\n\n ap: function (valor: any) {\n if (tamanhoNaoE(valor)) {\n return false;\n }\n\n if (naoComecaCom(valor, '03')) {\n return false;\n }\n\n const base: any = primeiros(valor);\n\n let p: number, d: number;\n\n if (entre(base, 3000001, 3017000)) {\n p = 5;\n d = 0;\n } else if (entre(base, 3017001, 3019022)) {\n p = 9;\n d = 1;\n } else {\n p = 0;\n d = 0;\n }\n\n const resto = mod(p + base, [2, 3, 4, 5, 6, 7, 8, 9, 1]);\n\n let digito: number;\n if (resto === 1) {\n digito = 0;\n } else if (resto === 0) {\n digito = d;\n } else {\n digito = 11 - resto;\n }\n\n return base + digito;\n },\n\n ba: function (valor: any) {\n if (tamanhoNaoE(valor, 8) && tamanhoNaoE(valor)) {\n return false;\n }\n\n const base: any = primeiros(valor, valor.length - 2);\n let primeiroDigito: number, segundoDigito: number;\n\n const segundoMultiplicador = serie(2, 7);\n const primeiroMultiplicador = serie(2, 8);\n\n let primeiroResto: number, segundoResto: number;\n let digitoComparacao = valor.substring(0, 1);\n\n if (tamanhoE(valor, 9)) {\n segundoMultiplicador.push(8);\n primeiroMultiplicador.push(9);\n digitoComparacao = valor.substring(1, 2);\n }\n\n if ('0123458'.split('').indexOf(digitoComparacao) !== -1) {\n segundoResto = mod(base, segundoMultiplicador, 10);\n segundoDigito = segundoResto === 0 ? 0 : 10 - segundoResto;\n\n primeiroResto = mod(base + segundoDigito, primeiroMultiplicador, 10);\n primeiroDigito = primeiroResto === 0 ? 0 : 10 - primeiroResto;\n } else {\n segundoResto = mod(base, segundoMultiplicador);\n segundoDigito = substracaoPor11SeMaiorQue2CasoContrario0(segundoResto);\n\n primeiroResto = mod(base + segundoDigito, primeiroMultiplicador);\n primeiroDigito = substracaoPor11SeMaiorQue2CasoContrario0(primeiroResto);\n }\n\n return base + primeiroDigito + segundoDigito;\n },\n\n ce: function (valor: any) {\n if (tamanhoNaoE(valor)) {\n return false;\n }\n return calculoTrivialGenerate(valor);\n },\n\n df: function (valor: any) {\n if (tamanhoNaoE(valor, 13)) {\n return false;\n }\n\n if (naoComecaCom(valor, '07') && naoComecaCom(valor, '08')) {\n return false;\n }\n const base: any = primeiros(valor, 11);\n\n const primeiro = substracaoPor11SeMaiorQue2CasoContrario0(mod(base));\n const segundo = substracaoPor11SeMaiorQue2CasoContrario0(mod(base + primeiro));\n return base + primeiro + segundo;\n },\n\n es: function (valor: any) {\n return calculoTrivialGenerate(valor);\n },\n go: function (valor: any) {\n if (tamanhoNaoE(valor)) {\n return false;\n }\n\n // Verifica os digitos iniciais do estado\n // Fonte: https://appasp.economia.go.gov.br/Legislacao/arquivos/Secretario/IN/IN_1535_2022.htm\n\n if (['10', '11', '15', '20'].indexOf(valor.substring(0, 2)) === -1) {\n return false;\n }\n\n const base: any = primeiros(valor);\n\n if (base === '11094402') {\n return valor.substr(8) === '1' || valor.substr(8) === '0';\n }\n\n const resto = mod(base);\n let digito: number;\n\n if (resto === 0) {\n digito = 0;\n } else if (resto === 1) {\n if (entre(base, 10103105, 10119997)) {\n digito = 1;\n } else {\n digito = 0;\n }\n } else {\n digito = 11 - resto;\n }\n\n return base + digito;\n },\n ma: function (valor: any) {\n if (tamanhoNaoE(valor)) {\n return false;\n }\n\n if (naoComecaCom(valor, '12')) {\n return false;\n }\n\n return calculoTrivialGenerate(valor);\n },\n\n mg: function (valor: any) {\n if (tamanhoNaoE(valor, 13)) {\n return false;\n }\n\n const base = primeiros(valor, 11);\n\n const baseComZero = valor.substring(0, 3) + '0' + valor.substring(3, 11);\n\n let i = 0;\n const produtorioLiteral = baseComZero.split('').reduceRight(function (anterior, atual) {\n if (i > [2, 1].length - 1) {\n i = 0;\n }\n\n return ([2, 1][i++] * parseInt(atual, 10)).toString() + anterior.toString();\n }, '').split('').reduce(function (anterior, atual) {\n return anterior + parseInt(atual, 10);\n }, 0);\n\n let primeiro: any = ((Math.floor(produtorioLiteral / 10) + 1) * 10) - produtorioLiteral;\n if (primeiro === 10) {\n primeiro = 0;\n }\n\n const segundo = substracaoPor11SeMaiorQue2CasoContrario0(mod(base + primeiro, serie(2, 11)));\n\n return base + primeiro + segundo;\n },\n\n ms: function (valor: any) {\n if (naoComecaCom(valor, '28')) {\n return false;\n }\n\n return calculoTrivialGenerate(valor);\n },\n mt: function (valor: any) {\n if (tamanhoNaoE(valor, 11) && tamanhoNaoE(valor)) {\n return false;\n }\n\n const base = tamanhoE(valor, 11) ? valor.substring(0, 10) : primeiros(valor);\n return calculoTrivialGenerate(valor, base, true);\n },\n pa: function (valor: any) {\n if (tamanhoNaoE(valor)) {\n return false;\n }\n\n if (naoComecaCom(valor, '15') && naoComecaCom(valor, '75')) {\n return false;\n }\n\n return calculoTrivialGenerate(valor);\n },\n\n pb: function (valor: any) {\n if (tamanhoNaoE(valor)) {\n return false;\n }\n\n return calculoTrivialGenerate(valor);\n },\n\n pe: function (valor: any) {\n const base: any = valor.substring(0, valor.length - 2);\n\n const restoPrimeiro = mod(base);\n const primeiro = 11 - restoPrimeiro >= 10 ? 0 : 11 - restoPrimeiro;\n\n const restoSegundo = mod(base + primeiro);\n const segundo = 11 - restoSegundo >= 10 ? 0 : 11 - restoSegundo;\n\n return base + primeiro + segundo;\n },\n\n pi: function (valor: any) {\n return calculoTrivialGenerate(valor);\n },\n\n pr: function (valor: any) {\n if (tamanhoNaoE(valor, 10)) {\n return false;\n }\n\n const base = primeiros(valor);\n\n const restoPrimeiro = mod(base, serie(2, 7));\n const primeiro = 11 - restoPrimeiro >= 10 ? 0 : 11 - restoPrimeiro;\n\n const restoSegundo = mod(base + primeiro, serie(2, 7));\n const segundo = 11 - restoSegundo >= 10 ? 0 : 11 - restoSegundo;\n\n return base + primeiro + segundo;\n },\n rj: function (valor: any) {\n if (tamanhoNaoE(valor, 8)) {\n return false;\n }\n\n const base = primeiros(valor, 7);\n const digito = substracaoPor11SeMaiorQue2CasoContrario0(mod(base, serie(2, 7)));\n\n return base + digito;\n },\n\n rn: function (valor: any) {\n if (tamanhoNaoE(valor) && tamanhoNaoE(valor, 10)) {\n return false;\n }\n\n if (naoComecaCom(valor, '20')) {\n return false;\n }\n\n const base = valor.substring(0, valor.length - 1);\n\n const multiplicadores = serie(2, 9);\n if (tamanhoE(valor, 10)) {\n multiplicadores.push(10);\n }\n\n const resto = (mod(base, multiplicadores) * 10) % 11;\n const digito = resto === 10 ? 0 : resto;\n\n return base + digito;\n },\n ro: function (valor: any) {\n let base: any, digito: number, resultadoMod: number;\n\n if (tamanhoE(valor, 9)) {\n base = valor.substring(3, 8);\n digito = substracaoPor11SeMaiorQue2CasoContrario0(mod(base));\n\n return valor === valor.substring(0, 3) + base + digito;\n } else if (tamanhoE(valor, 14)) {\n base = primeiros(valor, 13);\n resultadoMod = mod(base);\n digito = resultadoMod <= 1 ? 1 : 11 - resultadoMod;\n\n return base + digito;\n } else {\n return false;\n }\n },\n rr: function (valor: any) {\n if (tamanhoNaoE(valor)) {\n return false;\n }\n\n if (naoComecaCom(valor, '24')) {\n return false;\n }\n\n const base = primeiros(valor);\n const digito = mod(base, [8, 7, 6, 5, 4, 3, 2, 1], 9);\n\n return base + digito;\n },\n\n rs: function (valor: any) {\n if (tamanhoNaoE(valor, 10)) {\n return false;\n }\n\n const base = primeiros(valor, 9);\n return calculoTrivialGenerate(valor, base, true);\n },\n\n sc: function (valor: any) {\n return calculoTrivialGenerate(valor);\n },\n\n se: function (valor: any) {\n if (tamanhoNaoE(valor)) {\n return false;\n }\n\n return calculoTrivialGenerate(valor);\n },\n\n sp: function (valor: any) {\n valor = valor.toUpperCase();\n\n let segundaBase: string;\n\n if (valor.substr(0, 1) === 'P') {\n if (tamanhoNaoE(valor, 13)) {\n return false;\n }\n\n const base = valor.substring(1, 9);\n segundaBase = valor.substring(10, 13);\n const resto = mod(base, [10, 8, 7, 6, 5, 4, 3, 1]).toString();\n const digito = resto.length > 1 ? resto[1] : resto[0];\n\n return 'P' + base + digito + segundaBase;\n } else {\n if (tamanhoNaoE(valor, 12)) {\n return false;\n }\n\n const primeiraBase = primeiros(valor);\n segundaBase = valor.substring(9, 11);\n\n const primeiroResto = mod(primeiraBase, [10, 8, 7, 6, 5, 4, 3, 1]).toString();\n const primeiro = primeiroResto.length > 1 ? primeiroResto[1] : primeiroResto[0];\n\n const segundoResto = mod(primeiraBase + primeiro + segundaBase, serie(2, 10)).toString();\n const segundo = segundoResto.length > 1 ? segundoResto[1] : segundoResto[0];\n\n return primeiraBase + primeiro + segundaBase + segundo;\n }\n },\n\n to: function (valor: any) {\n if (tamanhoNaoE(valor) && tamanhoNaoE(valor, 11)) {\n return false;\n }\n\n let base: any;\n\n if (tamanhoE(valor, 11)) {\n if (['01', '02', '03', '99'].indexOf(valor.substring(2, 4)) === -1) {\n return false;\n }\n\n base = valor.substring(0, 2) + valor.substring(4, 10);\n } else {\n base = primeiros(valor);\n }\n\n const digito = substracaoPor11SeMaiorQue2CasoContrario0(mod(base));\n\n return valor.substring(0, valor.length - 1) + digito;\n },\n};\n\n\n\n\nconst funcoes: BigObject<Function> = {\n ac: function (valor: any) {\n return valor === generateInscricaoEstadual['ac'](valor);\n },\n\n am: function (valor: any) {\n return valor === generateInscricaoEstadual['am'](valor);\n },\n\n al: function (valor: any) {\n return valor === generateInscricaoEstadual['al'](valor);\n },\n\n ap: function (valor: any) {\n return valor === generateInscricaoEstadual['ap'](valor);\n },\n\n ba: function (valor: any) {\n return valor === generateInscricaoEstadual['ba'](valor);\n },\n\n ce: function (valor: any) {\n return valor === generateInscricaoEstadual['ce'](valor);\n },\n\n df: function (valor: any) {\n return valor === generateInscricaoEstadual['df'](valor);\n },\n\n es: function (valor: any) {\n return valor === generateInscricaoEstadual['es'](valor);\n },\n go: function (valor: any) {\n return valor === generateInscricaoEstadual['go'](valor);\n },\n ma: function (valor: any) {\n return valor === generateInscricaoEstadual['ma'](valor);\n },\n\n mg: function (valor: any) {\n return valor === generateInscricaoEstadual['mg'](valor);\n },\n\n ms: function (valor: any) {\n return valor === generateInscricaoEstadual['ms'](valor);\n },\n mt: function (valor: any) {\n return valor === generateInscricaoEstadual['mt'](valor);\n },\n pa: function (valor: any) {\n return valor === generateInscricaoEstadual['pa'](valor);\n },\n\n pb: function (valor: any) {\n return valor === generateInscricaoEstadual['pb'](valor);\n },\n\n pe: function (valor: any) {\n return valor === generateInscricaoEstadual['pe'](valor);\n },\n\n pi: function (valor: any) {\n return valor === generateInscricaoEstadual['pi'](valor);\n },\n\n pr: function (valor: any) {\n return valor === generateInscricaoEstadual['pr'](valor);\n },\n rj: function (valor: any) {\n return valor === generateInscricaoEstadual['rj'](valor);\n },\n\n rn: function (valor: any) {\n return valor === generateInscricaoEstadual['rn'](valor);\n },\n ro: function (valor: any) {\n return valor === generateInscricaoEstadual['ro'](valor);\n },\n rr: function (valor: any) {\n return valor === generateInscricaoEstadual['rr'](valor);\n },\n\n rs: function (valor: any) {\n return valor === generateInscricaoEstadual['rs'](valor);\n },\n\n sc: function (valor: any) {\n return valor === generateInscricaoEstadual['sc'](valor);\n },\n\n se: function (valor: any) {\n return valor === generateInscricaoEstadual['se'](valor);\n },\n\n sp: function (valor: string | boolean) {\n return valor === generateInscricaoEstadual['sp'](valor);\n },\n\n to: function (valor: any) {\n return valor === generateInscricaoEstadual['to'](valor);\n },\n};\n\n\n\n\nexport function validate_inscricaoestadual(ie: string | Array<string>, estado: any) {\n if (eIndefinido(estado) || estado === null) {\n estado = '';\n }\n\n estado = estado.toLowerCase();\n\n if (estado !== '' && !(estado in funcoes)) {\n return new Error('estado não é válido');\n }\n\n if (eIndefinido(ie)) {\n return new Error('ie deve ser fornecida');\n }\n\n if (Array.isArray(ie)) {\n let retorno = true;\n ie.forEach(function (i) {\n if (!validate_inscricaoestadual(i, estado)) {\n retorno = false;\n }\n });\n return retorno;\n }\n\n if (typeof ie !== 'string') {\n return new Error('ie deve ser string ou array de strings');\n }\n\n if (!allNumbersAreSame(ie)) {\n return new Error('ie com todos dígitos iguais');\n }\n\n if (ie.match(/^ISENTO$/i)) {\n return true;\n }\n\n ie = ie.replace(/[\\.|\\-|\\/|\\s]/g, '');\n\n if (estado === '') {\n if (lookup(ie)) {\n return true;\n } else {\n return false;\n }\n }\n\n if (/^\\d+$/.test(ie) || estado === 'sp' || funcoes[estado]) {\n return funcoes[estado](ie);\n }\n\n\n return false;\n}\n\nexport const MASKSIE: BigObject<MaskType> = {\n ac: {\n text: '01.004.823/001-12',\n textMask: [/\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/]\n },\n al: {\n text: '240000048',\n textMask: [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/]\n },\n am: {\n text: '04.145.871-0',\n textMask: [/\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '-', /\\d/]\n },\n ap: {\n text: '240000048',\n textMask: [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/]\n },\n ba: {\n text: '1234567-48',\n textMask: [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/],\n textMaskFunction: function mask(userInput: any) {\n const numberLength = getSizeNumbers(userInput);\n if (!userInput || numberLength > 8) {\n return [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/];\n } else {\n return [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/];\n }\n }\n },\n ce: {\n text: '06.000001-5',\n textMask: [/\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/]\n },\n df: {\n text: '06 000001 123-55',\n textMask: [/\\d/, /\\d/, ' ', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/]\n },\n es: {\n text: '082.560.67-6',\n textMask: [/\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, '-', /\\d/]\n },\n go: {\n text: '06.000.001-5',\n textMask: [/\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '-', /\\d/]\n },\n ma: {\n text: '12.104.376-2',\n textMask: [/\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/]\n },\n mg: {\n text: '001.819.263/0048',\n textMask: [/\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/]\n },\n ms: {\n text: '001819263',\n textMask: [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/]\n },\n mt: {\n text: '0018192630-1',\n textMask: [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/]\n },\n pa: {\n text: '06-000001-5',\n textMask: [/\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/]\n },\n pb: {\n text: '06000001-5',\n textMask: [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/]\n },\n pe: {\n text: '0192310-24',\n textMask: [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/]\n },\n pi: {\n text: '19.301.656-7',\n textMask: [/\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '-', /\\d/]\n },\n pr: {\n text: '19301656-78',\n textMask: [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/]\n },\n rj: {\n text: '20.040.04-1',\n textMask: [/\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, '-', /\\d/]\n },\n rn: {\n text: '20.040.040-1',\n textMask: [/\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '-', /\\d/],\n textMaskFunction: function mask(userInput: any) {\n const numberLength = getSizeNumbers(userInput);\n\n if (!userInput || numberLength > 9) {\n return [/\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/];\n } else {\n return [/\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '-', /\\d/];\n }\n }\n },\n ro: {\n text: '101.62521-3',\n textMask: [/\\d/, /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/]\n },\n rr: {\n text: '24006628-1',\n textMask: [/\\d/, /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/]\n },\n rs: {\n text: '024/0440013',\n textMask: [/\\d/, /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/]\n },\n sc: {\n text: '271.234.563',\n textMask: [/\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/]\n },\n se: {\n text: '27123456-3',\n textMask: [/\\d/, /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/]\n },\n sp: {\n text: '114.814.878.119',\n textMask: [/\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/]\n },\n to: {\n text: '11 81 4878119',\n textMask: [/\\d/, /\\d/, ' ', /\\d/, /\\d/, ' ', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/]\n },\n};\n\nfunction getSizeNumbers(userInput: string) {\n const numbers: any = userInput.match(/\\d/g);\n let numberLength = 0;\n if (numbers) {\n numberLength = numbers.join('').length;\n }\n return numberLength\n}\n\nfunction eIndefinido(objeto: any) {\n return typeof objeto === typeof undefined;\n}\n\nfunction tamanhoNaoE(string: { length: number; }, tamanho = 9) {\n if (eIndefinido(tamanho)) {\n tamanho = 9;\n }\n\n return string.length !== tamanho;\n}\n\nfunction tamanhoE(string: any[], tamanho: number) {\n return !tamanhoNaoE(string, tamanho);\n}\n\nfunction serie(de: number, ate: number) {\n const resultado = [];\n\n while (de <= ate) {\n resultado.push(de++);\n }\n\n return resultado;\n}\n\nfunction primeiros(string: any, quantidade = 8) {\n if (eIndefinido(quantidade)) {\n quantidade = 8;\n }\n\n return string.substring(0, quantidade);\n}\n\nfunction substracaoPor11SeMaiorQue2CasoContrario0(valor: number) {\n return valor < 2 ? 0 : 11 - valor;\n}\n\nfunction mod(valor: string, multiplicadores = serie(2, 9), divisor = 11) {\n if (eIndefinido(divisor)) {\n divisor = 11;\n }\n\n if (eIndefinido(multiplicadores)) {\n multiplicadores = serie(2, 9);\n }\n\n let i = 0;\n\n return valor.split('').reduceRight(function (anterior: number, atual: string) {\n if (i > multiplicadores.length - 1) {\n i = 0;\n }\n\n return (multiplicadores[i++] * parseInt(atual, 10)) + anterior;\n }, 0) % divisor;\n}\n\nfunction calculoTrivialGenerate(valor: any, base: any = null, validarTamanho = false) {\n if (!validarTamanho && tamanhoNaoE(valor)) {\n return false;\n }\n if (eIndefinido(base)) {\n base = primeiros(valor);\n }\n if (!base) {\n base = primeiros(valor);\n }\n\n const digito = substracaoPor11SeMaiorQue2CasoContrario0(mod(base));\n\n return base + digito;\n}\n\nfunction naoComecaCom(string: any, valor: string) {\n return string.substring(0, valor.length) !== valor;\n}\n\nfunction entre(valor: string | number, limiteInferior: number, limiteSuperior: number) {\n if (typeof valor === 'string') {\n valor = parseInt(valor, 10);\n }\n\n return valor >= limiteInferior && valor <= limiteSuperior;\n}\n\n\nfunction lookup(ie: any) {\n const resultado = [];\n\n for (const estado in funcoes) {\n if (funcoes[estado](ie)) {\n resultado.push(estado);\n }\n }\n\n if (tamanhoE(resultado, 0)) {\n return false;\n } else {\n return resultado;\n }\n}\n\n","\n\nexport const PLACAS_RANGE = [\n ['AAA0001', 'BEZ9999', 'PR', '02/1990'],\n ['BFA0001', 'GKI9999', 'SP', '10/1991'],\n ['GKJ0001', 'HOK9999', 'MG', '09/1991'],\n ['HOL0001', 'HQE9999', 'MA', '01/1992'],\n ['HQF0001', 'HTW9999', 'MS', '03/1992'],\n ['HTX0001', 'HZA9999', 'CE', '10/1992'],\n ['HZB0001', 'IAP9999', 'SE', '09/1993'],\n ['IAQ0001', 'JDO9999', 'RS', '03/1992'],\n ['JDP0001', 'JKR9999', 'DF', '04/1994'],\n ['JKS0001', 'JSZ9999', 'BA', '08/1993'],\n ['JTA0001', 'JWE9999', 'PA', '07/1993'],\n ['JWF0001', 'JXY9999', 'AM', '09/1993'],\n ['JXZ0001', 'KAU9999', 'MT', '09/1993'],\n ['KAV0001', 'KFC9999', 'GO', '05/1994'],\n ['KFD0001', 'KME9999', 'PE', '08/1994'],\n ['KMF0001', 'LVE9999', 'RJ', '05/1994'],\n ['LVF0001', 'LWQ9999', 'PI', '04/1996'],\n ['LWR0001', 'MMM9999', 'SC', '06/1996'],\n ['MMN0001', 'MOW9999', 'PB', '07/1996'],\n ['MOX0001', 'MTZ9999', 'ES', '12/1995'],\n ['MUA0001', 'MVK9999', 'AL', '08/1996'],\n ['MVL0001', 'MXG9999', 'TO', '11/1996'],\n ['MXH0001', 'MZM9999', 'RN', '06/1998'],\n ['MZN0001', 'NAG9999', 'AC', '06/1998'],\n ['NAH0001', 'NBA9999', 'RR', '07/1998'],\n ['NBB0001', 'NEH9999', 'RO', '07/1998'],\n ['NEI0001', 'NFB9999', 'AP', '09/1998'],\n ['NFC0001', 'NGZ9999', 'GO', '08/2003'],\n ['NHA0001', 'NHT9999', 'MA', '12/2006'],\n ['NHU0001', 'NIX9999', 'PI', '05/2007'],\n ['NIY0001', 'NJW9999', 'MT', '10/2007'],\n ['NJX0001', 'NLU9999', 'GO', '11/2007'],\n ['NLV0001', 'NMO9999', 'AL', '01/2008'],\n ['NMP0001', 'NNI9999', 'MA', '05/2008'],\n ['NNJ0001', 'NOH9999', 'RN', '07/2008'],\n ['NOI0001', 'NPB9999', 'AM', '07/2008'],\n ['NPC0001', 'NPQ9999', 'MT', '09/2008'],\n ['NPR0001', 'NQK9999', 'PB', '11/2008'],\n ['NQL0001', 'NRE9999', 'CE', '12/2008'],\n ['NRF0001', 'NSD9999', 'MS', '11/2009'],\n ['NSE0001', 'NTC9999', 'PA', '11/2009'],\n ['NTD0001', 'NTW9999', 'BA', '02/2010'],\n ['NTX0001', 'NUG9999', 'MT', '03/2010'],\n ['NUH0001', 'NUL9999', 'RR', '06/2010'],\n ['NUM0001', 'NVF9999', 'CE', '06/2010'],\n ['NVG0001', 'NVN9999', 'SE', '03/2010'],\n ['NVO0001', 'NWR9999', 'GO', '03/2010'],\n ['NWS0001', 'NXQ9999', 'MA', '07/2010'],\n ['NXR0001', 'NXT9999', 'AC', '05/2011'],\n ['NXU0001', 'NXW9999', 'PE', '07/2010'],\n ['NXX0001', 'NYG9999', 'MG', '10/2011'],\n ['NYH0001', 'NZZ9999', 'BA', '10/2010'],\n ['OAA0001', 'OAO9999', 'AM', '12/2010'],\n ['OAP0001', 'OBS9999', 'MT', '05/2011'],\n ['OBT0001', 'OCA9999', 'PA', '07/2011'],\n ['OCB0001', 'OCU9999', 'CE', '02/2011'],\n ['OCV0001', 'ODT9999', 'ES', '05/2011'],\n ['ODU0001', 'OEI9999', 'PI', '09/2011'],\n ['OEJ0001', 'OES9999', 'SE', '08/2011'],\n ['OET0001', 'OFH9999', 'PB', '04/2011'],\n ['OFI0001', 'OFW9999', 'PA', '03/2011'],\n ['OFX0001', 'OGG9999', 'PB', '06/2011'],\n ['OGH0001', 'OHA9999', 'GO', '04/2011'],\n ['OHB0001', 'OHK9999', 'AL', '09/2011'],\n ['OHL0001', 'OHW9999', 'RO', '11/2011'],\n ['OHX0001', 'OIQ9999', 'CE', '12/2011'],\n ['OIR0001', 'OJQ9999', 'MA', '01/2012'],\n ['OJR0001', 'OKC9999', 'RN', '04/2012'],\n ['OKD0001', 'OKH9999', 'SC', '02/2014'],\n ['OKI0001', 'OLG9999', 'BA', '10/2011'],\n ['OLH0001', 'OLN9999', 'TO', '02/2012'],\n ['OLO0001', 'OMH9999', 'MG', '03/2012'],\n ['OMI0001', 'OOF9999', 'GO', '04/2012'],\n ['OOG0001', 'OOU9999', 'MS', '02/2012'],\n ['OOV0001', 'ORC9999', 'MG', '06/2012'],\n ['ORD0001', 'ORM9999', 'AL', '01/2012'],\n ['ORN0001', 'OSV9999', 'CE', '07/2012'],\n ['OSW0001', 'OTZ9999', 'PA', '08/2012'],\n ['OUA0001', 'OUE9999', 'PI', '11/2012'],\n ['OUF0001', 'OVD9999', 'BA', '12/2012'],\n ['OVE0001', 'OVF9999', 'ES', '12/2012'],\n ['OVG0001', 'OVG9999', 'AC', '05/2013'],\n ['OVH0001', 'OVL9999', 'ES', '07/2013'],\n ['OVM0001', 'OVV9999', 'DF', '11/2013'],\n ['OVW0001', 'OVY9999', 'PI', '10/2013'],\n ['OVZ0001', 'OWG9999', 'RN', '06/2013'],\n ['OWH0001', 'OXK9999', 'MG', '10/2013'],\n ['OXL0001', 'OXL9999', 'RO', '11/2013'],\n ['OXM0001', 'OXM9999', 'AM', '11/2013'],\n ['OXN0001', 'OXN9999', 'AL', '11/2013'],\n ['OXO0001', 'OXO9999', 'PB', '11/2013'],\n ['OXP0001', 'OXP9999', 'AC', '12/2013'],\n ['OXQ0001', 'OXZ9999', 'MA', '04/2014'],\n ['OYA0001', 'OYC9999', 'TO', '11/2013'],\n ['OYD0001', 'OYK9999', 'ES', '12/2013'],\n ['OYL0001', 'OYZ9999', 'PE', '02/2014'],\n ['OZA0001', 'OZA9999', 'CE', '01/2014'],\n ['OZB0001', 'OZB9999', 'SE', '01/2014'],\n ['OZC0001', 'OZV9999', 'BA', '03/2014'],\n ['OZW0001', 'PBZ9999', 'DF', '05/2014'],\n ['PCA0001', 'PED9999', 'PE', '12/2014'],\n ['PEE0001', 'PFQ9999', 'PE', '09/2010'],\n ['PFR0001', 'PGK9999', 'PE', '07/2012'],\n ['PGL0001', 'PGU9999', 'PE', '10/2013'],\n ['PGV0001', 'PGZ9999', 'PE', '12/2014'],\n ['PHA0001', 'PHZ9999', 'AM', '06/2014'],\n ['PIA0001', 'PIZ9999', 'PI', '06/2014'],\n ['PJA0001', 'PLZ9999', 'BA', '10/2014'],\n ['PMA0001', 'POZ9999', 'CE', '06/2014'],\n ['PPA0001', 'PPZ9999', 'ES', '08/2014'],\n ['PQA0001', 'PRZ9999', 'GO', '03/2015'],\n ['PSA0001', 'PTZ9999', 'MA', '12/2014'],\n ['PUA0001', 'PZZ9999', 'MG', '05/2014'],\n ['QAA0001', 'QAZ9999', 'MS', '12/2014'],\n ['QBA0001', 'QCZ9999', 'MT', '05/2014'],\n ['QDA0001', 'QEZ9999', 'PA', '10/2014'],\n ['QFA0001', 'QFZ9999', 'PB', '05/2014'],\n ['QGA0001', 'QGZ9999', 'RN', '09/2014'],\n ['QHA0001', 'QJZ9999', 'SC', '05/2014'],\n ['QKA0001', 'QKM9999', 'TO', '11/2014'],\n ['QKN0001', 'QKZ9999', 'SE', '06/2014'],\n ['QLA0001', 'QLM9999', 'AL', '09/2015'],\n ['QLN0001', 'QLT9999', 'AP', '01/2015'],\n ['QLU0001', 'QLZ9999', 'AC', '08/2014'],\n ['QMA0001', 'QMP9999', 'SE', '03/2017'],\n ['QMQ0001', 'QQZ9999', 'MG', '07/2017'],\n ['QRA0001', 'QRA9999', 'RO', '11/2017'],\n ['QRB0001', 'QRZ9999', 'ES', '05/2018'],\n ['QSA0001', 'QSZ9999', 'PB', '04/2018'],\n ['QTA0001', 'QTB9999', 'RO', '08/2018'],\n ['QTC0001', 'RIN9999', 'BR', '00/0000'],\n ['RIO0001', 'RIO9999', 'RJ', '09/2018'],\n ['RLA0001', 'SAU9999', 'BR', '00/0000'],\n ['SAV0001', 'SAV9999', 'SP', '09/2009'],\n];\n\nexport const PLACAS_INVALID = { start: 'SAW0001', end: 'ZZZ9999' } // || Sequências ainda não definidas\n\nexport function validate_placa(placa: string | number, incluiMercosul?: boolean) {\n const placaClean = placa.toString()\n .replace(/-/g, '')\n .replace(/ /g, '')\n .toUpperCase();\n const regex = {\n legadoBR: /^[A-Z]{3}[0-9]{4}$/,\n mercosulBR: /^[A-Z]{3}[0-9]{1}[A-Z]{1}[0-9]{2}$/,\n mercosulAR: /^[A-Z]{2}[0-9]{3}[A-Z]{2}$|^[A-Z]{1}[0-9]{3}[A-Z]{3}$/,\n mercosulBO: /^[A-Z]{2}[0-9]{5}$/,\n mercosulPY: /^[A-Z]{4}[0-9]{3}$|^[0-9]{3}[A-Z]{4}$/,\n mercosulUY: /^[A-Z]{3}[0-9]{4}$/,\n }\n const isLegadoBRInvalid =\n placaClean >= PLACAS_INVALID.start && placaClean <= PLACAS_INVALID.end;\n if ((regex.legadoBR.test(placaClean) && !isLegadoBRInvalid)\n || (regex.mercosulBR.test(placaClean))\n || (incluiMercosul && (\n (regex.mercosulAR.test(placaClean))\n || (regex.mercosulBO.test(placaClean))\n || (regex.mercosulPY.test(placaClean))\n || (regex.mercosulUY.test(placaClean))\n ))) {\n return true;\n }\n return false;\n}\n","import { ESTADOS_SIGLA } from './estados';\nimport { getAllDigits, fillString, modulo11Custom } from './utils';\n\n/**\n * \n * @param uf - UF do número da guia. Ex: 35(SP), 81(PE)\n * @param ano - ANO do número da guia. Ex: 2018, 2019\n * @param tipo - TIPO da guia. Aih = 1, APAC = 2\n */\nexport function create_aih(value: string | number | any[]) {\n value = getAllDigits(value.toString());\n if (value.length > 12) {\n value = value.toString().substr(0, value.length - 1);\n }\n const cod = parseInt(value);\n const calc = Math.ceil(cod - (cod / 11));\n const digito = calc.toString().substr(-1);\n return digito;\n}\n\nexport function create_certidao(value: string) {\n\n if (value.length > 30) {\n value = value.substring(0, value.length - 2);\n }\n let b1 = parseInt(value.slice(29));\n let b2 = parseInt(value.slice(28, 29));\n let b3 = parseInt(value.slice(27, 28));\n let b4 = parseInt(value.slice(26, 27));\n let b5 = parseInt(value.slice(25, 26));\n let b6 = parseInt(value.slice(24, 25));\n let b7 = parseInt(value.slice(23, 24));\n let b8 = parseInt(value.slice(22, 23));\n let b9 = parseInt(value.slice(21, 22));\n let b10 = parseInt(value.slice(20, 21));\n let b11 = parseInt(value.slice(19, 20));\n let b12 = parseInt(value.slice(18, 19));\n let b13 = parseInt(value.slice(17, 18));\n let b14 = parseInt(value.slice(16, 17));\n let b15 = parseInt(value.slice(15, 16));\n let b16 = parseInt(value.slice(14, 15));\n let b17 = parseInt(value.slice(13, 14));\n let b18 = parseInt(value.slice(12, 13));\n let b19 = parseInt(value.slice(11, 12));\n let b20 = parseInt(value.slice(10, 11));\n let b21 = parseInt(value.slice(9, 10));\n let b22 = parseInt(value.slice(8, 9));\n let b23 = parseInt(value.slice(7, 8));\n let b24 = parseInt(value.slice(6, 7));\n let b25 = parseInt(value.slice(5, 6));\n let b26 = parseInt(value.slice(4, 5));\n let b27 = parseInt(value.slice(3, 4));\n let b28 = parseInt(value.slice(2, 3));\n let b29 = parseInt(value.slice(1, 2));\n let b30 = parseInt(value.slice(0, 1));\n\n let certPriDig = (b1 * 9 + b2 * 8 + b3 * 7 + b4 * 6 + b5 * 5 + b6 * 4 + b7 * 3 + b8 * 2 + b9 * 1 + b10 * 0 + b11 * 10 + b12 * 9 + b13 * 8 + b14 * 7 + b15 * 6 + b16 * 5 + b17 * 4 + b18 * 3 + b19 * 2 + b20 * 1 + b21 * 0 + b22 * 10 + b23 * 9 + b24 * 8 + b25 * 7 + b26 * 6 + b27 * 5 + b28 * 4 + b29 * 3 + b30 * 2) % 11;\n if (certPriDig == 10) { certPriDig = 1; }\n let certSegDig = (certPriDig * 9 + b1 * 8 + b2 * 7 + b3 * 6 + b4 * 5 + b5 * 4 + b6 * 3 + b7 * 2 + b8 * 1 + b9 * 0 + b10 * 10 + b11 * 9 + b12 * 8 + b13 * 7 + b14 * 6 + b15 * 5 + b16 * 4 + b17 * 3 + b18 * 2 + b19 * 1 + b20 * 0 + b21 * 10 + b22 * 9 + b23 * 8 + b24 * 7 + b25 * 6 + b26 * 5 + b27 * 4 + b28 * 3 + b29 * 2 + b30 * 1) % 11;\n if (certSegDig == 10) { certSegDig = 1; }\n let certDV: any = certPriDig * 10 + certSegDig;\n if (certDV == 0) { certDV = \"00\"; }\n if (certDV > 0 && certDV < 10) { certDV = \"0\" + certDV; }\n\n return certDV.toString();\n}\n\nexport function create_cnhespelho(value: string) {\n let v1 = modulo11Custom(value.substr(0, value.length - 1), 1, 8, false);\n return v1\n}\n\nexport function create_renachestadual(value: string) {\n\n const state = value.substr(0, 2).toLowerCase()\n if (!ESTADOS_SIGLA.includes(state)) {\n return false\n }\n\n let digits = value.substr(2)\n digits = digits.replace(/[^\\d]/g, '');\n if (digits.length !== 9) {\n return false;\n }\n\n let v1 = modulo11Custom(digits.substr(0, digits.length - 1), 1, 11);\n return '' + v1\n}\n\n/**\n * \n * @param value \n * @returns \n */\nexport function create_renachseguranca(value: string) {\n value = value.replace(/[^\\d]+/g, '');\n if (value.length !== 11) {\n return false;\n }\n\n let v1 = modulo11Custom(value.substr(0, value.length - 1), 1, 11);\n return \"\" + v1;\n}\n\n/**\n * Dígito verificador da CNH não é mais o módulo 11 conforme últimas resoluções\n * @param value \n * @returns \n */\nexport function create_cnh(value: string) {\n value = value.replace(/[^\\d]+/g, '');\n\n if (value.length != 11 || value === '0') {\n return false;\n }\n // let v1 = modulo11Custom(value.substr(0, value.length - 2), 2);\n // if (v1 === '10') v1 = '00'\n let v1 = value.substr(-2)\n return v1;\n}\n\nexport function create_cnpj(cnpj: string) {\n cnpj = cnpj.replace(/[^\\d]+/g, '');\n\n if (cnpj === '') {\n return false;\n }\n\n if (cnpj.length !== 14) {\n return false;\n }\n\n // Elimina CNPJs invalidos conhecidos\n if (cnpj === '00000000000000' ||\n cnpj === '11111111111111' ||\n cnpj === '22222222222222' ||\n cnpj === '33333333333333' ||\n cnpj === '44444444444444' ||\n cnpj === '55555555555555' ||\n cnpj === '66666666666666' ||\n cnpj === '77777777777777' ||\n cnpj === '88888888888888' ||\n cnpj === '99999999999999') {\n return false;\n }\n\n // Valida DVs\n let tamanho: number = cnpj.length - 2\n let numeros: any = cnpj.substring(0, tamanho);\n let soma: any = 0;\n let pos = tamanho - 7;\n for (let i = tamanho; i >= 1; i--) {\n soma += numeros.charAt(tamanho - i) * pos--;\n if (pos < 2) {\n pos = 9;\n }\n\n }\n const resultados = [0, 0];\n resultados[0] = soma % 11 < 2 ? 0 : 11 - soma % 11;\n\n tamanho = tamanho + 1;\n numeros = cnpj.substring(0, tamanho);\n soma = 0;\n pos = tamanho - 7;\n for (let i = tamanho; i >= 1; i--) {\n soma += numeros.charAt(tamanho - i) * pos--;\n if (pos < 2) {\n pos = 9;\n }\n }\n resultados[1] = soma % 11 < 2 ? 0 : 11 - soma % 11;\n return resultados;\n}\n\nexport function create_cns(number: string) {\n number = getAllDigits(number);\n let somaInicial = 0;\n for (let i = 0; i < number.length - 1; i++) {\n somaInicial += parseInt(number[i]) * (15 - i);\n }\n let soma = somaInicial;\n let rest = 0;\n while (soma % 11 !== 0) {\n rest++;\n soma = somaInicial + (rest * 1)\n }\n return number.substr(-2, 1) + rest;\n}\n\nexport function create_cpf(strCPF: string) {\n strCPF = strCPF.replace(/[^\\d]+/g, '');\n if (strCPF === '00000000000') {\n return false;\n }\n\n // const r1 = modulo11(strCPF.substr(0, strCPF.length - 2))\n // const r2 = modulo11(strCPF.substr(0, strCPF.length - 2) + '' + r1)\n // const restos = [\n // r1, r2\n // ];\n\n const restoscustom = modulo11Custom(strCPF.substr(0, strCPF.length - 2), 2, 12);\n return restoscustom\n}\n\nexport function create_cartaocredito(number: string) {\n\n // if (number.length > 18) { alert(\"Erro. A rotina não abrange cartões\\ncom mais de 18 dígitos (fora o DV).\\nIntroduza 18 dígitos, no máximo.\"); }\n\n number = \"00000000000000000\" + number;\n number = number.slice(number.length - 18);\n\n let b1 = parseInt(number.slice(17));\n let b2 = parseInt(number.slice(16, 17));\n let b3 = parseInt(number.slice(15, 16));\n let b4 = parseInt(number.slice(14, 15));\n let b5 = parseInt(number.slice(13, 14));\n let b6 = parseInt(number.slice(12, 13));\n let b7 = parseInt(number.slice(11, 12));\n let b8 = parseInt(number.slice(10, 11));\n let b9 = parseInt(number.slice(9, 10));\n let b10 = parseInt(number.slice(8, 9));\n let b11 = parseInt(number.slice(7, 8));\n let b12 = parseInt(number.slice(6, 7));\n let b13 = parseInt(number.slice(5, 6));\n let b14 = parseInt(number.slice(4, 5));\n let b15 = parseInt(number.slice(3, 4));\n let b16 = parseInt(number.slice(2, 3));\n let b17 = parseInt(number.slice(1, 2));\n let b18 = parseInt(number.slice(0, 1));\n\n\n let ci17 = b1 * 2; if (ci17 > 9) { ci17 = ci17 - 9; }\n let ci1516 = b3 * 2; if (ci1516 > 9) { ci1516 = ci1516 - 9; }\n let ci1314 = b5 * 2; if (ci1314 > 9) { ci1314 = ci1314 - 9; }\n let ci1112 = b7 * 2; if (ci1112 > 9) { ci1112 = ci1112 - 9; }\n let ci910 = b9 * 2; if (ci910 > 9) { ci910 = ci910 - 9; }\n let ci78 = b11 * 2; if (ci78 > 9) { ci78 = ci78 - 9; }\n let ci56 = b13 * 2; if (ci56 > 9) { ci56 = ci56 - 9; }\n let ci34 = b15 * 2; if (ci34 > 9) { ci34 = ci34 - 9; }\n let ci12 = b17 * 2; if (ci12 > 9) { ci12 = ci12 - 9; }\n let ci1617 = b2;\n let ci1415 = b4;\n let ci1213 = b6;\n let ci1011 = b8;\n let ci89 = b10;\n let ci67 = b12;\n let ci45 = b14;\n let ci23 = b16;\n let ci01 = b18;\n\n let ccredDig = (ci1617 + ci1415 + ci1213 + ci1011 + ci89 + ci67 + ci45 + ci23 + ci01 + ci17 + ci1516 + ci1314 + ci1112 + ci910 + ci78 + ci56 + ci34 + ci12) % 10;\n ccredDig = 10 - ccredDig; if (ccredDig == 10) { ccredDig = 0; }\n\n return ccredDig;\n}\n\nexport function create_ect(number: string) {\n number = getAllDigits(number);\n number = \"0000000\" + number;\n number = number.slice(number.length - 8);\n\n let b1 = parseInt(number.slice(7));\n let b2 = parseInt(number.slice(6, 7));\n let b3 = parseInt(number.slice(5, 6));\n let b4 = parseInt(number.slice(4, 5));\n let b5 = parseInt(number.slice(3, 4));\n let b6 = parseInt(number.slice(2, 3));\n let b7 = parseInt(number.slice(1, 2));\n let b8 = parseInt(number.slice(0, 1));\n\n let regEctDig = (b1 * 7 + b2 * 9 + b3 * 5 + b4 * 3 + b5 * 2 + b6 * 4 + b7 * 6 + b8 * 8) % 11;\n regEctDig = 11 - regEctDig;\n if (regEctDig == 11) { regEctDig = 5; }\n if (regEctDig == 10) { regEctDig = 0; }\n return regEctDig;\n}\n\nexport function create_pispasep(number: string) {\n\n number = getAllDigits(number);\n let nis = fillString(number, 11, '0');\n\n let d;\n let p = 2, c = 9;\n for (d = 0; c >= 0; c--, (p < 9) ? p++ : p = 2) {\n d += parseInt(nis[c]) * p;\n }\n\n const digit = (((10 * d) % 11) % 10);\n return digit;\n}\n\nexport function create_renavam(renavam: string) {\n let dig1 = 0;\n while (renavam.length < 11) {\n renavam = '0' + renavam;\n }\n\n dig1 = (renavam.charCodeAt(0) - 48) * 3 + (renavam.charCodeAt(1) - 48) * 2 + (renavam.charCodeAt(2) - 48) * 9 + (renavam.charCodeAt(3) - 48) * 8 +\n (renavam.charCodeAt(4) - 48) * 7 + (renavam.charCodeAt(5) - 48) * 6 + (renavam.charCodeAt(6) - 48) * 5 +\n (renavam.charCodeAt(7) - 48) * 4 + (renavam.charCodeAt(8) - 48) * 3 + (renavam.charCodeAt(9) - 48) * 2;\n dig1 = dig1 * 10;\n let resto = (dig1 % 11);\n if (resto === 10) {\n return 0;\n } else {\n return resto;\n }\n}\n\n\n\n/**\n * \n * Font: http://ghiorzi.org/index.htm\n * @param number \n */\nexport function create_processo(number: string) {\n number = getAllDigits(number);\n number = \"00000000000000000\" + number;\n number = number.slice(number.length - 18);\n\n let b1 = parseInt(number.slice(0, 1)) * 10000000000;\n let b2 = parseInt(number.slice(1, 2)) * 1000000000;\n let b3 = parseInt(number.slice(2, 3)) * 100000000;\n let b4 = parseInt(number.slice(3, 4)) * 10000000;\n let b5 = parseInt(number.slice(4, 5)) * 1000000;\n let b6 = parseInt(number.slice(5, 6)) * 100000;\n let b7 = parseInt(number.slice(6, 7)) * 10000;\n let b8 = parseInt(number.slice(7, 8)) * 1000;\n let b9 = parseInt(number.slice(8, 9)) * 100;\n let b10 = parseInt(number.slice(9, 10)) * 10;\n let b11 = parseInt(number.slice(10, 11));\n\n const proc1a11 = b1 + b2 + b3 + b4 + b5 + b6 + b7 + b8 + b9 + b10 + b11;\n const resto1 = proc1a11 % 97;\n\n let b12 = parseInt(number.slice(11, 12)) * 1000000;\n let b13 = parseInt(number.slice(12, 13)) * 100000;\n let b14 = parseInt(number.slice(13, 14)) * 10000;\n let b15 = parseInt(number.slice(14, 15)) * 1000;\n let b16 = parseInt(number.slice(15, 16)) * 100;\n let b17 = parseInt(number.slice(16, 17)) * 10;\n let b18 = parseInt(number.slice(17));\n\n const proc12a18 = b12 + b13 + b14 + b15 + b16 + b17 + b18;\n const resto2 = (resto1 * 10000000 * 100 + proc12a18 * 100) % 97;\n\n let procJudDV: any = 98 - resto2;\n\n if (procJudDV < 10) {\n procJudDV = \"0\" + procJudDV;\n }\n\n let procJudCompl = b1 / 10000 + b2 / 10000 + b3 / 10000 + b4 / 10000 + b5 / 10000 + b6 / 10000 + b7 / 10000 + \"-\" + procJudDV + \".\" + b8 / 1000 + b9 / 100 + b10 / 10 + b11 + \".\" + b12 / 1000000 + \".\" + b13 / 100000 + b14 / 10000 + \".\" + b15 / 1000 + b16 / 100 + b17 / 10 + b18;\n\n procJudCompl = \"000000\" + procJudCompl;\n const result = procJudCompl.slice(procJudCompl.length - 25);\n return result;\n}\n\n\nexport function create_titulo_atual(titulo: string) {\n const tit = titulo;\n let dig1 = 0;\n let dig2 = 0;\n const tam = tit.length;\n const estado = tit.substr(tam - 4, 2);\n titulo = tit.substr(0, tam - 2);\n titulo = '000000000000' + titulo;\n titulo = titulo.substr(titulo.length - 11, titulo.length - 1);\n const exce = (estado === '01') || (estado === '02');\n dig1 = (titulo.charCodeAt(0) - 48) * 2 + (titulo.charCodeAt(1) - 48) * 9 + (titulo.charCodeAt(2) - 48) * 8 +\n (titulo.charCodeAt(3) - 48) * 7 + (titulo.charCodeAt(4) - 48) * 6 + (titulo.charCodeAt(5) - 48) * 5 +\n (titulo.charCodeAt(6) - 48) * 4 + (titulo.charCodeAt(7) - 48) * 3 + (titulo.charCodeAt(8) - 48) * 2;\n let resto = (dig1 % 11);\n if (resto === 0) {\n if (exce) {\n dig1 = 1;\n } else {\n dig1 = 0;\n }\n } else {\n if (resto === 1) {\n dig1 = 0;\n } else {\n dig1 = 11 - resto;\n }\n }\n dig2 = (titulo.charCodeAt(9) - 48) * 4 + (titulo.charCodeAt(10) - 48) * 3 + dig1 * 2;\n resto = (dig2 % 11);\n if (resto === 0) {\n if (exce) {\n dig2 = 1;\n } else {\n dig2 = 0;\n }\n } else {\n if (resto === 1) {\n dig2 = 0;\n } else {\n dig2 = 11 - resto;\n }\n }\n return dig1.toString() + dig2.toString();\n}\n\nexport function create_titulo(titNum: string) {\n titNum = getAllDigits(titNum);\n\n if (titNum.length > 11) {\n titNum = titNum.substr(0, 11);\n }\n\n titNum = \"00000000\" + titNum;\n titNum = titNum.slice(titNum.length - 11);\n\n let a1 = parseInt(titNum.slice(10));\n let a2 = parseInt(titNum.slice(9, 10));\n let a3 = parseInt(titNum.slice(8, 9));\n let a4 = parseInt(titNum.slice(7, 8));\n let a5 = parseInt(titNum.slice(6, 7));\n let a6 = parseInt(titNum.slice(5, 6));\n let a7 = parseInt(titNum.slice(4, 5));\n let a8 = parseInt(titNum.slice(3, 4));\n let a9 = parseInt(titNum.slice(2, 3));\n let a10 = parseInt(titNum.slice(1, 2));\n let a11 = parseInt(titNum.slice(0, 1));\n\n if (a2 * 10 + a1 == 0 || a2 * 10 + a1 > 28) {\n throw new Error(\"Esse nº é suspeito, porque a identificação da \\nUF (últimos 2 dígitos) deve estar entre 01 e 28.\");\n }\n\n let titExcecao1 = 0;\n let titExcecao2 = 0;\n\n let titPriDig = (a3 * 9 + a4 * 8 + a5 * 7 + a6 * 6 + a7 * 5 + a8 * 4 + a9 * 3 + a10 * 2 + a11 * 9) % 11;\n if (titPriDig == 0) { titExcecao1 = 1; }\n if (titPriDig == 10) { titPriDig = 0; }\n if ((a2 * 10 + a1 == 1 || a2 * 10 + a1 == 2) && (titExcecao1 == 1)) { titPriDig = 1; }\n\n let titSegDig = (titPriDig * 9 + a1 * 8 + a2 * 7) % 11;\n if (titSegDig == 0) { titExcecao2 = 1; }\n if (titSegDig == 10) { titSegDig = 0; }\n if ((a2 * 10 + a1 == 1 || a2 * 10 + a1 == 2) && (titExcecao2 == 1)) { titSegDig = 1; }\n\n let titDV: any = titPriDig * 10 + titSegDig;\n if (titDV == 0) { titDV = \"00\"; }\n if (titDV > 0 && titDV < 10) { titDV = \"0\" + titDV; }\n\n return titDV.toString();\n}","import { BigObject } from './interfaces';\n\nexport function rg_sp(number: string) {\n // if(number.length>8){alert(\"Erro. Não existe RG SP\\ncom mais de 8 dígitos.\");}\n\n number = \"0000000\" + number;\n number = number.slice(number.length - 8);\n\n let b1 = parseInt(number.slice(7));\n let b2 = parseInt(number.slice(6, 7));\n let b3 = parseInt(number.slice(5, 6));\n let b4 = parseInt(number.slice(4, 5));\n let b5 = parseInt(number.slice(3, 4));\n let b6 = parseInt(number.slice(2, 3));\n let b7 = parseInt(number.slice(1, 2));\n let b8 = parseInt(number.slice(0, 1));\n\n let cispDig: any = (b1 * 2 + b2 * 3 + b3 * 4 + b4 * 5 + b5 * 6 + b6 * 7 + b7 * 8 + b8 * 9) % 11;\n if (cispDig == 10) {\n cispDig = \"X\";\n }\n\n return cispDig;\n}\n\nexport function rg_rj(number: string) {\n\n\n // if(number.length>8){alert(\"Erro. Não existe RG-RJ/MaSP-MG\\ncom mais de 8 dígitos.\");}\n\n number = \"0000000\" + number;\n number = number.slice(number.length - 8);\n\n let b1 = parseInt(number.slice(7));\n let b2 = parseInt(number.slice(6, 7));\n let b3 = parseInt(number.slice(5, 6));\n let b4 = parseInt(number.slice(4, 5));\n let b5 = parseInt(number.slice(3, 4));\n let b6 = parseInt(number.slice(2, 3));\n let b7 = parseInt(number.slice(1, 2));\n let b8 = parseInt(number.slice(0, 1));\n\n let ci7 = b1 * 2; if (ci7 > 9) { ci7 = ci7 - 9; }\n let ci56 = b3 * 2; if (ci56 > 9) { ci56 = ci56 - 9; }\n let ci34 = b5 * 2; if (ci34 > 9) { ci34 = ci34 - 9; }\n let ci12 = b7 * 2; if (ci12 > 9) { ci12 = ci12 - 9; }\n let ci67 = b2;\n let ci45 = b4;\n let ci23 = b6;\n let ci01 = b8;\n\n let cirjDig = (ci7 + ci56 + ci34 + ci12 + ci67 + ci45 + ci23 + ci01) % 10;\n cirjDig = 10 - cirjDig; if (cirjDig == 10) { cirjDig = 0; }\n\n return cirjDig;\n}\n\nconst RG: BigObject<Function> = {\n sp: rg_sp,\n rj: rg_rj\n}\n\nexport default RG;\n","import { BigObject, MaskType } from './interfaces';\n\nexport const IPTUMASKS: BigObject<BigObject<MaskType>> = {\n 'minas-gerais': {\n 'belo-horizonte': {\n text: '000.000.000.000.0', //123.456.789.012.3\n textMask: [/\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/]\n },\n 'contagem': {\n text: '20.040.040-1',\n textMask: [/\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '-', /\\d/],\n textMaskFunction: function mask(userInput: any) {\n const numbers: any = userInput.match(/\\d/g);\n let numberLength = 0;\n if (numbers) {\n numberLength = numbers.join('').length;\n }\n\n if (!userInput || numberLength > 9) {\n return [/\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/];\n } else {\n return [/\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '-', /\\d/];\n }\n }\n }\n },\n 'sao-paulo': {\n 'sao-paulo': {\n text: '00000000000-0',\n textMask: [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/]\n }\n },\n 'parana': {\n 'curitiba': {\n text: '00000000000-0',\n textMask: [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/]\n }\n }\n};\n","import { getAllDigits, makeGenericFaker } from './utils';\nimport { IPTUMASKS } from './iptu_mask';\nimport { BigObject } from './interfaces';\n\nexport function create_iptu_ctba(number: string) {\n number = getAllDigits(number);\n let a1 = parseInt(number.slice(10));\n let a2 = parseInt(number.slice(9, 10));\n let a3 = parseInt(number.slice(8, 9));\n let a4 = parseInt(number.slice(7, 8));\n let a5 = parseInt(number.slice(6, 7));\n let a6 = parseInt(number.slice(5, 6));\n let a7 = parseInt(number.slice(4, 5));\n let a8 = parseInt(number.slice(3, 4));\n let a9 = parseInt(number.slice(2, 3));\n let a10 = parseInt(number.slice(1, 2));\n let a11 = parseInt(number.slice(0, 1));\n\n let iptuctbaDV = 10 - ((a1 * 2 + a2 * 3 + a3 * 4 + a4 * 7 + a5 * 8 + a6 * 9 + a7 * 2 + a8 * 3 + a9 * 4 + a10 * 7 + a11 * 8) % 10);\n if (iptuctbaDV == 10) { iptuctbaDV = 0; }\n return iptuctbaDV;\n}\n\nexport function create_iptu_sp(number: string) {\n let a1 = parseInt(number.slice(9));\n let a2 = parseInt(number.slice(8, 9));\n let a3 = parseInt(number.slice(7, 8));\n let a4 = parseInt(number.slice(6, 7));\n let a5 = parseInt(number.slice(5, 6));\n let a6 = parseInt(number.slice(4, 5));\n let a7 = parseInt(number.slice(3, 4));\n let a8 = parseInt(number.slice(2, 3));\n let a9 = parseInt(number.slice(1, 2));\n let a10 = parseInt(number.slice(0, 1));\n\n let iptuspDV = (a1 * 9 + a2 * 8 + a3 * 7 + a4 * 6 + a5 * 5 + a6 * 4 + a7 * 3 + a8 * 2 + a9 + a10 * 10) % 11;\n if (iptuspDV == 10) { iptuspDV = 1; }\n return iptuspDV;\n}\n\n\nexport const faker_iptu = (estado: string | number, cidade: string | number) => {\n if (!IPTUMASKS[estado] || !IPTUMASKS[estado][cidade]) {\n return;\n }\n let iptu = makeGenericFaker(IPTUMASKS[estado][cidade])();\n if (IPTUCREATE[estado] && IPTUCREATE[estado][cidade]) {\n const dv = IPTUCREATE[estado][cidade](iptu);\n const values = iptu.split('');\n values[values.length - 1] = dv;\n iptu = values.join('');\n }\n return iptu;\n}\n\nexport const IPTUCREATE: BigObject<BigObject<Function>> = {\n 'sao-paulo': {\n 'sao-paulo': create_iptu_sp,\n },\n 'parana': {\n 'curitiba': create_iptu_ctba\n }\n}","import { getAllDigits } from './utils';\nimport { IPTUCREATE } from './iptu_create';\nimport { BigObject } from './interfaces';\n\nconst validateRemoveDigito = (number: string | any[], max: number) => {\n number = getAllDigits(number.toString());\n if (number.length > max) {\n return false;\n } else if (number.length === max) {\n number = number.slice(0, -1)\n }\n return number;\n}\n\nexport function validate_iptu_ctba(value: string | any[]) {\n let number = validateRemoveDigito(value, 12);\n if (!number) {\n return false;\n }\n\n const dv = IPTUCREATE['parana']['curitiba'](number);\n return parseInt(value[value.length - 1]) === dv;\n}\n\n/**\n * Índice Cadastral, ou inscrição imobiliária, é o número de identificação do imóvel no cadastro da Prefeitura de Contagem. \n * O índice é composto por 12 (doze) ou 13 (treze) números, sendo: 2 (dois) para a zona fiscal; \n * 3 (três) ou 4 (quatro) para a quadra fiscal; 4 (quatro) para o lote fiscal; e 3 (três) para a unidade.\n */\nexport function validate_iptu_contagem(number: any) {\n number = validateRemoveDigito(number, 12);\n if (!number) {\n return false;\n }\n return true;\n}\n\nexport function validate_iptu_sp(value: string | any[]) {\n let number = validateRemoveDigito(value, 12);\n if (!number) {\n return false;\n }\n const dv = IPTUCREATE['sao-paulo']['sao-paulo'](number);\n return parseInt(value[value.length - 1]) === dv;\n}\n\n// export function validate_iptu(iptu: string) {\n// let iptuClean = iptu.replace(/\\./g, '');\n// iptuClean = iptuClean.replace(/-/g, '');\n// const exp = /[a-z]{2}\\-\\d{2}\\.\\d{3}\\.\\d{3}/;\n// const expClean = /[a-z]{2}\\d{8}/;\n// const state = iptu.substr(0, 2).toUpperCase();\n\n// if (!exp.test(iptu) && !expClean.test(iptuClean) && !(state in CEPRange)) {\n// return false;\n// }\n// if (IPTU[state]) {\n// const validateState = IPTU[state];\n// return validateState(iptu);\n// }\n// return true;\n// }\n\nexport const IPTUVALIDATE: BigObject<BigObject<Function>> = {\n 'sao-paulo': {\n 'sao-paulo': validate_iptu_sp,\n },\n 'minas-gerais': {\n 'contagem': validate_iptu_contagem,\n },\n 'parana': {\n 'curitiba': validate_iptu_ctba\n }\n}","import { IPTUVALIDATE } from './iptu_validate';\nimport { IPTUMASKS } from './iptu_mask';\nimport { getAllDigits } from './utils';\nimport { IPTUCREATE } from './iptu_create';\n\nexport const create_iptu = (number: string, estado: string | number, cidade: string | number) => {\n if (!IPTUCREATE[estado] || !IPTUCREATE[estado][cidade]) {\n return true;\n }\n number = getAllDigits(number);\n return IPTUCREATE[estado][cidade](number);\n};\n\nexport const mask_iptu = (number: string, estado: string, cidade: string) => {\n if (!IPTUMASKS[estado] || !IPTUMASKS[estado][cidade]) {\n return number;\n }\n return IPTUMASKS[estado][cidade];\n};\nexport const validate_iptu = (number: string, estado: string | number, cidade: string | number) => {\n if (!IPTUVALIDATE[estado] || !IPTUVALIDATE[estado][cidade]) {\n return true;\n }\n number = getAllDigits(number);\n return IPTUVALIDATE[estado][cidade](number);\n};","import { getAllDigits, fillString, getAllWords } from './utils';\nimport { BigObject } from './interfaces';\nimport { validate_inscricaoestadual } from './inscricaoestadual';\nimport { validate_placa } from './placa';\nimport {\n create_cnpj, create_cpf,\n create_renavam, create_ect, create_processo, create_titulo_atual, create_cnh, create_certidao, create_aih, create_pispasep, create_cnhespelho, create_renachestadual, create_renachseguranca\n} from './create';\nimport RG from './rg';\nimport { validate_iptu } from './iptu';\nimport { ESTADOS_SIGLA } from './estados';\n\n\nexport function validate_aih(aih: string) {\n const aihClean = aih.replace(/[^\\d]+/g, '');\n const dvOriginal = aihClean.substr(-1);\n const dv = create_aih(aihClean);\n return dvOriginal === dv;\n}\n\nexport function validate_celular(cel: any) {\n let celClean = cel.replace(/[^\\d]+/g, '');\n celClean = celClean.replace(/_/g, '');\n if (celClean.length !== 11) {\n return false;\n }\n if (celClean[0] == 0 || celClean[2] < 5) {\n return false;\n }\n return true;\n}\n\nexport const CEPRange: BigObject<RegExp> = {\n 'SP': /^([1][0-9]{3}|[01][0-9]{4})[0-9]{3}$/g,\n 'RJ': /^[2][0-8][0-9]{3}[0-9]{3}$/g,\n 'MS': /^[7][9][0-9]{3}[0-9]{3}$/g,\n 'MG': /^[3][0-9]{4}[0-9]{3}$/g,\n 'MT': /^[7][8][8][0-9]{2}[0-9]{3}$/g,\n 'AC': /^[6][9]{2}[0-9]{2}[0-9]{3}$/g,\n 'AL': /^[5][7][0-9]{3}[0-9]{3}$/g,\n 'AM': /^[6][9][0-8][0-9]{2}[0-9]{3}$/g,\n 'AP': /^[6][89][9][0-9]{2}[0-9]{3}$/g,\n 'BA': /^[4][0-8][0-9]{3}[0-9]{3}$/g,\n 'CE': /^[6][0-3][0-9]{3}[0-9]{3}$/g,\n 'DF': /^[7][0-3][0-6][0-9]{2}[0-9]{3}$/g,\n 'ES': /^[2][9][0-9]{3}[0-9]{3}$/g,\n 'GO': /^[7][3-6][7-9][0-9]{2}[0-9]{3}$/g,\n 'MA': /^[6][5][0-9]{3}[0-9]{3}$/g,\n 'PA': /^[6][6-8][0-8][0-9]{2}[0-9]{3}$/g,\n 'PB': /^[5][8][0-9]{3}[0-9]{3}$/g,\n 'PE': /^[5][0-6][0-9]{2}[0-9]{3}$/g,\n 'PI': /^[6][4][0-9]{3}[0-9]{3}$/g,\n 'PR': /^[8][0-7][0-9]{3}[0-9]{3}$/g,\n 'RN': /^[5][9][0-9]{3}[0-9]{3}$/g,\n 'RO': /^[7][8][9][0-9]{2}[0-9]{3}$/g,\n 'RR': /^[6][9][3][0-9]{2}[0-9]{3}$/g,\n 'RS': /^[9][0-9]{4}[0-9]{3}$/g,\n 'SC': /^[8][89][0-9]{3}[0-9]{3}$/g,\n 'SE': /^[4][9][0-9]{3}[0-9]{3}$/g,\n 'TO': /^[7][7][0-9]{3}[0-9]{3}$/g,\n}\n\nexport function validate_cep(cep: string) {\n const cepClean = cep.replace(/[^\\d]+/g, '');\n const exp = /\\d{2}\\.\\d{3}\\-\\d{3}/;\n if (!exp.test(cep) && cepClean.length !== 8) {\n return false;\n }\n return true;\n}\n\n\nexport function cep_ranges(cep: string | number) {\n cep = (cep.toString()).replace(/[^\\d]+/g, '');\n cep = parseInt(cep, 10);\n const cepString: string = cep.toString();\n let found: any;\n for (let estado in CEPRange) {\n const v = CEPRange[estado];\n const r = new RegExp(v).test(cepString);\n if (r) {\n found = r;\n return true;\n }\n }\n\n if (!found) {\n return false;\n }\n return true;\n}\n\n\n\n\nexport function validate_certidao(value: string) {\n let certidao = getAllDigits(value);\n\n const format = /[0-9]{32}/;\n if (!format.test(certidao)) {\n return false;\n }\n\n let dvOriginal = certidao.substr(-2);\n const dv = create_certidao(certidao);\n\n return dv === dvOriginal;\n}\n\n\n/**\n * \n * @param chassi \n */\nexport function validate_chassi(chassi: string) {\n\n // 1 - Possuir o número \"0\" (ZERO) como 1º dígito.\n const zeroNoPrimeiroDigito = /^0/;\n if (zeroNoPrimeiroDigito.test(chassi)) {\n return false;\n }\n\n // 2 - Possuir espaço no chassi\n chassi = getAllWords(chassi); // espacoNoChassi\n\n // 3 - Se, a partir do 4º dígito, houver uma repetição consecutiva, por mais de seis vezes, do mesmo dígito \n // (alfabético ou numérico). Exemplos: 9BW11111119452687 e 9BWZZZ5268AAAAAAA.\n const repeticaoMaisDe6Vezes = /^.{4,}([0-9A-Z])\\1{5,}/\n if (repeticaoMaisDe6Vezes.test(chassi)) {\n return false;\n }\n\n // 4 - Apresente os caracteres \"i\", \"I\", \"o\", \"O\", \"q\", \"Q\".\n const caracteresiIoOqQ = /[iIoOqQ]/;\n if (caracteresiIoOqQ.test(chassi)) {\n return false;\n }\n\n // 5 - Os quatro últimos caracteres devem ser obrigatoriamente numéricos\n const ultimos4Numericos = /[0-9]{4}$/;\n if (!ultimos4Numericos.test(chassi)) {\n return false;\n }\n\n // 6 - Se possuir número de dígitos diferente de 17 (alfanuméricos). \n if (chassi.length > 17) {\n return false;\n }\n\n return true;\n}\n\nfunction validate_cnae(number: any) {\n if (!number) return true;\n return false\n}\n\n/**\n * \n * II - Número do Espelho da CNH - segundo número de identificação nacional, \n * que será formado por 9 (nove) caracteres mais 1 (um) dígito verificador de segurança, \n * autorizado e controlado pelo DENATRAN, e identificará cada espelho de CNH expedida.\n * https://www.gov.br/infraestrutura/pt-br/assuntos/transito/conteudo-denatran/resolucoes-contran\n * https://www.gov.br/infraestrutura/pt-br/assuntos/transito/conteudo-contran/resolucoes/resolucao5112014.pdf\n * 598: https://www.gov.br/infraestrutura/pt-br/assuntos/transito/conteudo-contran/resolucoes/resolucao59820162.pdf\n * @param value \n */\nexport function validate_cnhespelho(value: string) {\n value = value.replace(/[^\\d]/g, '')\n if (value.length !== 10) {\n return false\n }\n\n let check = create_cnhespelho(value)\n if (check === '0' || check === '1') check = '0'\n return value.substr(-1) == check\n}\n\n/**\n * \n * III – Número do formulário RENACH - número de identificação\n* estadual, documento de coleta de dados do candidato/condutor gerado a cada serviço,\n* composto, obrigatoriamente, por 11 (onze) caracteres, sendo as duas primeiras\n* posições formadas pela sigla da Unidade de Federação expedidora, facultada a\n* utilização da última posição como dígito verificador de segurança.\n* a) O número do formulário RENACH identificará a Unidade da\n* Federação onde o condutor foi habilitado ou realizou alterações de dados no seu\n* cadastro pela última vez.\n* b) O Formulário RENACH que dá origem às informações na\n* BINCO e autorização para a impressão da CNH deverá ficar arquivado em seg\n* 598 - https://www.gov.br/infraestrutura/pt-br/assuntos/transito/conteudo-contran/resolucoes/resolucao59820162.pdf\n* 718 - https://www.gov.br/infraestrutura/pt-br/assuntos/transito/conteudo-contran/resolucoes/resolucao7182017.pdf\n* @param value \n */\nexport function validate_renachestadual(value: string) {\n const state = value.substr(0, 2).toLowerCase()\n if (!ESTADOS_SIGLA.includes(state)) {\n return false\n }\n\n let digits = value.substr(2)\n digits = digits.replace(/[^\\d]/g, '');\n if (digits.length !== 9) {\n return false;\n }\n let check = create_renachestadual(value)\n if (check === '0' || check === '1') check = '0'\n return value.substr(-1) == check;\n}\n\nexport function validate_renachseguranca(value: string) {\n value = value.replace(/[^\\d]/g, '');\n\n if (value.length !== 11) {\n return false;\n }\n\n let check = create_renachseguranca(value)\n return value.substr(-1) == check;\n}\n\n/**\n * BINCO\n * I – o primeiro número de identificação nacional – Registro Nacional, \n * será gerado pelo sistema informatizado da Base Índice Nacional de Condutores – \n * BINCO, composto de 9 (nove) caracteres mais 2 (dois) dígitos verificadores de \n * segurança, sendo único para cada condutor e o acompanhará durante toda a \n * sua existência como condutor, não sendo permitida a sua reutilização para \n * outro condutor.\n * @param value \n * @returns \n */\nexport function validate_cnh(value: string) {\n value = value.toString().replace(/[^\\d]/g, '');\n if (value.length !== 11) {\n return false;\n }\n let check = create_cnh(value);\n return value.substr(-2) == check;\n}\n\nexport function validate_cnpj(cnpj: any) {\n // Valida se tem apenas número, - ou .\n let precisaFicarVazio = cnpj.replace(/^[0-9./-]*$/gm, '')\n if (precisaFicarVazio != '')\n return false\n\n cnpj = cnpj.replace(/[^\\d]+/g, '');\n let tamanho = cnpj.length - 2\n const digitos = cnpj.substring(tamanho);\n const resultados = create_cnpj(cnpj);\n if (!resultados ||\n resultados[0] !== parseInt(digitos.charAt(0), 10) ||\n resultados[1] !== parseInt(digitos.charAt(1), 10)\n ) {\n return false\n }\n\n return true;\n}\n\nfunction validate_contabanco(number: any) {\n if (!number) return false\n return true;\n}\n\n/**\n * Referencia: http://www.receita.fazenda.gov.br/aplicacoes/atcta/funcoes.js\n * @param strCPF \n * @returns \n */\nexport function validate_cpf(strCPF: any) {\n // Valida se tem apenas número, - ou .\n let precisaFicarVazio = strCPF.replace(/^[0-9.-]*$/gm, '')\n if (precisaFicarVazio != '')\n return false\n\n strCPF = strCPF.replace(/[^\\d]+/g, '');\n if (strCPF.length !== 11) {\n return false;\n }\n\n //verifica se todos os numeros sao iguais\n const expIguais = /^(?!.*(\\d)\\1{10}).*$/;\n if (!strCPF.match(expIguais)) {\n return false;\n }\n\n // valida digito verificados\n const restos = create_cpf(strCPF);\n if (!restos || restos != strCPF.substr(-2)) {\n return false;\n }\n return true;\n}\n\nfunction validate_cpfcnpj(number: any) {\n return validate_cpf(number) || validate_cnpj(number);\n}\n\nexport function validate_cns(value: string) {\n const cns = getAllDigits(value);\n const definitivo = /[1-2][0-9]{10}00[0-1][0-9]/; // começam com 1 ou 2\n const provisorio = /[7-9][0-9]{14}/; // começam com 7,8 ou 9\n if (!definitivo.test(cns) && !provisorio.test(cns)) {\n return false;\n }\n\n let soma = 0;\n for (let i = 0; i < cns.length; i++) {\n soma += parseInt(cns[i]) * (15 - i);\n }\n\n return soma % 11 == 0;\n}\n\n\nexport function validate_cartaocredito(input: string | number) {\n let value: string;\n if (typeof input == 'string') {\n value = getAllDigits(input);\n } else {\n value = input.toString();\n }\n\n const number = value.slice(0, 16);\n const mes = parseInt(value.slice(16, 18));\n const ano = parseInt(value.slice(18, 20));\n const cvv = value.slice(20, 23);\n\n const d = new Date();\n const anoAtual = (d.getFullYear() - 2000);\n if (ano && ano < anoAtual) {\n return false;\n }\n if (mes && mes < d.getMonth() + 1 && ano === anoAtual) {\n return false;\n }\n\n if (cvv) {\n const validcvv = validate_cvv(cvv);\n if (validcvv.isValid === false) {\n return false;\n }\n }\n\n let found;\n Object.keys(creditCardValidator).forEach(key => {\n if (creditCardValidator[key].test(number)) {\n found = key;\n }\n });\n return !!found;\n\n}\n\nfunction validate_cvv(value: string | any[], maxLength: any = 3) {\n maxLength = maxLength instanceof Array ? maxLength : [maxLength];\n\n if (typeof value !== 'string') {\n return { isValid: false, isPotentiallyValid: false };\n }\n if (!/^\\d*$/.test(value)) {\n return { isValid: false, isPotentiallyValid: false };\n }\n\n var i = 0;\n const max = value.length;\n for (; i < maxLength.length; i++) {\n if (max === maxLength[i]) {\n return { isValid: true, isPotentiallyValid: true };\n }\n }\n\n if (value.length < Math.min.apply(null, maxLength)) {\n return { isValid: false, isPotentiallyValid: true };\n }\n\n var maximum = maxLength;\n var i = 0;\n\n for (; i < maxLength.length; i++) {\n maximum = maxLength[i] > maximum ? maxLength[i] : maximum;\n }\n\n if (value.length > maximum) {\n return { isValid: false, isPotentiallyValid: false };\n }\n\n return { isValid: true, isPotentiallyValid: true };\n}\n\n\n/**\n * A hash of valid CC abbreviations and regular expressions\n mc: Mastercard\n ec: Eurocard\n vi: Visa\n ax: American Express\n dc: Diners Club\n bl: Carte Blanch\n di: Discover\n jcb: JCB\n er: Enroute\n*/\nexport const creditCardValidator: BigObject<RegExp> = {\n 'mc': /5[1-5][0-9]{14}/,\n 'ec': /5[1-5][0-9]{14}/,\n 'vi': /4(?:[0-9]{12}|[0-9]{15})/,\n 'ax': /3[47][0-9]{13}/,\n 'dc': /3(?:0[0-5][0-9]{11}|[68][0-9]{12})/,\n 'bl': /3(?:0[0-5][0-9]{11}|[68][0-9]{12})/,\n 'di': /6011[0-9]{12}/,\n 'jcb': /(?:3[0-9]{15}|(2131|1800)[0-9]{11})/,\n 'er': /2(?:014|149)[0-9]{11}/\n};\n\n\nexport function validate_currency(currency: string | number) {\n if (typeof currency === 'number') {\n return true;\n }\n const regex = /^(R\\$|R\\$ )?(-)?(?!0(\\.)?00)\\d{1,3}((\\.)?\\d{3})*(,\\d\\d)?$/g;\n return regex.test(currency);\n}\n\n\nfunction validate_data(value: string | null) {\n if (!value) {\n return false;\n }\n const values = value.split('/');\n if (values.length !== 3) {\n return false;\n }\n const testData: Date = new Date(values[1] + '/' + values[0] + '/' + values[2])\n if (!testData.getTime()) {\n return false;\n }\n // if (parseInt(values[0]) > 31 || parseInt(values[1]) > 12 || parseInt(values[2]) < 1000) return false;\n return true;\n}\n\n\nfunction validate_date(value: string | null) {\n if (!value || value.length < 10) {\n return false;\n }\n const testData: Date = new Date(value)\n if (!testData.getTime()) {\n return false;\n }\n return true;\n}\n\nexport function validate_datetime(time: string | number, options: any = {}) {\n if (!time) {\n return false;\n }\n time = time.toString();\n const values = time.split(' ');\n if (validate_date(values[0]) && validate_time(values[1], options)) {\n return true;\n }\n return false;\n}\n\n\nexport function validate_datahora(time: string | number, options: any = {}) {\n if (!time) {\n return false;\n }\n time = time.toString();\n const values = time.split(' ');\n if (validate_data(values[0]) && validate_time(values[1], options)) {\n return true;\n }\n return false;\n}\n\nexport function validate_ect(number: string) {\n number = getAllDigits(number);\n if (number.length > 9) {\n return false\n }\n\n const nodigit = number.substr(0, number.length - 1);\n const dg = create_ect(nodigit);\n\n if (parseInt(number[number.length - 1]) === dg) {\n return true;\n }\n return false;\n}\n\nfunction validate_email(email: any) {\n var re = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/\n return re.test(String(email).toLowerCase())\n}\n\nfunction validate_endereco(number: any) {\n if (!number) return false\n return true\n}\n\nexport function validate_number(number: string) {\n if (number.split(',').length > 2) {\n return false\n }\n const regexDecimal = /^\\d+(?:\\.\\d{0,2})$/;\n const regex = /^[0-9]{0,10}[,]{1,1}[0-9]{0,4}/;\n const regexNumero = /^[0-9]{0,10}/;\n return regexDecimal.test(number) || regex.test(number) || regexNumero.test(number);\n}\n\n\nexport function validate_porcentagem(porcentagem: string) {\n porcentagem = porcentagem.split('%')[0];\n return validate_number(porcentagem);\n}\n\n\nexport function validate_processo(processo: any) {\n let processoClean = processo.replace(/\\./g, '');\n processoClean = processoClean.replace(/\\-/g, '');\n // const exp = /\\d{7}\\-\\d{2}\\.\\d{4}\\.\\w{3}\\.\\d{4}/;\n // const expClean = /\\d{13}\\w{3}\\d{4}/;\n // if (!exp.test(processo) && !expClean.test(processoClean)) {\n // return false;\n // }\n let processoValidado = create_processo(processo);\n if (parseInt(processoClean) !== parseInt(getAllDigits(processoValidado))) {\n return false;\n }\n return true;\n}\n\n\nexport function validate_pispasep(number: string) {\n number = getAllDigits(number);\n let nis = fillString(number, 11, '0');\n const regex = /\\d{11}/; // /^\\d{3}\\.\\d{5}\\.\\d{2}\\-\\d{1}$/;\n if (!regex.test(nis)) {\n return false;\n }\n\n const digit = create_pispasep(number);\n return nis[10].toString() == digit.toString();\n}\n\n\nexport function validate_renavam(renavam: any) {\n let renavamClean = renavam.replace(/\\./g, '');\n renavamClean = renavamClean.replace(/\\-/g, '');\n const dv = create_renavam(renavam);\n const tam = renavam.length;\n const digitos = renavam.substr(tam - 1, 1);\n if (digitos.charCodeAt(0) - 48 === dv) {\n return true;\n } else {\n return false;\n }\n}\n\n\n\nexport function validate_rg(rg: string) {\n let rgClean = rg.replace(/\\./g, '');\n rgClean = rgClean.replace(/-/g, '');\n const exp = /[a-z]{2}\\-\\d{2}\\.\\d{3}\\.\\d{3}/;\n const expClean = /[a-z]{2}\\d{8}/;\n const state = rg.substr(0, 2).toUpperCase();\n\n if (!exp.test(rg) && !expClean.test(rgClean) && !(state in CEPRange)) {\n return false;\n }\n const validateState = RG[state];\n if (validateState) {\n return validateState(rg);\n }\n return true;\n}\n\nfunction validate_senha(value: string, options: any = {}) {\n let finalregex = '^';\n // ^\tThe password string will start this way\n // (?=.*[a-z])\tThe string must contain at least 1 lowercase alphabetical character\n if (options.lowercase !== false) {\n finalregex = finalregex + '(?=.*[a-z])';\n }\n // (?=.*[A-Z])\tThe string must contain at least 1 uppercase alphabetical character\n if (options.uppercase !== false) {\n finalregex = finalregex + '(?=.*[A-Z])';\n }\n // (?=.*[0-9])\tThe string must contain at least 1 numeric character\n if (options.numeric !== false) {\n finalregex = finalregex + '(?=.*[0-9])';\n }\n // (?=.*[!@#\\$%\\^&\\*])\tThe string must contain at least one special character, but we are escaping reserved RegEx characters to avoid conflict\n if (options.numeric !== false) {\n finalregex = finalregex + '(?=.*[!@#\\\\$%\\\\^&\\\\*])';\n }\n // (?=.{8,})\tThe string must be eight characters or longer\n if (!options.size) {\n options.size = 8;\n }\n\n finalregex = finalregex + `(?=.{${options.size},})`;\n\n const regex = new RegExp(finalregex);\n return regex.test(value);\n}\n\n\nfunction validate_site(value: any) {\n var re = /(http(s)?:\\/\\/.)?(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&=]*)/g;\n return re.test(String(value).toLowerCase());\n}\n\nexport function validate_sped(sped: string) {\n if (!sped) return false\n return true\n}\n\nexport function validate_telefone(tel: any) {\n const telClean = tel.replace(/[^\\d]+/g, '');\n tel = tel.replace(/_/g, '');\n if (!(telClean.length === 10 || telClean.length === 11)) {\n return false;\n }\n if (telClean[0] == 0 || telClean[2] == 0) {\n return false;\n }\n return true;\n}\n\nexport function validate_time(time: string | number, options: any = {}) {\n const value = time.toString();\n if (options.diario) {\n const expression = /^([0-1]?[0-9]|2[0-4]):([0-5][0-9])(:[0-5][0-9])?$/;\n return expression.test(value);\n } else {\n const expression = /^([0-9]?[0-9]):([0-5][0-9])(:[0-5][0-9])?$/;\n return expression.test(value);\n }\n\n}\n\nexport function validate_titulo(titulo: any) {\n if (!titulo) {\n return false;\n }\n const tituloClean = titulo.replace(/\\./g, '');\n const exp = /\\d{4}\\.\\d{4}\\.\\d{4}/;\n const expClean = /\\d{4}\\d{4}\\d{4}/;\n if (!exp.test(tituloClean) && !expClean.test(tituloClean)) {\n return false;\n }\n\n const tam = tituloClean.length;\n\n let dig;\n try {\n dig = create_titulo_atual(tituloClean);\n // const noDv = tituloClean.substr(0, tam - 2);\n // dig = create_titulo(noDv);\n } catch (e) {\n return false;\n }\n\n const digitos = tituloClean.substr(tam - 2, 2);\n if (digitos === dig) {\n return true;\n } else {\n return false;\n }\n}\n\nfunction validate_username(value: any) {\n var re = /^[a-z0-9_-]{3,16}$/igm;\n return re.test(String(value).toLowerCase());\n}\n\nexport const validateBr: BigObject<Function> = {\n aih: validate_aih,\n cartaocredito: validate_cartaocredito,\n celular: validate_celular,\n cep: validate_cep,\n certidao: validate_certidao,\n chassi: validate_chassi,\n cnae: validate_cnae,\n cnh: validate_cnh,\n cnhespelho: validate_cnhespelho,\n renachestadual: validate_renachestadual,\n renachseguranca: validate_renachseguranca,\n cnpj: validate_cnpj,\n cns: validate_cns,\n contabanco: validate_contabanco,\n cpf: validate_cpf,\n cpfcnpj: validate_cpfcnpj,\n currency: validate_currency,\n data: validate_data,\n date: validate_date,\n datetime: validate_datetime,\n datahora: validate_datahora,\n ect: validate_ect,\n email: validate_email,\n endereco: validate_endereco,\n inscricaoestadual: validate_inscricaoestadual,\n iptu: validate_iptu,\n number: validate_number,\n porcentagem: validate_porcentagem,\n pispasep: validate_pispasep,\n placa: validate_placa,\n processo: validate_processo,\n renavam: validate_renavam,\n rg: validate_rg,\n senha: validate_senha,\n site: validate_site,\n sped: validate_sped,\n telefone: validate_telefone,\n time: validate_time,\n titulo: validate_titulo,\n username: validate_username\n};\n","const dollarSign = \"$\";\nconst emptyString = \"\";\nconst comma = \",\";\nconst period = \".\";\nconst minus = \"-\";\nconst minusRegExp = /-/;\nconst nonDigitsRegExp = /\\D+/g;\nconst number = \"number\";\nconst digitRegExp = /\\d/;\nconst caretTrap = \"[]\";\n\nexport default function createNumberMask({\n prefix = dollarSign,\n suffix = emptyString,\n includeThousandsSeparator = true,\n thousandsSeparatorSymbol = comma,\n allowDecimal = false,\n decimalSymbol = period,\n decimalLimit = 2,\n requireDecimal = false,\n allowNegative = false,\n allowLeadingZeroes = false,\n integerLimit = null,\n} = {}) {\n const prefixLength = (prefix && prefix.length) || 0;\n const suffixLength = (suffix && suffix.length) || 0;\n const thousandsSeparatorSymbolLength =\n (thousandsSeparatorSymbol && thousandsSeparatorSymbol.length) || 0;\n\n function numberMask(rawValue = emptyString) {\n const rawValueLength = rawValue.length;\n\n if (\n rawValue === emptyString ||\n (rawValue[0] === prefix[0] && rawValueLength === 1)\n ) {\n return prefix\n .split(emptyString)\n .concat([\"\" + digitRegExp])\n .concat(suffix.split(emptyString));\n } else if (rawValue === decimalSymbol && allowDecimal) {\n return prefix\n .split(emptyString)\n .concat([\"0\", decimalSymbol, \"\" + digitRegExp])\n .concat(suffix.split(emptyString));\n }\n\n const isNegative = rawValue[0] === minus && allowNegative;\n //If negative remove \"-\" sign\n if (isNegative) {\n rawValue = rawValue.toString().substr(1);\n }\n\n const indexOfLastDecimal = rawValue.lastIndexOf(decimalSymbol);\n const hasDecimal = indexOfLastDecimal !== -1;\n\n let integer;\n let fraction;\n let mask;\n\n // remove the suffix\n if (rawValue.slice(suffixLength * -1) === suffix) {\n rawValue = rawValue.slice(0, suffixLength * -1);\n }\n\n if (hasDecimal && (allowDecimal || requireDecimal)) {\n integer = rawValue.slice(\n rawValue.slice(0, prefixLength) === prefix ? prefixLength : 0,\n indexOfLastDecimal\n );\n\n fraction = rawValue.slice(indexOfLastDecimal + 1, rawValueLength);\n fraction = convertToMask(fraction.replace(nonDigitsRegExp, emptyString));\n } else {\n if (rawValue.slice(0, prefixLength) === prefix) {\n integer = rawValue.slice(prefixLength);\n } else {\n integer = rawValue;\n }\n }\n\n if (integerLimit && typeof integerLimit === number) {\n const thousandsSeparatorRegex =\n thousandsSeparatorSymbol === \".\"\n ? \"[.]\"\n : `${thousandsSeparatorSymbol}`;\n const numberOfThousandSeparators = (\n integer.match(new RegExp(thousandsSeparatorRegex, \"g\")) || []\n ).length;\n\n integer = integer.slice(\n 0,\n integerLimit +\n numberOfThousandSeparators * thousandsSeparatorSymbolLength\n );\n }\n\n integer = integer.replace(nonDigitsRegExp, emptyString);\n\n if (!allowLeadingZeroes) {\n integer = integer.replace(/^0+(0$|[^0])/, \"$1\");\n }\n\n integer = includeThousandsSeparator\n ? addThousandsSeparator(integer, thousandsSeparatorSymbol)\n : integer;\n\n mask = convertToMask(integer);\n\n if ((hasDecimal && allowDecimal) || requireDecimal === true) {\n if (rawValue[indexOfLastDecimal - 1] !== decimalSymbol) {\n mask.push(caretTrap);\n }\n\n mask.push(decimalSymbol, caretTrap);\n\n if (fraction) {\n if (typeof decimalLimit === number) {\n fraction = fraction.slice(0, decimalLimit);\n }\n\n mask = mask.concat(fraction);\n }\n\n if (\n requireDecimal === true &&\n rawValue[indexOfLastDecimal - 1] === decimalSymbol\n ) {\n mask.push(digitRegExp);\n }\n }\n\n if (prefixLength > 0) {\n mask = prefix.split(emptyString).concat(\"\" + mask);\n }\n\n if (isNegative) {\n // If user is entering a negative number, add a mask placeholder spot to attract the caret to it.\n if (mask.length === prefixLength) {\n mask.push(digitRegExp);\n }\n\n mask = [minusRegExp].concat(new RegExp(\"\" + mask));\n }\n\n if (suffix.length > 0) {\n mask = mask.concat(suffix.split(emptyString));\n }\n\n return mask;\n }\n\n //numberMask.instanceOf = \"createNumberMask\";\n\n return numberMask;\n}\n\nfunction convertToMask(strNumber: string) {\n return strNumber\n .split(emptyString)\n .map((char: string) => (digitRegExp.test(char) ? digitRegExp : char));\n}\n\nfunction addThousandsSeparator(n: string, thousandsSeparatorSymbol: string) {\n return n.replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandsSeparatorSymbol);\n}\n","import { isArray, processCaretTraps } from './utils';\nimport { BigObject, MaskType } from './interfaces';\nexport { MASKSIE } from './inscricaoestadual';\nimport createNumberMask from './createNumberMask';\nimport { mask_iptu } from './iptu';\nimport { MASKSIE } from './inscricaoestadual';\n\nconst maskNumber: any = {\n decimalLimit: 2,\n thousandsSeparatorSymbol: '.',\n decimalSymbol: ',',\n allowDecimal: true,\n integerLimit: 17,\n prefix: '',\n suffix: ''\n}\n\nexport const MASKS: BigObject<MaskType> = {\n aih: {\n text: '000000000000-0', // 351923414312-8\n textMask: [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/]\n },\n cartaocredito: {\n text: '0000 0000 0000 0000 00/00 000',\n textMask: [/\\d/, /\\d/, /\\d/, /\\d/, ' ', /\\d/, /\\d/, /\\d/, /\\d/, ' ', /\\d/, /\\d/, /\\d/, /\\d/, '0', /\\d/, /\\d/, /\\d/, /\\d/, ' ', /\\d/, /\\d/, '/', /\\d/, /\\d/, ' ', /\\d/, /\\d/, /\\d/]\n },\n celular: {\n text: '(00) 00000-0000',\n textMask: ['(', /[1-9]/, /\\d/, ')', ' ', /[5-9]/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/],\n },\n cep: {\n text: '00.000-000',\n textMask: [/\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/]\n },\n // certidao Certidões de Nascimento, Casamento ou Óbito \n certidao: {\n text: '000000.00.00.0000.0.00000.000.0000000-00', // 104539.01.55.2013.1.00012.021.0000123-21\n textMask: [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, '.', /\\d/, /\\d/, '.',\n /\\d/, /\\d/, /\\d/, /\\d/, '.', /\\d/, '.', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '.',\n /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/]\n },\n chassi: {\n text: 'AAA AAAAAA AA AA0000', // 9BW ZZZ377 VT 004251\n textMask: [/[1-9]/, /\\w/, /\\w/, ' ', /\\w/, /\\w/, /\\w/, /\\w/, /\\w/, /\\w/, ' ', /\\w/, /\\w/, ' ', /\\w/, /\\w/, /\\d/, /\\d/, /\\d/, /\\d/]\n },\n cid: {\n textMask: false\n },\n cnae: {\n text: '0000-0/00', // 6821-8/01\n textMask: [/\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, '/', /\\d/, /\\d/]\n },\n cnh: {\n text: '000000000-00', // 123456789-1\n textMask: [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/]\n },\n renachseguranca: {\n text: '00000000000', // 51474546854\n textMask: [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/]\n },\n renachestadual: {\n text: 'AA000000000', // MG597812560\n textMask: [/[A-S]/, /[A-Z]/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/]\n },\n cnhespelho: {\n text: '0000000000', // 123456789-1\n textMask: [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/]\n },\n cnpj: {\n text: '00.000.000/0000-00',\n textMask: [/\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/]\n },\n cns: {\n text: '000 0000 0000 00-00',\n textMask: [/[1|2|7|8|9]/, /\\d/, /\\d/, ' ', /\\d/, /\\d/, /\\d/, /\\d/, ' ', /\\d/, /\\d/, /\\d/, /\\d/, ' ', /\\d/, /\\d/, '-', /\\d/, /\\d/]\n },\n contabanco: {\n text: '000 00000-0 00000-0',\n textMask: [/\\d/, /\\d/, /\\d/, ' ', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-',\n /\\d/, ' ', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/]\n },\n cpf: {\n text: '000.000.000-00',\n textMask: [/\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/]\n },\n cpfcnpj: {\n text: '00.000.000/0000-00',\n textMask: [/\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/],\n textMaskFunction: function mask(userInput: any) {\n const numbers = userInput.match(/\\d/g);\n let numberLength = 0;\n if (numbers) {\n numberLength = numbers.join('').length;\n }\n if (!userInput || numberLength > 12) {\n return [/\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/];\n } else {\n return [/\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/];\n }\n }\n },\n currency: {\n text: '0.000,00',\n textMask: createNumberMask({\n ...maskNumber,\n prefix: 'R$ ',\n allowNegative: true\n })\n },\n data: {\n text: '00/00/0000',\n textMask: [/[0-3]/, /[0-9]/, '/', /[0-1]/, /[0-9]/, '/', /[0-2]/, /[0-9]/, /\\d/, /\\d/]\n },\n date: {\n text: '00/00/0000',\n textMask: [/[0-1]/, /[0-9]/, '/', /[0-3]/, /[0-9]/, '/', /[0-2]/, /[0-9]/, /\\d/, /\\d/]\n },\n datetime: {\n text: '00/00/0000 00:00',\n textMask: [/[0-1]/, /[0-9]/, '/', /[0-3]/, /[0-9]/, '/', /[0-2]/, /[0-9]/, /\\d/, /\\d/, ' ', /\\d/, /\\d/, ':', /[0-5]/, /\\d/]\n },\n datahora: {\n text: '00/00/0000 00:00',\n textMask: [/[0-3]/, /[0-9]/, '/', /[0-1]/, /[0-9]/, '/', /[0-2]/, /[0-9]/, /\\d/, /\\d/, ' ', /\\d/, /\\d/, ':', /[0-5]/, /\\d/]\n },\n ect: {\n text: '00000000-0',\n textMask: [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/]\n },\n endereco: {\n text: '0000.0000.0000',\n textMask: [/\\d/, /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, /\\d/, '.', /[0-2]/, /[0-9]/, /\\d/, /\\d/]\n },\n iptu: {\n text: '0000.0000.0000',\n textMask: [/\\d/, /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, /\\d/, '.', /[0-2]/, /[0-9]/, /\\d/, /\\d/]\n },\n number: {\n text: '0.000,00',\n textMask: createNumberMask(maskNumber)\n },\n porcentagem: {\n text: '00,00%',\n textMask: createNumberMask({\n ...maskNumber,\n suffix: '%'\n })\n },\n pispasep: {\n text: '000.00000.00-0',\n textMask: [/\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, '-', /\\d/]\n },\n placa: {\n text: 'AAA-0000',\n textMask: [/[A-S]/, /[A-Z]/, /[A-Z]/, '-', /\\d/, /\\d/, /\\d/, /\\d/]\n },\n processo: {\n text: '0000000-00.0000.AAA.0000',\n textMask: [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, /\\d/, '.', /[A-Za-z]/, /[A-Za-z]/, /[A-Za-z]/, '.', /\\d/, /\\d/, /\\d/, /\\d/]\n },\n renavam: {\n text: '0000000000-00',\n textMask: [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/],\n textMaskFunction: function mask(userInput: any) {\n const numbers = userInput.match(/\\d/g);\n let numberLength = 0;\n if (numbers) {\n numberLength = numbers.join('').length;\n }\n if (!userInput || numberLength < 9) {\n return [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/];\n } else {\n return [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/];\n }\n }\n },\n rg: {\n text: 'AA-00.000.000',\n textMask: [/[A-Za-z]/, /[A-Za-z]/, '-', /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/]\n },\n sped: {\n text: '0000.0000.0000',\n textMask: [/\\d/, /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, /\\d/, '.', /[0-2]/, /[0-9]/, /\\d/, /\\d/]\n },\n telefone: {\n text: '(00) 00000-0000',\n textMask: ['(', /[1-9]/, /\\d/, ')', ' ', /[1-9]/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/],\n textMaskFunction: function mask(userInput: any) {\n const numbers = userInput.match(/\\d/g);\n let numberLength = 0;\n if (numbers) {\n numberLength = numbers.join('').length;\n }\n if (!userInput || numberLength > 10) {\n return ['(', /[1-9]/, /\\d/, ')', ' ', /[1-9]/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\n } else {\n return ['(', /[1-9]/, /\\d/, ')', ' ', /[1-9]/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\n }\n }\n },\n time: {\n text: '00:00',\n textMask: [/\\d/, /\\d/, ':', /[0-5]/, /\\d/]\n },\n titulo: {\n text: '0000.0000.0000',\n textMask: [/\\d/, /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, /\\d/, '.', /[0-2]/, /[0-9]/, /\\d/, /\\d/]\n },\n utils: {\n numberToString: (n: number) => {\n if (!n || typeof n === 'string') {\n return n;\n }\n return (n.toString()).replace('.', ',');\n },\n textMask: false\n }\n}\n\n\nconst makeGeneric = (key: string) => {\n return (value: string) => {\n if (!value) {\n return '';\n }\n let mask = MASKS[key].textMask\n let textMaskFunction = MASKS[key].textMaskFunction\n if (typeof textMaskFunction === 'function') {\n mask = textMaskFunction(value);\n }\n\n\n return conformToMask(\n value,\n mask,\n { guide: false }\n ).conformedValue;\n }\n}\n\nexport const maskBr = {\n aih: makeGeneric('aih'),\n celular: makeGeneric('celular'),\n cep: makeGeneric('cep'),\n certidao: makeGeneric('certidao'),\n chassi: makeGeneric('chassi'),\n cnae: makeGeneric('cnae'),\n cnh: makeGeneric('cnh'),\n renachseguranca: makeGeneric('renachseguranca'),\n renachestadual: makeGeneric('renachestadual'),\n cnhespelho: makeGeneric('cnhespelho'),\n cnpj: makeGeneric('cnpj'),\n cns: makeGeneric('cns'),\n contabanco: makeGeneric('contabanco'),\n cpf: makeGeneric('cpf'),\n cpfcnpj: makeGeneric('cpfcnpj'),\n cartaocredito: makeGeneric('cartaocredito'),\n currency: (currencyValueInput: string | number, decimalsFormat: number = 2) => {\n return formatNumber(MASKS['currency'], currencyValueInput, decimalsFormat);\n },\n data: makeGeneric('data'),\n date: makeGeneric('date'),\n datetime: makeGeneric('datetime'),\n datahora: makeGeneric('datahora'),\n ect: makeGeneric('ect'),\n endereco: makeGeneric('endereco'),\n inscricaoestadual: (inscricaoestadualValue: string, estado: string) => {\n const ie = MASKSIE;\n const ieState = ie[estado]\n\n if (!inscricaoestadualValue || !estado || !ieState ||\n !ieState.textMask) {\n return '';\n }\n\n let mask = ieState.textMask;\n let textMaskFunction = ieState.textMaskFunction\n if (typeof textMaskFunction === 'function') {\n mask = textMaskFunction(inscricaoestadualValue);\n }\n\n return conformToMask(\n inscricaoestadualValue,\n mask,\n { guide: false }\n ).conformedValue;\n },\n iptu: (iptuValue: string, estado: string, cidade: string) => {\n const mask = mask_iptu(iptuValue, estado, cidade);\n if (!mask || typeof mask === 'string') {\n return '';\n }\n return conformToMask(\n iptuValue,\n mask.textMask,\n { guide: false }\n ).conformedValue;\n },\n number: (numberValue: any, decimalsFormat: number = 2) => {\n return formatNumber(MASKS['number'], numberValue, decimalsFormat);\n },\n porcentagem: (porcentagemValue: string, decimalsFormat: number = 2) => {\n return formatNumber(MASKS['porcentagem'], porcentagemValue, decimalsFormat);\n },\n pispasep: makeGeneric('pispasep'),\n placa: makeGeneric('placa'),\n processo: makeGeneric('processo'),\n renavam: makeGeneric('renavam'),\n rg: makeGeneric('rg'),\n sped: makeGeneric('sped'),\n telefone: makeGeneric('telefone'),\n time: (value: string | Date) => {\n if (value instanceof Date) {\n value = value.toTimeString().split(' ')[0]\n }\n return makeGeneric('time')(value)\n },\n titulo: makeGeneric('titulo')\n};\n\n\n\n/**\n * FROM TEXT-MASK\n */\nexport const placeholderChar = '_'\nexport const strFunction = 'function'\n\nconst defaultPlaceholderChar = placeholderChar;\nconst emptyArray: any = []\nconst emptyString = ''\n\nexport function conformToMask(inputValue: String | Date = emptyString, mask = emptyArray, config: any = {}) {\n let rawValue = inputValue.toString();\n if (typeof inputValue === 'number') {\n rawValue = (<number>inputValue).toString();\n }\n if (inputValue instanceof Date) {\n rawValue = (<Date>inputValue).toLocaleString(\"pt-br\")\n }\n\n if (!isArray(mask)) {\n // If someone passes a function as the mask property, we should call the\n // function to get the mask array - Normally this is handled by the\n // `createTextMaskInputElement:update` function - this allows mask functions\n // to be used directly with `conformToMask`\n\n if (typeof mask === strFunction) {\n // call the mask function to get the mask array\n mask = mask(inputValue, config)\n\n // mask functions can setup caret traps to have some control over how the caret moves. We need to process\n // the mask for any caret traps. `processCaretTraps` will remove the caret traps from the mask\n mask = processCaretTraps(mask).maskWithoutCaretTraps\n } else {\n throw new Error(\n 'Text-mask:conformToMask; The mask property must be an array.'\n )\n }\n }\n\n // These configurations tell us how to conform the mask\n\n const guide = config.guide || true;\n const previousConformedValue = config.previousConformedValue || emptyString;\n const placeholder = convertMaskToPlaceholder(mask, placeholderChar);\n const currentCaretPosition = config.currentCaretPosition;\n const keepCharPositions = config.keepCharPositions;\n\n // The configs below indicate that the user wants the algorithm to work in *no guide* mode\n const suppressGuide = guide === false && previousConformedValue !== undefined\n\n // Calculate lengths once for performance\n const rawValueLength = rawValue.length\n const previousConformedValueLength = previousConformedValue.length\n const placeholderLength = placeholder.length\n const maskLength = mask.length\n\n // This tells us the number of edited characters and the direction in which they were edited (+/-)\n const editDistance = rawValueLength - previousConformedValueLength\n\n // In *no guide* mode, we need to know if the user is trying to add a character or not\n const isAddition = editDistance > 0\n\n // Tells us the index of the first change. For (438) 394-4938 to (38) 394-4938, that would be 1\n const indexOfFirstChange = currentCaretPosition + (isAddition ? -editDistance : 0)\n\n // We're also gonna need the index of last change, which we can derive as follows...\n const indexOfLastChange = indexOfFirstChange + Math.abs(editDistance)\n\n // If `conformToMask` is configured to keep character positions, that is, for mask 111, previous value\n // _2_ and raw value 3_2_, the new conformed value should be 32_, not 3_2 (default behavior). That's in the case of\n // addition. And in the case of deletion, previous value _23, raw value _3, the new conformed string should be\n // __3, not _3_ (default behavior)\n //\n // The next block of logic handles keeping character positions for the case of deletion. (Keeping\n // character positions for the case of addition is further down since it is handled differently.)\n // To do this, we want to compensate for all characters that were deleted\n if (keepCharPositions === true && !isAddition) {\n // We will be storing the new placeholder characters in this variable.\n let compensatingPlaceholderChars = emptyString\n\n // For every character that was deleted from a placeholder position, we add a placeholder char\n for (let i = indexOfFirstChange; i < indexOfLastChange; i++) {\n if (placeholder[i] === placeholderChar) {\n compensatingPlaceholderChars += placeholderChar\n }\n }\n\n // Now we trick our algorithm by modifying the raw value to make it contain additional placeholder characters\n // That way when the we start laying the characters again on the mask, it will keep the non-deleted characters\n // in their positions.\n rawValue = (\n rawValue.slice(0, indexOfFirstChange) +\n compensatingPlaceholderChars +\n rawValue.slice(indexOfFirstChange, rawValueLength)\n )\n }\n\n // Convert `rawValue` string to an array, and mark characters based on whether they are newly added or have\n // existed in the previous conformed value. Identifying new and old characters is needed for `conformToMask`\n // to work if it is configured to keep character positions.\n const rawValueArr = rawValue\n .split(emptyString)\n .map((char, i) => ({ char, isNew: i >= indexOfFirstChange && i < indexOfLastChange }))\n\n // The loop below removes masking characters from user input. For example, for mask\n // `00 (111)`, the placeholder would be `00 (___)`. If user input is `00 (234)`, the loop below\n // would remove all characters but `234` from the `rawValueArr`. The rest of the algorithm\n // then would lay `234` on top of the available placeholder positions in the mask.\n for (let i = rawValueLength - 1; i >= 0; i--) {\n const { char } = rawValueArr[i]\n\n if (char !== placeholderChar) {\n const shouldOffset = i >= indexOfFirstChange && previousConformedValueLength === maskLength\n\n if (char === placeholder[(shouldOffset) ? i - editDistance : i]) {\n rawValueArr.splice(i, 1)\n }\n }\n }\n\n // This is the variable that we will be filling with characters as we figure them out\n // in the algorithm below\n let conformedValue = emptyString\n let someCharsRejected = false\n\n // Ok, so first we loop through the placeholder looking for placeholder characters to fill up.\n placeholderLoop: for (let i = 0; i < placeholderLength; i++) {\n const charInPlaceholder = placeholder[i]\n\n // We see one. Let's find out what we can put in it.\n if (charInPlaceholder === placeholderChar) {\n // But before that, do we actually have any user characters that need a place?\n if (rawValueArr.length > 0) {\n // We will keep chipping away at user input until either we run out of characters\n // or we find at least one character that we can map.\n while (rawValueArr.length > 0) {\n // Let's retrieve the first user character in the queue of characters we have left\n const shift = rawValueArr.shift();\n let rawValueChar: string = '', isNew: boolean = false;\n if (shift) {\n rawValueChar = shift.char;\n isNew = shift.isNew;\n }\n\n // If the character we got from the user input is a placeholder character (which happens\n // regularly because user input could be something like (540) 90_-____, which includes\n // a bunch of `_` which are placeholder characters) and we are not in *no guide* mode,\n // then we map this placeholder character to the current spot in the placeholder\n if (rawValueChar === placeholderChar && suppressGuide !== true) {\n conformedValue += placeholderChar\n\n // And we go to find the next placeholder character that needs filling\n continue placeholderLoop\n\n // Else if, the character we got from the user input is not a placeholder, let's see\n // if the current position in the mask can accept it.\n } else if (mask[i].test(rawValueChar)) {\n // we map the character differently based on whether we are keeping character positions or not.\n // If any of the conditions below are met, we simply map the raw value character to the\n // placeholder position.\n if (\n keepCharPositions !== true ||\n isNew === false ||\n previousConformedValue === emptyString ||\n guide === false ||\n !isAddition\n ) {\n conformedValue += rawValueChar\n } else {\n // We enter this block of code if we are trying to keep character positions and none of the conditions\n // above is met. In this case, we need to see if there's an available spot for the raw value character\n // to be mapped to. If we couldn't find a spot, we will discard the character.\n //\n // For example, for mask `1111`, previous conformed value `_2__`, raw value `942_2__`. We can map the\n // `9`, to the first available placeholder position, but then, there are no more spots available for the\n // `4` and `2`. So, we discard them and end up with a conformed value of `92__`.\n const rawValueArrLength = rawValueArr.length\n let indexOfNextAvailablePlaceholderChar = null\n\n // Let's loop through the remaining raw value characters. We are looking for either a suitable spot, ie,\n // a placeholder character or a non-suitable spot, ie, a non-placeholder character that is not new.\n // If we see a suitable spot first, we store its position and exit the loop. If we see a non-suitable\n // spot first, we exit the loop and our `indexOfNextAvailablePlaceholderChar` will stay as `null`.\n for (let i = 0; i < rawValueArrLength; i++) {\n const charData = rawValueArr[i]\n\n if (charData.char !== placeholderChar && charData.isNew === false) {\n break\n }\n\n if (charData.char === placeholderChar) {\n indexOfNextAvailablePlaceholderChar = i\n break\n }\n }\n\n // If `indexOfNextAvailablePlaceholderChar` is not `null`, that means the character is not blocked.\n // We can map it. And to keep the character positions, we remove the placeholder character\n // from the remaining characters\n if (indexOfNextAvailablePlaceholderChar !== null) {\n conformedValue += rawValueChar\n rawValueArr.splice(indexOfNextAvailablePlaceholderChar, 1)\n\n // If `indexOfNextAvailablePlaceholderChar` is `null`, that means the character is blocked. We have to\n // discard it.\n } else {\n i--\n }\n }\n\n // Since we've mapped this placeholder position. We move on to the next one.\n continue placeholderLoop\n } else {\n someCharsRejected = true\n }\n }\n }\n\n // We reach this point when we've mapped all the user input characters to placeholder\n // positions in the mask. In *guide* mode, we append the left over characters in the\n // placeholder to the `conformedString`, but in *no guide* mode, we don't wanna do that.\n //\n // That is, for mask `(111)` and user input `2`, we want to return `(2`, not `(2__)`.\n if (suppressGuide === false) {\n conformedValue += placeholder.substr(i, placeholderLength)\n }\n\n // And we break\n break\n\n // Else, the charInPlaceholder is not a placeholderChar. That is, we cannot fill it\n // with user input. So we just map it to the final output\n } else {\n conformedValue += charInPlaceholder\n }\n }\n\n // The following logic is needed to deal with the case of deletion in *no guide* mode.\n //\n // Consider the silly mask `(111) /// 1`. What if user tries to delete the last placeholder\n // position? Something like `(589) /// `. We want to conform that to `(589`. Not `(589) /// `.\n // That's why the logic below finds the last filled placeholder character, and removes everything\n // from that point on.\n if (suppressGuide && isAddition === false) {\n let indexOfLastFilledPlaceholderChar = null\n\n // Find the last filled placeholder position and substring from there\n for (let i = 0; i < conformedValue.length; i++) {\n if (placeholder[i] === placeholderChar) {\n indexOfLastFilledPlaceholderChar = i\n }\n }\n\n if (indexOfLastFilledPlaceholderChar !== null) {\n // We substring from the beginning until the position after the last filled placeholder char.\n conformedValue = conformedValue.substr(0, indexOfLastFilledPlaceholderChar + 1)\n } else {\n // If we couldn't find `indexOfLastFilledPlaceholderChar` that means the user deleted\n // the first character in the mask. So we return an empty string.\n conformedValue = emptyString\n }\n }\n\n return { conformedValue, meta: { someCharsRejected } }\n}\n\n\nexport function convertMaskToPlaceholder(mask = emptyArray, placeholderChar = defaultPlaceholderChar) {\n if (!isArray(mask)) {\n throw new Error(\n 'Text-mask:convertMaskToPlaceholder; The mask property must be an array.'\n )\n }\n\n if (mask.indexOf(placeholderChar) !== -1) {\n throw new Error(\n 'Placeholder character must not be used as part of the mask. Please specify a character ' +\n 'that is not present in your mask as your placeholder character.\\n\\n' +\n `The placeholder character that was received is: ${JSON.stringify(placeholderChar)}\\n\\n` +\n `The mask that was received is: ${JSON.stringify(mask)}`\n )\n }\n\n return mask.map((char: any) => {\n return (char instanceof RegExp) ? placeholderChar : char\n }).join('')\n}\n\n/**\n * Due to a bug on textmask, the requireDecimal its not working, so this function solves this problem\n * @param maskType \n * @param numberValue \n * @param decimalsFormat \n * @returns \n */\nfunction formatNumber(maskType: any, numberValue: any, decimalsFormat: number = 2) {\n if (!numberValue && numberValue !== 0) {\n return '';\n }\n\n if (!numberValue.split) {\n numberValue += '';\n numberValue = numberValue.replace('.', ',');\n }\n\n const vals = numberValue.split(',');\n\n if (!maskType.textMask || typeof maskType.textMask !== 'function') {\n return '';\n }\n\n const mask = maskType.textMask(vals[0]);\n\n let decimals = ''\n if (decimalsFormat == undefined) {\n decimals = vals.length > 1 ? ',' + vals[1] : '';\n } else {\n decimals = vals.length > 1 ? (vals[1] < 10 ? vals[1].toString() + '0' : vals[1].toString()) : '00';\n if (decimals.length > decimalsFormat) {\n decimals = decimals.substring(0, decimalsFormat);\n }\n }\n\n let conformedValue = conformToMask(\n numberValue,\n mask,\n { guide: false }\n ).conformedValue\n\n\n let suffix = ''\n if (conformedValue.indexOf('%') >= 0) {\n conformedValue = conformedValue.replace('%', '')\n suffix = '%'\n }\n return conformedValue + (decimalsFormat > 0 ? ',' + decimals : '') + suffix;\n}","import {\n isPresent,\n isArray,\n isString,\n isNumber,\n isNil,\n processCaretTraps,\n allNumbersAreSame,\n getAllDigits,\n getAllWords,\n currencyToNumber,\n modulo11,\n numberToCurrency,\n slugify,\n fillString,\n randArray,\n rand,\n randomNumber,\n randomLetter,\n randomLetterOrNumber,\n getSpecialProperty\n} from './utils';\nexport { validateBr } from './validate';\nimport * as mask from './mask';\nimport { MASKS, MASKSIE } from './mask';\nimport { PLACAS_RANGE } from './placa';\nimport { ESTADOS } from './estados';\nimport { BigObject } from './interfaces';\n\nexport const utilsBr = {\n isPresent,\n isArray,\n isString,\n isNumber,\n isNil,\n processCaretTraps,\n allNumbersAreSame,\n getAllDigits,\n getAllWords,\n currencyToNumber,\n modulo11,\n numberToCurrency,\n slugify,\n fillString,\n randArray,\n rand,\n randomNumber,\n randomLetter,\n randomLetterOrNumber,\n getSpecialProperty,\n MASKS,\n MASKSIE,\n PLACAS_RANGE,\n ESTADOS\n};\n\nexport const maskBr: BigObject<Function> = mask.maskBr;","export const LOCALIZACAO_RUAS = ['Dois', 'Um', 'Principal', 'São José', 'Onze', 'São Paulo', 'Doze', 'Treze',\n 'Santo Antônio', 'Brasil', 'A', 'São Pedro', 'Quinze', 'São João',\n 'Quatorze', 'São Francisco', 'Sete de Setembro', 'Dezesseis', 'Quinze de Novembro',\n 'Tiradentes', 'Dezessete', 'Vinte', 'Bahia', 'Amazonas', 'Dezoito', 'São Sebastião', 'Paraná', 'Bela Vista', 'Santa Luzia', 'São Jorge',\n 'Castro Alves', 'Duque de Caxias', 'Projetada', 'Rui Barbosa', 'Santa Catarina', 'Minas Gerais', 'Santos Dumont',\n 'Espírito Santo', 'Vinte e Um', 'Vinte e Dois', 'da Paz', 'Treze de Maio', 'Rio de Janeiro',\n 'Goiás', 'Ceará', 'Belo Horizonte', 'das Flores', 'Sergipe', 'Vitória', 'José Bonifácio',\n 'Pernambuco', 'Piauí', 'Vinte e Três', 'Mato Grosso', 'Santa Maria', 'Dom Pedro II',\n 'Primeiro de Maio', 'Pará', 'Maranhão', 'Alagoas', 'Boa Vista', 'São Luiz', 'Vinte e Quatro', 'Paraíba', 'Santa Rita'];\n\nexport const LOCALIZACAO_LOGRADOUROS = ['Avenida', 'Rua', 'Marginal'];\n\nexport const LOCALIZACAO_COMPLEMENTOS = [`Apartamento`, 'Aeroporto', 'Anexo', `Andar`, `Bloco`, `Conjunto`, 'Cobertura', `Casa`,\n 'Fazenda', 'Fundos', 'Galeria', `Galpão`, `Lote`, `Loja`, `Portão`, `Quadra`, `Sala`, `Sobreloja`, 'Subsolo', 'Terreo'];\n\nexport const LOCALIZACAO_BAIRROS = ['Centro', 'Bela Vista', 'São José', 'Santo Antônio', 'São Francisco', 'Vila Nova',\n 'Boa Vista', 'Industrial', 'São Cristóvão', 'Planalto'];\n\nexport const LOCALIZACAO_ESTADOS = [\n { \"nome\": \"Acre\", \"uf\": \"AC\" },\n { \"nome\": \"Alagoas\", \"uf\": \"AL\" },\n { \"nome\": \"Amapá\", \"uf\": \"AP\" },\n { \"nome\": \"Amazonas\", \"uf\": \"AM\" },\n { \"nome\": \"Bahia\", \"uf\": \"BA\" },\n { \"nome\": \"Ceará\", \"uf\": \"CE\" },\n { \"nome\": \"Distrito Federal\", \"uf\": \"DF\" },\n { \"nome\": \"Espírito Santo\", \"uf\": \"ES\" },\n { \"nome\": \"Goiás\", \"uf\": \"GO\" },\n { \"nome\": \"Maranhão\", \"uf\": \"MA\" },\n { \"nome\": \"Mato Grosso\", \"uf\": \"MT\" },\n { \"nome\": \"Mato Grosso do Sul\", \"uf\": \"MS\" },\n { \"nome\": \"Minas Gerais\", \"uf\": \"MG\" },\n { \"nome\": \"Pará\", \"uf\": \"PA\" },\n { \"nome\": \"Paraíba\", \"uf\": \"PB\" },\n { \"nome\": \"Paraná\", \"uf\": \"PR\" },\n { \"nome\": \"Pernambuco\", \"uf\": \"PE\" },\n { \"nome\": \"Piauí\", \"uf\": \"PI\" },\n { \"nome\": \"Rio de Janeiro\", \"uf\": \"RJ\" },\n { \"nome\": \"Rio Grande do Norte\", \"uf\": \"RN\" },\n { \"nome\": \"Rio Grande do Sul\", \"uf\": \"RS\" },\n { \"nome\": \"Rondônia\", \"uf\": \"RO\" },\n { \"nome\": \"Roraima\", \"uf\": \"RR\" },\n { \"nome\": \"Santa Catarina\", \"uf\": \"SC\" },\n { \"nome\": \"São Paulo\", \"uf\": \"SP\" },\n { \"nome\": \"Sergipe\", \"uf\": \"SE\" },\n { \"nome\": \"Tocantins\", \"uf\": \"TO\" }\n];\nexport const LOCALIZACAO_CIDADES = [\n ['São Paulo', 'São Paulo'],\n ['Rio de Janeiro', 'Rio de Janeiro'],\n ['Brasília', 'Distrito Federal'],\n ['Salvador', 'Bahia'],\n ['Fortaleza', 'Ceará'],\n ['Belo Horizonte', 'Minas Gerais'],\n ['Manaus', 'Amazonas'],\n ['Curitiba', 'Paraná'],\n ['Recife', 'Pernambuco'],\n ['Goiânia', 'Goiás'],\n ['Belém', 'Pará'],\n ['Porto Alegre', 'Rio Grande do Sul'],\n ['Guarulhos', 'São Paulo'],\n ['Campinas', 'São Paulo'],\n ['São Luís', 'Maranhão'],\n ['São Gonçalo', 'Rio de Janeiro'],\n ['Maceió', 'Alagoas'],\n ['Duque de Caxias', 'Rio de Janeiro'],\n ['Cuiabá', 'Mato Grosso'],\n ['Campo Grande', 'Mato Grosso do Sul'],\n ['Natal', 'Rio Grande do Norte'],\n ['Teresina', 'Piauí'],\n ['São Bernardo do Campo', 'São Paulo'],\n ['Nova Iguaçu', 'Rio de Janeiro'],\n ['João Pessoa', 'Paraíba'],\n ['São José dos Campos', 'São Paulo'],\n ['Santo André', 'São Paulo'],\n ['Ribeirão Preto', 'São Paulo'],\n ['Jaboatão dos Guararapes', 'Pernambuco'],\n ['Osasco', 'São Paulo'],\n ['Uberlândia', 'Minas Gerais'],\n ['Sorocaba', 'São Paulo'],\n ['Contagem', 'Minas Gerais'],\n ['Aracaju', 'Sergipe'],\n ['Feira de Santana', 'Bahia'],\n ['Cuiabá', 'Mato Grosso'],\n ['Joinville', 'Santa Catarina'],\n ['Aparecida de Goiânia', 'Goiás'],\n ['Londrina', 'Paraná'],\n ['Juiz de Fora', 'Minas Gerais'],\n ['Ananindeua', 'Pará'],\n ['Porto Velho', 'Rondônia'],\n ['Serra', 'Espírito Santo'],\n ['Niterói', 'Rio de Janeiro'],\n ['Belford Roxo', 'Rio de Janeiro'],\n ['Caxias do Sul', 'Rio Grande do Sul'],\n ['Campos dos Goytacazes Campos dos Goytacazes', 'Rio de Janeiro'],\n ['Macapá', 'Amapá'],\n ['Florianópolis', 'Santa Catarina'],\n ['Vila Velha', 'Espírito Santo'],\n ['Mauá', 'São Paulo'],\n ['São João de Meriti', 'Rio de Janeiro'],\n ['São José do Rio Preto', 'São Paulo'],\n ['Mogi das Cruzes', 'São Paulo'],\n ['Betim', 'Minas Gerais'],\n ['Santos', 'São Paulo'],\n ['Diadema', 'São Paulo'],\n ['Maringá', 'Paraná'],\n ['Jundiaí', 'São Paulo'],\n ['Campina Grande', 'Paraíba'],\n ['Montes Claros', 'Minas Gerais'],\n ['Rio Branco', 'Acre'],\n ['Piracicaba', 'São Paulo'],\n ['Carapicuíba', 'São Paulo'],\n ['Boa Vista', 'Roraima'],\n ['Olinda', 'Pernambuco'],\n ['Anápolis', 'Goiás'],\n ['Cariacica', 'Espírito Santo'],\n ['Bauru', 'São Paulo'],\n ['Itaquaquecetuba', 'São Paulo'],\n ['São Vicente', 'São Paulo'],\n ['Vitória', 'Espírito Santo'],\n ['Caucaia', 'Ceará'],\n ['Caruaru', 'Pernambuco'],\n ['Blumenau', 'Santa Catarina'],\n ['Franca', 'São Paulo'],\n ['Ponta Grossa', 'Paraná'],\n ['Petrolina', 'Pernambuco'],\n ['Canoas', 'Rio Grande do Sul'],\n ['Pelotas', 'Rio Grande do Sul'],\n ['Vitória da Conquista', 'Bahia'],\n ['Ribeirão das Neves', 'Minas Gerais'],\n ['Uberaba', 'Minas Gerais'],\n ['Paulista', 'Pernambuco'],\n ['Cascavel', 'Paraná'],\n ['Praia Grande', 'São Paulo'],\n ['São José dos Pinhais', 'Paraná'],\n ['Guarujá', 'São Paulo'],\n ['Taubaté', 'São Paulo'],\n ['Petrópolis', 'Rio de Janeiro'],\n ['Limeira', 'São Paulo'],\n ['Santarém', 'Pará'],\n ['Camaçari', 'Bahia'],\n ['Palmas', 'Tocantins'],\n ['Suzano', 'São Paulo'],\n ['Mossoró', 'Rio Grande do Norte'],\n ['Taboão da Serra', 'São Paulo'],\n ['Várzea Grande', 'Mato Grosso'],\n ['Sumaré', 'São Paulo'],\n ['Santa Maria', 'Rio Grande do Sul'],\n ['Gravataí', 'Rio Grande do Sul'],\n ['Governador Valadares', 'Minas Gerais'],\n ['Marabá', 'Pará'],\n ['Juazeiro do Norte', 'Ceará'],\n ['Barueri', 'São Paulo'],\n ['Embu das Artes', 'São Paulo'],\n ['Volta Redonda', 'Rio de Janeiro'],\n ['Ipatinga', 'Minas Gerais'],\n ['Parnamirim', 'Rio Grande do Norte'],\n ['Imperatriz', 'Maranhão'],\n ['Foz do Iguaçu', 'Paraná'],\n ['Macaé', 'Rio de Janeiro'],\n ['Viamão', 'Rio Grande do Sul'],\n ['São Carlos', 'São Paulo'],\n ['Indaiatuba', 'São Paulo'],\n ['Cotia', 'São Paulo'],\n ['Novo Hamburgo', 'Rio Grande do Sul'],\n ['São José', 'Santa Catarina'],\n ['Magé', 'Rio de Janeiro'],\n ['Colombo', 'Paraná'],\n ['Itaboraí', 'Rio de Janeiro'],\n ['Sete Lagoas', 'Minas Gerais'],\n ['Americana', 'São Paulo'],\n ['Marília', 'São Paulo'],\n ['Divinópolis', 'Minas Gerais'],\n ['Itapevi', 'São Paulo'],\n ['São Leopoldo', 'Rio Grande do Sul'],\n ['Araraquara', 'São Paulo'],\n ['Rio Verde', 'Goiás'],\n ['Jacareí', 'São Paulo'],\n ['Rondonópolis', 'Mato Grosso'],\n ['Arapiraca', 'Alagoas'],\n ['Hortolândia', 'São Paulo'],\n ['Presidente Prudente', 'São Paulo'],\n ['Maracanaú', 'Ceará'],\n ['Dourados', 'Mato Grosso do Sul'],\n ['Chapecó Chapecó', 'Santa Catarina'],\n ['Cabo Frio', 'Rio de Janeiro'],\n ['Itajaí', 'Santa Catarina'],\n ['Santa Luzia', 'Minas Gerais'],\n ['Juazeiro', 'Bahia'],\n ['Criciúma', 'Santa Catarina'],\n ['Itabuna', 'Bahia'],\n ['Águas Lindas de Goiás', 'Goiás'],\n ['Rio Grande', 'Rio Grande do Sul'],\n ['Alvorada', 'Rio Grande do Sul'],\n ['Cachoeiro de Itapemirim', 'Espírito Santo'],\n ['Sobral', 'Ceará'],\n ['Luziânia', 'Goiás'],\n ['Parauapebas', 'Pará'],\n ['Cabo de Santo Agostinho', 'Pernambuco'],\n ['Rio Claro', 'São Paulo'],\n ['Angra dos Reis', 'Rio de Janeiro'],\n ['Passo Fundo', 'Rio Grande do Sul'],\n ['Castanhal', 'Pará'],\n ['Lauro de Freitas', 'Bahia'],\n ['Araçatuba', 'São Paulo'],\n ['Ferraz de Vasconcelos', 'São Paulo'],\n ['Santa Bárbara do Oeste', 'São Paulo'],\n ['Nova Friburgo', 'Rio de Janeiro'],\n ['Barra Mansa', 'Rio de Janeiro'],\n ['Nossa Senhora do Socorro', 'Sergipe'],\n ['Teresópolis', 'Rio de Janeiro'],\n ['Guarapuava', 'Paraná'],\n ['Araguaína', 'Tocantins'],\n ['Ibirité', 'Minas Gerais'],\n ['Jaraguá do Sul', 'Santa Catarina'],\n ['São José de Ribamar', 'Maranhão'],\n ['Mesquita', 'Rio de Janeiro'],\n ['Francisco Morato', 'São Paulo'],\n ['Itapecerica da Serra', 'São Paulo'],\n ['Itu', 'São Paulo'],\n ['Linhares', 'Espírito Santo'],\n ['Palhoça', 'Santa Catarina'],\n ['Timon', 'Maranhão'],\n ['Bragança Paulista', 'São Paulo'],\n ['Valparaíso de Goiás', 'Goiás'],\n ['Pindamonhangaba', 'São Paulo'],\n ['Poços de Caldas', 'Minas Gerais'],\n ['Caxias', 'Maranhão'],\n ['Itapetininga', 'São Paulo'],\n ['Nilópolis', 'Rio de Janeiro'],\n ['Ilhéus', 'Bahia'],\n ['Maricá', 'Rio de Janeiro'],\n ['São Caetano do Sul', 'São Paulo'],\n ['Teixeira de Freitas', 'Bahia'],\n ['Camaragibe', 'Pernambuco'],\n ['Abaetetuba', 'Pará'],\n ['Lages', 'Santa Catarina'],\n ['Jequié', 'Bahia'],\n ['Barreiras', 'Bahia'],\n ['Paranaguá', 'Paraná'],\n ['Franco da Rocha', 'São Paulo'],\n ['Parnaíba', 'Piauí'],\n ['Patos de Minas', 'Minas Gerais'],\n ['Mogi Guaçu', 'São Paulo'],\n ['Alagoinhas', 'Bahia'],\n ['Pouso Alegre', 'Minas Gerais'],\n ['Rio das Ostras', 'Rio de Janeiro'],\n ['Queimados', 'Rio de Janeiro'],\n ['Jaú', 'São Paulo'],\n ['Porto Seguro', 'Bahia'],\n ['Botucatu', 'São Paulo'],\n ['Araucária', 'Paraná'],\n ['Sinop', 'Mato Grosso'],\n ['Atibaia', 'São Paulo'],\n ['Balneário Camboriú', 'Santa Catarina'],\n ['Sapucaia do Sul', 'Rio Grande do Sul'],\n ['Toledo', 'Paraná'],\n ['Teófilo Otoni', 'Minas Gerais'],\n ['Garanhuns', 'Pernambuco'],\n ['Santana de Parnaíba', 'São Paulo'],\n ['Vitória de Santo Antão', 'Pernambuco'],\n ['Cametá', 'Pará'],\n ['Barbacena', 'Minas Gerais'],\n ['Santa Rita', 'Paraíba'],\n ['Sabará', 'Minas Gerais'],\n ['Varginha', 'Minas Gerais'],\n ['Apucarana', 'Paraná'],\n ['Brusque', 'Santa Catarina'],\n ['Simões Filho', 'Bahia'],\n ['Araras', 'São Paulo'],\n ['Itaguaí', 'Rio de Janeiro'],\n ['Araruama', 'Rio de Janeiro'],\n ['Pinhais', 'Paraná'],\n ['Crato', 'Ceará'],\n ['Campo Largo', 'Paraná'],\n ['Marituba', 'Pará'],\n ['Resende', 'Rio de Janeiro'],\n ['Cubatão', 'São Paulo'],\n ['São Mateus', 'Espírito Santo'],\n ['Santa Cruz do Sul', 'Rio Grande do Sul'],\n ['Cachoeirinha', 'Rio Grande do Sul'],\n ['Itapipoca', 'Ceará'],\n ['Valinhos', 'São Paulo'],\n ['Maranguape', 'Ceará'],\n ['Ji-Paraná', 'Rondônia'],\n ['Conselheiro Lafaiete', 'Minas Gerais'],\n ['São Félix do Xingu', 'Pará'],\n ['Bragança', 'Pará'],\n ['Vespasiano', 'Minas Gerais'],\n ['Trindade', 'Goiás'],\n ['Uruguaiana', 'Rio Grande do Sul'],\n ['Sertãozinho', 'São Paulo'],\n ['Jandira', 'São Paulo'],\n ['Guarapari', 'Espírito Santo'],\n ['Barcarena', 'Pará'],\n ['Birigui', 'São Paulo'],\n ['Ribeirão Pires', 'São Paulo'],\n ['Arapongas', 'Paraná'],\n ['Codó', 'Maranhão'],\n ['Colatina', 'Espírito Santo'],\n ['Votorantim', 'São Paulo'],\n ['Paço do Lumiar', 'Maranhão'],\n ['Barretos', 'São Paulo'],\n ['Catanduva', 'São Paulo'],\n ['Várzea Paulista', 'São Paulo'],\n ['Guaratinguetá', 'São Paulo'],\n ['Tatuí', 'São Paulo'],\n ['Formosa', 'Goiás'],\n ['Caraguatatuba', 'São Paulo'],\n ['Três Lagoas', 'Mato Grosso do Sul'],\n ['Santana', 'Amapá'],\n ['Bagé', 'Rio Grande do Sul'],\n ['Itatiba', 'São Paulo'],\n ['Bento Gonçalves', 'Rio Grande do Sul'],\n ['Itabira', 'Minas Gerais'],\n ['Salto', 'São Paulo'],\n ['Almirante Tamandaré', 'Paraná'],\n ['Paulo Afonso', 'Bahia'],\n ['Poá', 'São Paulo'],\n ['Araguari', 'Minas Gerais'],\n ['Igarassu', 'Pernambuco'],\n ['Novo Gama', 'Goiás'],\n ['Ubá', 'Minas Gerais'],\n ['Senador Canedo', 'Goiás'],\n ['Passos', 'Minas Gerais'],\n ['Altamira', 'Pará'],\n ['Parintins', 'Amazonas'],\n ['Tucuruí', 'Pará'],\n ['Ourinhos', 'São Paulo'],\n ['Eunápolis', 'Bahia'],\n ['São Lourenço da Mata', 'Pernambuco'],\n ['Paragominas', 'Pará'],\n ['Piraquara', 'Paraná'],\n ['Açailândia', 'Maranhão'],\n ['Umuarama', 'Paraná'],\n ['Corumbá', 'Mato Grosso do Sul'],\n ['Coronel Fabriciano', 'Minas Gerais'],\n ['Paulínia', 'São Paulo'],\n ['Catalão', 'Goiás'],\n ['Muriaé', 'Minas Gerais'],\n ['Santa Cruz do Capibaribe', 'Pernambuco'],\n ['Ariquemes', 'Rondônia'],\n ['Patos', 'Paraíba'],\n ['Cambé', 'Paraná'],\n ['Tailândia', 'Pará'],\n ['Araxá', 'Minas Gerais'],\n ['Erechim', 'Rio Grande do Sul'],\n ['Tubarão', 'Santa Catarina'],\n ['Bacabal', 'Maranhão'],\n ['Japeri', 'Rio de Janeiro'],\n ['Itumbiara', 'Goiás'],\n ['Ituiutaba', 'Minas Gerais'],\n ['São Pedro da Aldeia', 'Rio de Janeiro'],\n ['Lagarto', 'Sergipe'],\n ['Assis', 'São Paulo'],\n ['Lavras', 'Minas Gerais'],\n ['Tangará da Serra', 'Mato Grosso'],\n ['Leme', 'São Paulo'],\n ['Itaperuna', 'Rio de Janeiro'],\n ['Breves', 'Pará'],\n ['Nova Serrana', 'Minas Gerais'],\n ['Iguatu', 'Ceará'],\n ['São Gonçalo do Amarante', 'Rio Grande do Norte'],\n ['Itanhaém', 'São Paulo'],\n ['Santo Antônio de Jesus', 'Bahia'],\n ['Caieiras', 'São Paulo'],\n ['Itacoatiara', 'Amazonas'],\n ['Itaituba', 'Pará'],\n ['Aracruz', 'Espírito Santo'],\n ['Jataí', 'Goiás'],\n ['Barra do Piraí', 'Rio de Janeiro'],\n ['Fazenda Rio Grande', 'Paraná'],\n ['Mairiporã', 'São Paulo']\n];","\nexport const AIH_ESTADOS = {\n 'AC': '12', 'AL': '27', 'AP': '16', 'AM': '13', 'BA': '29', 'CE': '23', 'DF': '53',\n 'ES': '32', 'GO': '52', 'MA': '21', 'MT': '51', 'MS': '50', 'MG': '31', 'PA': '15',\n 'PB': '25', 'PR': '41', 'PE': '26', 'PI': '22', 'RJ': '33', 'RN': '24', 'RS': '43',\n 'RO': '11', 'RR': '14', 'SC': '42', 'SP': '35', 'SE': '28', 'TO': '17'\n};\nexport const AIH_TIPOS = {\n '1': 'AIH Normal',\n '2': 'APACs',\n '3': 'Códigos de procedimentos específicos da CNRAC',\n '4': 'APACs da CNRAC',\n '5': 'Procedimentos de longa permanência na AIH'\n};\n\nexport const CID_NAME = {\n 'A00-B99': 'Algumas doenças infecciosas e parasitárias',\n 'C00-D48': 'Neoplasmas (tumores)',\n 'D50-D89': 'Doenças do sangue e dos órgãos hematopoéticos e alguns transtornos imunitários',\n 'E00-E90': 'Doenças endócrinas, nutricionais e metabólicas',\n 'F00-F99': 'Transtornos mentais e comportamentais',\n 'G00-G99': 'Doenças do sistema nervoso',\n 'H00-H59': 'Doenças do olho e anexos',\n 'H60-H95': 'Doenças do ouvido e da apófise mastoide',\n 'I00-I99': 'Doenças do aparelho circulatório',\n 'J00-J99': 'Doenças do aparelho respiratório',\n 'K00-K93': 'Doenças do aparelho digestivo',\n 'L00-L99': 'Doenças da pele e do tecido subcutâneo',\n 'M00-M99': 'Doenças do sistema osteomuscular e do tecido conjuntivo',\n 'N00-N99': 'Doenças do aparelho geniturinário',\n 'O00-O99': 'Gravidez, parto e puerpério',\n 'P00-P96': 'Algumas afecções originadas no período perinatal',\n 'Q00-Q99': 'Malformações congênitas, deformidades e anomalias cromossômicas',\n 'R00-R99': 'Sintomas, sinais e achados anormais de exames clínicos e de laboratório, não classificados em outra parte',\n 'S00-T98': 'Lesões, envenenamentos e algumas outras conseqüências de causas externas',\n 'V01-Y98': 'Causas externas de morbidade e de mortalidade',\n 'Z00-Z99': 'Fatores que influenciam o estado de saúde e o contato com os serviços de saúde',\n 'U00-U99': 'Códigos para propósitos especiais',\n}\n\nexport const CID_REGEX = {\n 'A00-B99': /[A|B][0-9][0-9]/g,\n 'C00-D48': /[C0-90-9|[D0-90-9]/g,\n 'D50-D89': /[A|B][0-9][0-9]/g,\n 'E00-E90': /[A|B][0-9][0-9]/g,\n 'F00-F99': /[A|B][0-9][0-9]/g,\n 'G00-G99': /[A|B][0-9][0-9]/g,\n 'H00-H59': /[A|B][0-9][0-9]/g,\n 'H60-H95': /[A|B][0-9][0-9]/g,\n 'I00-I99': /[A|B][0-9][0-9]/g,\n 'J00-J99': /[A|B][0-9][0-9]/g,\n 'K00-K93': /[A|B][0-9][0-9]/g,\n 'L00-L99': /[A|B][0-9][0-9]/g,\n 'M00-M99': /[A|B][0-9][0-9]/g,\n 'N00-N99': /[A|B][0-9][0-9]/g,\n 'O00-O99': /[A|B][0-9][0-9]/g,\n 'P00-P96': /[A|B][0-9][0-9]/g,\n 'Q00-Q99': /[A|B][0-9][0-9]/g,\n 'R00-R99': /[A|B][0-9][0-9]/g,\n 'S00-T98': /[A|B][0-9][0-9]/g,\n 'V01-Y98': /[A|B][0-9][0-9]/g,\n 'Z00-Z99': /[A|B][0-9][0-9]/g,\n 'U00-U99': /[A|B][0-9][0-9]/g,\n}\n\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { maskBr } from \"./../js-brasil\";\n\n@Pipe({\n name: \"cpf\",\n})\nexport class CPFPipe implements PipeTransform {\n transform(cpfValue: any) {\n return maskBr['cpf'](cpfValue);\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\nimport { MatTableModule } from \"@angular/material/table\";\nimport { MatSortModule } from \"@angular/material/sort\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport {\n MatPaginatorIntl,\n MatPaginatorModule,\n} from \"@angular/material/paginator\";\nimport { RouterModule } from \"@angular/router\";\n\nimport { MapaMenuModule } from \"mapa-library-ui/src/lib/components/menu\";\nimport { MapaSvgIconModule } from \"mapa-library-ui/src/lib/components/svg-icon\";\nimport { MapaTableComponent } from \"./table.component\";\nimport { customPaginatorFactory } from \"./paginator_customization\";\nimport { PaginatorLegacyDirective } from \"../../../core/directives/custom-paginator-legacy.directive\";\nimport { MatMenuModule } from \"@angular/material/menu\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { CPFPipe } from \"../../../core/pipes/cpf\";\nimport { SafeHtmlPipe } from \"../../../core/pipes/safe-html.pipe\";\nimport { MapaI18nService } from \"../../../core/services/mapa-i18n.service\";\n\n@NgModule({\n declarations: [MapaTableComponent],\n imports: [\n CommonModule,\n RouterModule,\n MapaMenuModule,\n MapaSvgIconModule,\n MatButtonModule,\n MatCheckboxModule,\n MatIconModule,\n MatMenuModule,\n MatPaginatorModule,\n MatTableModule,\n MatSortModule,\n PaginatorLegacyDirective,\n FormsModule,\n ReactiveFormsModule,\n SafeHtmlPipe,\n ],\n exports: [MapaTableComponent],\n providers: [\n { provide: MatPaginatorIntl, useFactory: customPaginatorFactory, deps: [MapaI18nService] },\n CPFPipe,\n ],\n})\nexport class MapaTableModule {}\n\n\n","/*\n * Public API Surface of mapa-library-ui input\n */\n\nexport * from '../table/src/paginator_customization';\nexport * from '../table/src/table.component';\nexport * from '../table/src/table.module';","/*\n * Public API Surface of mapa-library-ui table\n */\nexport * from './lib/core/directives/custom-paginator-legacy.directive';\nexport * from './lib/components/table/public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './table';\n"],"names":["i2.MapaI18nService","i1","i1.HtmlSanitizerService","i1.MapaI18nService","i9","i12.PaginatorLegacyDirective","i13.SafeHtmlPipe","utilsBr","emptyString","maskBr","mask.maskBr"],"mappings":"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AS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AACvC,IAAA,CAAC,SAAS,EAAE,SAAS,EAAE,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"}
|