structra-ui 0.1.4 → 0.1.6
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/README.md +16 -3
- package/app/_utils/date-pt-br.utils.d.ts +24 -0
- package/app/_utils/decimal-br.utils.d.ts +52 -0
- package/app/_utils/estados-br.data.d.ts +10 -0
- package/app/_utils/integer-br.utils.d.ts +17 -0
- package/app/_utils/integer-value.utils.d.ts +5 -0
- package/app/_utils/scroll/body-scroll-lock.util.d.ts +22 -0
- package/app/app-shell/_models/breadcrumb-item.model.d.ts +13 -0
- package/app/app-shell/app-shell-sidebar-template.directive.d.ts +19 -0
- package/app/app-shell/app-shell.component.d.ts +41 -0
- package/app/app-shell/breadcrumb/breadcrumb.component.d.ts +10 -0
- package/app/app-shell/index.d.ts +19 -0
- package/app/app-shell/sidebar/app-sidebar-toolbar.directive.d.ts +14 -0
- package/app/app-shell/sidebar/shell-sidebar-toggle.component.d.ts +19 -0
- package/app/app-shell/sidebar/sidebar.component.d.ts +36 -0
- package/app/app-shell/sidebar-reveal.constants.d.ts +8 -0
- package/app/app-shell/topbar/topbar.component.d.ts +8 -0
- package/app/app-shell/user-menu/user-menu.component.d.ts +25 -0
- package/app/buttons/base-button/base-button.component.d.ts +43 -0
- package/app/buttons/index.d.ts +1 -0
- package/app/data-display/_models/card-item-view.model.d.ts +8 -0
- package/app/data-display/_models/data-display.models.d.ts +11 -0
- package/app/data-display/_models/data-grid-column.model.d.ts +13 -0
- package/app/data-display/_models/index.d.ts +2 -0
- package/app/data-display/adaptive-data-view/adaptive-data-view.component.d.ts +53 -0
- package/app/data-display/card-list/card-list.component.d.ts +70 -0
- package/app/data-display/dashboard-section/dashboard-section.component.d.ts +12 -0
- package/app/data-display/data-card/data-card.component.d.ts +16 -0
- package/app/data-display/data-grid/data-grid-actions-cell-renderer.component.d.ts +21 -0
- package/app/data-display/data-grid/data-grid.component.d.ts +76 -0
- package/app/data-display/data-list/data-list.component.d.ts +18 -0
- package/app/data-display/data-toolbar/data-toolbar.component.d.ts +6 -0
- package/app/data-display/details-field/details-field.component.d.ts +10 -0
- package/app/data-display/details-view/details-view.component.d.ts +26 -0
- package/app/data-display/empty-state/empty-state-overlay.util.d.ts +5 -0
- package/app/data-display/empty-state/empty-state.component.d.ts +13 -0
- package/app/data-display/index.d.ts +20 -0
- package/app/data-display/list-item/list-item.component.d.ts +22 -0
- package/app/data-display/stat-card/stat-card.component.d.ts +23 -0
- package/app/data-display/status-badge/status-badge.component.d.ts +17 -0
- package/app/data-display/table-empty-state/table-empty-state.component.d.ts +14 -0
- package/app/data-display/table-toolbar/table-toolbar.component.d.ts +11 -0
- package/app/dialogs/_models/lib-dialog-size.model.d.ts +6 -0
- package/app/dialogs/_utils/lib-dialog-panel-classes.d.ts +3 -0
- package/app/dialogs/app-dialog/app-dialog.component.d.ts +57 -0
- package/app/dialogs/app-dialog/dialog-footer.directive.d.ts +6 -0
- package/app/dialogs/confirm-dialog/confirm-dialog-data.model.d.ts +13 -0
- package/app/dialogs/confirm-dialog/confirm-dialog.component.d.ts +20 -0
- package/app/dialogs/confirm-dialog/confirm-dialog.service.d.ts +17 -0
- package/app/dialogs/index.d.ts +13 -0
- package/app/dialogs/loading-dialog/loading-dialog-data.model.d.ts +7 -0
- package/app/dialogs/loading-dialog/loading-dialog.component.d.ts +9 -0
- package/app/dialogs/loading-dialog/loading-dialog.service.d.ts +15 -0
- package/app/dialogs/toast/toast-host.component.d.ts +13 -0
- package/app/dialogs/toast/toast.models.d.ts +26 -0
- package/app/dialogs/toast/toast.service.d.ts +17 -0
- package/app/fields/checkbox-fields/_base/boolean-field.directive.d.ts +42 -0
- package/app/fields/checkbox-fields/checkbox-field/checkbox-field.component.d.ts +8 -0
- package/app/fields/checkbox-fields/index.d.ts +3 -0
- package/app/fields/checkbox-fields/switch-field/switch-field.component.d.ts +8 -0
- package/app/fields/dropdown-fields/_base/dropdown-base/dropdown-base.component.d.ts +62 -0
- package/app/fields/dropdown-fields/_base/dropdown-multi-option-field.base.d.ts +40 -0
- package/app/fields/dropdown-fields/_base/dropdown-option-field.base.d.ts +47 -0
- package/app/fields/dropdown-fields/_base/dropdown-trigger-blur.util.d.ts +18 -0
- package/app/fields/dropdown-fields/_models/dropdown-list-bindings.model.d.ts +13 -0
- package/app/fields/dropdown-fields/_models/dropdown-search-page-requested.model.d.ts +7 -0
- package/app/fields/dropdown-fields/_models/index.d.ts +4 -0
- package/app/fields/dropdown-fields/_models/select-option.model.d.ts +5 -0
- package/app/fields/dropdown-fields/_models/select-pagination.model.d.ts +6 -0
- package/app/fields/dropdown-fields/dropdown-search-field/dropdown-search-field.component.d.ts +84 -0
- package/app/fields/dropdown-fields/index.d.ts +7 -0
- package/app/fields/dropdown-fields/multiselect-field/multiselect-field.component.d.ts +49 -0
- package/app/fields/dropdown-fields/select-field/select-field.component.d.ts +54 -0
- package/app/fields/input-fields/_base/base-field.component.d.ts +60 -0
- package/app/fields/input-fields/_base/base-field.directive.d.ts +102 -0
- package/app/fields/input-fields/_base/masked-text-field.base.d.ts +34 -0
- package/app/fields/input-fields/_base/ng-control-field.directive.d.ts +43 -0
- package/app/fields/input-fields/_models/field-common-inputs.model.d.ts +49 -0
- package/app/fields/input-fields/_models/index.d.ts +1 -0
- package/app/fields/input-fields/_utils/mask-complete.validators.d.ts +18 -0
- package/app/fields/input-fields/_utils/mask-format.utils.d.ts +13 -0
- package/app/fields/input-fields/cep-field/cep-field.component.d.ts +12 -0
- package/app/fields/input-fields/cpf-cnpj-field/cpf-cnpj-field.component.d.ts +20 -0
- package/app/fields/input-fields/date-field/date-field.component.d.ts +30 -0
- package/app/fields/input-fields/decimal-field/decimal-field.component.d.ts +17 -0
- package/app/fields/input-fields/index.d.ts +22 -0
- package/app/fields/input-fields/input-mask-field/input-mask-field.component.d.ts +16 -0
- package/app/fields/input-fields/integer-field/integer-field.component.d.ts +17 -0
- package/app/fields/input-fields/password-field/password-field.component.d.ts +30 -0
- package/app/fields/input-fields/phone-field/phone-field.component.d.ts +22 -0
- package/app/fields/input-fields/text-field/text-field.component.d.ts +16 -0
- package/app/fields/input-fields/textarea-field/textarea-field.component.d.ts +31 -0
- package/app/form-layout/_models/form-layout.model.d.ts +41 -0
- package/app/form-layout/_models/form-tabs.model.d.ts +1 -0
- package/app/form-layout/_models/index.d.ts +3 -0
- package/app/form-layout/_models/validation-summary.model.d.ts +8 -0
- package/app/form-layout/form-actions/form-actions.component.d.ts +21 -0
- package/app/form-layout/form-col/form-col.component.d.ts +25 -0
- package/app/form-layout/form-group/form-group.component.d.ts +125 -0
- package/app/form-layout/form-group/form-path.utils.d.ts +16 -0
- package/app/form-layout/form-group/form-root-invalid-ui-refresh.util.d.ts +8 -0
- package/app/form-layout/form-row/form-row.component.d.ts +14 -0
- package/app/form-layout/form-section/form-section.component.d.ts +13 -0
- package/app/form-layout/form-tab/form-tab.component.d.ts +32 -0
- package/app/form-layout/form-tabs/form-tabs.component.d.ts +44 -0
- package/app/form-layout/index.d.ts +14 -0
- package/app/form-layout/layout-stack/layout-stack.component.d.ts +25 -0
- package/app/form-layout/validation-summary/validation-summary.component.d.ts +105 -0
- package/app/loading/skeleton-loading/index.d.ts +6 -0
- package/app/loading/skeleton-loading/skeleton-block/skeleton-block.component.d.ts +15 -0
- package/app/loading/skeleton-loading/skeleton-card/skeleton-card.component.d.ts +10 -0
- package/app/loading/skeleton-loading/skeleton-field-shell/skeleton-field-shell.component.d.ts +21 -0
- package/app/loading/skeleton-loading/skeleton-list/skeleton-list.component.d.ts +17 -0
- package/app/loading/skeleton-loading/skeleton-table/skeleton-table.component.d.ts +16 -0
- package/app/loading/skeleton-loading/skeleton-text/skeleton-text.component.d.ts +17 -0
- package/app/menus/_models/drawer-side.model.d.ts +6 -0
- package/app/menus/_models/drawer-size.model.d.ts +6 -0
- package/app/menus/_models/menu-dropdown-placement.model.d.ts +10 -0
- package/app/menus/_models/menu-item.model.d.ts +47 -0
- package/app/menus/_utils/menu-connected-positions.util.d.ts +4 -0
- package/app/menus/_utils/menu-rows.util.d.ts +22 -0
- package/app/menus/_utils/submenu-connected-positions.util.d.ts +5 -0
- package/app/menus/action-menu/action-menu.component.d.ts +24 -0
- package/app/menus/context-menu/context-menu.component.d.ts +32 -0
- package/app/menus/drawer/drawer.component.d.ts +38 -0
- package/app/menus/dropdown-menu/dropdown-menu.component.d.ts +33 -0
- package/app/menus/index.d.ts +11 -0
- package/app/menus/menu-divider/menu-divider.component.d.ts +8 -0
- package/app/menus/menu-group/menu-group.component.d.ts +13 -0
- package/app/menus/menu-list/menu-list.component.d.ts +77 -0
- package/app/overlay/_models/overlay-placement.model.d.ts +9 -0
- package/app/overlay/_utils/anchored-overlay-positions.util.d.ts +9 -0
- package/app/overlay/anchored-overlay/anchored-overlay.component.d.ts +51 -0
- package/app/overlay/index.d.ts +20 -0
- package/app/overlay/popover/popover-body-template.directive.d.ts +7 -0
- package/app/overlay/popover/popover-footer-template.directive.d.ts +7 -0
- package/app/overlay/popover/popover-trigger.directive.d.ts +6 -0
- package/app/overlay/popover/popover.component.d.ts +38 -0
- package/app/overlay/tooltip/tooltip-panel-template.directive.d.ts +10 -0
- package/app/overlay/tooltip/tooltip.component.d.ts +40 -0
- package/app/theme/app-theme.service.d.ts +25 -0
- package/app/theme/index.d.ts +1 -0
- package/esm2022/app/_utils/date-pt-br.utils.mjs +82 -0
- package/esm2022/app/_utils/decimal-br.utils.mjs +154 -0
- package/esm2022/app/_utils/estados-br.data.mjs +37 -0
- package/esm2022/app/_utils/integer-br.utils.mjs +48 -0
- package/esm2022/app/_utils/integer-value.utils.mjs +19 -0
- package/esm2022/app/_utils/scroll/body-scroll-lock.util.mjs +43 -0
- package/esm2022/app/app-shell/_models/breadcrumb-item.model.mjs +2 -0
- package/esm2022/app/app-shell/app-shell-sidebar-template.directive.mjs +29 -0
- package/esm2022/app/app-shell/app-shell.component.mjs +105 -0
- package/esm2022/app/app-shell/breadcrumb/breadcrumb.component.mjs +18 -0
- package/esm2022/app/app-shell/index.mjs +19 -0
- package/esm2022/app/app-shell/sidebar/app-sidebar-toolbar.directive.mjs +23 -0
- package/esm2022/app/app-shell/sidebar/shell-sidebar-toggle.component.mjs +36 -0
- package/esm2022/app/app-shell/sidebar/sidebar.component.mjs +84 -0
- package/esm2022/app/app-shell/sidebar-reveal.constants.mjs +9 -0
- package/esm2022/app/app-shell/topbar/topbar.component.mjs +14 -0
- package/esm2022/app/app-shell/user-menu/user-menu.component.mjs +52 -0
- package/esm2022/app/buttons/base-button/base-button.component.mjs +97 -0
- package/esm2022/app/buttons/index.mjs +2 -0
- package/esm2022/app/data-display/_models/card-item-view.model.mjs +2 -0
- package/esm2022/app/data-display/_models/data-display.models.mjs +2 -0
- package/esm2022/app/data-display/_models/data-grid-column.model.mjs +2 -0
- package/esm2022/app/data-display/_models/index.mjs +2 -0
- package/esm2022/app/data-display/adaptive-data-view/adaptive-data-view.component.mjs +124 -0
- package/esm2022/app/data-display/card-list/card-list.component.mjs +208 -0
- package/esm2022/app/data-display/dashboard-section/dashboard-section.component.mjs +25 -0
- package/esm2022/app/data-display/data-card/data-card.component.mjs +40 -0
- package/esm2022/app/data-display/data-grid/data-grid-actions-cell-renderer.component.mjs +41 -0
- package/esm2022/app/data-display/data-grid/data-grid.component.mjs +253 -0
- package/esm2022/app/data-display/data-list/data-list.component.mjs +40 -0
- package/esm2022/app/data-display/data-toolbar/data-toolbar.component.mjs +12 -0
- package/esm2022/app/data-display/details-field/details-field.component.mjs +21 -0
- package/esm2022/app/data-display/details-view/details-view.component.mjs +44 -0
- package/esm2022/app/data-display/empty-state/empty-state-overlay.util.mjs +19 -0
- package/esm2022/app/data-display/empty-state/empty-state.component.mjs +30 -0
- package/esm2022/app/data-display/index.mjs +19 -0
- package/esm2022/app/data-display/list-item/list-item.component.mjs +59 -0
- package/esm2022/app/data-display/stat-card/stat-card.component.mjs +59 -0
- package/esm2022/app/data-display/status-badge/status-badge.component.mjs +41 -0
- package/esm2022/app/data-display/table-empty-state/table-empty-state.component.mjs +31 -0
- package/esm2022/app/data-display/table-toolbar/table-toolbar.component.mjs +22 -0
- package/esm2022/app/dialogs/_models/lib-dialog-size.model.mjs +8 -0
- package/esm2022/app/dialogs/_utils/lib-dialog-panel-classes.mjs +6 -0
- package/esm2022/app/dialogs/app-dialog/app-dialog.component.mjs +170 -0
- package/esm2022/app/dialogs/app-dialog/dialog-footer.directive.mjs +15 -0
- package/esm2022/app/dialogs/confirm-dialog/confirm-dialog-data.model.mjs +2 -0
- package/esm2022/app/dialogs/confirm-dialog/confirm-dialog.component.mjs +36 -0
- package/esm2022/app/dialogs/confirm-dialog/confirm-dialog.service.mjs +45 -0
- package/esm2022/app/dialogs/index.mjs +11 -0
- package/esm2022/app/dialogs/loading-dialog/loading-dialog-data.model.mjs +2 -0
- package/esm2022/app/dialogs/loading-dialog/loading-dialog.component.mjs +19 -0
- package/esm2022/app/dialogs/loading-dialog/loading-dialog.service.mjs +36 -0
- package/esm2022/app/dialogs/toast/toast-host.component.mjs +65 -0
- package/esm2022/app/dialogs/toast/toast.models.mjs +2 -0
- package/esm2022/app/dialogs/toast/toast.service.mjs +76 -0
- package/esm2022/app/fields/checkbox-fields/_base/boolean-field.directive.mjs +158 -0
- package/esm2022/app/fields/checkbox-fields/checkbox-field/checkbox-field.component.mjs +36 -0
- package/esm2022/app/fields/checkbox-fields/index.mjs +4 -0
- package/esm2022/app/fields/checkbox-fields/switch-field/switch-field.component.mjs +35 -0
- package/esm2022/app/fields/dropdown-fields/_base/dropdown-base/dropdown-base.component.mjs +117 -0
- package/esm2022/app/fields/dropdown-fields/_base/dropdown-multi-option-field.base.mjs +152 -0
- package/esm2022/app/fields/dropdown-fields/_base/dropdown-option-field.base.mjs +149 -0
- package/esm2022/app/fields/dropdown-fields/_base/dropdown-trigger-blur.util.mjs +32 -0
- package/esm2022/app/fields/dropdown-fields/_models/dropdown-list-bindings.model.mjs +2 -0
- package/esm2022/app/fields/dropdown-fields/_models/dropdown-search-page-requested.model.mjs +2 -0
- package/esm2022/app/fields/dropdown-fields/_models/index.mjs +2 -0
- package/esm2022/app/fields/dropdown-fields/_models/select-option.model.mjs +2 -0
- package/esm2022/app/fields/dropdown-fields/_models/select-pagination.model.mjs +2 -0
- package/esm2022/app/fields/dropdown-fields/dropdown-search-field/dropdown-search-field.component.mjs +520 -0
- package/esm2022/app/fields/dropdown-fields/index.mjs +7 -0
- package/esm2022/app/fields/dropdown-fields/multiselect-field/multiselect-field.component.mjs +379 -0
- package/esm2022/app/fields/dropdown-fields/select-field/select-field.component.mjs +359 -0
- package/esm2022/app/fields/input-fields/_base/base-field.component.mjs +151 -0
- package/esm2022/app/fields/input-fields/_base/base-field.directive.mjs +224 -0
- package/esm2022/app/fields/input-fields/_base/masked-text-field.base.mjs +135 -0
- package/esm2022/app/fields/input-fields/_base/ng-control-field.directive.mjs +127 -0
- package/esm2022/app/fields/input-fields/_models/field-common-inputs.model.mjs +2 -0
- package/esm2022/app/fields/input-fields/_models/index.mjs +2 -0
- package/esm2022/app/fields/input-fields/_utils/mask-complete.validators.mjs +61 -0
- package/esm2022/app/fields/input-fields/_utils/mask-format.utils.mjs +40 -0
- package/esm2022/app/fields/input-fields/cep-field/cep-field.component.mjs +48 -0
- package/esm2022/app/fields/input-fields/cpf-cnpj-field/cpf-cnpj-field.component.mjs +61 -0
- package/esm2022/app/fields/input-fields/date-field/date-field.component.mjs +147 -0
- package/esm2022/app/fields/input-fields/decimal-field/decimal-field.component.mjs +166 -0
- package/esm2022/app/fields/input-fields/index.mjs +22 -0
- package/esm2022/app/fields/input-fields/input-mask-field/input-mask-field.component.mjs +52 -0
- package/esm2022/app/fields/input-fields/integer-field/integer-field.component.mjs +143 -0
- package/esm2022/app/fields/input-fields/password-field/password-field.component.mjs +130 -0
- package/esm2022/app/fields/input-fields/phone-field/phone-field.component.mjs +66 -0
- package/esm2022/app/fields/input-fields/text-field/text-field.component.mjs +90 -0
- package/esm2022/app/fields/input-fields/textarea-field/textarea-field.component.mjs +125 -0
- package/esm2022/app/form-layout/_models/form-layout.model.mjs +48 -0
- package/esm2022/app/form-layout/_models/form-tabs.model.mjs +2 -0
- package/esm2022/app/form-layout/_models/index.mjs +2 -0
- package/esm2022/app/form-layout/_models/validation-summary.model.mjs +2 -0
- package/esm2022/app/form-layout/form-actions/form-actions.component.mjs +55 -0
- package/esm2022/app/form-layout/form-col/form-col.component.mjs +76 -0
- package/esm2022/app/form-layout/form-group/form-group.component.mjs +358 -0
- package/esm2022/app/form-layout/form-group/form-path.utils.mjs +65 -0
- package/esm2022/app/form-layout/form-group/form-root-invalid-ui-refresh.util.mjs +54 -0
- package/esm2022/app/form-layout/form-row/form-row.component.mjs +49 -0
- package/esm2022/app/form-layout/form-section/form-section.component.mjs +43 -0
- package/esm2022/app/form-layout/form-tab/form-tab.component.mjs +67 -0
- package/esm2022/app/form-layout/form-tabs/form-tabs.component.mjs +126 -0
- package/esm2022/app/form-layout/index.mjs +14 -0
- package/esm2022/app/form-layout/layout-stack/layout-stack.component.mjs +56 -0
- package/esm2022/app/form-layout/validation-summary/validation-summary.component.mjs +343 -0
- package/esm2022/app/loading/skeleton-loading/index.mjs +7 -0
- package/esm2022/app/loading/skeleton-loading/skeleton-block/skeleton-block.component.mjs +43 -0
- package/esm2022/app/loading/skeleton-loading/skeleton-card/skeleton-card.component.mjs +23 -0
- package/esm2022/app/loading/skeleton-loading/skeleton-field-shell/skeleton-field-shell.component.mjs +34 -0
- package/esm2022/app/loading/skeleton-loading/skeleton-list/skeleton-list.component.mjs +38 -0
- package/esm2022/app/loading/skeleton-loading/skeleton-table/skeleton-table.component.mjs +37 -0
- package/esm2022/app/loading/skeleton-loading/skeleton-text/skeleton-text.component.mjs +45 -0
- package/esm2022/app/menus/_models/drawer-side.model.mjs +8 -0
- package/esm2022/app/menus/_models/drawer-size.model.mjs +8 -0
- package/esm2022/app/menus/_models/menu-dropdown-placement.model.mjs +12 -0
- package/esm2022/app/menus/_models/menu-item.model.mjs +6 -0
- package/esm2022/app/menus/_utils/menu-connected-positions.util.mjs +41 -0
- package/esm2022/app/menus/_utils/menu-rows.util.mjs +39 -0
- package/esm2022/app/menus/_utils/submenu-connected-positions.util.mjs +23 -0
- package/esm2022/app/menus/action-menu/action-menu.component.mjs +48 -0
- package/esm2022/app/menus/context-menu/context-menu.component.mjs +112 -0
- package/esm2022/app/menus/drawer/drawer.component.mjs +142 -0
- package/esm2022/app/menus/dropdown-menu/dropdown-menu.component.mjs +99 -0
- package/esm2022/app/menus/index.mjs +11 -0
- package/esm2022/app/menus/menu-divider/menu-divider.component.mjs +14 -0
- package/esm2022/app/menus/menu-group/menu-group.component.mjs +32 -0
- package/esm2022/app/menus/menu-list/menu-list.component.mjs +399 -0
- package/esm2022/app/overlay/_models/overlay-placement.model.mjs +11 -0
- package/esm2022/app/overlay/_utils/anchored-overlay-positions.util.mjs +84 -0
- package/esm2022/app/overlay/anchored-overlay/anchored-overlay.component.mjs +121 -0
- package/esm2022/app/overlay/index.mjs +21 -0
- package/esm2022/app/overlay/popover/popover-body-template.directive.mjs +17 -0
- package/esm2022/app/overlay/popover/popover-footer-template.directive.mjs +17 -0
- package/esm2022/app/overlay/popover/popover-trigger.directive.mjs +15 -0
- package/esm2022/app/overlay/popover/popover.component.mjs +93 -0
- package/esm2022/app/overlay/tooltip/tooltip-panel-template.directive.mjs +20 -0
- package/esm2022/app/overlay/tooltip/tooltip.component.mjs +118 -0
- package/esm2022/app/theme/app-theme.service.mjs +49 -0
- package/esm2022/app/theme/index.mjs +2 -0
- package/esm2022/structra-public-api.mjs +18 -0
- package/esm2022/structra-ui.mjs +2 -2
- package/esm2022/structra-version.mjs +3 -0
- package/fesm2022/structra-ui.mjs +8856 -4
- package/fesm2022/structra-ui.mjs.map +1 -1
- package/index.d.ts +1 -1
- package/package.json +7 -2
- package/structra-public-api.d.ts +17 -0
- package/structra-version.d.ts +2 -0
- package/esm2022/lib/version.mjs +0 -3
- package/esm2022/public-api.mjs +0 -5
- package/lib/version.d.ts +0 -2
- package/public-api.d.ts +0 -1
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ChangeDetectorRef, DestroyRef } from '@angular/core';
|
|
2
|
+
import { AbstractControl } from '@angular/forms';
|
|
3
|
+
/**
|
|
4
|
+
* Mantém ícones / getters que dependem do estado reactivo actualizados com OnPush.
|
|
5
|
+
* `markAllAsTouched()` pode não emitir `valueChanges` no raiz; o `submit` do `<form>` (após um tick)
|
|
6
|
+
* cobre o caso de submissão — alinhado a {@link FormGroupComponent} `setupFormPathInvalidTracking`.
|
|
7
|
+
*/
|
|
8
|
+
export declare function subscribeMarkForCheckOnInvalidUiRefresh(rootCtrl: AbstractControl, hostElement: HTMLElement, cdr: ChangeDetectorRef, destroyRef: DestroyRef): void;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FormRowAlign, FormRowGap, FormRowJustify } from '../_models/form-layout.model';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class FormRowComponent {
|
|
4
|
+
gap: FormRowGap;
|
|
5
|
+
align: FormRowAlign;
|
|
6
|
+
justify: FormRowJustify;
|
|
7
|
+
wrap: boolean;
|
|
8
|
+
stackOnMobile: boolean;
|
|
9
|
+
get hostClass(): string;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormRowComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FormRowComponent, "app-form-row", never, { "gap": { "alias": "gap"; "required": false; }; "align": { "alias": "align"; "required": false; }; "justify": { "alias": "justify"; "required": false; }; "wrap": { "alias": "wrap"; "required": false; }; "stackOnMobile": { "alias": "stackOnMobile"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
12
|
+
static ngAcceptInputType_wrap: unknown;
|
|
13
|
+
static ngAcceptInputType_stackOnMobile: unknown;
|
|
14
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class FormSectionComponent {
|
|
3
|
+
titulo: string;
|
|
4
|
+
subtitulo: string;
|
|
5
|
+
dense: boolean;
|
|
6
|
+
withDivider: boolean;
|
|
7
|
+
get hostClass(): string;
|
|
8
|
+
get showHeader(): boolean;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormSectionComponent, never>;
|
|
10
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FormSectionComponent, "app-form-section", never, { "titulo": { "alias": "titulo"; "required": true; }; "subtitulo": { "alias": "subtitulo"; "required": false; }; "dense": { "alias": "dense"; "required": false; }; "withDivider": { "alias": "withDivider"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
11
|
+
static ngAcceptInputType_dense: unknown;
|
|
12
|
+
static ngAcceptInputType_withDivider: unknown;
|
|
13
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class FormTabComponent implements OnChanges {
|
|
4
|
+
/** Sem `host: true`: o pai está no injetor normal (filho de `app-form-tabs`). */
|
|
5
|
+
private readonly tabs;
|
|
6
|
+
private readonly cdr;
|
|
7
|
+
key: string;
|
|
8
|
+
/**
|
|
9
|
+
* Texto do separador na lista de abas.
|
|
10
|
+
* Não usar o nome `title`: no host `<app-form-tab>` o atributo HTML `title` gera tooltip nativo
|
|
11
|
+
* sobre o painel (ex.: ao passar o mouse sobre o conteúdo).
|
|
12
|
+
*/
|
|
13
|
+
tabTitle: string;
|
|
14
|
+
disabled: boolean;
|
|
15
|
+
warning: boolean;
|
|
16
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
17
|
+
get isActive(): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Com `[keepAlive]="false"` no `app-form-tabs` pai, painéis inactivos saem do DOM (menos
|
|
20
|
+
* custo acumulado em ecrãs com muitas abas ou conteúdo pesado).
|
|
21
|
+
*/
|
|
22
|
+
get detachInactivePanel(): boolean;
|
|
23
|
+
/** Chamado por {@link FormTabsComponent} quando a aba ativa muda (OnPush). */
|
|
24
|
+
refreshActiveState(): void;
|
|
25
|
+
get hostClass(): string;
|
|
26
|
+
panelId(): string;
|
|
27
|
+
labelledById(): string;
|
|
28
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormTabComponent, never>;
|
|
29
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FormTabComponent, "app-form-tab", never, { "key": { "alias": "key"; "required": true; }; "tabTitle": { "alias": "tabTitle"; "required": true; }; "disabled": { "alias": "disabled"; "required": false; }; "warning": { "alias": "warning"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
30
|
+
static ngAcceptInputType_disabled: unknown;
|
|
31
|
+
static ngAcceptInputType_warning: unknown;
|
|
32
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { AfterContentInit, EventEmitter, QueryList } from '@angular/core';
|
|
2
|
+
import { FormTabComponent } from '../form-tab/form-tab.component';
|
|
3
|
+
import type { FormTabsVariant } from '../_models/form-tabs.model';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class FormTabsComponent implements AfterContentInit {
|
|
6
|
+
private static nextUid;
|
|
7
|
+
private readonly cdr;
|
|
8
|
+
readonly uid: string;
|
|
9
|
+
tabQuery: QueryList<FormTabComponent>;
|
|
10
|
+
private _activeKey;
|
|
11
|
+
set activeKey(v: string | undefined | null);
|
|
12
|
+
get activeKey(): string;
|
|
13
|
+
readonly activeKeyChange: EventEmitter<string>;
|
|
14
|
+
/**
|
|
15
|
+
* `true` (padrão): todos os painéis permanecem no DOM; inactivos usam `[hidden]` (útil para
|
|
16
|
+
* preservar estado de UI puramente client-side dentro da aba).
|
|
17
|
+
* `false`: só o painel da aba activa é montado — menos DOM/CD ao alternar; o modelo reactivo
|
|
18
|
+
* (`FormGroup` no ascendente) mantém-se; ao voltar à aba, os campos remontam e religam-se.
|
|
19
|
+
*/
|
|
20
|
+
keepAlive: boolean;
|
|
21
|
+
stretch: boolean;
|
|
22
|
+
variant: FormTabsVariant;
|
|
23
|
+
/** Rótulo acessível para a lista de separadores (ex.: “Seções do formulário”). */
|
|
24
|
+
tablistAriaLabel: string;
|
|
25
|
+
ngAfterContentInit(): void;
|
|
26
|
+
get tabs(): FormTabComponent[];
|
|
27
|
+
get hostClass(): string;
|
|
28
|
+
baseId(): string;
|
|
29
|
+
headerIdFor(key: string): string;
|
|
30
|
+
panelIdFor(key: string): string;
|
|
31
|
+
selectTab(key: string): void;
|
|
32
|
+
private refreshTabPanels;
|
|
33
|
+
/**
|
|
34
|
+
* Chamado por {@link FormTabComponent} quando inputs que afetam o tablist (ex.: `warning`, `tabTitle`)
|
|
35
|
+
* mudam — com OnPush o cabeçalho não voltava a desenhar só com alterações nos filhos projetados.
|
|
36
|
+
*/
|
|
37
|
+
onTabHeaderStateChanged(): void;
|
|
38
|
+
isSelected(key: string): boolean;
|
|
39
|
+
private syncInitialActiveKey;
|
|
40
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormTabsComponent, never>;
|
|
41
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FormTabsComponent, "app-form-tabs", never, { "activeKey": { "alias": "activeKey"; "required": false; }; "keepAlive": { "alias": "keepAlive"; "required": false; }; "stretch": { "alias": "stretch"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "tablistAriaLabel": { "alias": "tablistAriaLabel"; "required": false; }; }, { "activeKeyChange": "activeKeyChange"; }, ["tabQuery"], ["app-form-tab"], true, never>;
|
|
42
|
+
static ngAcceptInputType_keepAlive: unknown;
|
|
43
|
+
static ngAcceptInputType_stretch: unknown;
|
|
44
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { LayoutStackComponent } from './layout-stack/layout-stack.component';
|
|
2
|
+
export { FormActionsComponent } from './form-actions/form-actions.component';
|
|
3
|
+
export { FormColComponent } from './form-col/form-col.component';
|
|
4
|
+
export { FormGroupComponent } from './form-group/form-group.component';
|
|
5
|
+
export { FormRowComponent } from './form-row/form-row.component';
|
|
6
|
+
export { FormSectionComponent } from './form-section/form-section.component';
|
|
7
|
+
export { ValidationSummaryComponent } from './validation-summary/validation-summary.component';
|
|
8
|
+
export { FormTabsComponent } from './form-tabs/form-tabs.component';
|
|
9
|
+
export { FormTabComponent } from './form-tab/form-tab.component';
|
|
10
|
+
export { LayoutStackAlign, FormActionsAlign, FormGroupVariant, FormRowAlign, FormRowGap, FormRowJustify, } from './_models';
|
|
11
|
+
export type { ValidationSummaryItem, ValidationSummaryVariant, FormTabsVariant, } from './_models';
|
|
12
|
+
/** Utilitários de formulário reactivo (ícones de grupo, demos avançadas). API estável; não expõe estrutura interna de pastas. */
|
|
13
|
+
export { subscribeMarkForCheckOnInvalidUiRefresh } from './form-group/form-root-invalid-ui-refresh.util';
|
|
14
|
+
export { resolveControlAtPath, sectionHasVisibleInvalid, subtreeHasVisibleInvalid, } from './form-group/form-path.utils';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { LayoutStackAlign } from '../_models/form-layout.model';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/** Faixa flexível com projeção de conteúdo (ex.: botões alinhados). */
|
|
4
|
+
export declare class LayoutStackComponent {
|
|
5
|
+
/** Distribuição horizontal dos filhos (`justify-content`). */
|
|
6
|
+
align: LayoutStackAlign;
|
|
7
|
+
/**
|
|
8
|
+
* Em ecrãs estreitos, aplica ajustes leves (ex.: `gap`) mantendo fila + `wrap`.
|
|
9
|
+
* Por defeito `true`; não é necessário passar no template na maioria dos casos.
|
|
10
|
+
*/
|
|
11
|
+
stackOnMobile: boolean;
|
|
12
|
+
/** Linha separadora acima da faixa. Nome explícito para evitar colisão com o esquema DOM em templates aninhados. */
|
|
13
|
+
stackDivider: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Quando `true` (por defeito), os filhos repartem a largura da faixa (ex.: um botão a 100%;
|
|
16
|
+
* vários com `flex` igual). Use `false` para faixas compactas (largura intrínseca).
|
|
17
|
+
*/
|
|
18
|
+
stackFill: boolean;
|
|
19
|
+
get hostClass(): string;
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LayoutStackComponent, never>;
|
|
21
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LayoutStackComponent, "app-layout-stack", never, { "align": { "alias": "align"; "required": false; }; "stackOnMobile": { "alias": "stackOnMobile"; "required": false; }; "stackDivider": { "alias": "stackDivider"; "required": false; }; "stackFill": { "alias": "stackFill"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
22
|
+
static ngAcceptInputType_stackOnMobile: unknown;
|
|
23
|
+
static ngAcceptInputType_stackDivider: unknown;
|
|
24
|
+
static ngAcceptInputType_stackFill: unknown;
|
|
25
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import type { ValidationSummaryItem, ValidationSummaryVariant } from '../_models/validation-summary.model';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class ValidationSummaryComponent implements OnChanges {
|
|
5
|
+
private static nextTitleUid;
|
|
6
|
+
private static nextListRegionUid;
|
|
7
|
+
/** Troca de aba (`beforeItemActivate`) + `queueMicrotask` no `app-form-tabs` — o alvo pode ficar em `[hidden]` até o próximo CD. */
|
|
8
|
+
private readonly navigateToFieldMaxAttempts;
|
|
9
|
+
private readonly appRef;
|
|
10
|
+
private readonly cdr;
|
|
11
|
+
private readonly injector;
|
|
12
|
+
private readonly hostRef;
|
|
13
|
+
/** `id` único para `aria-labelledby` quando há vários resumos na página. */
|
|
14
|
+
readonly titleElementId: string;
|
|
15
|
+
/** `id` da região da lista (acessibilidade do botão recolher / expandir). */
|
|
16
|
+
readonly listRegionId: string;
|
|
17
|
+
/** Lista simples (retrocompatível). Ignorada se {@link items} tiver entradas. */
|
|
18
|
+
messages: string[] | null;
|
|
19
|
+
/** Lista rica com `fieldId` opcional para navegação até o controle. */
|
|
20
|
+
items: ValidationSummaryItem[] | null;
|
|
21
|
+
/**
|
|
22
|
+
* Título do cabeçalho (`title="…"` no template).
|
|
23
|
+
* Não usar a propriedade `title` na classe: colide com `HTMLElement.title` no host e o
|
|
24
|
+
* browser pode desenhar tooltip nativo / comportamentos estranhos.
|
|
25
|
+
*/
|
|
26
|
+
summaryHeading: string;
|
|
27
|
+
visible: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* `false` (padrão): fluxo em documento (ex.: no topo do formulário) — o consumidor pode fazer scroll até o painel.
|
|
30
|
+
* `true`: painel `position: fixed` no topo do viewport, com fade-in **sem** reservar espaço no formulário
|
|
31
|
+
* nem alterar o scroll da página (útil em formulários muito longos).
|
|
32
|
+
*/
|
|
33
|
+
pinned: boolean;
|
|
34
|
+
variant: ValidationSummaryVariant;
|
|
35
|
+
compact: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Altura máxima do painel da lista (ex.: `12rem`, `min(40vh, 14rem)`).
|
|
38
|
+
* Quando definido, a lista obtém scroll vertical interno.
|
|
39
|
+
*/
|
|
40
|
+
panelMaxHeight: string | null;
|
|
41
|
+
/** Comportamento de scroll ao centrar o alvo na tela. */
|
|
42
|
+
scrollBehavior: ScrollBehavior;
|
|
43
|
+
/**
|
|
44
|
+
* Chamado antes de localizar o elemento por `fieldId` (ex.: ativar a aba onde está o campo).
|
|
45
|
+
* Mantém o contrato do resumo como fonte única de scroll/foco em `navigateToFieldId`.
|
|
46
|
+
*/
|
|
47
|
+
beforeItemActivate?: (item: ValidationSummaryItem) => void;
|
|
48
|
+
/** Mostra botão que apenas fecha o painel (não altera validação nem o formulário). */
|
|
49
|
+
showCloseButton: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Mostra o botão com setas (recolher / expandir) ao lado do título para esconder só a lista
|
|
52
|
+
* e poupar espaço vertical sem fechar o painel.
|
|
53
|
+
*/
|
|
54
|
+
showListCollapseToggle: boolean;
|
|
55
|
+
closeButtonLabel: string;
|
|
56
|
+
/** Texto da dica nativa (`title`) nas linhas com destino ao campo. */
|
|
57
|
+
fieldNavigateHint: string;
|
|
58
|
+
readonly panelClose: EventEmitter<void>;
|
|
59
|
+
/** Com `pinned`: breve fade-in após o painel passar a visível (sem deslocar o layout). */
|
|
60
|
+
pinnedOpen: boolean;
|
|
61
|
+
/** `true`: lista de erros visível; `false`: só cabeçalho + botões (menos altura). */
|
|
62
|
+
panelBodyExpanded: boolean;
|
|
63
|
+
private wasShown;
|
|
64
|
+
get hostClass(): string;
|
|
65
|
+
ngOnChanges(_changes: SimpleChanges): void;
|
|
66
|
+
get hostHidden(): true | null;
|
|
67
|
+
get resolvedItems(): ValidationSummaryItem[];
|
|
68
|
+
get isShown(): boolean;
|
|
69
|
+
onCloseClick(): void;
|
|
70
|
+
toggleListBody(): void;
|
|
71
|
+
/**
|
|
72
|
+
* Chave estável para `@for` — `track $index` reutiliza mal nós quando a lista muda ao vivo
|
|
73
|
+
* e o getter `resolvedItems` devolve novas referências a cada CD.
|
|
74
|
+
*/
|
|
75
|
+
itemTrackKey(row: ValidationSummaryItem, index: number): string;
|
|
76
|
+
/**
|
|
77
|
+
* Clique na linha com destino: primeiro alinha a linha no `list-wrap` com scroll
|
|
78
|
+
* (itens parcialmente visíveis passam a ficar totalmente visíveis), depois navega.
|
|
79
|
+
*/
|
|
80
|
+
onSummaryLinkActivate(ev: Event, item: ValidationSummaryItem): void;
|
|
81
|
+
/** Navegação até o controle com `fieldId` (chamado após {@link onSummaryLinkActivate}). */
|
|
82
|
+
onItemActivate(item: ValidationSummaryItem): void;
|
|
83
|
+
private navigateToFieldId;
|
|
84
|
+
/** Após `tick()`, garante um frame de pintura antes de scroll/foco (evita foco em ramo ainda oculto). */
|
|
85
|
+
private scheduleScrollAndFocusAfterDomFlush;
|
|
86
|
+
private isInsideCollapsedFormGroupBody;
|
|
87
|
+
private scrollAndFocusFieldById;
|
|
88
|
+
/**
|
|
89
|
+
* Dispara `ui-request-expand` em cada `app-form-group` colapsado do formulário que contém este resumo,
|
|
90
|
+
* para montar campos com `destroyOnCollapse` antes de `getElementById(fieldId)`.
|
|
91
|
+
* Ordem do DOM (pais antes dos filhos) alinha a expansão de grupos aninhados.
|
|
92
|
+
*/
|
|
93
|
+
private expandCollapsedFormGroupsInNearestForm;
|
|
94
|
+
/** Expande do mais externo para o mais interno para o conteúdo ficar visível. */
|
|
95
|
+
private expandCollapsedFormGroupAncestors;
|
|
96
|
+
private resolveFocusable;
|
|
97
|
+
private isFocusableElement;
|
|
98
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ValidationSummaryComponent, never>;
|
|
99
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ValidationSummaryComponent, "app-validation-summary", never, { "messages": { "alias": "messages"; "required": false; }; "items": { "alias": "items"; "required": false; }; "summaryHeading": { "alias": "title"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; "pinned": { "alias": "pinned"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; "panelMaxHeight": { "alias": "panelMaxHeight"; "required": false; }; "scrollBehavior": { "alias": "scrollBehavior"; "required": false; }; "beforeItemActivate": { "alias": "beforeItemActivate"; "required": false; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; }; "showListCollapseToggle": { "alias": "showListCollapseToggle"; "required": false; }; "closeButtonLabel": { "alias": "closeButtonLabel"; "required": false; }; "fieldNavigateHint": { "alias": "fieldNavigateHint"; "required": false; }; }, { "panelClose": "panelClose"; }, never, never, true, never>;
|
|
100
|
+
static ngAcceptInputType_visible: unknown;
|
|
101
|
+
static ngAcceptInputType_pinned: unknown;
|
|
102
|
+
static ngAcceptInputType_compact: unknown;
|
|
103
|
+
static ngAcceptInputType_showCloseButton: unknown;
|
|
104
|
+
static ngAcceptInputType_showListCollapseToggle: unknown;
|
|
105
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { SkeletonBlockComponent } from './skeleton-block/skeleton-block.component';
|
|
2
|
+
export { SkeletonTextComponent } from './skeleton-text/skeleton-text.component';
|
|
3
|
+
export { SkeletonListComponent } from './skeleton-list/skeleton-list.component';
|
|
4
|
+
export { SkeletonCardComponent } from './skeleton-card/skeleton-card.component';
|
|
5
|
+
export { SkeletonTableComponent } from './skeleton-table/skeleton-table.component';
|
|
6
|
+
export { SkeletonFieldShellComponent, type SkeletonFieldShellVariant, } from './skeleton-field-shell/skeleton-field-shell.component';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
/** Bloco genérico de skeleton (linhas, caixas, células). */
|
|
3
|
+
export declare class SkeletonBlockComponent {
|
|
4
|
+
/** Largura CSS (ex.: `100%`, `6rem`, `40%`). */
|
|
5
|
+
width: string;
|
|
6
|
+
/** Altura CSS. */
|
|
7
|
+
height: string;
|
|
8
|
+
/** Raio de canto. */
|
|
9
|
+
radius: string;
|
|
10
|
+
animate: boolean;
|
|
11
|
+
get hostClass(): string;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SkeletonBlockComponent, never>;
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SkeletonBlockComponent, "app-skeleton-block", never, { "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "radius": { "alias": "radius"; "required": false; }; "animate": { "alias": "animate"; "required": false; }; }, {}, never, never, true, never>;
|
|
14
|
+
static ngAcceptInputType_animate: unknown;
|
|
15
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
/** Placeholder de cartão (avatar + texto + ações). */
|
|
3
|
+
export declare class SkeletonCardComponent {
|
|
4
|
+
showActions: boolean;
|
|
5
|
+
animate: boolean;
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SkeletonCardComponent, never>;
|
|
7
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SkeletonCardComponent, "app-skeleton-card", never, { "showActions": { "alias": "showActions"; "required": false; }; "animate": { "alias": "animate"; "required": false; }; }, {}, never, never, true, never>;
|
|
8
|
+
static ngAcceptInputType_showActions: unknown;
|
|
9
|
+
static ngAcceptInputType_animate: unknown;
|
|
10
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
/** Mantido por compatibilidade; o layout do skeleton é único para todos os campos. */
|
|
3
|
+
export type SkeletonFieldShellVariant = 'text' | 'select';
|
|
4
|
+
/**
|
|
5
|
+
* Placeholder de campo: barra de valor e, opcionalmente, quadrado à esquerda quando não há
|
|
6
|
+
* ícone Font Awesome na coluna de prefixo do `app-base-field`.
|
|
7
|
+
*/
|
|
8
|
+
export declare class SkeletonFieldShellComponent {
|
|
9
|
+
/** @deprecated Ignorado: todos os campos usam o mesmo layout. */
|
|
10
|
+
variant: SkeletonFieldShellVariant;
|
|
11
|
+
animate: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Quando `false`, não renderiza o quadrado à esquerda (o `app-base-field` já mostra o ícone
|
|
14
|
+
* de prefixo inerte na coluna correcta durante `loading`).
|
|
15
|
+
*/
|
|
16
|
+
showLeadingIcon: boolean;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SkeletonFieldShellComponent, never>;
|
|
18
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SkeletonFieldShellComponent, "app-skeleton-field-shell", never, { "variant": { "alias": "variant"; "required": false; }; "animate": { "alias": "animate"; "required": false; }; "showLeadingIcon": { "alias": "showLeadingIcon"; "required": false; }; }, {}, never, never, true, never>;
|
|
19
|
+
static ngAcceptInputType_animate: unknown;
|
|
20
|
+
static ngAcceptInputType_showLeadingIcon: unknown;
|
|
21
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
/** Lista vertical de linhas (ex.: opções de dropdown). */
|
|
3
|
+
export declare class SkeletonListComponent {
|
|
4
|
+
rows: number;
|
|
5
|
+
/** Mostra um “leading” à esquerda (círculo pequeno). */
|
|
6
|
+
leading: boolean;
|
|
7
|
+
rowGap: string;
|
|
8
|
+
/** Altura da barra por linha (alinhada às opções de select ~0,95rem / lh 1,35). */
|
|
9
|
+
lineHeight: string;
|
|
10
|
+
animate: boolean;
|
|
11
|
+
rowIndexes(): number[];
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SkeletonListComponent, never>;
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SkeletonListComponent, "app-skeleton-list", never, { "rows": { "alias": "rows"; "required": false; }; "leading": { "alias": "leading"; "required": false; }; "rowGap": { "alias": "rowGap"; "required": false; }; "lineHeight": { "alias": "lineHeight"; "required": false; }; "animate": { "alias": "animate"; "required": false; }; }, {}, never, never, true, never>;
|
|
14
|
+
static ngAcceptInputType_rows: unknown;
|
|
15
|
+
static ngAcceptInputType_leading: unknown;
|
|
16
|
+
static ngAcceptInputType_animate: unknown;
|
|
17
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
/** Placeholder tabular (cabeçalho + linhas + faixa de paginação). */
|
|
3
|
+
export declare class SkeletonTableComponent {
|
|
4
|
+
columnCount: number;
|
|
5
|
+
rowCount: number;
|
|
6
|
+
showPager: boolean;
|
|
7
|
+
animate: boolean;
|
|
8
|
+
colIndexes(): number[];
|
|
9
|
+
rowIndexes(): number[];
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SkeletonTableComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SkeletonTableComponent, "app-skeleton-table", never, { "columnCount": { "alias": "columnCount"; "required": false; }; "rowCount": { "alias": "rowCount"; "required": false; }; "showPager": { "alias": "showPager"; "required": false; }; "animate": { "alias": "animate"; "required": false; }; }, {}, never, never, true, never>;
|
|
12
|
+
static ngAcceptInputType_columnCount: unknown;
|
|
13
|
+
static ngAcceptInputType_rowCount: unknown;
|
|
14
|
+
static ngAcceptInputType_showPager: unknown;
|
|
15
|
+
static ngAcceptInputType_animate: unknown;
|
|
16
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
/** Várias linhas de texto placeholder. */
|
|
3
|
+
export declare class SkeletonTextComponent {
|
|
4
|
+
lines: number;
|
|
5
|
+
/** Largura da última linha em % (1–100). */
|
|
6
|
+
lastLineWidthPct: number;
|
|
7
|
+
lineHeight: string;
|
|
8
|
+
gap: string;
|
|
9
|
+
animate: boolean;
|
|
10
|
+
lineIndexes(): number[];
|
|
11
|
+
widthForLine(i: number): string;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SkeletonTextComponent, never>;
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SkeletonTextComponent, "app-skeleton-text", never, { "lines": { "alias": "lines"; "required": false; }; "lastLineWidthPct": { "alias": "lastLineWidthPct"; "required": false; }; "lineHeight": { "alias": "lineHeight"; "required": false; }; "gap": { "alias": "gap"; "required": false; }; "animate": { "alias": "animate"; "required": false; }; }, {}, never, never, true, never>;
|
|
14
|
+
static ngAcceptInputType_lines: unknown;
|
|
15
|
+
static ngAcceptInputType_lastLineWidthPct: unknown;
|
|
16
|
+
static ngAcceptInputType_animate: unknown;
|
|
17
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Posicionamento vertical preferido do dropdown em relação ao trigger.
|
|
3
|
+
* O CDK faz flip automático se não couber no viewport quando configurado com posições múltiplas.
|
|
4
|
+
*/
|
|
5
|
+
export declare enum MenuDropdownPlacement {
|
|
6
|
+
/** Abre por baixo do trigger (preferencial). */
|
|
7
|
+
Below = "below",
|
|
8
|
+
/** Abre por cima do trigger. */
|
|
9
|
+
Above = "above"
|
|
10
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Itens de menu partilhados por dropdown, context menu, action-menu e campos (`mostrarMenuContexto`).
|
|
3
|
+
* Discriminação por `kind` para renderização e navegação por teclado.
|
|
4
|
+
*/
|
|
5
|
+
export type MenuItemKind = 'item' | 'divider' | 'group' | 'submenu';
|
|
6
|
+
export interface MenuItemAction<T = string> {
|
|
7
|
+
kind: 'item';
|
|
8
|
+
/** Identificador estável para o evento de selecção. */
|
|
9
|
+
id: T;
|
|
10
|
+
label: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
/** Classes de ícone (ex.: Font Awesome), opcional. */
|
|
13
|
+
icon?: string;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
/** Bloqueia interação e mostra indicador de carregamento (o pai atualiza o modelo). */
|
|
16
|
+
loading?: boolean;
|
|
17
|
+
/** Acção destrutiva (ex.: eliminar) — realce semântico sem quebrar o tema. */
|
|
18
|
+
danger?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface MenuItemDivider {
|
|
21
|
+
kind: 'divider';
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Submenu aninhado (qualquer profundidade em `items`).
|
|
25
|
+
* A navegação e o posicionamento são tratados em `menu-list` (lista recursiva + overlay CDK).
|
|
26
|
+
*/
|
|
27
|
+
export interface MenuItemSubmenu<T = string> {
|
|
28
|
+
kind: 'submenu';
|
|
29
|
+
/** Identificador estável (acessibilidade, rastreio). */
|
|
30
|
+
id: T;
|
|
31
|
+
label: string;
|
|
32
|
+
description?: string;
|
|
33
|
+
icon?: string;
|
|
34
|
+
disabled?: boolean;
|
|
35
|
+
items: readonly MenuNodeItem<T>[];
|
|
36
|
+
}
|
|
37
|
+
export interface MenuItemGroup<T = string> {
|
|
38
|
+
kind: 'group';
|
|
39
|
+
/** Rótulo da seção (opcional). */
|
|
40
|
+
label?: string;
|
|
41
|
+
/** Itens e submenus aninhados dentro do grupo. */
|
|
42
|
+
items: readonly MenuNodeItem<T>[];
|
|
43
|
+
}
|
|
44
|
+
/** Folha: ação ou divisor. */
|
|
45
|
+
export type MenuLeafItem<T = string> = MenuItemAction<T> | MenuItemDivider;
|
|
46
|
+
/** Nó de primeiro nível ou dentro de grupos (inclui submenus). */
|
|
47
|
+
export type MenuNodeItem<T = string> = MenuLeafItem<T> | MenuItemGroup<T> | MenuItemSubmenu<T>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ConnectedPosition } from '@angular/cdk/overlay';
|
|
2
|
+
import { MenuDropdownPlacement } from '../_models/menu-dropdown-placement.model';
|
|
3
|
+
/** Posições com flip vertical (preferência em baixo ou em cima). */
|
|
4
|
+
export declare function menuConnectedPositions(placement: MenuDropdownPlacement): ConnectedPosition[];
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { MenuItemAction, MenuItemSubmenu, MenuNodeItem } from '../_models/menu-item.model';
|
|
2
|
+
export interface MenuRowAction<T = string> {
|
|
3
|
+
kind: 'action';
|
|
4
|
+
item: MenuItemAction<T>;
|
|
5
|
+
/** Índice na navegação por teclado; `null` se desabilitado. */
|
|
6
|
+
focusIndex: number | null;
|
|
7
|
+
}
|
|
8
|
+
export interface MenuRowDivider {
|
|
9
|
+
kind: 'divider';
|
|
10
|
+
}
|
|
11
|
+
export interface MenuRowGroup {
|
|
12
|
+
kind: 'group';
|
|
13
|
+
label?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface MenuRowSubmenu<T = string> {
|
|
16
|
+
kind: 'submenu';
|
|
17
|
+
item: MenuItemSubmenu<T>;
|
|
18
|
+
focusIndex: number | null;
|
|
19
|
+
}
|
|
20
|
+
export type MenuRow<T = string> = MenuRowAction<T> | MenuRowDivider | MenuRowGroup | MenuRowSubmenu<T>;
|
|
21
|
+
export declare function buildMenuRows<T = string>(nodes: readonly MenuNodeItem<T>[]): MenuRow<T>[];
|
|
22
|
+
export declare function focusableActionCount<T>(rows: readonly MenuRow<T>[]): number;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { MenuDropdownPlacement } from '../_models/menu-dropdown-placement.model';
|
|
3
|
+
import type { MenuNodeItem } from '../_models/menu-item.model';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* Menu de ações padrão: mesmo comportamento do `dropdown-menu` com trigger «…» (overflow).
|
|
7
|
+
* Mantém a API de itens existente (`MenuNodeItem`).
|
|
8
|
+
*/
|
|
9
|
+
export declare class ActionMenuComponent<T = string> {
|
|
10
|
+
items: readonly MenuNodeItem<T>[];
|
|
11
|
+
placement: MenuDropdownPlacement;
|
|
12
|
+
minWidthPx: number;
|
|
13
|
+
menuId: string;
|
|
14
|
+
/** Texto acessível do botão de gatilho. */
|
|
15
|
+
triggerLabel: string;
|
|
16
|
+
/** O painel não segue a largura do botão (ícone estreito). */
|
|
17
|
+
matchTriggerWidth: boolean;
|
|
18
|
+
readonly itemSelect: EventEmitter<T>;
|
|
19
|
+
readonly openChange: EventEmitter<boolean>;
|
|
20
|
+
readonly MenuDropdownPlacement: typeof MenuDropdownPlacement;
|
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ActionMenuComponent<any>, never>;
|
|
22
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ActionMenuComponent<any>, "app-action-menu", never, { "items": { "alias": "items"; "required": true; }; "placement": { "alias": "placement"; "required": false; }; "minWidthPx": { "alias": "minWidthPx"; "required": false; }; "menuId": { "alias": "menuId"; "required": false; }; "triggerLabel": { "alias": "triggerLabel"; "required": false; }; "matchTriggerWidth": { "alias": "matchTriggerWidth"; "required": false; }; }, { "itemSelect": "itemSelect"; "openChange": "openChange"; }, never, never, true, never>;
|
|
23
|
+
static ngAcceptInputType_matchTriggerWidth: unknown;
|
|
24
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { EventEmitter, OnDestroy, TemplateRef } from '@angular/core';
|
|
2
|
+
import type { MenuNodeItem } from '../_models/menu-item.model';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class ContextMenuComponent<T = string> implements OnDestroy {
|
|
5
|
+
private readonly overlay;
|
|
6
|
+
private readonly vcr;
|
|
7
|
+
private readonly appTheme;
|
|
8
|
+
private readonly cdr;
|
|
9
|
+
items: readonly MenuNodeItem<T>[];
|
|
10
|
+
disabled: boolean;
|
|
11
|
+
menuId: string;
|
|
12
|
+
readonly itemSelect: EventEmitter<T>;
|
|
13
|
+
menuTpl: TemplateRef<unknown>;
|
|
14
|
+
private menuList?;
|
|
15
|
+
private overlayRef;
|
|
16
|
+
private escSub;
|
|
17
|
+
private readonly generatedId;
|
|
18
|
+
readonly panelThemeNgClass: import("@angular/core").Signal<{
|
|
19
|
+
[x: string]: boolean;
|
|
20
|
+
'app-library-theme': boolean;
|
|
21
|
+
}>;
|
|
22
|
+
get resolvedMenuId(): string;
|
|
23
|
+
ngOnDestroy(): void;
|
|
24
|
+
onContextMenu(ev: MouseEvent): void;
|
|
25
|
+
private openAt;
|
|
26
|
+
private disposeOverlay;
|
|
27
|
+
onItemSelect(id: T): void;
|
|
28
|
+
onCloseRequest(): void;
|
|
29
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ContextMenuComponent<any>, never>;
|
|
30
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ContextMenuComponent<any>, "app-context-menu", never, { "items": { "alias": "items"; "required": true; }; "disabled": { "alias": "disabled"; "required": false; }; "menuId": { "alias": "menuId"; "required": false; }; }, { "itemSelect": "itemSelect"; }, never, ["*"], true, never>;
|
|
31
|
+
static ngAcceptInputType_disabled: unknown;
|
|
32
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { EventEmitter, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { DrawerSide } from '../_models/drawer-side.model';
|
|
3
|
+
import { DrawerSize } from '../_models/drawer-size.model';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class DrawerComponent implements OnChanges, OnDestroy {
|
|
6
|
+
private readonly cdr;
|
|
7
|
+
private readonly injector;
|
|
8
|
+
private readonly hostEl;
|
|
9
|
+
open: boolean;
|
|
10
|
+
side: DrawerSide;
|
|
11
|
+
size: DrawerSize;
|
|
12
|
+
/** `title="…"` no template — evita colisão com `HTMLElement.title` no host. */
|
|
13
|
+
drawerHeading: string;
|
|
14
|
+
showCloseButton: boolean;
|
|
15
|
+
readonly openChange: EventEmitter<boolean>;
|
|
16
|
+
private panelRef?;
|
|
17
|
+
readonly DrawerSide: typeof DrawerSide;
|
|
18
|
+
readonly DrawerSize: typeof DrawerSize;
|
|
19
|
+
readonly titleId: string;
|
|
20
|
+
private focusPreOpen;
|
|
21
|
+
/** Igual ao `app-dialog`: backdrop + painel no `body` para `backdrop-filter` correcto. */
|
|
22
|
+
private bodyRestoreParent;
|
|
23
|
+
private bodyRestoreNext;
|
|
24
|
+
get panelClasses(): Record<string, boolean>;
|
|
25
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
26
|
+
ngOnDestroy(): void;
|
|
27
|
+
private attachHostToBody;
|
|
28
|
+
private detachHostFromBody;
|
|
29
|
+
onBackdropClick(): void;
|
|
30
|
+
onCloseClick(): void;
|
|
31
|
+
onPanelKeydown(ev: KeyboardEvent): void;
|
|
32
|
+
requestClose(): void;
|
|
33
|
+
private restoreFocus;
|
|
34
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DrawerComponent, never>;
|
|
35
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DrawerComponent, "app-drawer", never, { "open": { "alias": "open"; "required": false; }; "side": { "alias": "side"; "required": false; }; "size": { "alias": "size"; "required": false; }; "drawerHeading": { "alias": "title"; "required": false; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; }; }, { "openChange": "openChange"; }, never, ["*", "[appDrawerFooter]"], true, never>;
|
|
36
|
+
static ngAcceptInputType_open: unknown;
|
|
37
|
+
static ngAcceptInputType_showCloseButton: unknown;
|
|
38
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { EventEmitter, TemplateRef } from '@angular/core';
|
|
2
|
+
import { MenuDropdownPlacement } from '../_models/menu-dropdown-placement.model';
|
|
3
|
+
import type { MenuNodeItem } from '../_models/menu-item.model';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class DropdownMenuComponent<T = string> {
|
|
6
|
+
private readonly host;
|
|
7
|
+
items: readonly MenuNodeItem<T>[];
|
|
8
|
+
placement: MenuDropdownPlacement;
|
|
9
|
+
/** Largura mínima do painel em px (o painel pode alargar ao conteúdo). */
|
|
10
|
+
minWidthPx: number;
|
|
11
|
+
/** Se `true`, a largura do painel segue a do trigger. */
|
|
12
|
+
matchTriggerWidth: boolean;
|
|
13
|
+
menuId: string;
|
|
14
|
+
readonly itemSelect: EventEmitter<T>;
|
|
15
|
+
readonly openChange: EventEmitter<boolean>;
|
|
16
|
+
panelTpl: TemplateRef<unknown>;
|
|
17
|
+
private menuList?;
|
|
18
|
+
open: boolean;
|
|
19
|
+
private readonly generatedId;
|
|
20
|
+
get resolvedMenuId(): string;
|
|
21
|
+
/** Largura do painel no overlay (mínimo garantido; pode igualar ao trigger). */
|
|
22
|
+
get effectivePanelWidth(): number;
|
|
23
|
+
get connectedPositions(): import("@angular/cdk/overlay").ConnectedPosition[];
|
|
24
|
+
onTriggerClick(ev: Event): void;
|
|
25
|
+
toggle(): void;
|
|
26
|
+
setOpen(next: boolean): void;
|
|
27
|
+
onBaseOpenChange(next: boolean): void;
|
|
28
|
+
onItemSelect(id: T): void;
|
|
29
|
+
onCloseRequest(): void;
|
|
30
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DropdownMenuComponent<any>, never>;
|
|
31
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DropdownMenuComponent<any>, "app-dropdown-menu", never, { "items": { "alias": "items"; "required": true; }; "placement": { "alias": "placement"; "required": false; }; "minWidthPx": { "alias": "minWidthPx"; "required": false; }; "matchTriggerWidth": { "alias": "matchTriggerWidth"; "required": false; }; "menuId": { "alias": "menuId"; "required": false; }; }, { "itemSelect": "itemSelect"; "openChange": "openChange"; }, never, ["*"], true, never>;
|
|
32
|
+
static ngAcceptInputType_matchTriggerWidth: unknown;
|
|
33
|
+
}
|