structra-ui 0.1.12 → 0.1.15
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/package.json +28 -8
- package/app/_utils/date-pt-br.utils.d.ts +0 -24
- package/app/_utils/decimal-br.utils.d.ts +0 -52
- package/app/_utils/estados-br.data.d.ts +0 -10
- package/app/_utils/integer-br.utils.d.ts +0 -17
- package/app/_utils/integer-value.utils.d.ts +0 -5
- package/app/_utils/scroll/body-scroll-lock.util.d.ts +0 -44
- package/app/app-shell/_models/breadcrumb-item.model.d.ts +0 -13
- package/app/app-shell/app-shell-sidebar-template.directive.d.ts +0 -19
- package/app/app-shell/app-shell.component.d.ts +0 -41
- package/app/app-shell/breadcrumb/breadcrumb.component.d.ts +0 -10
- package/app/app-shell/index.d.ts +0 -19
- package/app/app-shell/sidebar/app-sidebar-toolbar.directive.d.ts +0 -14
- package/app/app-shell/sidebar/shell-sidebar-toggle.component.d.ts +0 -19
- package/app/app-shell/sidebar/sidebar.component.d.ts +0 -36
- package/app/app-shell/sidebar-reveal.constants.d.ts +0 -8
- package/app/app-shell/topbar/topbar.component.d.ts +0 -8
- package/app/app-shell/user-menu/user-menu.component.d.ts +0 -25
- package/app/buttons/base-button/base-button.component.d.ts +0 -43
- package/app/buttons/index.d.ts +0 -1
- package/app/data-display/_models/card-item-view.model.d.ts +0 -8
- package/app/data-display/_models/data-display.models.d.ts +0 -11
- package/app/data-display/_models/data-grid-column.model.d.ts +0 -13
- package/app/data-display/_models/index.d.ts +0 -2
- package/app/data-display/adaptive-data-view/adaptive-data-view.component.d.ts +0 -53
- package/app/data-display/card-list/card-list.component.d.ts +0 -70
- package/app/data-display/dashboard-section/dashboard-section.component.d.ts +0 -12
- package/app/data-display/data-card/data-card.component.d.ts +0 -16
- package/app/data-display/data-grid/data-grid-actions-cell-renderer.component.d.ts +0 -21
- package/app/data-display/data-grid/data-grid.component.d.ts +0 -76
- package/app/data-display/data-list/data-list.component.d.ts +0 -18
- package/app/data-display/data-toolbar/data-toolbar.component.d.ts +0 -6
- package/app/data-display/details-field/details-field.component.d.ts +0 -10
- package/app/data-display/details-view/details-view.component.d.ts +0 -26
- package/app/data-display/empty-state/empty-state-overlay.util.d.ts +0 -5
- package/app/data-display/empty-state/empty-state.component.d.ts +0 -13
- package/app/data-display/index.d.ts +0 -20
- package/app/data-display/list-item/list-item.component.d.ts +0 -22
- package/app/data-display/stat-card/stat-card.component.d.ts +0 -23
- package/app/data-display/status-badge/status-badge.component.d.ts +0 -17
- package/app/data-display/table-empty-state/table-empty-state.component.d.ts +0 -14
- package/app/data-display/table-toolbar/table-toolbar.component.d.ts +0 -11
- package/app/dialogs/_models/lib-dialog-size.model.d.ts +0 -6
- package/app/dialogs/_utils/app-lib-light-block-scroll-strategy.d.ts +0 -12
- package/app/dialogs/_utils/lib-dialog-panel-classes.d.ts +0 -3
- package/app/dialogs/app-dialog/app-dialog.component.d.ts +0 -71
- package/app/dialogs/app-dialog/dialog-footer.directive.d.ts +0 -6
- package/app/dialogs/confirm-dialog/confirm-dialog-data.model.d.ts +0 -13
- package/app/dialogs/confirm-dialog/confirm-dialog.component.d.ts +0 -20
- package/app/dialogs/confirm-dialog/confirm-dialog.service.d.ts +0 -17
- package/app/dialogs/index.d.ts +0 -14
- package/app/dialogs/loading-dialog/loading-dialog-data.model.d.ts +0 -7
- package/app/dialogs/loading-dialog/loading-dialog.component.d.ts +0 -9
- package/app/dialogs/loading-dialog/loading-dialog.service.d.ts +0 -15
- package/app/dialogs/toast/toast-host.component.d.ts +0 -13
- package/app/dialogs/toast/toast.models.d.ts +0 -26
- package/app/dialogs/toast/toast.service.d.ts +0 -17
- package/app/fields/checkbox-fields/_base/boolean-field.directive.d.ts +0 -42
- package/app/fields/checkbox-fields/checkbox-field/checkbox-field.component.d.ts +0 -8
- package/app/fields/checkbox-fields/index.d.ts +0 -3
- package/app/fields/checkbox-fields/switch-field/switch-field.component.d.ts +0 -8
- package/app/fields/dropdown-fields/_base/dropdown-base/dropdown-base.component.d.ts +0 -62
- package/app/fields/dropdown-fields/_base/dropdown-multi-option-field.base.d.ts +0 -40
- package/app/fields/dropdown-fields/_base/dropdown-option-field.base.d.ts +0 -47
- package/app/fields/dropdown-fields/_base/dropdown-trigger-blur.util.d.ts +0 -18
- package/app/fields/dropdown-fields/_models/dropdown-list-bindings.model.d.ts +0 -13
- package/app/fields/dropdown-fields/_models/dropdown-search-page-requested.model.d.ts +0 -7
- package/app/fields/dropdown-fields/_models/index.d.ts +0 -4
- package/app/fields/dropdown-fields/_models/select-option.model.d.ts +0 -5
- package/app/fields/dropdown-fields/_models/select-pagination.model.d.ts +0 -6
- package/app/fields/dropdown-fields/dropdown-search-field/dropdown-search-field.component.d.ts +0 -84
- package/app/fields/dropdown-fields/index.d.ts +0 -7
- package/app/fields/dropdown-fields/multiselect-field/multiselect-field.component.d.ts +0 -49
- package/app/fields/dropdown-fields/select-field/select-field.component.d.ts +0 -54
- package/app/fields/input-fields/_base/base-field.component.d.ts +0 -60
- package/app/fields/input-fields/_base/base-field.directive.d.ts +0 -102
- package/app/fields/input-fields/_base/masked-text-field.base.d.ts +0 -34
- package/app/fields/input-fields/_base/ng-control-field.directive.d.ts +0 -43
- package/app/fields/input-fields/_models/field-common-inputs.model.d.ts +0 -49
- package/app/fields/input-fields/_models/index.d.ts +0 -1
- package/app/fields/input-fields/_utils/mask-complete.validators.d.ts +0 -18
- package/app/fields/input-fields/_utils/mask-format.utils.d.ts +0 -13
- package/app/fields/input-fields/cep-field/cep-field.component.d.ts +0 -12
- package/app/fields/input-fields/cpf-cnpj-field/cpf-cnpj-field.component.d.ts +0 -20
- package/app/fields/input-fields/date-field/date-field.component.d.ts +0 -30
- package/app/fields/input-fields/decimal-field/decimal-field.component.d.ts +0 -17
- package/app/fields/input-fields/index.d.ts +0 -22
- package/app/fields/input-fields/input-mask-field/input-mask-field.component.d.ts +0 -16
- package/app/fields/input-fields/integer-field/integer-field.component.d.ts +0 -17
- package/app/fields/input-fields/password-field/password-field.component.d.ts +0 -30
- package/app/fields/input-fields/phone-field/phone-field.component.d.ts +0 -22
- package/app/fields/input-fields/text-field/text-field.component.d.ts +0 -16
- package/app/fields/input-fields/textarea-field/textarea-field.component.d.ts +0 -31
- package/app/form-layout/_models/form-layout.model.d.ts +0 -41
- package/app/form-layout/_models/form-tabs.model.d.ts +0 -1
- package/app/form-layout/_models/index.d.ts +0 -3
- package/app/form-layout/_models/validation-summary.model.d.ts +0 -8
- package/app/form-layout/form-actions/form-actions.component.d.ts +0 -21
- package/app/form-layout/form-col/form-col.component.d.ts +0 -25
- package/app/form-layout/form-group/form-group.component.d.ts +0 -125
- package/app/form-layout/form-group/form-path.utils.d.ts +0 -16
- package/app/form-layout/form-group/form-root-invalid-ui-refresh.util.d.ts +0 -8
- package/app/form-layout/form-row/form-row.component.d.ts +0 -14
- package/app/form-layout/form-section/form-section.component.d.ts +0 -13
- package/app/form-layout/form-tab/form-tab.component.d.ts +0 -32
- package/app/form-layout/form-tabs/form-tabs.component.d.ts +0 -44
- package/app/form-layout/index.d.ts +0 -14
- package/app/form-layout/layout-stack/layout-stack.component.d.ts +0 -25
- package/app/form-layout/validation-summary/validation-summary.component.d.ts +0 -105
- package/app/loading/skeleton-loading/index.d.ts +0 -6
- package/app/loading/skeleton-loading/skeleton-block/skeleton-block.component.d.ts +0 -15
- package/app/loading/skeleton-loading/skeleton-card/skeleton-card.component.d.ts +0 -10
- package/app/loading/skeleton-loading/skeleton-field-shell/skeleton-field-shell.component.d.ts +0 -21
- package/app/loading/skeleton-loading/skeleton-list/skeleton-list.component.d.ts +0 -17
- package/app/loading/skeleton-loading/skeleton-table/skeleton-table.component.d.ts +0 -16
- package/app/loading/skeleton-loading/skeleton-text/skeleton-text.component.d.ts +0 -17
- package/app/menus/_models/drawer-side.model.d.ts +0 -6
- package/app/menus/_models/drawer-size.model.d.ts +0 -6
- package/app/menus/_models/menu-dropdown-placement.model.d.ts +0 -10
- package/app/menus/_models/menu-item.model.d.ts +0 -47
- package/app/menus/_utils/menu-connected-positions.util.d.ts +0 -4
- package/app/menus/_utils/menu-rows.util.d.ts +0 -22
- package/app/menus/_utils/submenu-connected-positions.util.d.ts +0 -5
- package/app/menus/action-menu/action-menu.component.d.ts +0 -24
- package/app/menus/context-menu/context-menu.component.d.ts +0 -32
- package/app/menus/drawer/drawer.component.d.ts +0 -38
- package/app/menus/dropdown-menu/dropdown-menu.component.d.ts +0 -33
- package/app/menus/index.d.ts +0 -11
- package/app/menus/menu-divider/menu-divider.component.d.ts +0 -8
- package/app/menus/menu-group/menu-group.component.d.ts +0 -13
- package/app/menus/menu-list/menu-list.component.d.ts +0 -77
- package/app/overlay/_models/overlay-placement.model.d.ts +0 -9
- package/app/overlay/_utils/anchored-overlay-positions.util.d.ts +0 -9
- package/app/overlay/anchored-overlay/anchored-overlay.component.d.ts +0 -51
- package/app/overlay/index.d.ts +0 -20
- package/app/overlay/popover/popover-body-template.directive.d.ts +0 -7
- package/app/overlay/popover/popover-footer-template.directive.d.ts +0 -7
- package/app/overlay/popover/popover-trigger.directive.d.ts +0 -6
- package/app/overlay/popover/popover.component.d.ts +0 -38
- package/app/overlay/tooltip/tooltip-panel-template.directive.d.ts +0 -10
- package/app/overlay/tooltip/tooltip.component.d.ts +0 -40
- package/app/theme/app-theme.service.d.ts +0 -25
- package/app/theme/index.d.ts +0 -1
- package/esm2022/app/_utils/date-pt-br.utils.mjs +0 -82
- package/esm2022/app/_utils/decimal-br.utils.mjs +0 -154
- package/esm2022/app/_utils/estados-br.data.mjs +0 -37
- package/esm2022/app/_utils/integer-br.utils.mjs +0 -48
- package/esm2022/app/_utils/integer-value.utils.mjs +0 -19
- package/esm2022/app/_utils/scroll/body-scroll-lock.util.mjs +0 -97
- package/esm2022/app/app-shell/_models/breadcrumb-item.model.mjs +0 -2
- package/esm2022/app/app-shell/app-shell-sidebar-template.directive.mjs +0 -29
- package/esm2022/app/app-shell/app-shell.component.mjs +0 -105
- package/esm2022/app/app-shell/breadcrumb/breadcrumb.component.mjs +0 -18
- package/esm2022/app/app-shell/index.mjs +0 -19
- package/esm2022/app/app-shell/sidebar/app-sidebar-toolbar.directive.mjs +0 -23
- package/esm2022/app/app-shell/sidebar/shell-sidebar-toggle.component.mjs +0 -36
- package/esm2022/app/app-shell/sidebar/sidebar.component.mjs +0 -84
- package/esm2022/app/app-shell/sidebar-reveal.constants.mjs +0 -9
- package/esm2022/app/app-shell/topbar/topbar.component.mjs +0 -14
- package/esm2022/app/app-shell/user-menu/user-menu.component.mjs +0 -52
- package/esm2022/app/buttons/base-button/base-button.component.mjs +0 -97
- package/esm2022/app/buttons/index.mjs +0 -2
- package/esm2022/app/data-display/_models/card-item-view.model.mjs +0 -2
- package/esm2022/app/data-display/_models/data-display.models.mjs +0 -2
- package/esm2022/app/data-display/_models/data-grid-column.model.mjs +0 -2
- package/esm2022/app/data-display/_models/index.mjs +0 -2
- package/esm2022/app/data-display/adaptive-data-view/adaptive-data-view.component.mjs +0 -124
- package/esm2022/app/data-display/card-list/card-list.component.mjs +0 -208
- package/esm2022/app/data-display/dashboard-section/dashboard-section.component.mjs +0 -25
- package/esm2022/app/data-display/data-card/data-card.component.mjs +0 -40
- package/esm2022/app/data-display/data-grid/data-grid-actions-cell-renderer.component.mjs +0 -41
- package/esm2022/app/data-display/data-grid/data-grid.component.mjs +0 -253
- package/esm2022/app/data-display/data-list/data-list.component.mjs +0 -40
- package/esm2022/app/data-display/data-toolbar/data-toolbar.component.mjs +0 -12
- package/esm2022/app/data-display/details-field/details-field.component.mjs +0 -21
- package/esm2022/app/data-display/details-view/details-view.component.mjs +0 -44
- package/esm2022/app/data-display/empty-state/empty-state-overlay.util.mjs +0 -19
- package/esm2022/app/data-display/empty-state/empty-state.component.mjs +0 -30
- package/esm2022/app/data-display/index.mjs +0 -19
- package/esm2022/app/data-display/list-item/list-item.component.mjs +0 -59
- package/esm2022/app/data-display/stat-card/stat-card.component.mjs +0 -59
- package/esm2022/app/data-display/status-badge/status-badge.component.mjs +0 -41
- package/esm2022/app/data-display/table-empty-state/table-empty-state.component.mjs +0 -31
- package/esm2022/app/data-display/table-toolbar/table-toolbar.component.mjs +0 -22
- package/esm2022/app/dialogs/_models/lib-dialog-size.model.mjs +0 -8
- package/esm2022/app/dialogs/_utils/app-lib-light-block-scroll-strategy.mjs +0 -22
- package/esm2022/app/dialogs/_utils/lib-dialog-panel-classes.mjs +0 -6
- package/esm2022/app/dialogs/app-dialog/app-dialog.component.mjs +0 -200
- package/esm2022/app/dialogs/app-dialog/dialog-footer.directive.mjs +0 -15
- package/esm2022/app/dialogs/confirm-dialog/confirm-dialog-data.model.mjs +0 -2
- package/esm2022/app/dialogs/confirm-dialog/confirm-dialog.component.mjs +0 -36
- package/esm2022/app/dialogs/confirm-dialog/confirm-dialog.service.mjs +0 -47
- package/esm2022/app/dialogs/index.mjs +0 -12
- package/esm2022/app/dialogs/loading-dialog/loading-dialog-data.model.mjs +0 -2
- package/esm2022/app/dialogs/loading-dialog/loading-dialog.component.mjs +0 -19
- package/esm2022/app/dialogs/loading-dialog/loading-dialog.service.mjs +0 -38
- package/esm2022/app/dialogs/toast/toast-host.component.mjs +0 -65
- package/esm2022/app/dialogs/toast/toast.models.mjs +0 -2
- package/esm2022/app/dialogs/toast/toast.service.mjs +0 -76
- package/esm2022/app/fields/checkbox-fields/_base/boolean-field.directive.mjs +0 -158
- package/esm2022/app/fields/checkbox-fields/checkbox-field/checkbox-field.component.mjs +0 -36
- package/esm2022/app/fields/checkbox-fields/index.mjs +0 -4
- package/esm2022/app/fields/checkbox-fields/switch-field/switch-field.component.mjs +0 -35
- package/esm2022/app/fields/dropdown-fields/_base/dropdown-base/dropdown-base.component.mjs +0 -117
- package/esm2022/app/fields/dropdown-fields/_base/dropdown-multi-option-field.base.mjs +0 -152
- package/esm2022/app/fields/dropdown-fields/_base/dropdown-option-field.base.mjs +0 -149
- package/esm2022/app/fields/dropdown-fields/_base/dropdown-trigger-blur.util.mjs +0 -32
- package/esm2022/app/fields/dropdown-fields/_models/dropdown-list-bindings.model.mjs +0 -2
- package/esm2022/app/fields/dropdown-fields/_models/dropdown-search-page-requested.model.mjs +0 -2
- package/esm2022/app/fields/dropdown-fields/_models/index.mjs +0 -2
- package/esm2022/app/fields/dropdown-fields/_models/select-option.model.mjs +0 -2
- package/esm2022/app/fields/dropdown-fields/_models/select-pagination.model.mjs +0 -2
- package/esm2022/app/fields/dropdown-fields/dropdown-search-field/dropdown-search-field.component.mjs +0 -520
- package/esm2022/app/fields/dropdown-fields/index.mjs +0 -7
- package/esm2022/app/fields/dropdown-fields/multiselect-field/multiselect-field.component.mjs +0 -379
- package/esm2022/app/fields/dropdown-fields/select-field/select-field.component.mjs +0 -359
- package/esm2022/app/fields/input-fields/_base/base-field.component.mjs +0 -151
- package/esm2022/app/fields/input-fields/_base/base-field.directive.mjs +0 -224
- package/esm2022/app/fields/input-fields/_base/masked-text-field.base.mjs +0 -135
- package/esm2022/app/fields/input-fields/_base/ng-control-field.directive.mjs +0 -127
- package/esm2022/app/fields/input-fields/_models/field-common-inputs.model.mjs +0 -2
- package/esm2022/app/fields/input-fields/_models/index.mjs +0 -2
- package/esm2022/app/fields/input-fields/_utils/mask-complete.validators.mjs +0 -61
- package/esm2022/app/fields/input-fields/_utils/mask-format.utils.mjs +0 -40
- package/esm2022/app/fields/input-fields/cep-field/cep-field.component.mjs +0 -48
- package/esm2022/app/fields/input-fields/cpf-cnpj-field/cpf-cnpj-field.component.mjs +0 -61
- package/esm2022/app/fields/input-fields/date-field/date-field.component.mjs +0 -147
- package/esm2022/app/fields/input-fields/decimal-field/decimal-field.component.mjs +0 -166
- package/esm2022/app/fields/input-fields/index.mjs +0 -22
- package/esm2022/app/fields/input-fields/input-mask-field/input-mask-field.component.mjs +0 -52
- package/esm2022/app/fields/input-fields/integer-field/integer-field.component.mjs +0 -143
- package/esm2022/app/fields/input-fields/password-field/password-field.component.mjs +0 -130
- package/esm2022/app/fields/input-fields/phone-field/phone-field.component.mjs +0 -66
- package/esm2022/app/fields/input-fields/text-field/text-field.component.mjs +0 -90
- package/esm2022/app/fields/input-fields/textarea-field/textarea-field.component.mjs +0 -125
- package/esm2022/app/form-layout/_models/form-layout.model.mjs +0 -48
- package/esm2022/app/form-layout/_models/form-tabs.model.mjs +0 -2
- package/esm2022/app/form-layout/_models/index.mjs +0 -2
- package/esm2022/app/form-layout/_models/validation-summary.model.mjs +0 -2
- package/esm2022/app/form-layout/form-actions/form-actions.component.mjs +0 -55
- package/esm2022/app/form-layout/form-col/form-col.component.mjs +0 -76
- package/esm2022/app/form-layout/form-group/form-group.component.mjs +0 -358
- package/esm2022/app/form-layout/form-group/form-path.utils.mjs +0 -65
- package/esm2022/app/form-layout/form-group/form-root-invalid-ui-refresh.util.mjs +0 -54
- package/esm2022/app/form-layout/form-row/form-row.component.mjs +0 -49
- package/esm2022/app/form-layout/form-section/form-section.component.mjs +0 -43
- package/esm2022/app/form-layout/form-tab/form-tab.component.mjs +0 -67
- package/esm2022/app/form-layout/form-tabs/form-tabs.component.mjs +0 -126
- package/esm2022/app/form-layout/index.mjs +0 -14
- package/esm2022/app/form-layout/layout-stack/layout-stack.component.mjs +0 -56
- package/esm2022/app/form-layout/validation-summary/validation-summary.component.mjs +0 -343
- package/esm2022/app/loading/skeleton-loading/index.mjs +0 -7
- package/esm2022/app/loading/skeleton-loading/skeleton-block/skeleton-block.component.mjs +0 -43
- package/esm2022/app/loading/skeleton-loading/skeleton-card/skeleton-card.component.mjs +0 -23
- package/esm2022/app/loading/skeleton-loading/skeleton-field-shell/skeleton-field-shell.component.mjs +0 -34
- package/esm2022/app/loading/skeleton-loading/skeleton-list/skeleton-list.component.mjs +0 -38
- package/esm2022/app/loading/skeleton-loading/skeleton-table/skeleton-table.component.mjs +0 -37
- package/esm2022/app/loading/skeleton-loading/skeleton-text/skeleton-text.component.mjs +0 -45
- package/esm2022/app/menus/_models/drawer-side.model.mjs +0 -8
- package/esm2022/app/menus/_models/drawer-size.model.mjs +0 -8
- package/esm2022/app/menus/_models/menu-dropdown-placement.model.mjs +0 -12
- package/esm2022/app/menus/_models/menu-item.model.mjs +0 -6
- package/esm2022/app/menus/_utils/menu-connected-positions.util.mjs +0 -41
- package/esm2022/app/menus/_utils/menu-rows.util.mjs +0 -39
- package/esm2022/app/menus/_utils/submenu-connected-positions.util.mjs +0 -23
- package/esm2022/app/menus/action-menu/action-menu.component.mjs +0 -48
- package/esm2022/app/menus/context-menu/context-menu.component.mjs +0 -112
- package/esm2022/app/menus/drawer/drawer.component.mjs +0 -142
- package/esm2022/app/menus/dropdown-menu/dropdown-menu.component.mjs +0 -99
- package/esm2022/app/menus/index.mjs +0 -11
- package/esm2022/app/menus/menu-divider/menu-divider.component.mjs +0 -14
- package/esm2022/app/menus/menu-group/menu-group.component.mjs +0 -32
- package/esm2022/app/menus/menu-list/menu-list.component.mjs +0 -399
- package/esm2022/app/overlay/_models/overlay-placement.model.mjs +0 -11
- package/esm2022/app/overlay/_utils/anchored-overlay-positions.util.mjs +0 -84
- package/esm2022/app/overlay/anchored-overlay/anchored-overlay.component.mjs +0 -121
- package/esm2022/app/overlay/index.mjs +0 -21
- package/esm2022/app/overlay/popover/popover-body-template.directive.mjs +0 -17
- package/esm2022/app/overlay/popover/popover-footer-template.directive.mjs +0 -17
- package/esm2022/app/overlay/popover/popover-trigger.directive.mjs +0 -15
- package/esm2022/app/overlay/popover/popover.component.mjs +0 -93
- package/esm2022/app/overlay/tooltip/tooltip-panel-template.directive.mjs +0 -20
- package/esm2022/app/overlay/tooltip/tooltip.component.mjs +0 -118
- package/esm2022/app/theme/app-theme.service.mjs +0 -49
- package/esm2022/app/theme/index.mjs +0 -2
- package/esm2022/structra-public-api.mjs +0 -18
- package/esm2022/structra-ui.mjs +0 -5
- package/esm2022/structra-version.mjs +0 -3
- package/fesm2022/structra-ui.mjs +0 -8971
- package/fesm2022/structra-ui.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/structra-public-api.d.ts +0 -17
- package/structra-version.d.ts +0 -2
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, booleanAttribute, } from '@angular/core';
|
|
2
|
-
import { SkeletonFieldShellComponent, } from '../../../loading/skeleton-loading';
|
|
3
|
-
import { DropdownMenuComponent } from '../../../menus/dropdown-menu/dropdown-menu.component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
/**
|
|
6
|
-
* Base visual do campo: caixa com label flutuante, prefixo opcional e erro.
|
|
7
|
-
* Usada dentro dos componentes de campo (texto, inteiro, decimal).
|
|
8
|
-
*/
|
|
9
|
-
export class BaseFieldComponent {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.label = '';
|
|
12
|
-
this.errorMessage = '';
|
|
13
|
-
this.required = false;
|
|
14
|
-
/** Asterisco visual do obrigatório no label (validação HTML `required` inalterada); por defeito `false`. */
|
|
15
|
-
this.showRequiredMark = false;
|
|
16
|
-
this.invalid = false;
|
|
17
|
-
this.filled = false;
|
|
18
|
-
this.disabled = false;
|
|
19
|
-
this.readonly = false;
|
|
20
|
-
this.inputId = '';
|
|
21
|
-
this.errorId = '';
|
|
22
|
-
this.showPrefixIcon = false;
|
|
23
|
-
/** Classes Font Awesome (ex.: `fa-solid fa-user`). Usado com `showPrefixIcon`. */
|
|
24
|
-
this.prefixIcon = '';
|
|
25
|
-
this.clearable = true;
|
|
26
|
-
this.clearAriaLabel = 'Limpar campo';
|
|
27
|
-
/**
|
|
28
|
-
* Quando `true`, renderiza `ng-content` com `[appFieldSuffix]` à direita do input
|
|
29
|
-
* (antes do botão limpar, se houver).
|
|
30
|
-
*/
|
|
31
|
-
this.showSuffixSlot = false;
|
|
32
|
-
/** Alinha o texto do valor à direita no input projetado. */
|
|
33
|
-
this.valueAlignEnd = false;
|
|
34
|
-
this.loading = false;
|
|
35
|
-
/** Variante do skeleton quando {@link loading} é `true`. */
|
|
36
|
-
this.skeletonVariant = 'text';
|
|
37
|
-
this.mostrarMenuContexto = false;
|
|
38
|
-
this.contextMenuItems = [];
|
|
39
|
-
/** Sufixo do `id` do menu (ex.: `meuCampo-ctx`); por defeito deriva-se de {@link inputId}. */
|
|
40
|
-
this.contextMenuId = '';
|
|
41
|
-
this.clear = new EventEmitter();
|
|
42
|
-
this.contextMenuSelect = new EventEmitter();
|
|
43
|
-
/** Derivados do template (actualizados em `ngOnChanges`, não getters por CD). */
|
|
44
|
-
this.showErrorTpl = false;
|
|
45
|
-
this.showFloatTpl = false;
|
|
46
|
-
this.showFaTpl = false;
|
|
47
|
-
this.prefixIconClassTpl = '';
|
|
48
|
-
this.showClearTpl = false;
|
|
49
|
-
this.showCtxMenuTpl = false;
|
|
50
|
-
this.showSuffixTpl = false;
|
|
51
|
-
}
|
|
52
|
-
get resolvedContextMenuId() {
|
|
53
|
-
const t = this.contextMenuId.trim();
|
|
54
|
-
if (t.length > 0) {
|
|
55
|
-
return t;
|
|
56
|
-
}
|
|
57
|
-
const base = this.inputId.trim();
|
|
58
|
-
return base.length > 0 ? `${base}-ctx` : 'app-field-ctx-menu';
|
|
59
|
-
}
|
|
60
|
-
ngOnInit() {
|
|
61
|
-
this.refreshTplFlags();
|
|
62
|
-
}
|
|
63
|
-
ngOnChanges(_changes) {
|
|
64
|
-
this.refreshTplFlags();
|
|
65
|
-
}
|
|
66
|
-
refreshTplFlags() {
|
|
67
|
-
const labelTrim = this.label.trim();
|
|
68
|
-
this.showFloatTpl = labelTrim.length > 0;
|
|
69
|
-
this.showErrorTpl = this.invalid && !!this.errorMessage;
|
|
70
|
-
const iconTrim = this.prefixIcon.trim();
|
|
71
|
-
this.showFaTpl = this.showPrefixIcon && iconTrim.length > 0;
|
|
72
|
-
this.prefixIconClassTpl = `base-field__prefix-icon ${iconTrim}`.trim();
|
|
73
|
-
this.showClearTpl =
|
|
74
|
-
!this.loading &&
|
|
75
|
-
this.clearable &&
|
|
76
|
-
this.filled &&
|
|
77
|
-
!this.disabled &&
|
|
78
|
-
!this.readonly;
|
|
79
|
-
this.showCtxMenuTpl =
|
|
80
|
-
!this.loading &&
|
|
81
|
-
!this.disabled &&
|
|
82
|
-
!this.readonly &&
|
|
83
|
-
this.mostrarMenuContexto &&
|
|
84
|
-
(this.contextMenuItems?.length ?? 0) > 0;
|
|
85
|
-
/* Com `loading`, mantém coluna de sufixo (ex.: toggle senha) para não encolher a caixa. */
|
|
86
|
-
this.showSuffixTpl = this.loading
|
|
87
|
-
? this.showSuffixSlot
|
|
88
|
-
: this.showSuffixSlot || this.showClearTpl || this.showCtxMenuTpl;
|
|
89
|
-
}
|
|
90
|
-
onClearClick() {
|
|
91
|
-
this.clear.emit();
|
|
92
|
-
}
|
|
93
|
-
onContextMenuItemSelect(id) {
|
|
94
|
-
this.contextMenuSelect.emit(id);
|
|
95
|
-
}
|
|
96
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
97
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BaseFieldComponent, isStandalone: true, selector: "app-base-field", inputs: { label: "label", errorMessage: "errorMessage", required: "required", showRequiredMark: "showRequiredMark", invalid: "invalid", filled: "filled", disabled: "disabled", readonly: "readonly", inputId: "inputId", errorId: "errorId", showPrefixIcon: "showPrefixIcon", prefixIcon: "prefixIcon", clearable: "clearable", clearAriaLabel: "clearAriaLabel", showSuffixSlot: "showSuffixSlot", valueAlignEnd: "valueAlignEnd", loading: ["loading", "loading", booleanAttribute], skeletonVariant: "skeletonVariant", mostrarMenuContexto: ["mostrarMenuContexto", "mostrarMenuContexto", booleanAttribute], contextMenuItems: "contextMenuItems", contextMenuId: "contextMenuId" }, outputs: { clear: "clear", contextMenuSelect: "contextMenuSelect" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"base-field\" [class.base-field--invalid]=\"invalid\" [class.base-field--filled]=\"filled\"\n [class.base-field--disabled]=\"disabled\" [class.base-field--readonly]=\"readonly\"\n [class.base-field--loading]=\"loading\" [attr.aria-busy]=\"loading ? true : null\"\n [attr.aria-label]=\"loading && showFloatTpl ? label : null\">\n <div class=\"base-field__box\">\n <div class=\"base-field__prefix\">\n @if (!loading) {\n <ng-content select=\"[appFieldPrefix]\" />\n }\n @if (showFaTpl) {\n <i [attr.class]=\"prefixIconClassTpl + (loading ? ' base-field__prefix-icon--loading-dim' : '')\"\n aria-hidden=\"true\"></i>\n }\n </div>\n\n <div class=\"base-field__field\">\n @if (showFloatTpl && !loading) {\n <label class=\"base-field__float-label\" [attr.for]=\"inputId || null\">\n {{ label }}\n @if (required && showRequiredMark) {\n <span class=\"base-field__required\" aria-hidden=\"true\">*</span>\n }\n </label>\n }\n\n <div class=\"base-field__control\" [class.base-field__control--value-end]=\"valueAlignEnd\">\n @if (!loading) {\n <ng-content />\n } @else {\n <app-skeleton-field-shell [variant]=\"skeletonVariant\" [showLeadingIcon]=\"!showFaTpl\" />\n }\n </div>\n </div>\n\n @if (showSuffixTpl) {\n <div class=\"base-field__suffix\" [class.base-field__suffix--loading]=\"loading\">\n @if (!loading) {\n @if (showCtxMenuTpl) {\n <app-dropdown-menu\n class=\"base-field__ctx-dropdown\"\n [items]=\"contextMenuItems\"\n [minWidthPx]=\"200\"\n [matchTriggerWidth]=\"false\"\n [menuId]=\"resolvedContextMenuId\"\n (itemSelect)=\"onContextMenuItemSelect($event)\"\n >\n <button type=\"button\" class=\"base-field__ctx-trigger\" aria-label=\"Mais op\u00E7\u00F5es\" tabindex=\"-1\">\n <i class=\"fa-solid fa-ellipsis\" aria-hidden=\"true\"></i>\n </button>\n </app-dropdown-menu>\n }\n @if (showSuffixSlot) {\n <ng-content select=\"[appFieldSuffix]\" />\n }\n @if (showClearTpl) {\n <button type=\"button\" class=\"base-field__clear\" tabindex=\"-1\" [attr.aria-label]=\"clearAriaLabel\"\n (click)=\"onClearClick()\">\n <span class=\"base-field__clear-x\" aria-hidden=\"true\">×</span>\n </button>\n }\n } @else if (loading && showSuffixSlot) {\n <span class=\"base-field__suffix-reserve\" aria-hidden=\"true\"></span>\n }\n </div>\n }\n </div>\n\n @if (!loading && showErrorTpl) {\n <p class=\"base-field__error\" [id]=\"errorId || null\" role=\"alert\">\n {{ errorMessage }}\n </p>\n }\n</div>\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;box-sizing:border-box}.base-field{display:flex;flex-direction:column;gap:.35rem;width:100%;max-width:100%;box-sizing:border-box}.base-field--loading .base-field__box{pointer-events:none}.base-field--loading .base-field__field{justify-content:center}.base-field--loading .base-field__control{display:flex;align-items:center;width:100%;min-height:0}.base-field__box{display:flex;align-items:stretch;width:100%;min-width:0;border:1px solid var(--ui-field-float-border);border-radius:var(--ui-field-float-border-radius);background:var(--ui-field-float-bg);transition:border-color .1s ease,box-shadow .1s ease;contain:layout}.base-field:not(.base-field--invalid):not(.base-field--disabled):not(.base-field--readonly) .base-field__box:focus-within{border-color:var(--ui-field-float-border-focus);box-shadow:0 0 0 3px var(--ui-field-float-focus-ring)}.base-field--readonly:not(.base-field--disabled) .base-field__box{background:var(--ui-field-readonly-bg);border-color:var(--ui-field-readonly-border)}.base-field--readonly:not(.base-field--disabled):not(.base-field--invalid) .base-field__box:focus-within{border-color:var(--ui-field-readonly-border-focus);box-shadow:0 0 0 3px var(--ui-field-readonly-focus-ring)}.base-field--invalid .base-field__box{border-color:var(--ui-field-input-invalid-border);box-shadow:none;background:var(--ui-field-invalid-input-bg, #fef2f2)}.base-field--readonly.base-field--invalid:not(.base-field--disabled) .base-field__box{background:var(--ui-field-invalid-input-bg, #fef2f2)}.base-field--invalid:not(.base-field--disabled):not(.base-field--readonly) .base-field__box:focus-within{border-color:var(--ui-field-input-invalid-border);box-shadow:0 0 0 3px var(--ui-field-input-invalid-focus-halo)}.base-field--invalid.base-field--readonly:not(.base-field--disabled) .base-field__box:focus-within{border-color:var(--ui-field-input-invalid-border);box-shadow:0 0 0 3px var(--ui-field-input-invalid-focus-halo)}.base-field--disabled .base-field__box{opacity:var(--ui-field-input-disabled-opacity)}.base-field__prefix{display:flex;align-items:center;justify-content:center;flex-shrink:0;padding-left:.75rem;color:var(--ui-field-float-prefix-color);user-select:none;-webkit-user-select:none}.base-field__prefix:empty{display:none}.base-field__prefix-icon{font-style:normal;font-size:1rem;line-height:1;color:var(--ui-field-float-prefix-color)}.base-field__prefix-icon--loading-dim{opacity:.34;pointer-events:none}.base-field__suffix{display:flex;align-items:center;justify-content:center;flex-shrink:0;padding-right:.4rem;padding-left:.1rem}.base-field__ctx-dropdown{display:inline-flex;flex-shrink:0;align-items:center;max-width:100%}.base-field__ctx-trigger{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:0;padding:0;border:none;border-radius:8px;background:transparent;color:var(--ui-field-float-prefix-color);cursor:pointer;user-select:none;-webkit-user-select:none;transition:background .15s ease,color .15s ease}.base-field__ctx-trigger:hover{background:var(--app-color-prefix-hover-bg, rgba(90, 127, 163, .15));color:var(--ui-field-float-label-top-color)}.base-field__ctx-trigger:focus,.base-field__ctx-trigger:focus-visible{outline:none}.base-field__clear{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:0;padding:0;border:none;border-radius:8px;background:transparent;color:var(--ui-field-float-prefix-color);cursor:pointer;user-select:none;-webkit-user-select:none;transition:background .15s ease,color .15s ease}.base-field__clear:hover{background:var(--app-color-prefix-hover-bg, rgba(90, 127, 163, .15));color:var(--ui-field-float-label-top-color)}.base-field__clear:focus,.base-field__clear:focus-visible{outline:none}.base-field__clear-x{font-size:1.35rem;line-height:1;font-weight:300}.base-field--invalid .base-field__prefix,.base-field--invalid .base-field__prefix-icon{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid .base-field__prefix-icon:before{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid .base-field__suffix,.base-field--invalid .base-field__clear,.base-field--invalid .base-field__ctx-trigger{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid .base-field__clear:hover,.base-field--invalid .base-field__ctx-trigger:hover{background:var(--app-color-error-bg-subtle, rgba(185, 28, 28, .12));color:var(--ui-field-float-label-invalid-color)}.base-field__field{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-start;contain:layout style}.base-field__float-label{position:absolute;left:.75rem;right:.75rem;top:.45rem;transform:translate3d(0,calc((1.8rem + 1.35em)/2 - .45rem - .6em),0) scale(1);transform-origin:left top;font-size:1rem;font-weight:400;line-height:1.2;color:var(--ui-field-float-label-color);pointer-events:none;user-select:none;-webkit-user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:transform .11s cubic-bezier(.4,0,.2,1),color .11s ease}@media (prefers-reduced-motion: reduce){.base-field__float-label{transition:none}}.base-field__box:focus-within .base-field__float-label,.base-field--filled .base-field__float-label{transform:translateZ(0) scale(.75);font-weight:500;color:var(--ui-field-float-label-top-color)}.base-field--invalid .base-field__float-label{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid.base-field--filled .base-field__float-label,.base-field--invalid .base-field__box:focus-within .base-field__float-label{color:var(--ui-field-float-label-invalid-color)}.base-field__required{color:var(--ui-field-required-mark-color);margin-left:.15rem}.base-field--invalid .base-field__required{color:var(--ui-field-float-label-invalid-color)}.base-field__control{display:block;width:100%;min-width:0}.base-field__suffix-reserve{display:block;flex-shrink:0;width:2rem;height:2rem;margin:0 .1rem;box-sizing:border-box}.base-field__control--value-end :where(input){text-align:right}.base-field--readonly:not(.base-field--disabled) .base-field__float-label{color:var(--ui-field-readonly-label-color)}.base-field--readonly.base-field--filled .base-field__float-label,.base-field--readonly:not(.base-field--disabled) .base-field__box:focus-within .base-field__float-label{color:var(--ui-field-readonly-label-top-color)}.base-field--readonly:not(.base-field--disabled) .base-field__prefix,.base-field--readonly:not(.base-field--disabled) .base-field__prefix-icon{color:var(--ui-field-readonly-prefix-color)}.base-field--readonly:not(.base-field--disabled) .base-field__control :where(input,textarea){color:var(--ui-field-readonly-input-text)}.base-field--invalid.base-field--readonly .base-field__float-label,.base-field--invalid.base-field--readonly.base-field--filled .base-field__float-label,.base-field--invalid.base-field--readonly .base-field__box:focus-within .base-field__float-label{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid.base-field--readonly:not(.base-field--disabled) .base-field__prefix,.base-field--invalid.base-field--readonly:not(.base-field--disabled) .base-field__prefix-icon{color:var(--ui-field-float-label-invalid-color)}.base-field__error{margin:0;padding-left:.15rem;font-size:.75rem;color:var(--ui-field-error-text-color);user-select:none;-webkit-user-select:none}\n"], dependencies: [{ kind: "component", type: SkeletonFieldShellComponent, selector: "app-skeleton-field-shell", inputs: ["variant", "animate", "showLeadingIcon"] }, { kind: "component", type: DropdownMenuComponent, selector: "app-dropdown-menu", inputs: ["items", "placement", "minWidthPx", "matchTriggerWidth", "menuId"], outputs: ["itemSelect", "openChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
98
|
-
}
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseFieldComponent, decorators: [{
|
|
100
|
-
type: Component,
|
|
101
|
-
args: [{ selector: 'app-base-field', standalone: true, imports: [SkeletonFieldShellComponent, DropdownMenuComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"base-field\" [class.base-field--invalid]=\"invalid\" [class.base-field--filled]=\"filled\"\n [class.base-field--disabled]=\"disabled\" [class.base-field--readonly]=\"readonly\"\n [class.base-field--loading]=\"loading\" [attr.aria-busy]=\"loading ? true : null\"\n [attr.aria-label]=\"loading && showFloatTpl ? label : null\">\n <div class=\"base-field__box\">\n <div class=\"base-field__prefix\">\n @if (!loading) {\n <ng-content select=\"[appFieldPrefix]\" />\n }\n @if (showFaTpl) {\n <i [attr.class]=\"prefixIconClassTpl + (loading ? ' base-field__prefix-icon--loading-dim' : '')\"\n aria-hidden=\"true\"></i>\n }\n </div>\n\n <div class=\"base-field__field\">\n @if (showFloatTpl && !loading) {\n <label class=\"base-field__float-label\" [attr.for]=\"inputId || null\">\n {{ label }}\n @if (required && showRequiredMark) {\n <span class=\"base-field__required\" aria-hidden=\"true\">*</span>\n }\n </label>\n }\n\n <div class=\"base-field__control\" [class.base-field__control--value-end]=\"valueAlignEnd\">\n @if (!loading) {\n <ng-content />\n } @else {\n <app-skeleton-field-shell [variant]=\"skeletonVariant\" [showLeadingIcon]=\"!showFaTpl\" />\n }\n </div>\n </div>\n\n @if (showSuffixTpl) {\n <div class=\"base-field__suffix\" [class.base-field__suffix--loading]=\"loading\">\n @if (!loading) {\n @if (showCtxMenuTpl) {\n <app-dropdown-menu\n class=\"base-field__ctx-dropdown\"\n [items]=\"contextMenuItems\"\n [minWidthPx]=\"200\"\n [matchTriggerWidth]=\"false\"\n [menuId]=\"resolvedContextMenuId\"\n (itemSelect)=\"onContextMenuItemSelect($event)\"\n >\n <button type=\"button\" class=\"base-field__ctx-trigger\" aria-label=\"Mais op\u00E7\u00F5es\" tabindex=\"-1\">\n <i class=\"fa-solid fa-ellipsis\" aria-hidden=\"true\"></i>\n </button>\n </app-dropdown-menu>\n }\n @if (showSuffixSlot) {\n <ng-content select=\"[appFieldSuffix]\" />\n }\n @if (showClearTpl) {\n <button type=\"button\" class=\"base-field__clear\" tabindex=\"-1\" [attr.aria-label]=\"clearAriaLabel\"\n (click)=\"onClearClick()\">\n <span class=\"base-field__clear-x\" aria-hidden=\"true\">×</span>\n </button>\n }\n } @else if (loading && showSuffixSlot) {\n <span class=\"base-field__suffix-reserve\" aria-hidden=\"true\"></span>\n }\n </div>\n }\n </div>\n\n @if (!loading && showErrorTpl) {\n <p class=\"base-field__error\" [id]=\"errorId || null\" role=\"alert\">\n {{ errorMessage }}\n </p>\n }\n</div>\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;box-sizing:border-box}.base-field{display:flex;flex-direction:column;gap:.35rem;width:100%;max-width:100%;box-sizing:border-box}.base-field--loading .base-field__box{pointer-events:none}.base-field--loading .base-field__field{justify-content:center}.base-field--loading .base-field__control{display:flex;align-items:center;width:100%;min-height:0}.base-field__box{display:flex;align-items:stretch;width:100%;min-width:0;border:1px solid var(--ui-field-float-border);border-radius:var(--ui-field-float-border-radius);background:var(--ui-field-float-bg);transition:border-color .1s ease,box-shadow .1s ease;contain:layout}.base-field:not(.base-field--invalid):not(.base-field--disabled):not(.base-field--readonly) .base-field__box:focus-within{border-color:var(--ui-field-float-border-focus);box-shadow:0 0 0 3px var(--ui-field-float-focus-ring)}.base-field--readonly:not(.base-field--disabled) .base-field__box{background:var(--ui-field-readonly-bg);border-color:var(--ui-field-readonly-border)}.base-field--readonly:not(.base-field--disabled):not(.base-field--invalid) .base-field__box:focus-within{border-color:var(--ui-field-readonly-border-focus);box-shadow:0 0 0 3px var(--ui-field-readonly-focus-ring)}.base-field--invalid .base-field__box{border-color:var(--ui-field-input-invalid-border);box-shadow:none;background:var(--ui-field-invalid-input-bg, #fef2f2)}.base-field--readonly.base-field--invalid:not(.base-field--disabled) .base-field__box{background:var(--ui-field-invalid-input-bg, #fef2f2)}.base-field--invalid:not(.base-field--disabled):not(.base-field--readonly) .base-field__box:focus-within{border-color:var(--ui-field-input-invalid-border);box-shadow:0 0 0 3px var(--ui-field-input-invalid-focus-halo)}.base-field--invalid.base-field--readonly:not(.base-field--disabled) .base-field__box:focus-within{border-color:var(--ui-field-input-invalid-border);box-shadow:0 0 0 3px var(--ui-field-input-invalid-focus-halo)}.base-field--disabled .base-field__box{opacity:var(--ui-field-input-disabled-opacity)}.base-field__prefix{display:flex;align-items:center;justify-content:center;flex-shrink:0;padding-left:.75rem;color:var(--ui-field-float-prefix-color);user-select:none;-webkit-user-select:none}.base-field__prefix:empty{display:none}.base-field__prefix-icon{font-style:normal;font-size:1rem;line-height:1;color:var(--ui-field-float-prefix-color)}.base-field__prefix-icon--loading-dim{opacity:.34;pointer-events:none}.base-field__suffix{display:flex;align-items:center;justify-content:center;flex-shrink:0;padding-right:.4rem;padding-left:.1rem}.base-field__ctx-dropdown{display:inline-flex;flex-shrink:0;align-items:center;max-width:100%}.base-field__ctx-trigger{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:0;padding:0;border:none;border-radius:8px;background:transparent;color:var(--ui-field-float-prefix-color);cursor:pointer;user-select:none;-webkit-user-select:none;transition:background .15s ease,color .15s ease}.base-field__ctx-trigger:hover{background:var(--app-color-prefix-hover-bg, rgba(90, 127, 163, .15));color:var(--ui-field-float-label-top-color)}.base-field__ctx-trigger:focus,.base-field__ctx-trigger:focus-visible{outline:none}.base-field__clear{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:0;padding:0;border:none;border-radius:8px;background:transparent;color:var(--ui-field-float-prefix-color);cursor:pointer;user-select:none;-webkit-user-select:none;transition:background .15s ease,color .15s ease}.base-field__clear:hover{background:var(--app-color-prefix-hover-bg, rgba(90, 127, 163, .15));color:var(--ui-field-float-label-top-color)}.base-field__clear:focus,.base-field__clear:focus-visible{outline:none}.base-field__clear-x{font-size:1.35rem;line-height:1;font-weight:300}.base-field--invalid .base-field__prefix,.base-field--invalid .base-field__prefix-icon{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid .base-field__prefix-icon:before{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid .base-field__suffix,.base-field--invalid .base-field__clear,.base-field--invalid .base-field__ctx-trigger{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid .base-field__clear:hover,.base-field--invalid .base-field__ctx-trigger:hover{background:var(--app-color-error-bg-subtle, rgba(185, 28, 28, .12));color:var(--ui-field-float-label-invalid-color)}.base-field__field{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-start;contain:layout style}.base-field__float-label{position:absolute;left:.75rem;right:.75rem;top:.45rem;transform:translate3d(0,calc((1.8rem + 1.35em)/2 - .45rem - .6em),0) scale(1);transform-origin:left top;font-size:1rem;font-weight:400;line-height:1.2;color:var(--ui-field-float-label-color);pointer-events:none;user-select:none;-webkit-user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:transform .11s cubic-bezier(.4,0,.2,1),color .11s ease}@media (prefers-reduced-motion: reduce){.base-field__float-label{transition:none}}.base-field__box:focus-within .base-field__float-label,.base-field--filled .base-field__float-label{transform:translateZ(0) scale(.75);font-weight:500;color:var(--ui-field-float-label-top-color)}.base-field--invalid .base-field__float-label{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid.base-field--filled .base-field__float-label,.base-field--invalid .base-field__box:focus-within .base-field__float-label{color:var(--ui-field-float-label-invalid-color)}.base-field__required{color:var(--ui-field-required-mark-color);margin-left:.15rem}.base-field--invalid .base-field__required{color:var(--ui-field-float-label-invalid-color)}.base-field__control{display:block;width:100%;min-width:0}.base-field__suffix-reserve{display:block;flex-shrink:0;width:2rem;height:2rem;margin:0 .1rem;box-sizing:border-box}.base-field__control--value-end :where(input){text-align:right}.base-field--readonly:not(.base-field--disabled) .base-field__float-label{color:var(--ui-field-readonly-label-color)}.base-field--readonly.base-field--filled .base-field__float-label,.base-field--readonly:not(.base-field--disabled) .base-field__box:focus-within .base-field__float-label{color:var(--ui-field-readonly-label-top-color)}.base-field--readonly:not(.base-field--disabled) .base-field__prefix,.base-field--readonly:not(.base-field--disabled) .base-field__prefix-icon{color:var(--ui-field-readonly-prefix-color)}.base-field--readonly:not(.base-field--disabled) .base-field__control :where(input,textarea){color:var(--ui-field-readonly-input-text)}.base-field--invalid.base-field--readonly .base-field__float-label,.base-field--invalid.base-field--readonly.base-field--filled .base-field__float-label,.base-field--invalid.base-field--readonly .base-field__box:focus-within .base-field__float-label{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid.base-field--readonly:not(.base-field--disabled) .base-field__prefix,.base-field--invalid.base-field--readonly:not(.base-field--disabled) .base-field__prefix-icon{color:var(--ui-field-float-label-invalid-color)}.base-field__error{margin:0;padding-left:.15rem;font-size:.75rem;color:var(--ui-field-error-text-color);user-select:none;-webkit-user-select:none}\n"] }]
|
|
102
|
-
}], propDecorators: { label: [{
|
|
103
|
-
type: Input
|
|
104
|
-
}], errorMessage: [{
|
|
105
|
-
type: Input
|
|
106
|
-
}], required: [{
|
|
107
|
-
type: Input
|
|
108
|
-
}], showRequiredMark: [{
|
|
109
|
-
type: Input
|
|
110
|
-
}], invalid: [{
|
|
111
|
-
type: Input
|
|
112
|
-
}], filled: [{
|
|
113
|
-
type: Input
|
|
114
|
-
}], disabled: [{
|
|
115
|
-
type: Input
|
|
116
|
-
}], readonly: [{
|
|
117
|
-
type: Input
|
|
118
|
-
}], inputId: [{
|
|
119
|
-
type: Input
|
|
120
|
-
}], errorId: [{
|
|
121
|
-
type: Input
|
|
122
|
-
}], showPrefixIcon: [{
|
|
123
|
-
type: Input
|
|
124
|
-
}], prefixIcon: [{
|
|
125
|
-
type: Input
|
|
126
|
-
}], clearable: [{
|
|
127
|
-
type: Input
|
|
128
|
-
}], clearAriaLabel: [{
|
|
129
|
-
type: Input
|
|
130
|
-
}], showSuffixSlot: [{
|
|
131
|
-
type: Input
|
|
132
|
-
}], valueAlignEnd: [{
|
|
133
|
-
type: Input
|
|
134
|
-
}], loading: [{
|
|
135
|
-
type: Input,
|
|
136
|
-
args: [{ transform: booleanAttribute }]
|
|
137
|
-
}], skeletonVariant: [{
|
|
138
|
-
type: Input
|
|
139
|
-
}], mostrarMenuContexto: [{
|
|
140
|
-
type: Input,
|
|
141
|
-
args: [{ transform: booleanAttribute }]
|
|
142
|
-
}], contextMenuItems: [{
|
|
143
|
-
type: Input
|
|
144
|
-
}], contextMenuId: [{
|
|
145
|
-
type: Input
|
|
146
|
-
}], clear: [{
|
|
147
|
-
type: Output
|
|
148
|
-
}], contextMenuSelect: [{
|
|
149
|
-
type: Output
|
|
150
|
-
}] } });
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2ZpZWxkcy9pbnB1dC1maWVsZHMvX2Jhc2UvYmFzZS1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2ZpZWxkcy9pbnB1dC1maWVsZHMvX2Jhc2UvYmFzZS1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLDJCQUEyQixHQUU1QixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOztBQUc3Rjs7O0dBR0c7QUFTSCxNQUFNLE9BQU8sa0JBQWtCO0lBUi9CO1FBU1csVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDMUIsNEdBQTRHO1FBQ25HLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFFYixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUNoQyxrRkFBa0Y7UUFDekUsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLG1CQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3pDOzs7V0FHRztRQUNNLG1C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Z0JBQWdCO3NCQUF4QixLQUFLO2dCQUVHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUksS0FBSztzQkFBZCxNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2tlbGV0b25GaWVsZFNoZWxsQ29tcG9uZW50LFxuICB0eXBlIFNrZWxldG9uRmllbGRTaGVsbFZhcmlhbnQsXG59IGZyb20gJy4uLy4uLy4uL2xvYWRpbmcvc2tlbGV0b24tbG9hZGluZyc7XG5pbXBvcnQgeyBEcm9wZG93bk1lbnVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9tZW51cy9kcm9wZG93bi1tZW51L2Ryb3Bkb3duLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB0eXBlIHsgTWVudU5vZGVJdGVtIH0gZnJvbSAnLi4vLi4vLi4vbWVudXMvX21vZGVscy9tZW51LWl0ZW0ubW9kZWwnO1xuXG4vKipcbiAqIEJhc2UgdmlzdWFsIGRvIGNhbXBvOiBjYWl4YSBjb20gbGFiZWwgZmx1dHVhbnRlLCBwcmVmaXhvIG9wY2lvbmFsIGUgZXJyby5cbiAqIFVzYWRhIGRlbnRybyBkb3MgY29tcG9uZW50ZXMgZGUgY2FtcG8gKHRleHRvLCBpbnRlaXJvLCBkZWNpbWFsKS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWJhc2UtZmllbGQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbU2tlbGV0b25GaWVsZFNoZWxsQ29tcG9uZW50LCBEcm9wZG93bk1lbnVDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vYmFzZS1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9iYXNlLWZpZWxkLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEJhc2VGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0IHtcbiAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgQElucHV0KCkgZXJyb3JNZXNzYWdlID0gJyc7XG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XG4gIC8qKiBBc3RlcmlzY28gdmlzdWFsIGRvIG9icmlnYXTDs3JpbyBubyBsYWJlbCAodmFsaWRhw6fDo28gSFRNTCBgcmVxdWlyZWRgIGluYWx0ZXJhZGEpOyBwb3IgZGVmZWl0byBgZmFsc2VgLiAqL1xuICBASW5wdXQoKSBzaG93UmVxdWlyZWRNYXJrID0gZmFsc2U7XG4gIEBJbnB1dCgpIGludmFsaWQgPSBmYWxzZTtcbiAgQElucHV0KCkgZmlsbGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlucHV0SWQgPSAnJztcbiAgQElucHV0KCkgZXJyb3JJZCA9ICcnO1xuXG4gIEBJbnB1dCgpIHNob3dQcmVmaXhJY29uID0gZmFsc2U7XG4gIC8qKiBDbGFzc2VzIEZvbnQgQXdlc29tZSAoZXguOiBgZmEtc29saWQgZmEtdXNlcmApLiBVc2FkbyBjb20gYHNob3dQcmVmaXhJY29uYC4gKi9cbiAgQElucHV0KCkgcHJlZml4SWNvbiA9ICcnO1xuICBASW5wdXQoKSBjbGVhcmFibGUgPSB0cnVlO1xuICBASW5wdXQoKSBjbGVhckFyaWFMYWJlbCA9ICdMaW1wYXIgY2FtcG8nO1xuICAvKipcbiAgICogUXVhbmRvIGB0cnVlYCwgcmVuZGVyaXphIGBuZy1jb250ZW50YCBjb20gYFthcHBGaWVsZFN1ZmZpeF1gIMOgIGRpcmVpdGEgZG8gaW5wdXRcbiAgICogKGFudGVzIGRvIGJvdMOjbyBsaW1wYXIsIHNlIGhvdXZlcikuXG4gICAqL1xuICBASW5wdXQoKSBzaG93U3VmZml4U2xvdCA9IGZhbHNlO1xuICAvKiogQWxpbmhhIG8gdGV4dG8gZG8gdmFsb3Igw6AgZGlyZWl0YSBubyBpbnB1dCBwcm9qZXRhZG8uICovXG4gIEBJbnB1dCgpIHZhbHVlQWxpZ25FbmQgPSBmYWxzZTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgbG9hZGluZyA9IGZhbHNlO1xuICAvKiogVmFyaWFudGUgZG8gc2tlbGV0b24gcXVhbmRvIHtAbGluayBsb2FkaW5nfSDDqSBgdHJ1ZWAuICovXG4gIEBJbnB1dCgpIHNrZWxldG9uVmFyaWFudDogU2tlbGV0b25GaWVsZFNoZWxsVmFyaWFudCA9ICd0ZXh0JztcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgbW9zdHJhck1lbnVDb250ZXh0byA9IGZhbHNlO1xuICBASW5wdXQoKSBjb250ZXh0TWVudUl0ZW1zOiByZWFkb25seSBNZW51Tm9kZUl0ZW08c3RyaW5nPltdID0gW107XG4gIC8qKiBTdWZpeG8gZG8gYGlkYCBkbyBtZW51IChleC46IGBtZXVDYW1wby1jdHhgKTsgcG9yIGRlZmVpdG8gZGVyaXZhLXNlIGRlIHtAbGluayBpbnB1dElkfS4gKi9cbiAgQElucHV0KCkgY29udGV4dE1lbnVJZCA9ICcnO1xuXG4gIEBPdXRwdXQoKSBjbGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGNvbnRleHRNZW51U2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgLyoqIERlcml2YWRvcyBkbyB0ZW1wbGF0ZSAoYWN0dWFsaXphZG9zIGVtIGBuZ09uQ2hhbmdlc2AsIG7Do28gZ2V0dGVycyBwb3IgQ0QpLiAqL1xuICBzaG93RXJyb3JUcGwgPSBmYWxzZTtcbiAgc2hvd0Zsb2F0VHBsID0gZmFsc2U7XG4gIHNob3dGYVRwbCA9IGZhbHNlO1xuICBwcmVmaXhJY29uQ2xhc3NUcGwgPSAnJztcbiAgc2hvd0NsZWFyVHBsID0gZmFsc2U7XG4gIHNob3dDdHhNZW51VHBsID0gZmFsc2U7XG4gIHNob3dTdWZmaXhUcGwgPSBmYWxzZTtcblxuICBnZXQgcmVzb2x2ZWRDb250ZXh0TWVudUlkKCk6IHN0cmluZyB7XG4gICAgY29uc3QgdCA9IHRoaXMuY29udGV4dE1lbnVJZC50cmltKCk7XG4gICAgaWYgKHQubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHQ7XG4gICAgfVxuICAgIGNvbnN0IGJhc2UgPSB0aGlzLmlucHV0SWQudHJpbSgpO1xuICAgIHJldHVybiBiYXNlLmxlbmd0aCA+IDAgPyBgJHtiYXNlfS1jdHhgIDogJ2FwcC1maWVsZC1jdHgtbWVudSc7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlZnJlc2hUcGxGbGFncygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoX2NoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLnJlZnJlc2hUcGxGbGFncygpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoVHBsRmxhZ3MoKTogdm9pZCB7XG4gICAgY29uc3QgbGFiZWxUcmltID0gdGhpcy5sYWJlbC50cmltKCk7XG4gICAgdGhpcy5zaG93RmxvYXRUcGwgPSBsYWJlbFRyaW0ubGVuZ3RoID4gMDtcbiAgICB0aGlzLnNob3dFcnJvclRwbCA9IHRoaXMuaW52YWxpZCAmJiAhIXRoaXMuZXJyb3JNZXNzYWdlO1xuICAgIGNvbnN0IGljb25UcmltID0gdGhpcy5wcmVmaXhJY29uLnRyaW0oKTtcbiAgICB0aGlzLnNob3dGYVRwbCA9IHRoaXMuc2hvd1ByZWZpeEljb24gJiYgaWNvblRyaW0ubGVuZ3RoID4gMDtcbiAgICB0aGlzLnByZWZpeEljb25DbGFzc1RwbCA9IGBiYXNlLWZpZWxkX19wcmVmaXgtaWNvbiAke2ljb25UcmltfWAudHJpbSgpO1xuICAgIHRoaXMuc2hvd0NsZWFyVHBsID1cbiAgICAgICF0aGlzLmxvYWRpbmcgJiZcbiAgICAgIHRoaXMuY2xlYXJhYmxlICYmXG4gICAgICB0aGlzLmZpbGxlZCAmJlxuICAgICAgIXRoaXMuZGlzYWJsZWQgJiZcbiAgICAgICF0aGlzLnJlYWRvbmx5O1xuICAgIHRoaXMuc2hvd0N0eE1lbnVUcGwgPVxuICAgICAgIXRoaXMubG9hZGluZyAmJlxuICAgICAgIXRoaXMuZGlzYWJsZWQgJiZcbiAgICAgICF0aGlzLnJlYWRvbmx5ICYmXG4gICAgICB0aGlzLm1vc3RyYXJNZW51Q29udGV4dG8gJiZcbiAgICAgICh0aGlzLmNvbnRleHRNZW51SXRlbXM/Lmxlbmd0aCA/PyAwKSA+IDA7XG4gICAgLyogQ29tIGBsb2FkaW5nYCwgbWFudMOpbSBjb2x1bmEgZGUgc3VmaXhvIChleC46IHRvZ2dsZSBzZW5oYSkgcGFyYSBuw6NvIGVuY29saGVyIGEgY2FpeGEuICovXG4gICAgdGhpcy5zaG93U3VmZml4VHBsID0gdGhpcy5sb2FkaW5nXG4gICAgICA/IHRoaXMuc2hvd1N1ZmZpeFNsb3RcbiAgICAgIDogdGhpcy5zaG93U3VmZml4U2xvdCB8fCB0aGlzLnNob3dDbGVhclRwbCB8fCB0aGlzLnNob3dDdHhNZW51VHBsO1xuICB9XG5cbiAgb25DbGVhckNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXIuZW1pdCgpO1xuICB9XG5cbiAgb25Db250ZXh0TWVudUl0ZW1TZWxlY3QoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY29udGV4dE1lbnVTZWxlY3QuZW1pdChpZCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJiYXNlLWZpZWxkXCIgW2NsYXNzLmJhc2UtZmllbGQtLWludmFsaWRdPVwiaW52YWxpZFwiIFtjbGFzcy5iYXNlLWZpZWxkLS1maWxsZWRdPVwiZmlsbGVkXCJcbiAgW2NsYXNzLmJhc2UtZmllbGQtLWRpc2FibGVkXT1cImRpc2FibGVkXCIgW2NsYXNzLmJhc2UtZmllbGQtLXJlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgW2NsYXNzLmJhc2UtZmllbGQtLWxvYWRpbmddPVwibG9hZGluZ1wiIFthdHRyLmFyaWEtYnVzeV09XCJsb2FkaW5nID8gdHJ1ZSA6IG51bGxcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cImxvYWRpbmcgJiYgc2hvd0Zsb2F0VHBsID8gbGFiZWwgOiBudWxsXCI+XG4gIDxkaXYgY2xhc3M9XCJiYXNlLWZpZWxkX19ib3hcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYmFzZS1maWVsZF9fcHJlZml4XCI+XG4gICAgICBAaWYgKCFsb2FkaW5nKSB7XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbYXBwRmllbGRQcmVmaXhdXCIgLz5cbiAgICAgIH1cbiAgICAgIEBpZiAoc2hvd0ZhVHBsKSB7XG4gICAgICA8aSBbYXR0ci5jbGFzc109XCJwcmVmaXhJY29uQ2xhc3NUcGwgKyAobG9hZGluZyA/ICcgYmFzZS1maWVsZF9fcHJlZml4LWljb24tLWxvYWRpbmctZGltJyA6ICcnKVwiXG4gICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgIH1cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJiYXNlLWZpZWxkX19maWVsZFwiPlxuICAgICAgQGlmIChzaG93RmxvYXRUcGwgJiYgIWxvYWRpbmcpIHtcbiAgICAgIDxsYWJlbCBjbGFzcz1cImJhc2UtZmllbGRfX2Zsb2F0LWxhYmVsXCIgW2F0dHIuZm9yXT1cImlucHV0SWQgfHwgbnVsbFwiPlxuICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgICBAaWYgKHJlcXVpcmVkICYmIHNob3dSZXF1aXJlZE1hcmspIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJiYXNlLWZpZWxkX19yZXF1aXJlZFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPio8L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvbGFiZWw+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJiYXNlLWZpZWxkX19jb250cm9sXCIgW2NsYXNzLmJhc2UtZmllbGRfX2NvbnRyb2wtLXZhbHVlLWVuZF09XCJ2YWx1ZUFsaWduRW5kXCI+XG4gICAgICAgIEBpZiAoIWxvYWRpbmcpIHtcbiAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxhcHAtc2tlbGV0b24tZmllbGQtc2hlbGwgW3ZhcmlhbnRdPVwic2tlbGV0b25WYXJpYW50XCIgW3Nob3dMZWFkaW5nSWNvbl09XCIhc2hvd0ZhVHBsXCIgLz5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICBAaWYgKHNob3dTdWZmaXhUcGwpIHtcbiAgICA8ZGl2IGNsYXNzPVwiYmFzZS1maWVsZF9fc3VmZml4XCIgW2NsYXNzLmJhc2UtZmllbGRfX3N1ZmZpeC0tbG9hZGluZ109XCJsb2FkaW5nXCI+XG4gICAgICBAaWYgKCFsb2FkaW5nKSB7XG4gICAgICBAaWYgKHNob3dDdHhNZW51VHBsKSB7XG4gICAgICA8YXBwLWRyb3Bkb3duLW1lbnVcbiAgICAgICAgY2xhc3M9XCJiYXNlLWZpZWxkX19jdHgtZHJvcGRvd25cIlxuICAgICAgICBbaXRlbXNdPVwiY29udGV4dE1lbnVJdGVtc1wiXG4gICAgICAgIFttaW5XaWR0aFB4XT1cIjIwMFwiXG4gICAgICAgIFttYXRjaFRyaWdnZXJXaWR0aF09XCJmYWxzZVwiXG4gICAgICAgIFttZW51SWRdPVwicmVzb2x2ZWRDb250ZXh0TWVudUlkXCJcbiAgICAgICAgKGl0ZW1TZWxlY3QpPVwib25Db250ZXh0TWVudUl0ZW1TZWxlY3QoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYmFzZS1maWVsZF9fY3R4LXRyaWdnZXJcIiBhcmlhLWxhYmVsPVwiTWFpcyBvcMOnw7Vlc1wiIHRhYmluZGV4PVwiLTFcIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWVsbGlwc2lzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvYXBwLWRyb3Bkb3duLW1lbnU+XG4gICAgICB9XG4gICAgICBAaWYgKHNob3dTdWZmaXhTbG90KSB7XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbYXBwRmllbGRTdWZmaXhdXCIgLz5cbiAgICAgIH1cbiAgICAgIEBpZiAoc2hvd0NsZWFyVHBsKSB7XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJhc2UtZmllbGRfX2NsZWFyXCIgdGFiaW5kZXg9XCItMVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiY2xlYXJBcmlhTGFiZWxcIlxuICAgICAgICAoY2xpY2spPVwib25DbGVhckNsaWNrKClcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJiYXNlLWZpZWxkX19jbGVhci14XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+JnRpbWVzOzwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgfVxuICAgICAgfSBAZWxzZSBpZiAobG9hZGluZyAmJiBzaG93U3VmZml4U2xvdCkge1xuICAgICAgPHNwYW4gY2xhc3M9XCJiYXNlLWZpZWxkX19zdWZmaXgtcmVzZXJ2ZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuXG4gIEBpZiAoIWxvYWRpbmcgJiYgc2hvd0Vycm9yVHBsKSB7XG4gIDxwIGNsYXNzPVwiYmFzZS1maWVsZF9fZXJyb3JcIiBbaWRdPVwiZXJyb3JJZCB8fCBudWxsXCIgcm9sZT1cImFsZXJ0XCI+XG4gICAge3sgZXJyb3JNZXNzYWdlIH19XG4gIDwvcD5cbiAgfVxuPC9kaXY+XG4iXX0=
|
|
@@ -1,224 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectorRef, DestroyRef, Directive, EventEmitter, Injector, Input, Output, booleanAttribute, inject, } from '@angular/core';
|
|
2
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
|
-
import { FormGroupDirective, NgForm, Validators, } from '@angular/forms';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
let fieldControlAutoId = 0;
|
|
6
|
-
/**
|
|
7
|
-
* Diretiva base abstrata: CVA, valor interno, disabled, touched e inputs comuns.
|
|
8
|
-
* Sem UI; os campos concretos envolvem o input com `BaseFieldComponent`.
|
|
9
|
-
*/
|
|
10
|
-
export class BaseFieldDirective {
|
|
11
|
-
constructor() {
|
|
12
|
-
this.cdr = inject(ChangeDetectorRef);
|
|
13
|
-
this.injector = inject(Injector);
|
|
14
|
-
this.destroyRef = inject(DestroyRef);
|
|
15
|
-
this.formGroupDir = undefined;
|
|
16
|
-
this.ngFormDir = undefined;
|
|
17
|
-
/** Identificador estável para a11y quando `id` não é informado */
|
|
18
|
-
this.autoId = `app-field-${++fieldControlAutoId}`;
|
|
19
|
-
this.id = '';
|
|
20
|
-
this.name = '';
|
|
21
|
-
this.label = '';
|
|
22
|
-
this.placeholder = '';
|
|
23
|
-
this.errorMessage = '';
|
|
24
|
-
/** Se `true`, exibe o parágrafo de erro; por defeito `false` (só estado inválido na borda/label). */
|
|
25
|
-
this.showErrorMessage = false;
|
|
26
|
-
this.required = false;
|
|
27
|
-
/** Se `true` e `required`, exibe o asterisco no label (`BaseFieldComponent`); por defeito `false`. */
|
|
28
|
-
this.showRequiredMark = false;
|
|
29
|
-
this.readonly = false;
|
|
30
|
-
/** Exibe ícone à esquerda (classes Font Awesome, ex.: `fa-solid fa-user`). */
|
|
31
|
-
this.showPrefixIcon = false;
|
|
32
|
-
this.prefixIcon = '';
|
|
33
|
-
/** Exibe botão à direita para limpar o valor quando houver texto. */
|
|
34
|
-
this.clearable = true;
|
|
35
|
-
this.clearAriaLabel = 'Limpar campo';
|
|
36
|
-
/**
|
|
37
|
-
* Se `true`, o navegador pode exibir sugestões de preenchimento automático.
|
|
38
|
-
* Padrão `false` (`autocomplete="off"` em todos os campos).
|
|
39
|
-
*/
|
|
40
|
-
this.autocomplete = false;
|
|
41
|
-
/** Placeholder de carregamento no `app-base-field` (skeleton). */
|
|
42
|
-
this.loading = false;
|
|
43
|
-
/**
|
|
44
|
-
* Mostra botão «…» no sufixo que abre menu de ações (dropdown com os itens em {@link contextMenuItems}).
|
|
45
|
-
* Por defeito `false`.
|
|
46
|
-
*/
|
|
47
|
-
this.mostrarMenuContexto = false;
|
|
48
|
-
/** Itens do menu de contexto (rótulos, divisores, grupos); só o botão é mostrado se a lista não for vazia. */
|
|
49
|
-
this.contextMenuItems = [];
|
|
50
|
-
/** `id` do menu (acessibilidade); por defeito `{id do campo}-ctx`. */
|
|
51
|
-
this.contextMenuId = '';
|
|
52
|
-
this.contextMenuSelect = new EventEmitter();
|
|
53
|
-
this.internalValue = null;
|
|
54
|
-
this.disabled = false;
|
|
55
|
-
this.onChange = () => { };
|
|
56
|
-
this.onTouched = () => { };
|
|
57
|
-
}
|
|
58
|
-
/** Alias de {@link prefixIcon} (API alinhada a “ícone à esquerda”). */
|
|
59
|
-
set iconLeft(value) {
|
|
60
|
-
this.prefixIcon = value ?? '';
|
|
61
|
-
}
|
|
62
|
-
get controlId() {
|
|
63
|
-
return this.id || this.autoId;
|
|
64
|
-
}
|
|
65
|
-
/** Valor do atributo HTML `autocomplete` derivado de {@link autocomplete}. */
|
|
66
|
-
get autocompleteAttr() {
|
|
67
|
-
return this.autocomplete ? 'on' : 'off';
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Mensagem exibida quando inválido: `errorMessage` se preenchido;
|
|
71
|
-
* senão, se obrigatório, o padrão "Campo obrigatório".
|
|
72
|
-
* Campos não obrigatórios não exibem mensagem de erro da lib.
|
|
73
|
-
*/
|
|
74
|
-
getErrorMessage() {
|
|
75
|
-
if (!this.showErrorMessage || !this.isEffectiveRequired(this.resolveControlForRequired())) {
|
|
76
|
-
return '';
|
|
77
|
-
}
|
|
78
|
-
const custom = this.errorMessage.trim();
|
|
79
|
-
if (custom.length > 0) {
|
|
80
|
-
return custom;
|
|
81
|
-
}
|
|
82
|
-
return 'Campo obrigatório';
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Obrigatório efetivo para UI: {@link required} ou `Validators.required` no `FormControl`.
|
|
86
|
-
* Usado no asterisco do label e no atributo HTML `required`.
|
|
87
|
-
*/
|
|
88
|
-
get requiredEffective() {
|
|
89
|
-
return this.isEffectiveRequired(this.resolveControlForRequired());
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* `true` se `[required]="true"` **ou** o control tiver `Validators.required`.
|
|
93
|
-
*/
|
|
94
|
-
isEffectiveRequired(control) {
|
|
95
|
-
if (this.required) {
|
|
96
|
-
return true;
|
|
97
|
-
}
|
|
98
|
-
if (!control) {
|
|
99
|
-
return false;
|
|
100
|
-
}
|
|
101
|
-
return (control.hasValidator(Validators.required) ||
|
|
102
|
-
control.hasValidator(Validators.requiredTrue));
|
|
103
|
-
}
|
|
104
|
-
/** Sobrescrito em campos com `NgControl` para ler o `FormControl`. */
|
|
105
|
-
resolveControlForRequired() {
|
|
106
|
-
return undefined;
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Estado visual de erro (borda/label): obrigatório efetivo + control inválido +
|
|
110
|
-
* só após interação com o valor (`dirty`) ou envio do formulário (`submitted`).
|
|
111
|
-
* Não usar `touched` sozinho: blur/tab marca touched sem alterar o valor e não deve mostrar erro.
|
|
112
|
-
*/
|
|
113
|
-
controlInvalidUi(control) {
|
|
114
|
-
if (!this.isEffectiveRequired(control)) {
|
|
115
|
-
return false;
|
|
116
|
-
}
|
|
117
|
-
return (!!control &&
|
|
118
|
-
control.invalid &&
|
|
119
|
-
(control.dirty || this.isParentFormSubmitted()));
|
|
120
|
-
}
|
|
121
|
-
/** Reactive: `FormGroupDirective` no `<form [formGroup]>`; template-driven: `NgForm`. */
|
|
122
|
-
isParentFormSubmitted() {
|
|
123
|
-
if (this.formGroupDir === undefined) {
|
|
124
|
-
this.formGroupDir =
|
|
125
|
-
this.injector.get(FormGroupDirective, null, { optional: true }) ?? null;
|
|
126
|
-
}
|
|
127
|
-
if (this.ngFormDir === undefined) {
|
|
128
|
-
this.ngFormDir = this.injector.get(NgForm, null, { optional: true }) ?? null;
|
|
129
|
-
}
|
|
130
|
-
return !!(this.formGroupDir?.submitted || this.ngFormDir?.submitted);
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Campos OnPush precisam reavaliar `baseInvalid` após o submit do form
|
|
134
|
-
* (mudança de `submitted` não passa por `statusChanges`).
|
|
135
|
-
*/
|
|
136
|
-
registerFormSubmitRecheck() {
|
|
137
|
-
const fg = this.injector.get(FormGroupDirective, null, { optional: true });
|
|
138
|
-
const nf = this.injector.get(NgForm, null, { optional: true });
|
|
139
|
-
const mark = () => this.cdr.markForCheck();
|
|
140
|
-
fg?.ngSubmit
|
|
141
|
-
?.pipe(takeUntilDestroyed(this.destroyRef))
|
|
142
|
-
.subscribe(mark);
|
|
143
|
-
nf?.ngSubmit
|
|
144
|
-
?.pipe(takeUntilDestroyed(this.destroyRef))
|
|
145
|
-
.subscribe(mark);
|
|
146
|
-
}
|
|
147
|
-
writeValue(value) {
|
|
148
|
-
this.internalValue = value;
|
|
149
|
-
this.afterWriteValue(value);
|
|
150
|
-
this.cdr.markForCheck();
|
|
151
|
-
}
|
|
152
|
-
/** Sincroniza exibição/DOM após writeValue ou reset do form. */
|
|
153
|
-
afterWriteValue(_value) { }
|
|
154
|
-
registerOnChange(fn) {
|
|
155
|
-
this.onChange = fn;
|
|
156
|
-
}
|
|
157
|
-
registerOnTouched(fn) {
|
|
158
|
-
this.onTouched = fn;
|
|
159
|
-
}
|
|
160
|
-
setDisabledState(isDisabled) {
|
|
161
|
-
this.disabled = isDisabled;
|
|
162
|
-
this.cdr.markForCheck();
|
|
163
|
-
}
|
|
164
|
-
emitModelValue(value) {
|
|
165
|
-
if (this.disabled) {
|
|
166
|
-
return;
|
|
167
|
-
}
|
|
168
|
-
this.internalValue = value;
|
|
169
|
-
this.onChange(value);
|
|
170
|
-
}
|
|
171
|
-
notifyTouched() {
|
|
172
|
-
this.onTouched();
|
|
173
|
-
this.cdr.markForCheck();
|
|
174
|
-
}
|
|
175
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
176
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.12", type: BaseFieldDirective, inputs: { id: "id", name: "name", label: "label", placeholder: "placeholder", errorMessage: "errorMessage", showErrorMessage: "showErrorMessage", required: "required", showRequiredMark: "showRequiredMark", readonly: "readonly", showPrefixIcon: "showPrefixIcon", prefixIcon: "prefixIcon", iconLeft: "iconLeft", clearable: "clearable", clearAriaLabel: "clearAriaLabel", autocomplete: "autocomplete", loading: ["loading", "loading", booleanAttribute], mostrarMenuContexto: ["mostrarMenuContexto", "mostrarMenuContexto", booleanAttribute], contextMenuItems: "contextMenuItems", contextMenuId: "contextMenuId" }, outputs: { contextMenuSelect: "contextMenuSelect" }, ngImport: i0 }); }
|
|
177
|
-
}
|
|
178
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseFieldDirective, decorators: [{
|
|
179
|
-
type: Directive
|
|
180
|
-
}], propDecorators: { id: [{
|
|
181
|
-
type: Input
|
|
182
|
-
}], name: [{
|
|
183
|
-
type: Input
|
|
184
|
-
}], label: [{
|
|
185
|
-
type: Input
|
|
186
|
-
}], placeholder: [{
|
|
187
|
-
type: Input
|
|
188
|
-
}], errorMessage: [{
|
|
189
|
-
type: Input
|
|
190
|
-
}], showErrorMessage: [{
|
|
191
|
-
type: Input
|
|
192
|
-
}], required: [{
|
|
193
|
-
type: Input
|
|
194
|
-
}], showRequiredMark: [{
|
|
195
|
-
type: Input
|
|
196
|
-
}], readonly: [{
|
|
197
|
-
type: Input
|
|
198
|
-
}], showPrefixIcon: [{
|
|
199
|
-
type: Input
|
|
200
|
-
}], prefixIcon: [{
|
|
201
|
-
type: Input
|
|
202
|
-
}], iconLeft: [{
|
|
203
|
-
type: Input,
|
|
204
|
-
args: ['iconLeft']
|
|
205
|
-
}], clearable: [{
|
|
206
|
-
type: Input
|
|
207
|
-
}], clearAriaLabel: [{
|
|
208
|
-
type: Input
|
|
209
|
-
}], autocomplete: [{
|
|
210
|
-
type: Input
|
|
211
|
-
}], loading: [{
|
|
212
|
-
type: Input,
|
|
213
|
-
args: [{ transform: booleanAttribute }]
|
|
214
|
-
}], mostrarMenuContexto: [{
|
|
215
|
-
type: Input,
|
|
216
|
-
args: [{ transform: booleanAttribute }]
|
|
217
|
-
}], contextMenuItems: [{
|
|
218
|
-
type: Input
|
|
219
|
-
}], contextMenuId: [{
|
|
220
|
-
type: Input
|
|
221
|
-
}], contextMenuSelect: [{
|
|
222
|
-
type: Output
|
|
223
|
-
}] } });
|
|
224
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1maWVsZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2ZpZWxkcy9pbnB1dC1maWVsZHMvX2Jhc2UvYmFzZS1maWVsZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsU0FBUyxFQUNULFlBQVksRUFDWixRQUFRLEVBQ1IsS0FBSyxFQUNMLE1BQU0sRUFDTixnQkFBZ0IsRUFDaEIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFHTCxrQkFBa0IsRUFDbEIsTUFBTSxFQUNOLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDOztBQUV4QixJQUFJLGtCQUFrQixHQUFHLENBQUMsQ0FBQztBQUUzQjs7O0dBR0c7QUFFSCxNQUFNLE9BQWdCLGtCQUFrQjtJQUR4QztRQUVxQixRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTNDLGlCQUFZLEdBQTBDLFNBQVMsQ0FBQztRQUNoRSxjQUFTLEdBQThCLFNBQVMsQ0FBQztRQUV6RCxrRUFBa0U7UUFDL0MsV0FBTSxHQUFHLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO1FBRXZELE9BQUUsR0FBRyxFQUFFLENBQUM7UUFDUixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQzNCLHFHQUFxRztRQUM1RixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFD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QUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7K0dBbE1tQixrQkFBa0I7bUdBQWxCLGtCQUFrQixnYkF5Q2xCLGdCQUFnQix1RUFNaEIsZ0JBQWdCOzs0RkEvQ2hCLGtCQUFrQjtrQkFEdkMsU0FBUzs4QkFZQyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUlGLFFBQVE7c0JBRFgsS0FBSzt1QkFBQyxVQUFVO2dCQUtSLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFLRyxZQUFZO3NCQUFwQixLQUFLO2dCQUdrQyxPQUFPO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQU1FLG1CQUFtQjtzQkFBMUQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFHN0IsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRWEsaUJBQWlCO3NCQUFuQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIERlc3Ryb3lSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgTWVudU5vZGVJdGVtIH0gZnJvbSAnLi4vLi4vLi4vbWVudXMvX21vZGVscy9tZW51LWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgRm9ybUdyb3VwRGlyZWN0aXZlLFxuICBOZ0Zvcm0sXG4gIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxubGV0IGZpZWxkQ29udHJvbEF1dG9JZCA9IDA7XG5cbi8qKlxuICogRGlyZXRpdmEgYmFzZSBhYnN0cmF0YTogQ1ZBLCB2YWxvciBpbnRlcm5vLCBkaXNhYmxlZCwgdG91Y2hlZCBlIGlucHV0cyBjb211bnMuXG4gKiBTZW0gVUk7IG9zIGNhbXBvcyBjb25jcmV0b3MgZW52b2x2ZW0gbyBpbnB1dCBjb20gYEJhc2VGaWVsZENvbXBvbmVudGAuXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VGaWVsZERpcmVjdGl2ZTxUPiBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByb3RlY3RlZCByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gIHByb3RlY3RlZCByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIHByaXZhdGUgZm9ybUdyb3VwRGlyOiBGb3JtR3JvdXBEaXJlY3RpdmUgfCBudWxsIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICBwcml2YXRlIG5nRm9ybURpcjogTmdGb3JtIHwgbnVsbCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAvKiogSWRlbnRpZmljYWRvciBlc3TDoXZlbCBwYXJhIGExMXkgcXVhbmRvIGBpZGAgbsOjbyDDqSBpbmZvcm1hZG8gKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGF1dG9JZCA9IGBhcHAtZmllbGQtJHsrK2ZpZWxkQ29udHJvbEF1dG9JZH1gO1xuXG4gIEBJbnB1dCgpIGlkID0gJyc7XG4gIEBJbnB1dCgpIG5hbWUgPSAnJztcbiAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcbiAgQElucHV0KCkgZXJyb3JNZXNzYWdlID0gJyc7XG4gIC8qKiBTZSBgdHJ1ZWAsIGV4aWJlIG8gcGFyw6FncmFmbyBkZSBlcnJvOyBwb3IgZGVmZWl0byBgZmFsc2VgIChzw7MgZXN0YWRvIGludsOhbGlkbyBuYSBib3JkYS9sYWJlbCkuICovXG4gIEBJbnB1dCgpIHNob3dFcnJvck1lc3NhZ2UgPSBmYWxzZTtcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcbiAgLyoqIFNlIGB0cnVlYCBlIGByZXF1aXJlZGAsIGV4aWJlIG8gYXN0ZXJpc2NvIG5vIGxhYmVsIChgQmFzZUZpZWxkQ29tcG9uZW50YCk7IHBvciBkZWZlaXRvIGBmYWxzZWAuICovXG4gIEBJbnB1dCgpIHNob3dSZXF1aXJlZE1hcmsgPSBmYWxzZTtcbiAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcbiAgLyoqIEV4aWJlIMOtY29uZSDDoCBlc3F1ZXJkYSAoY2xhc3NlcyBGb250IEF3ZXNvbWUsIGV4LjogYGZhLXNvbGlkIGZhLXVzZXJgKS4gKi9cbiAgQElucHV0KCkgc2hvd1ByZWZpeEljb24gPSBmYWxzZTtcbiAgQElucHV0KCkgcHJlZml4SWNvbiA9ICcnO1xuXG4gIC8qKiBBbGlhcyBkZSB7QGxpbmsgcHJlZml4SWNvbn0gKEFQSSBhbGluaGFkYSBhIOKAnMOtY29uZSDDoCBlc3F1ZXJkYeKAnSkuICovXG4gIEBJbnB1dCgnaWNvbkxlZnQnKVxuICBzZXQgaWNvbkxlZnQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMucHJlZml4SWNvbiA9IHZhbHVlID8/ICcnO1xuICB9XG4gIC8qKiBFeGliZSBib3TDo28gw6AgZGlyZWl0YSBwYXJhIGxpbXBhciBvIHZhbG9yIHF1YW5kbyBob3V2ZXIgdGV4dG8uICovXG4gIEBJbnB1dCgpIGNsZWFyYWJsZSA9IHRydWU7XG4gIEBJbnB1dCgpIGNsZWFyQXJpYUxhYmVsID0gJ0xpbXBhciBjYW1wbyc7XG4gIC8qKlxuICAgKiBTZSBgdHJ1ZWAsIG8gbmF2ZWdhZG9yIHBvZGUgZXhpYmlyIHN1Z2VzdMO1ZXMgZGUgcHJlZW5jaGltZW50byBhdXRvbcOhdGljby5cbiAgICogUGFkcsOjbyBgZmFsc2VgIChgYXV0b2NvbXBsZXRlPVwib2ZmXCJgIGVtIHRvZG9zIG9zIGNhbXBvcykuXG4gICAqL1xuICBASW5wdXQoKSBhdXRvY29tcGxldGUgPSBmYWxzZTtcblxuICAvKiogUGxhY2Vob2xkZXIgZGUgY2FycmVnYW1lbnRvIG5vIGBhcHAtYmFzZS1maWVsZGAgKHNrZWxldG9uKS4gKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGxvYWRpbmcgPSBmYWxzZTtcblxuICAvKipcbiAgICogTW9zdHJhIGJvdMOjbyDCq+KApsK7IG5vIHN1Zml4byBxdWUgYWJyZSBtZW51IGRlIGHDp8O1ZXMgKGRyb3Bkb3duIGNvbSBvcyBpdGVucyBlbSB7QGxpbmsgY29udGV4dE1lbnVJdGVtc30pLlxuICAgKiBQb3IgZGVmZWl0byBgZmFsc2VgLlxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIG1vc3RyYXJNZW51Q29udGV4dG8gPSBmYWxzZTtcblxuICAvKiogSXRlbnMgZG8gbWVudSBkZSBjb250ZXh0byAocsOzdHVsb3MsIGRpdmlzb3JlcywgZ3J1cG9zKTsgc8OzIG8gYm90w6NvIMOpIG1vc3RyYWRvIHNlIGEgbGlzdGEgbsOjbyBmb3IgdmF6aWEuICovXG4gIEBJbnB1dCgpIGNvbnRleHRNZW51SXRlbXM6IHJlYWRvbmx5IE1lbnVOb2RlSXRlbTxzdHJpbmc+W10gPSBbXTtcblxuICAvKiogYGlkYCBkbyBtZW51IChhY2Vzc2liaWxpZGFkZSk7IHBvciBkZWZlaXRvIGB7aWQgZG8gY2FtcG99LWN0eGAuICovXG4gIEBJbnB1dCgpIGNvbnRleHRNZW51SWQgPSAnJztcblxuICBAT3V0cHV0KCkgcmVhZG9ubHkgY29udGV4dE1lbnVTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBwcm90ZWN0ZWQgaW50ZXJuYWxWYWx1ZTogVCB8IG51bGwgPSBudWxsO1xuICBwcm90ZWN0ZWQgZGlzYWJsZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIG9uQ2hhbmdlOiAodmFsdWU6IFQgfCBudWxsKSA9PiB2b2lkID0gKCkgPT4geyB9O1xuICBwcml2YXRlIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHsgfTtcblxuICBnZXQgY29udHJvbElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWQgfHwgdGhpcy5hdXRvSWQ7XG4gIH1cblxuICAvKiogVmFsb3IgZG8gYXRyaWJ1dG8gSFRNTCBgYXV0b2NvbXBsZXRlYCBkZXJpdmFkbyBkZSB7QGxpbmsgYXV0b2NvbXBsZXRlfS4gKi9cbiAgZ2V0IGF1dG9jb21wbGV0ZUF0dHIoKTogJ29uJyB8ICdvZmYnIHtcbiAgICByZXR1cm4gdGhpcy5hdXRvY29tcGxldGUgPyAnb24nIDogJ29mZic7XG4gIH1cblxuICAvKipcbiAgICogTWVuc2FnZW0gZXhpYmlkYSBxdWFuZG8gaW52w6FsaWRvOiBgZXJyb3JNZXNzYWdlYCBzZSBwcmVlbmNoaWRvO1xuICAgKiBzZW7Do28sIHNlIG9icmlnYXTDs3JpbywgbyBwYWRyw6NvIFwiQ2FtcG8gb2JyaWdhdMOzcmlvXCIuXG4gICAqIENhbXBvcyBuw6NvIG9icmlnYXTDs3Jpb3MgbsOjbyBleGliZW0gbWVuc2FnZW0gZGUgZXJybyBkYSBsaWIuXG4gICAqL1xuICBnZXRFcnJvck1lc3NhZ2UoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuc2hvd0Vycm9yTWVzc2FnZSB8fCAhdGhpcy5pc0VmZmVjdGl2ZVJlcXVpcmVkKHRoaXMucmVzb2x2ZUNvbnRyb2xGb3JSZXF1aXJlZCgpKSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBjb25zdCBjdXN0b20gPSB0aGlzLmVycm9yTWVzc2FnZS50cmltKCk7XG4gICAgaWYgKGN1c3RvbS5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gY3VzdG9tO1xuICAgIH1cbiAgICByZXR1cm4gJ0NhbXBvIG9icmlnYXTDs3Jpbyc7XG4gIH1cblxuICAvKipcbiAgICogT2JyaWdhdMOzcmlvIGVmZXRpdm8gcGFyYSBVSToge0BsaW5rIHJlcXVpcmVkfSBvdSBgVmFsaWRhdG9ycy5yZXF1aXJlZGAgbm8gYEZvcm1Db250cm9sYC5cbiAgICogVXNhZG8gbm8gYXN0ZXJpc2NvIGRvIGxhYmVsIGUgbm8gYXRyaWJ1dG8gSFRNTCBgcmVxdWlyZWRgLlxuICAgKi9cbiAgZ2V0IHJlcXVpcmVkRWZmZWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzRWZmZWN0aXZlUmVxdWlyZWQodGhpcy5yZXNvbHZlQ29udHJvbEZvclJlcXVpcmVkKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIGB0cnVlYCBzZSBgW3JlcXVpcmVkXT1cInRydWVcImAgKipvdSoqIG8gY29udHJvbCB0aXZlciBgVmFsaWRhdG9ycy5yZXF1aXJlZGAuXG4gICAqL1xuICBwcm90ZWN0ZWQgaXNFZmZlY3RpdmVSZXF1aXJlZChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMucmVxdWlyZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoIWNvbnRyb2wpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIChcbiAgICAgIGNvbnRyb2wuaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpIHx8XG4gICAgICBjb250cm9sLmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkVHJ1ZSlcbiAgICApO1xuICB9XG5cbiAgLyoqIFNvYnJlc2NyaXRvIGVtIGNhbXBvcyBjb20gYE5nQ29udHJvbGAgcGFyYSBsZXIgbyBgRm9ybUNvbnRyb2xgLiAqL1xuICBwcm90ZWN0ZWQgcmVzb2x2ZUNvbnRyb2xGb3JSZXF1aXJlZCgpOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEVzdGFkbyB2aXN1YWwgZGUgZXJybyAoYm9yZGEvbGFiZWwpOiBvYnJpZ2F0w7NyaW8gZWZldGl2byArIGNvbnRyb2wgaW52w6FsaWRvICtcbiAgICogc8OzIGFww7NzIGludGVyYcOnw6NvIGNvbSBvIHZhbG9yIChgZGlydHlgKSBvdSBlbnZpbyBkbyBmb3JtdWzDoXJpbyAoYHN1Ym1pdHRlZGApLlxuICAgKiBOw6NvIHVzYXIgYHRvdWNoZWRgIHNvemluaG86IGJsdXIvdGFiIG1hcmNhIHRvdWNoZWQgc2VtIGFsdGVyYXIgbyB2YWxvciBlIG7Do28gZGV2ZSBtb3N0cmFyIGVycm8uXG4gICAqL1xuICBwcm90ZWN0ZWQgY29udHJvbEludmFsaWRVaShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLmlzRWZmZWN0aXZlUmVxdWlyZWQoY29udHJvbCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIChcbiAgICAgICEhY29udHJvbCAmJlxuICAgICAgY29udHJvbC5pbnZhbGlkICYmXG4gICAgICAoY29udHJvbC5kaXJ0eSB8fCB0aGlzLmlzUGFyZW50Rm9ybVN1Ym1pdHRlZCgpKVxuICAgICk7XG4gIH1cblxuICAvKiogUmVhY3RpdmU6IGBGb3JtR3JvdXBEaXJlY3RpdmVgIG5vIGA8Zm9ybSBbZm9ybUdyb3VwXT5gOyB0ZW1wbGF0ZS1kcml2ZW46IGBOZ0Zvcm1gLiAqL1xuICBwcm90ZWN0ZWQgaXNQYXJlbnRGb3JtU3VibWl0dGVkKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmZvcm1Hcm91cERpciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cERpciA9XG4gICAgICAgIHRoaXMuaW5qZWN0b3IuZ2V0KEZvcm1Hcm91cERpcmVjdGl2ZSwgbnVsbCwgeyBvcHRpb25hbDogdHJ1ZSB9KSA/PyBudWxsO1xuICAgIH1cbiAgICBpZiAodGhpcy5uZ0Zvcm1EaXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5uZ0Zvcm1EaXIgPSB0aGlzLmluamVjdG9yLmdldChOZ0Zvcm0sIG51bGwsIHsgb3B0aW9uYWw6IHRydWUgfSkgPz8gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuICEhKHRoaXMuZm9ybUdyb3VwRGlyPy5zdWJtaXR0ZWQgfHwgdGhpcy5uZ0Zvcm1EaXI/LnN1Ym1pdHRlZCk7XG4gIH1cblxuICAvKipcbiAgICogQ2FtcG9zIE9uUHVzaCBwcmVjaXNhbSByZWF2YWxpYXIgYGJhc2VJbnZhbGlkYCBhcMOzcyBvIHN1Ym1pdCBkbyBmb3JtXG4gICAqIChtdWRhbsOnYSBkZSBgc3VibWl0dGVkYCBuw6NvIHBhc3NhIHBvciBgc3RhdHVzQ2hhbmdlc2ApLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlZ2lzdGVyRm9ybVN1Ym1pdFJlY2hlY2soKTogdm9pZCB7XG4gICAgY29uc3QgZmcgPSB0aGlzLmluamVjdG9yLmdldChGb3JtR3JvdXBEaXJlY3RpdmUsIG51bGwsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gICAgY29uc3QgbmYgPSB0aGlzLmluamVjdG9yLmdldChOZ0Zvcm0sIG51bGwsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gICAgY29uc3QgbWFyayA9ICgpOiB2b2lkID0+IHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIGZnPy5uZ1N1Ym1pdFxuICAgICAgPy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgLnN1YnNjcmliZShtYXJrKTtcbiAgICBuZj8ubmdTdWJtaXRcbiAgICAgID8ucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgIC5zdWJzY3JpYmUobWFyayk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBUIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMuaW50ZXJuYWxWYWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuYWZ0ZXJXcml0ZVZhbHVlKHZhbHVlKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKiBTaW5jcm9uaXphIGV4aWJpw6fDo28vRE9NIGFww7NzIHdyaXRlVmFsdWUgb3UgcmVzZXQgZG8gZm9ybS4gKi9cbiAgcHJvdGVjdGVkIGFmdGVyV3JpdGVWYWx1ZShfdmFsdWU6IFQgfCBudWxsKTogdm9pZCB7IH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IFQgfCBudWxsKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZW1pdE1vZGVsVmFsdWUodmFsdWU6IFQgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pbnRlcm5hbFZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbm90aWZ5VG91Y2hlZCgpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import { Directive, Input } from '@angular/core';
|
|
2
|
-
import { NgControlFieldDirective } from './ng-control-field.directive';
|
|
3
|
-
import { formatMaskDigits, maskDigitCount, stripToDigits, } from '../_utils/mask-format.utils';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
/**
|
|
6
|
-
* Campo de texto com máscara visual; valor do modelo = **apenas dígitos** (string), sem máscara.
|
|
7
|
-
*/
|
|
8
|
-
export class MaskedTextFieldBase extends NgControlFieldDirective {
|
|
9
|
-
constructor() {
|
|
10
|
-
super(...arguments);
|
|
11
|
-
/** Padrão com `#` para cada dígito (ex.: `#####-###`). Subclasses podem sobrescrever {@link pattern}. */
|
|
12
|
-
this.maskPattern = '#####-###';
|
|
13
|
-
this.inputText = '';
|
|
14
|
-
/** Preenchido (só dígitos) para o label flutuante; actualizado com o texto mascarado. */
|
|
15
|
-
this.filledUi = false;
|
|
16
|
-
}
|
|
17
|
-
/** Padrão efetivo (permite CEP/telefone fixarem máscaras em subclasses). */
|
|
18
|
-
get pattern() {
|
|
19
|
-
return this.maskPattern;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Padrão de formatação para o valor digitado (só dígitos).
|
|
23
|
-
* Sobrescrever para máscara dinâmica (ex.: CPF até 11 dígitos, CNPJ depois).
|
|
24
|
-
*/
|
|
25
|
-
maskPatternFromDigits(digitsOnly) {
|
|
26
|
-
return this.pattern;
|
|
27
|
-
}
|
|
28
|
-
refreshMaskFilledUi() {
|
|
29
|
-
this.filledUi = stripToDigits(this.inputText).length > 0;
|
|
30
|
-
}
|
|
31
|
-
afterWriteValue(value) {
|
|
32
|
-
const incoming = stripToDigits(value ?? '');
|
|
33
|
-
const pat = this.maskPatternFromDigits(incoming);
|
|
34
|
-
const max = maskDigitCount(pat);
|
|
35
|
-
const d = incoming.slice(0, max);
|
|
36
|
-
this.inputText = formatMaskDigits(d, pat);
|
|
37
|
-
if (incoming !== d) {
|
|
38
|
-
queueMicrotask(() => this.emitModelValue(d.length ? d : null));
|
|
39
|
-
}
|
|
40
|
-
this.refreshMaskFilledUi();
|
|
41
|
-
if (this.ngControl?.control) {
|
|
42
|
-
this.syncControlUi();
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
this.cdr.markForCheck();
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Dígitos abaixo do tamanho da máscara actual (fixa ou dinâmica, ex. CPF/CNPJ), com valor parcial.
|
|
50
|
-
* Aplica-se também sem obrigatório: máscara incompleta deve mostrar erro na UI (alinhado a `maskIncomplete`).
|
|
51
|
-
* Mesma regra temporal que {@link BaseFieldDirective.controlInvalidUi}: `dirty` ou submit (não só `touched`).
|
|
52
|
-
*/
|
|
53
|
-
isMaskIncompleteForUi() {
|
|
54
|
-
const control = this.ngControl?.control;
|
|
55
|
-
if (!control ||
|
|
56
|
-
!(control.dirty || this.isParentFormSubmitted())) {
|
|
57
|
-
return false;
|
|
58
|
-
}
|
|
59
|
-
const digits = stripToDigits(this.inputText);
|
|
60
|
-
if (digits.length === 0) {
|
|
61
|
-
return false;
|
|
62
|
-
}
|
|
63
|
-
const pat = this.maskPatternFromDigits(digits);
|
|
64
|
-
const max = maskDigitCount(pat);
|
|
65
|
-
return digits.length < max;
|
|
66
|
-
}
|
|
67
|
-
get baseInvalid() {
|
|
68
|
-
if (this.isMaskIncompleteForUi()) {
|
|
69
|
-
return true;
|
|
70
|
-
}
|
|
71
|
-
return super.baseInvalid;
|
|
72
|
-
}
|
|
73
|
-
getErrorMessage() {
|
|
74
|
-
if (!this.showErrorMessage) {
|
|
75
|
-
return '';
|
|
76
|
-
}
|
|
77
|
-
if (this.isMaskIncompleteForUi()) {
|
|
78
|
-
const custom = this.errorMessage.trim();
|
|
79
|
-
if (custom.length > 0) {
|
|
80
|
-
return custom;
|
|
81
|
-
}
|
|
82
|
-
return 'Campo obrigatório';
|
|
83
|
-
}
|
|
84
|
-
return super.getErrorMessage();
|
|
85
|
-
}
|
|
86
|
-
onMaskedInput(event) {
|
|
87
|
-
if (this.disabled || this.readonly) {
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
const el = event.target;
|
|
91
|
-
const incoming = stripToDigits(el.value);
|
|
92
|
-
const pat = this.maskPatternFromDigits(incoming);
|
|
93
|
-
const max = maskDigitCount(pat);
|
|
94
|
-
const d = incoming.slice(0, max);
|
|
95
|
-
const display = formatMaskDigits(d, pat);
|
|
96
|
-
if (el.value !== display) {
|
|
97
|
-
el.value = display;
|
|
98
|
-
}
|
|
99
|
-
this.inputText = display;
|
|
100
|
-
this.emitModelValue(d.length ? d : null);
|
|
101
|
-
this.refreshMaskFilledUi();
|
|
102
|
-
if (this.ngControl?.control) {
|
|
103
|
-
this.syncControlUi();
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
this.cdr.markForCheck();
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
onMaskedBlur() {
|
|
110
|
-
this.notifyTouched();
|
|
111
|
-
}
|
|
112
|
-
onMaskedClear() {
|
|
113
|
-
if (this.disabled || this.readonly) {
|
|
114
|
-
return;
|
|
115
|
-
}
|
|
116
|
-
this.inputText = '';
|
|
117
|
-
this.emitModelValue(null);
|
|
118
|
-
this.notifyTouched();
|
|
119
|
-
this.refreshMaskFilledUi();
|
|
120
|
-
if (this.ngControl?.control) {
|
|
121
|
-
this.syncControlUi();
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
this.cdr.markForCheck();
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MaskedTextFieldBase, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
128
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: MaskedTextFieldBase, inputs: { maskPattern: "maskPattern" }, usesInheritance: true, ngImport: i0 }); }
|
|
129
|
-
}
|
|
130
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MaskedTextFieldBase, decorators: [{
|
|
131
|
-
type: Directive
|
|
132
|
-
}], propDecorators: { maskPattern: [{
|
|
133
|
-
type: Input
|
|
134
|
-
}] } });
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFza2VkLXRleHQtZmllbGQuYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZmllbGRzL2lucHV0LWZpZWxkcy9fYmFzZS9tYXNrZWQtdGV4dC1maWVsZC5iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLGFBQWEsR0FDZCxNQUFNLDZCQUE2QixDQUFDOztBQUVyQzs7R0FFRztBQUVILE1BQU0sT0FBZ0IsbUJBQW9CLFNBQVEsdUJBRWpEO0lBSEQ7O1FBSUUseUdBQXlHO1FBQ2hHLGdCQUFXLEdBQUcsV0FBVyxDQUFDO1FBRW5DLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFFZix5RkFBeUY7UUFDekYsYUFBUSxHQUFHLEtBQUssQ0FBQztLQXdIbEI7SUF0SEMsNEVBQTRFO0lBQzVFLElBQWMsT0FBTztRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7T0FHRztJQUNPLHFCQUFxQixDQUFDLFVBQWtCO1FBQ2hELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRVMsbUJBQW1CO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFa0IsZUFBZSxDQUFDLEtBQW9CO1FBQ3JELE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7UUFDNUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pE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LElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7K0dBaEltQixtQkFBbUI7bUdBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFEeEMsU0FBUzs4QkFLQyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ0NvbnRyb2xGaWVsZERpcmVjdGl2ZSB9IGZyb20gJy4vbmctY29udHJvbC1maWVsZC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQge1xyXG4gIGZvcm1hdE1hc2tEaWdpdHMsXHJcbiAgbWFza0RpZ2l0Q291bnQsXHJcbiAgc3RyaXBUb0RpZ2l0cyxcclxufSBmcm9tICcuLi9fdXRpbHMvbWFzay1mb3JtYXQudXRpbHMnO1xyXG5cclxuLyoqXHJcbiAqIENhbXBvIGRlIHRleHRvIGNvbSBtw6FzY2FyYSB2aXN1YWw7IHZhbG9yIGRvIG1vZGVsbyA9ICoqYXBlbmFzIGTDrWdpdG9zKiogKHN0cmluZyksIHNlbSBtw6FzY2FyYS5cclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTWFza2VkVGV4dEZpZWxkQmFzZSBleHRlbmRzIE5nQ29udHJvbEZpZWxkRGlyZWN0aXZlPFxyXG4gIHN0cmluZyB8IG51bGxcclxuPiB7XHJcbiAgLyoqIFBhZHLDo28gY29tIGAjYCBwYXJhIGNhZGEgZMOtZ2l0byAoZXguOiBgIyMjIyMtIyMjYCkuIFN1YmNsYXNzZXMgcG9kZW0gc29icmVzY3JldmVyIHtAbGluayBwYXR0ZXJufS4gKi9cclxuICBASW5wdXQoKSBtYXNrUGF0dGVybiA9ICcjIyMjIy0jIyMnO1xyXG5cclxuICBpbnB1dFRleHQgPSAnJztcclxuXHJcbiAgLyoqIFByZWVuY2hpZG8gKHPDsyBkw61naXRvcykgcGFyYSBvIGxhYmVsIGZsdXR1YW50ZTsgYWN0dWFsaXphZG8gY29tIG8gdGV4dG8gbWFzY2FyYWRvLiAqL1xyXG4gIGZpbGxlZFVpID0gZmFsc2U7XHJcblxyXG4gIC8qKiBQYWRyw6NvIGVmZXRpdm8gKHBlcm1pdGUgQ0VQL3RlbGVmb25lIGZpeGFyZW0gbcOhc2NhcmFzIGVtIHN1YmNsYXNzZXMpLiAqL1xyXG4gIHByb3RlY3RlZCBnZXQgcGF0dGVybigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubWFza1BhdHRlcm47XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQYWRyw6NvIGRlIGZvcm1hdGHDp8OjbyBwYXJhIG8gdmFsb3IgZGlnaXRhZG8gKHPDsyBkw61naXRvcykuXHJcbiAgICogU29icmVzY3JldmVyIHBhcmEgbcOhc2NhcmEgZGluw6JtaWNhIChleC46IENQRiBhdMOpIDExIGTDrWdpdG9zLCBDTlBKIGRlcG9pcykuXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIG1hc2tQYXR0ZXJuRnJvbURpZ2l0cyhkaWdpdHNPbmx5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMucGF0dGVybjtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCByZWZyZXNoTWFza0ZpbGxlZFVpKCk6IHZvaWQge1xyXG4gICAgdGhpcy5maWxsZWRVaSA9IHN0cmlwVG9EaWdpdHModGhpcy5pbnB1dFRleHQpLmxlbmd0aCA+IDA7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYWZ0ZXJXcml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XHJcbiAgICBjb25zdCBpbmNvbWluZyA9IHN0cmlwVG9EaWdpdHModmFsdWUgPz8gJycpO1xyXG4gICAgY29uc3QgcGF0ID0gdGhpcy5tYXNrUGF0dGVybkZyb21EaWdpdHMoaW5jb21pbmcpO1xyXG4gICAgY29uc3QgbWF4ID0gbWFza0RpZ2l0Q291bnQocGF0KTtcclxuICAgIGNvbnN0IGQgPSBpbmNvbWluZy5zbGljZSgwLCBtYXgpO1xyXG4gICAgdGhpcy5pbnB1dFRleHQgPSBmb3JtYXRNYXNrRGlnaXRzKGQsIHBhdCk7XHJcbiAgICBpZiAoaW5jb21pbmcgIT09IGQpIHtcclxuICAgICAgcXVldWVNaWNyb3Rhc2soKCkgPT4gdGhpcy5lbWl0TW9kZWxWYWx1ZShkLmxlbmd0aCA/IGQgOiBudWxsKSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJlZnJlc2hNYXNrRmlsbGVkVWkoKTtcclxuICAgIGlmICh0aGlzLm5nQ29udHJvbD8uY29udHJvbCkge1xyXG4gICAgICB0aGlzLnN5bmNDb250cm9sVWkoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRMOtZ2l0b3MgYWJhaXhvIGRvIHRhbWFuaG8gZGEgbcOhc2NhcmEgYWN0dWFsIChmaXhhIG91IGRpbsOibWljYSwgZXguIENQRi9DTlBKKSwgY29tIHZhbG9yIHBhcmNpYWwuXHJcbiAgICogQXBsaWNhLXNlIHRhbWLDqW0gc2VtIG9icmlnYXTDs3JpbzogbcOhc2NhcmEgaW5jb21wbGV0YSBkZXZlIG1vc3RyYXIgZXJybyBuYSBVSSAoYWxpbmhhZG8gYSBgbWFza0luY29tcGxldGVgKS5cclxuICAgKiBNZXNtYSByZWdyYSB0ZW1wb3JhbCBxdWUge0BsaW5rIEJhc2VGaWVsZERpcmVjdGl2ZS5jb250cm9sSW52YWxpZFVpfTogYGRpcnR5YCBvdSBzdWJtaXQgKG7Do28gc8OzIGB0b3VjaGVkYCkuXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGlzTWFza0luY29tcGxldGVGb3JVaSgpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLm5nQ29udHJvbD8uY29udHJvbDtcclxuICAgIGlmIChcclxuICAgICAgIWNvbnRyb2wgfHxcclxuICAgICAgIShjb250cm9sLmRpcnR5IHx8IHRoaXMuaXNQYXJlbnRGb3JtU3VibWl0dGVkKCkpXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZGlnaXRzID0gc3RyaXBUb0RpZ2l0cyh0aGlzLmlucHV0VGV4dCk7XHJcbiAgICBpZiAoZGlnaXRzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXQgPSB0aGlzLm1hc2tQYXR0ZXJuRnJvbURpZ2l0cyhkaWdpdHMpO1xyXG4gICAgY29uc3QgbWF4ID0gbWFza0RpZ2l0Q291bnQocGF0KTtcclxuICAgIHJldHVybiBkaWdpdHMubGVuZ3RoIDwgbWF4O1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgZ2V0IGJhc2VJbnZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMuaXNNYXNrSW5jb21wbGV0ZUZvclVpKCkpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3VwZXIuYmFzZUludmFsaWQ7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBnZXRFcnJvck1lc3NhZ2UoKTogc3RyaW5nIHtcclxuICAgIGlmICghdGhpcy5zaG93RXJyb3JNZXNzYWdlKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmlzTWFza0luY29tcGxldGVGb3JVaSgpKSB7XHJcbiAgICAgIGNvbnN0IGN1c3RvbSA9IHRoaXMuZXJyb3JNZXNzYWdlLnRyaW0oKTtcclxuICAgICAgaWYgKGN1c3RvbS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgcmV0dXJuIGN1c3RvbTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gJ0NhbXBvIG9icmlnYXTDs3Jpbyc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3VwZXIuZ2V0RXJyb3JNZXNzYWdlKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgb25NYXNrZWRJbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZWwgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgIGNvbnN0IGluY29taW5nID0gc3RyaXBUb0RpZ2l0cyhlbC52YWx1ZSk7XHJcbiAgICBjb25zdCBwYXQgPSB0aGlzLm1hc2tQYXR0ZXJuRnJvbURpZ2l0cyhpbmNvbWluZyk7XHJcbiAgICBjb25zdCBtYXggPSBtYXNrRGlnaXRDb3VudChwYXQpO1xyXG4gICAgY29uc3QgZCA9IGluY29taW5nLnNsaWNlKDAsIG1heCk7XHJcbiAgICBjb25zdCBkaXNwbGF5ID0gZm9ybWF0TWFza0RpZ2l0cyhkLCBwYXQpO1xyXG4gICAgaWYgKGVsLnZhbHVlICE9PSBkaXNwbGF5KSB7XHJcbiAgICAgIGVsLnZhbHVlID0gZGlzcGxheTtcclxuICAgIH1cclxuICAgIHRoaXMuaW5wdXRUZXh0ID0gZGlzcGxheTtcclxuICAgIHRoaXMuZW1pdE1vZGVsVmFsdWUoZC5sZW5ndGggPyBkIDogbnVsbCk7XHJcbiAgICB0aGlzLnJlZnJlc2hNYXNrRmlsbGVkVWkoKTtcclxuICAgIGlmICh0aGlzLm5nQ29udHJvbD8uY29udHJvbCkge1xyXG4gICAgICB0aGlzLnN5bmNDb250cm9sVWkoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIG9uTWFza2VkQmx1cigpOiB2b2lkIHtcclxuICAgIHRoaXMubm90aWZ5VG91Y2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIG9uTWFza2VkQ2xlYXIoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLnJlYWRvbmx5KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuaW5wdXRUZXh0ID0gJyc7XHJcbiAgICB0aGlzLmVtaXRNb2RlbFZhbHVlKG51bGwpO1xyXG4gICAgdGhpcy5ub3RpZnlUb3VjaGVkKCk7XHJcbiAgICB0aGlzLnJlZnJlc2hNYXNrRmlsbGVkVWkoKTtcclxuICAgIGlmICh0aGlzLm5nQ29udHJvbD8uY29udHJvbCkge1xyXG4gICAgICB0aGlzLnN5bmNDb250cm9sVWkoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|