structra-ui 0.1.18 → 0.1.19
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/fesm2022/structra-ui.mjs +326 -326
- package/fesm2022/structra-ui.mjs.map +1 -1
- package/package.json +16 -25
- 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/index.d.ts +0 -5
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input, booleanAttribute, numberAttribute, } from '@angular/core';
|
|
2
|
-
import { SkeletonBlockComponent } from '../skeleton-block/skeleton-block.component';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/** Lista vertical de linhas (ex.: opções de dropdown). */
|
|
5
|
-
export class SkeletonListComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.rows = 6;
|
|
8
|
-
/** Mostra um “leading” à esquerda (círculo pequeno). */
|
|
9
|
-
this.leading = true;
|
|
10
|
-
this.rowGap = '0.25rem';
|
|
11
|
-
/** Altura da barra por linha (alinhada às opções de select ~0,95rem / lh 1,35). */
|
|
12
|
-
this.lineHeight = '1.05rem';
|
|
13
|
-
this.animate = true;
|
|
14
|
-
}
|
|
15
|
-
rowIndexes() {
|
|
16
|
-
return Array.from({ length: Math.max(1, this.rows) }, (_, i) => i);
|
|
17
|
-
}
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkeletonListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SkeletonListComponent, isStandalone: true, selector: "app-skeleton-list", inputs: { rows: ["rows", "rows", numberAttribute], leading: ["leading", "leading", booleanAttribute], rowGap: "rowGap", lineHeight: "lineHeight", animate: ["animate", "animate", booleanAttribute] }, ngImport: i0, template: "<div class=\"skeleton-list\" [style.gap]=\"rowGap\">\r\n @for (i of rowIndexes(); track i) {\r\n <div class=\"skeleton-list__row\">\r\n @if (leading) {\r\n <app-skeleton-block class=\"skeleton-list__dot\" width=\"1.5rem\" height=\"1.5rem\" radius=\"999px\"\r\n [animate]=\"animate\" />\r\n }\r\n <app-skeleton-block class=\"skeleton-list__line\" width=\"100%\" [height]=\"lineHeight\" radius=\"6px\"\r\n [animate]=\"animate\" />\r\n </div>\r\n }\r\n</div>\r\n", styles: [":host{display:block;width:100%;min-width:0}.skeleton-list{display:flex;flex-direction:column;width:100%;min-width:0;padding:.2rem 0;box-sizing:border-box}.skeleton-list__row{display:flex;align-items:center;gap:.55rem;min-width:0;min-height:2.45rem;padding:.4rem .75rem;box-sizing:border-box}.skeleton-list__line{flex:1 1 auto;min-width:0}.skeleton-list__dot{flex-shrink:0}\n"], dependencies: [{ kind: "component", type: SkeletonBlockComponent, selector: "app-skeleton-block", inputs: ["width", "height", "radius", "animate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
20
|
-
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkeletonListComponent, decorators: [{
|
|
22
|
-
type: Component,
|
|
23
|
-
args: [{ selector: 'app-skeleton-list', standalone: true, imports: [SkeletonBlockComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"skeleton-list\" [style.gap]=\"rowGap\">\r\n @for (i of rowIndexes(); track i) {\r\n <div class=\"skeleton-list__row\">\r\n @if (leading) {\r\n <app-skeleton-block class=\"skeleton-list__dot\" width=\"1.5rem\" height=\"1.5rem\" radius=\"999px\"\r\n [animate]=\"animate\" />\r\n }\r\n <app-skeleton-block class=\"skeleton-list__line\" width=\"100%\" [height]=\"lineHeight\" radius=\"6px\"\r\n [animate]=\"animate\" />\r\n </div>\r\n }\r\n</div>\r\n", styles: [":host{display:block;width:100%;min-width:0}.skeleton-list{display:flex;flex-direction:column;width:100%;min-width:0;padding:.2rem 0;box-sizing:border-box}.skeleton-list__row{display:flex;align-items:center;gap:.55rem;min-width:0;min-height:2.45rem;padding:.4rem .75rem;box-sizing:border-box}.skeleton-list__line{flex:1 1 auto;min-width:0}.skeleton-list__dot{flex-shrink:0}\n"] }]
|
|
24
|
-
}], propDecorators: { rows: [{
|
|
25
|
-
type: Input,
|
|
26
|
-
args: [{ transform: numberAttribute }]
|
|
27
|
-
}], leading: [{
|
|
28
|
-
type: Input,
|
|
29
|
-
args: [{ transform: booleanAttribute }]
|
|
30
|
-
}], rowGap: [{
|
|
31
|
-
type: Input
|
|
32
|
-
}], lineHeight: [{
|
|
33
|
-
type: Input
|
|
34
|
-
}], animate: [{
|
|
35
|
-
type: Input,
|
|
36
|
-
args: [{ transform: booleanAttribute }]
|
|
37
|
-
}] } });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24tbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2xvYWRpbmcvc2tlbGV0b24tbG9hZGluZy9za2VsZXRvbi1saXN0L3NrZWxldG9uLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9sb2FkaW5nL3NrZWxldG9uLWxvYWRpbmcvc2tlbGV0b24tbGlzdC9za2VsZXRvbi1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDTCxnQkFBZ0IsRUFDaEIsZUFBZSxHQUNoQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7QUFFcEYsMERBQTBEO0FBUzFELE1BQU0sT0FBTyxxQkFBcUI7SUFSbEM7UUFTeUMsU0FBSSxHQUFHLENBQUMsQ0FBQztRQUNoRCx3REFBd0Q7UUFDaEIsWUFBTyxHQUFHLElBQUksQ0FBQztRQUM5QyxXQUFNLEdBQUcsU0FBUyxDQUFDO1FBQzVCLG1GQUFtRjtRQUMxRSxlQUFVLEdBQUcsU0FBUyxDQUFDO1FBRVEsWUFBTyxHQUFHLElBQUksQ0FBQztLQUt4RDtJQUhDLFVBQVU7UUFDUixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDOytHQVpVLHFCQUFxQjttR0FBckIscUJBQXFCLHNGQUNaLGVBQWUsbUNBRWYsZ0JBQWdCLCtFQUtoQixnQkFBZ0IsNkJDMUJ0Qyx1ZUFZQSxnYkRDWSxzQkFBc0I7OzRGQUtyQixxQkFBcUI7a0JBUmpDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLHNCQUFzQixDQUFDLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUdSLElBQUk7c0JBQTFDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQUVHLE9BQU87c0JBQTlDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQzdCLE1BQU07c0JBQWQsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVrQyxPQUFPO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcclxuICBudW1iZXJBdHRyaWJ1dGUsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNrZWxldG9uQmxvY2tDb21wb25lbnQgfSBmcm9tICcuLi9za2VsZXRvbi1ibG9jay9za2VsZXRvbi1ibG9jay5jb21wb25lbnQnO1xyXG5cclxuLyoqIExpc3RhIHZlcnRpY2FsIGRlIGxpbmhhcyAoZXguOiBvcMOnw7VlcyBkZSBkcm9wZG93bikuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXNrZWxldG9uLWxpc3QnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1NrZWxldG9uQmxvY2tDb21wb25lbnRdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9za2VsZXRvbi1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vc2tlbGV0b24tbGlzdC5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTa2VsZXRvbkxpc3RDb21wb25lbnQge1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIHJvd3MgPSA2O1xyXG4gIC8qKiBNb3N0cmEgdW0g4oCcbGVhZGluZ+KAnSDDoCBlc3F1ZXJkYSAoY8OtcmN1bG8gcGVxdWVubykuICovXHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGxlYWRpbmcgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHJvd0dhcCA9ICcwLjI1cmVtJztcclxuICAvKiogQWx0dXJhIGRhIGJhcnJhIHBvciBsaW5oYSAoYWxpbmhhZGEgw6BzIG9ww6fDtWVzIGRlIHNlbGVjdCB+MCw5NXJlbSAvIGxoIDEsMzUpLiAqL1xyXG4gIEBJbnB1dCgpIGxpbmVIZWlnaHQgPSAnMS4wNXJlbSc7XHJcblxyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBhbmltYXRlID0gdHJ1ZTtcclxuXHJcbiAgcm93SW5kZXhlcygpOiBudW1iZXJbXSB7XHJcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aDogTWF0aC5tYXgoMSwgdGhpcy5yb3dzKSB9LCAoXywgaSkgPT4gaSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJza2VsZXRvbi1saXN0XCIgW3N0eWxlLmdhcF09XCJyb3dHYXBcIj5cclxuICBAZm9yIChpIG9mIHJvd0luZGV4ZXMoKTsgdHJhY2sgaSkge1xyXG4gIDxkaXYgY2xhc3M9XCJza2VsZXRvbi1saXN0X19yb3dcIj5cclxuICAgIEBpZiAobGVhZGluZykge1xyXG4gICAgPGFwcC1za2VsZXRvbi1ibG9jayBjbGFzcz1cInNrZWxldG9uLWxpc3RfX2RvdFwiIHdpZHRoPVwiMS41cmVtXCIgaGVpZ2h0PVwiMS41cmVtXCIgcmFkaXVzPVwiOTk5cHhcIlxyXG4gICAgICBbYW5pbWF0ZV09XCJhbmltYXRlXCIgLz5cclxuICAgIH1cclxuICAgIDxhcHAtc2tlbGV0b24tYmxvY2sgY2xhc3M9XCJza2VsZXRvbi1saXN0X19saW5lXCIgd2lkdGg9XCIxMDAlXCIgW2hlaWdodF09XCJsaW5lSGVpZ2h0XCIgcmFkaXVzPVwiNnB4XCJcclxuICAgICAgW2FuaW1hdGVdPVwiYW5pbWF0ZVwiIC8+XHJcbiAgPC9kaXY+XHJcbiAgfVxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input, booleanAttribute, numberAttribute, } from '@angular/core';
|
|
2
|
-
import { SkeletonBlockComponent } from '../skeleton-block/skeleton-block.component';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/** Placeholder tabular (cabeçalho + linhas + faixa de paginação). */
|
|
5
|
-
export class SkeletonTableComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.columnCount = 4;
|
|
8
|
-
this.rowCount = 8;
|
|
9
|
-
this.showPager = true;
|
|
10
|
-
this.animate = true;
|
|
11
|
-
}
|
|
12
|
-
colIndexes() {
|
|
13
|
-
return Array.from({ length: Math.max(1, this.columnCount) }, (_, i) => i);
|
|
14
|
-
}
|
|
15
|
-
rowIndexes() {
|
|
16
|
-
return Array.from({ length: Math.max(1, this.rowCount) }, (_, i) => i);
|
|
17
|
-
}
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkeletonTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SkeletonTableComponent, isStandalone: true, selector: "app-skeleton-table", inputs: { columnCount: ["columnCount", "columnCount", numberAttribute], rowCount: ["rowCount", "rowCount", numberAttribute], showPager: ["showPager", "showPager", booleanAttribute], animate: ["animate", "animate", booleanAttribute] }, ngImport: i0, template: "<div class=\"skeleton-table\" aria-hidden=\"true\">\r\n <div class=\"skeleton-table__header\">\r\n @for (c of colIndexes(); track c) {\r\n <app-skeleton-block class=\"skeleton-table__cell\" width=\"100%\" height=\"0.65rem\" radius=\"6px\" [animate]=\"animate\" />\r\n }\r\n </div>\r\n <div class=\"skeleton-table__body\">\r\n @for (r of rowIndexes(); track r) {\r\n <div class=\"skeleton-table__row\">\r\n @for (c of colIndexes(); track c) {\r\n <app-skeleton-block class=\"skeleton-table__cell\" width=\"100%\" height=\"0.55rem\" radius=\"5px\" [animate]=\"animate\" />\r\n }\r\n </div>\r\n }\r\n </div>\r\n @if (showPager) {\r\n <div class=\"skeleton-table__pager\">\r\n <app-skeleton-block width=\"40%\" height=\"0.55rem\" radius=\"6px\" [animate]=\"animate\" />\r\n </div>\r\n }\r\n</div>\r\n", styles: [":host{display:block;width:100%;min-width:0;height:100%;min-height:0;box-sizing:border-box}.skeleton-table{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;box-sizing:border-box;border-radius:10px;overflow:hidden;border:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .09));background:var(--app-color-surface, #fff)}.skeleton-table__header{display:flex;gap:.65rem;align-items:center;padding:.65rem .75rem;background:var(--app-color-tab-inactive-bg, #f3f6f9);border-bottom:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .1))}.skeleton-table__body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.skeleton-table__row{display:flex;gap:.65rem;align-items:center;padding:.55rem .75rem;border-bottom:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .06));background:var(--app-color-surface, #fff)}.skeleton-table__row:nth-child(2n){background:var(--app-color-background, #fafbfc)}.skeleton-table__cell{flex:1 1 0;min-width:0}.skeleton-table__pager{display:flex;align-items:center;justify-content:flex-end;padding:.5rem .75rem;border-top:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .08));background:var(--app-color-background, #fafbfc)}\n"], dependencies: [{ kind: "component", type: SkeletonBlockComponent, selector: "app-skeleton-block", inputs: ["width", "height", "radius", "animate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
20
|
-
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkeletonTableComponent, decorators: [{
|
|
22
|
-
type: Component,
|
|
23
|
-
args: [{ selector: 'app-skeleton-table', standalone: true, imports: [SkeletonBlockComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"skeleton-table\" aria-hidden=\"true\">\r\n <div class=\"skeleton-table__header\">\r\n @for (c of colIndexes(); track c) {\r\n <app-skeleton-block class=\"skeleton-table__cell\" width=\"100%\" height=\"0.65rem\" radius=\"6px\" [animate]=\"animate\" />\r\n }\r\n </div>\r\n <div class=\"skeleton-table__body\">\r\n @for (r of rowIndexes(); track r) {\r\n <div class=\"skeleton-table__row\">\r\n @for (c of colIndexes(); track c) {\r\n <app-skeleton-block class=\"skeleton-table__cell\" width=\"100%\" height=\"0.55rem\" radius=\"5px\" [animate]=\"animate\" />\r\n }\r\n </div>\r\n }\r\n </div>\r\n @if (showPager) {\r\n <div class=\"skeleton-table__pager\">\r\n <app-skeleton-block width=\"40%\" height=\"0.55rem\" radius=\"6px\" [animate]=\"animate\" />\r\n </div>\r\n }\r\n</div>\r\n", styles: [":host{display:block;width:100%;min-width:0;height:100%;min-height:0;box-sizing:border-box}.skeleton-table{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;box-sizing:border-box;border-radius:10px;overflow:hidden;border:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .09));background:var(--app-color-surface, #fff)}.skeleton-table__header{display:flex;gap:.65rem;align-items:center;padding:.65rem .75rem;background:var(--app-color-tab-inactive-bg, #f3f6f9);border-bottom:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .1))}.skeleton-table__body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.skeleton-table__row{display:flex;gap:.65rem;align-items:center;padding:.55rem .75rem;border-bottom:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .06));background:var(--app-color-surface, #fff)}.skeleton-table__row:nth-child(2n){background:var(--app-color-background, #fafbfc)}.skeleton-table__cell{flex:1 1 0;min-width:0}.skeleton-table__pager{display:flex;align-items:center;justify-content:flex-end;padding:.5rem .75rem;border-top:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .08));background:var(--app-color-background, #fafbfc)}\n"] }]
|
|
24
|
-
}], propDecorators: { columnCount: [{
|
|
25
|
-
type: Input,
|
|
26
|
-
args: [{ transform: numberAttribute }]
|
|
27
|
-
}], rowCount: [{
|
|
28
|
-
type: Input,
|
|
29
|
-
args: [{ transform: numberAttribute }]
|
|
30
|
-
}], showPager: [{
|
|
31
|
-
type: Input,
|
|
32
|
-
args: [{ transform: booleanAttribute }]
|
|
33
|
-
}], animate: [{
|
|
34
|
-
type: Input,
|
|
35
|
-
args: [{ transform: booleanAttribute }]
|
|
36
|
-
}] } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24tdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9sb2FkaW5nL3NrZWxldG9uLWxvYWRpbmcvc2tlbGV0b24tdGFibGUvc2tlbGV0b24tdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9sb2FkaW5nL3NrZWxldG9uLWxvYWRpbmcvc2tlbGV0b24tdGFibGUvc2tlbGV0b24tdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLGdCQUFnQixFQUNoQixlQUFlLEdBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOztBQUVwRixxRUFBcUU7QUFTckUsTUFBTSxPQUFPLHNCQUFzQjtJQVJuQztRQVN5QyxnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUNoQixhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ1osY0FBUyxHQUFHLElBQUksQ0FBQztRQUVqQixZQUFPLEdBQUcsSUFBSSxDQUFDO0tBU3hEO0lBUEMsVUFBVTtRQUNSLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQzsrR0FiVSxzQkFBc0I7bUdBQXRCLHNCQUFzQiw0R0FDYixlQUFlLHNDQUNmLGVBQWUseUNBQ2YsZ0JBQWdCLG1DQUVoQixnQkFBZ0IsNkJDdkJ0Qyw2MEJBcUJBLG92Q0RSWSxzQkFBc0I7OzRGQUtyQixzQkFBc0I7a0JBUmxDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLHNCQUFzQixDQUFDLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUdSLFdBQVc7c0JBQWpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQUNFLFFBQVE7c0JBQTlDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQUNHLFNBQVM7c0JBQWhELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBRUUsT0FBTztzQkFBOUMsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXHJcbiAgbnVtYmVyQXR0cmlidXRlLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTa2VsZXRvbkJsb2NrQ29tcG9uZW50IH0gZnJvbSAnLi4vc2tlbGV0b24tYmxvY2svc2tlbGV0b24tYmxvY2suY29tcG9uZW50JztcclxuXHJcbi8qKiBQbGFjZWhvbGRlciB0YWJ1bGFyIChjYWJlw6dhbGhvICsgbGluaGFzICsgZmFpeGEgZGUgcGFnaW5hw6fDo28pLiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1za2VsZXRvbi10YWJsZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbU2tlbGV0b25CbG9ja0NvbXBvbmVudF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NrZWxldG9uLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vc2tlbGV0b24tdGFibGUuY29tcG9uZW50LnNjc3MnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2tlbGV0b25UYWJsZUNvbXBvbmVudCB7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgY29sdW1uQ291bnQgPSA0O1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIHJvd0NvdW50ID0gODtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvd1BhZ2VyID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGFuaW1hdGUgPSB0cnVlO1xyXG5cclxuICBjb2xJbmRleGVzKCk6IG51bWJlcltdIHtcclxuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiBNYXRoLm1heCgxLCB0aGlzLmNvbHVtbkNvdW50KSB9LCAoXywgaSkgPT4gaSk7XHJcbiAgfVxyXG5cclxuICByb3dJbmRleGVzKCk6IG51bWJlcltdIHtcclxuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiBNYXRoLm1heCgxLCB0aGlzLnJvd0NvdW50KSB9LCAoXywgaSkgPT4gaSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJza2VsZXRvbi10YWJsZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJza2VsZXRvbi10YWJsZV9faGVhZGVyXCI+XHJcbiAgICBAZm9yIChjIG9mIGNvbEluZGV4ZXMoKTsgdHJhY2sgYykge1xyXG4gICAgPGFwcC1za2VsZXRvbi1ibG9jayBjbGFzcz1cInNrZWxldG9uLXRhYmxlX19jZWxsXCIgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMC42NXJlbVwiIHJhZGl1cz1cIjZweFwiIFthbmltYXRlXT1cImFuaW1hdGVcIiAvPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJza2VsZXRvbi10YWJsZV9fYm9keVwiPlxyXG4gICAgQGZvciAociBvZiByb3dJbmRleGVzKCk7IHRyYWNrIHIpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJza2VsZXRvbi10YWJsZV9fcm93XCI+XHJcbiAgICAgIEBmb3IgKGMgb2YgY29sSW5kZXhlcygpOyB0cmFjayBjKSB7XHJcbiAgICAgIDxhcHAtc2tlbGV0b24tYmxvY2sgY2xhc3M9XCJza2VsZXRvbi10YWJsZV9fY2VsbFwiIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjAuNTVyZW1cIiByYWRpdXM9XCI1cHhcIiBbYW5pbWF0ZV09XCJhbmltYXRlXCIgLz5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbiAgQGlmIChzaG93UGFnZXIpIHtcclxuICA8ZGl2IGNsYXNzPVwic2tlbGV0b24tdGFibGVfX3BhZ2VyXCI+XHJcbiAgICA8YXBwLXNrZWxldG9uLWJsb2NrIHdpZHRoPVwiNDAlXCIgaGVpZ2h0PVwiMC41NXJlbVwiIHJhZGl1cz1cIjZweFwiIFthbmltYXRlXT1cImFuaW1hdGVcIiAvPlxyXG4gIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input, booleanAttribute, numberAttribute, } from '@angular/core';
|
|
2
|
-
import { SkeletonBlockComponent } from '../skeleton-block/skeleton-block.component';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/** Várias linhas de texto placeholder. */
|
|
5
|
-
export class SkeletonTextComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.lines = 3;
|
|
8
|
-
/** Largura da última linha em % (1–100). */
|
|
9
|
-
this.lastLineWidthPct = 62;
|
|
10
|
-
this.lineHeight = '0.7rem';
|
|
11
|
-
this.gap = '0.45rem';
|
|
12
|
-
this.animate = true;
|
|
13
|
-
}
|
|
14
|
-
lineIndexes() {
|
|
15
|
-
return Array.from({ length: Math.max(1, this.lines) }, (_, i) => i);
|
|
16
|
-
}
|
|
17
|
-
widthForLine(i) {
|
|
18
|
-
const n = Math.max(1, this.lines);
|
|
19
|
-
if (i === n - 1) {
|
|
20
|
-
const p = Math.min(100, Math.max(20, this.lastLineWidthPct));
|
|
21
|
-
return `${p}%`;
|
|
22
|
-
}
|
|
23
|
-
return '100%';
|
|
24
|
-
}
|
|
25
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkeletonTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SkeletonTextComponent, isStandalone: true, selector: "app-skeleton-text", inputs: { lines: ["lines", "lines", numberAttribute], lastLineWidthPct: ["lastLineWidthPct", "lastLineWidthPct", numberAttribute], lineHeight: "lineHeight", gap: "gap", animate: ["animate", "animate", booleanAttribute] }, ngImport: i0, template: "<div class=\"skeleton-text\" [style.gap]=\"gap\">\r\n @for (i of lineIndexes(); track i) {\r\n <app-skeleton-block [width]=\"widthForLine(i)\" [height]=\"lineHeight\" [animate]=\"animate\" />\r\n }\r\n</div>\r\n", styles: [":host{display:block;width:100%;min-width:0}.skeleton-text{display:flex;flex-direction:column;width:100%;min-width:0}\n"], dependencies: [{ kind: "component", type: SkeletonBlockComponent, selector: "app-skeleton-block", inputs: ["width", "height", "radius", "animate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27
|
-
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkeletonTextComponent, decorators: [{
|
|
29
|
-
type: Component,
|
|
30
|
-
args: [{ selector: 'app-skeleton-text', standalone: true, imports: [SkeletonBlockComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"skeleton-text\" [style.gap]=\"gap\">\r\n @for (i of lineIndexes(); track i) {\r\n <app-skeleton-block [width]=\"widthForLine(i)\" [height]=\"lineHeight\" [animate]=\"animate\" />\r\n }\r\n</div>\r\n", styles: [":host{display:block;width:100%;min-width:0}.skeleton-text{display:flex;flex-direction:column;width:100%;min-width:0}\n"] }]
|
|
31
|
-
}], propDecorators: { lines: [{
|
|
32
|
-
type: Input,
|
|
33
|
-
args: [{ transform: numberAttribute }]
|
|
34
|
-
}], lastLineWidthPct: [{
|
|
35
|
-
type: Input,
|
|
36
|
-
args: [{ transform: numberAttribute }]
|
|
37
|
-
}], lineHeight: [{
|
|
38
|
-
type: Input
|
|
39
|
-
}], gap: [{
|
|
40
|
-
type: Input
|
|
41
|
-
}], animate: [{
|
|
42
|
-
type: Input,
|
|
43
|
-
args: [{ transform: booleanAttribute }]
|
|
44
|
-
}] } });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24tdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2xvYWRpbmcvc2tlbGV0b24tbG9hZGluZy9za2VsZXRvbi10ZXh0L3NrZWxldG9uLXRleHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9sb2FkaW5nL3NrZWxldG9uLWxvYWRpbmcvc2tlbGV0b24tdGV4dC9za2VsZXRvbi10ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDTCxnQkFBZ0IsRUFDaEIsZUFBZSxHQUNoQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7QUFFcEYsMENBQTBDO0FBUzFDLE1BQU0sT0FBTyxxQkFBcUI7SUFSbEM7UUFTeUMsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUNqRCw0Q0FBNEM7UUFDTCxxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDcEQsZUFBVSxHQUFHLFFBQVEsQ0FBQztRQUN0QixRQUFHLEdBQUcsU0FBUyxDQUFDO1FBRWUsWUFBTyxHQUFHLElBQUksQ0FBQztLQWN4RDtJQVpDLFdBQVc7UUFDVCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsWUFBWSxDQUFDLENBQVM7UUFDcEIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNoQixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQzdELE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQztRQUNqQixDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzsrR0FwQlUscUJBQXFCO21HQUFyQixxQkFBcUIseUZBQ1osZUFBZSw4REFFZixlQUFlLHlFQUlmLGdCQUFnQiw2QkN6QnRDLHdOQUtBLGdMRFFZLHNCQUFzQjs7NEZBS3JCLHFCQUFxQjtrQkFSakMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsc0JBQXNCLENBQUMsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU07OEJBR1IsS0FBSztzQkFBM0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBRUUsZ0JBQWdCO3NCQUF0RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFDNUIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBRWtDLE9BQU87c0JBQTlDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBib29sZWFuQXR0cmlidXRlLFxyXG4gIG51bWJlckF0dHJpYnV0ZSxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2tlbGV0b25CbG9ja0NvbXBvbmVudCB9IGZyb20gJy4uL3NrZWxldG9uLWJsb2NrL3NrZWxldG9uLWJsb2NrLmNvbXBvbmVudCc7XHJcblxyXG4vKiogVsOhcmlhcyBsaW5oYXMgZGUgdGV4dG8gcGxhY2Vob2xkZXIuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXNrZWxldG9uLXRleHQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1NrZWxldG9uQmxvY2tDb21wb25lbnRdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9za2VsZXRvbi10ZXh0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vc2tlbGV0b24tdGV4dC5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTa2VsZXRvblRleHRDb21wb25lbnQge1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIGxpbmVzID0gMztcclxuICAvKiogTGFyZ3VyYSBkYSDDumx0aW1hIGxpbmhhIGVtICUgKDHigJMxMDApLiAqL1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIGxhc3RMaW5lV2lkdGhQY3QgPSA2MjtcclxuICBASW5wdXQoKSBsaW5lSGVpZ2h0ID0gJzAuN3JlbSc7XHJcbiAgQElucHV0KCkgZ2FwID0gJzAuNDVyZW0nO1xyXG5cclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgYW5pbWF0ZSA9IHRydWU7XHJcblxyXG4gIGxpbmVJbmRleGVzKCk6IG51bWJlcltdIHtcclxuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiBNYXRoLm1heCgxLCB0aGlzLmxpbmVzKSB9LCAoXywgaSkgPT4gaSk7XHJcbiAgfVxyXG5cclxuICB3aWR0aEZvckxpbmUoaTogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IG4gPSBNYXRoLm1heCgxLCB0aGlzLmxpbmVzKTtcclxuICAgIGlmIChpID09PSBuIC0gMSkge1xyXG4gICAgICBjb25zdCBwID0gTWF0aC5taW4oMTAwLCBNYXRoLm1heCgyMCwgdGhpcy5sYXN0TGluZVdpZHRoUGN0KSk7XHJcbiAgICAgIHJldHVybiBgJHtwfSVgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcxMDAlJztcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInNrZWxldG9uLXRleHRcIiBbc3R5bGUuZ2FwXT1cImdhcFwiPlxyXG4gIEBmb3IgKGkgb2YgbGluZUluZGV4ZXMoKTsgdHJhY2sgaSkge1xyXG4gIDxhcHAtc2tlbGV0b24tYmxvY2sgW3dpZHRoXT1cIndpZHRoRm9yTGluZShpKVwiIFtoZWlnaHRdPVwibGluZUhlaWdodFwiIFthbmltYXRlXT1cImFuaW1hdGVcIiAvPlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/** Lado de ancoragem do drawer. */
|
|
2
|
-
export var DrawerSide;
|
|
3
|
-
(function (DrawerSide) {
|
|
4
|
-
DrawerSide["Left"] = "left";
|
|
5
|
-
DrawerSide["Right"] = "right";
|
|
6
|
-
DrawerSide["Bottom"] = "bottom";
|
|
7
|
-
})(DrawerSide || (DrawerSide = {}));
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLXNpZGUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21lbnVzL19tb2RlbHMvZHJhd2VyLXNpZGUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUNBQW1DO0FBQ25DLE1BQU0sQ0FBTixJQUFZLFVBSVg7QUFKRCxXQUFZLFVBQVU7SUFDcEIsMkJBQWEsQ0FBQTtJQUNiLDZCQUFlLENBQUE7SUFDZiwrQkFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBSlcsVUFBVSxLQUFWLFVBQVUsUUFJckIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogTGFkbyBkZSBhbmNvcmFnZW0gZG8gZHJhd2VyLiAqL1xyXG5leHBvcnQgZW51bSBEcmF3ZXJTaWRlIHtcclxuICBMZWZ0ID0gJ2xlZnQnLFxyXG4gIFJpZ2h0ID0gJ3JpZ2h0JyxcclxuICBCb3R0b20gPSAnYm90dG9tJyxcclxufVxyXG4iXX0=
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/** Larguras padronizadas do painel lateral (drawer). */
|
|
2
|
-
export var DrawerSize;
|
|
3
|
-
(function (DrawerSize) {
|
|
4
|
-
DrawerSize["Sm"] = "sm";
|
|
5
|
-
DrawerSize["Md"] = "md";
|
|
6
|
-
DrawerSize["Lg"] = "lg";
|
|
7
|
-
})(DrawerSize || (DrawerSize = {}));
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLXNpemUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21lbnVzL19tb2RlbHMvZHJhd2VyLXNpemUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0RBQXdEO0FBQ3hELE1BQU0sQ0FBTixJQUFZLFVBSVg7QUFKRCxXQUFZLFVBQVU7SUFDcEIsdUJBQVMsQ0FBQTtJQUNULHVCQUFTLENBQUE7SUFDVCx1QkFBUyxDQUFBO0FBQ1gsQ0FBQyxFQUpXLFVBQVUsS0FBVixVQUFVLFFBSXJCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIExhcmd1cmFzIHBhZHJvbml6YWRhcyBkbyBwYWluZWwgbGF0ZXJhbCAoZHJhd2VyKS4gKi9cclxuZXhwb3J0IGVudW0gRHJhd2VyU2l6ZSB7XHJcbiAgU20gPSAnc20nLFxyXG4gIE1kID0gJ21kJyxcclxuICBMZyA9ICdsZycsXHJcbn1cclxuIl19
|
|
@@ -1,12 +0,0 @@
|
|
|
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 var MenuDropdownPlacement;
|
|
6
|
-
(function (MenuDropdownPlacement) {
|
|
7
|
-
/** Abre por baixo do trigger (preferencial). */
|
|
8
|
-
MenuDropdownPlacement["Below"] = "below";
|
|
9
|
-
/** Abre por cima do trigger. */
|
|
10
|
-
MenuDropdownPlacement["Above"] = "above";
|
|
11
|
-
})(MenuDropdownPlacement || (MenuDropdownPlacement = {}));
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1kcm9wZG93bi1wbGFjZW1lbnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21lbnVzL19tb2RlbHMvbWVudS1kcm9wZG93bi1wbGFjZW1lbnQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsTUFBTSxDQUFOLElBQVkscUJBS1g7QUFMRCxXQUFZLHFCQUFxQjtJQUMvQixnREFBZ0Q7SUFDaEQsd0NBQWUsQ0FBQTtJQUNmLGdDQUFnQztJQUNoQyx3Q0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFMVyxxQkFBcUIsS0FBckIscUJBQXFCLFFBS2hDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFBvc2ljaW9uYW1lbnRvIHZlcnRpY2FsIHByZWZlcmlkbyBkbyBkcm9wZG93biBlbSByZWxhw6fDo28gYW8gdHJpZ2dlci5cclxuICogTyBDREsgZmF6IGZsaXAgYXV0b23DoXRpY28gc2UgbsOjbyBjb3ViZXIgbm8gdmlld3BvcnQgcXVhbmRvIGNvbmZpZ3VyYWRvIGNvbSBwb3Npw6fDtWVzIG3Dumx0aXBsYXMuXHJcbiAqL1xyXG5leHBvcnQgZW51bSBNZW51RHJvcGRvd25QbGFjZW1lbnQge1xyXG4gIC8qKiBBYnJlIHBvciBiYWl4byBkbyB0cmlnZ2VyIChwcmVmZXJlbmNpYWwpLiAqL1xyXG4gIEJlbG93ID0gJ2JlbG93JyxcclxuICAvKiogQWJyZSBwb3IgY2ltYSBkbyB0cmlnZ2VyLiAqL1xyXG4gIEFib3ZlID0gJ2Fib3ZlJyxcclxufVxyXG4iXX0=
|
|
@@ -1,6 +0,0 @@
|
|
|
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 {};
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tZW51cy9fbW9kZWxzL21lbnUtaXRlbS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0ciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEl0ZW5zIGRlIG1lbnUgcGFydGlsaGFkb3MgcG9yIGRyb3Bkb3duLCBjb250ZXh0IG1lbnUsIGFjdGlvbi1tZW51IGUgY2FtcG9zIChgbW9zdHJhck1lbnVDb250ZXh0b2ApLlxuICogRGlzY3JpbWluYcOnw6NvIHBvciBga2luZGAgcGFyYSByZW5kZXJpemHDp8OjbyBlIG5hdmVnYcOnw6NvIHBvciB0ZWNsYWRvLlxuICovXG5cbmV4cG9ydCB0eXBlIE1lbnVJdGVtS2luZCA9ICdpdGVtJyB8ICdkaXZpZGVyJyB8ICdncm91cCcgfCAnc3VibWVudSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVudUl0ZW1BY3Rpb248VCA9IHN0cmluZz4ge1xuICBraW5kOiAnaXRlbSc7XG4gIC8qKiBJZGVudGlmaWNhZG9yIGVzdMOhdmVsIHBhcmEgbyBldmVudG8gZGUgc2VsZWPDp8Ojby4gKi9cbiAgaWQ6IFQ7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKiogQ2xhc3NlcyBkZSDDrWNvbmUgKGV4LjogRm9udCBBd2Vzb21lKSwgb3BjaW9uYWwuICovXG4gIGljb24/OiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqIEJsb3F1ZWlhIGludGVyYcOnw6NvIGUgbW9zdHJhIGluZGljYWRvciBkZSBjYXJyZWdhbWVudG8gKG8gcGFpIGF0dWFsaXphIG8gbW9kZWxvKS4gKi9cbiAgbG9hZGluZz86IGJvb2xlYW47XG4gIC8qKiBBY8Onw6NvIGRlc3RydXRpdmEgKGV4LjogZWxpbWluYXIpIOKAlCByZWFsY2Ugc2Vtw6JudGljbyBzZW0gcXVlYnJhciBvIHRlbWEuICovXG4gIGRhbmdlcj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVudUl0ZW1EaXZpZGVyIHtcbiAga2luZDogJ2RpdmlkZXInO1xufVxuXG4vKipcbiAqIFN1Ym1lbnUgYW5pbmhhZG8gKHF1YWxxdWVyIHByb2Z1bmRpZGFkZSBlbSBgaXRlbXNgKS5cbiAqIEEgbmF2ZWdhw6fDo28gZSBvIHBvc2ljaW9uYW1lbnRvIHPDo28gdHJhdGFkb3MgZW0gYG1lbnUtbGlzdGAgKGxpc3RhIHJlY3Vyc2l2YSArIG92ZXJsYXkgQ0RLKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZW51SXRlbVN1Ym1lbnU8VCA9IHN0cmluZz4ge1xuICBraW5kOiAnc3VibWVudSc7XG4gIC8qKiBJZGVudGlmaWNhZG9yIGVzdMOhdmVsIChhY2Vzc2liaWxpZGFkZSwgcmFzdHJlaW8pLiAqL1xuICBpZDogVDtcbiAgbGFiZWw6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGljb24/OiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgaXRlbXM6IHJlYWRvbmx5IE1lbnVOb2RlSXRlbTxUPltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lbnVJdGVtR3JvdXA8VCA9IHN0cmluZz4ge1xuICBraW5kOiAnZ3JvdXAnO1xuICAvKiogUsOzdHVsbyBkYSBzZcOnw6NvIChvcGNpb25hbCkuICovXG4gIGxhYmVsPzogc3RyaW5nO1xuICAvKiogSXRlbnMgZSBzdWJtZW51cyBhbmluaGFkb3MgZGVudHJvIGRvIGdydXBvLiAqL1xuICBpdGVtczogcmVhZG9ubHkgTWVudU5vZGVJdGVtPFQ+W107XG59XG5cbi8qKiBGb2xoYTogYcOnw6NvIG91IGRpdmlzb3IuICovXG5leHBvcnQgdHlwZSBNZW51TGVhZkl0ZW08VCA9IHN0cmluZz4gPSBNZW51SXRlbUFjdGlvbjxUPiB8IE1lbnVJdGVtRGl2aWRlcjtcblxuLyoqIE7DsyBkZSBwcmltZWlybyBuw612ZWwgb3UgZGVudHJvIGRlIGdydXBvcyAoaW5jbHVpIHN1Ym1lbnVzKS4gKi9cbmV4cG9ydCB0eXBlIE1lbnVOb2RlSXRlbTxUID0gc3RyaW5nPiA9XG4gIHwgTWVudUxlYWZJdGVtPFQ+XG4gIHwgTWVudUl0ZW1Hcm91cDxUPlxuICB8IE1lbnVJdGVtU3VibWVudTxUPjtcbiJdfQ==
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { MenuDropdownPlacement } from '../_models/menu-dropdown-placement.model';
|
|
2
|
-
/** Espaço entre trigger e painel (listas alinhadas ao `start`); mais apertado que `anchoredOverlayPositions` (8px). */
|
|
3
|
-
const GAP = 4;
|
|
4
|
-
/** Posições com flip vertical (preferência em baixo ou em cima). */
|
|
5
|
-
export function menuConnectedPositions(placement) {
|
|
6
|
-
if (placement === MenuDropdownPlacement.Above) {
|
|
7
|
-
return [
|
|
8
|
-
{
|
|
9
|
-
originX: 'start',
|
|
10
|
-
originY: 'top',
|
|
11
|
-
overlayX: 'start',
|
|
12
|
-
overlayY: 'bottom',
|
|
13
|
-
offsetY: -GAP,
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
originX: 'start',
|
|
17
|
-
originY: 'bottom',
|
|
18
|
-
overlayX: 'start',
|
|
19
|
-
overlayY: 'top',
|
|
20
|
-
offsetY: GAP,
|
|
21
|
-
},
|
|
22
|
-
];
|
|
23
|
-
}
|
|
24
|
-
return [
|
|
25
|
-
{
|
|
26
|
-
originX: 'start',
|
|
27
|
-
originY: 'bottom',
|
|
28
|
-
overlayX: 'start',
|
|
29
|
-
overlayY: 'top',
|
|
30
|
-
offsetY: GAP,
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
originX: 'start',
|
|
34
|
-
originY: 'top',
|
|
35
|
-
overlayX: 'start',
|
|
36
|
-
overlayY: 'bottom',
|
|
37
|
-
offsetY: -GAP,
|
|
38
|
-
},
|
|
39
|
-
];
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1jb25uZWN0ZWQtcG9zaXRpb25zLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21lbnVzL191dGlscy9tZW51LWNvbm5lY3RlZC1wb3NpdGlvbnMudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUVqRix1SEFBdUg7QUFDdkgsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0FBRWQsb0VBQW9FO0FBQ3BFLE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsU0FBZ0M7SUFFaEMsSUFBSSxTQUFTLEtBQUsscUJBQXFCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDOUMsT0FBTztZQUNMO2dCQUNFLE9BQU8sRUFBRSxPQUFPO2dCQUNoQixPQUFPLEVBQUUsS0FBSztnQkFDZCxRQUFRLEVBQUUsT0FBTztnQkFDakIsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLE9BQU8sRUFBRSxDQUFDLEdBQUc7YUFDZDtZQUNEO2dCQUNFLE9BQU8sRUFBRSxPQUFPO2dCQUNoQixPQUFPLEVBQUUsUUFBUTtnQkFDakIsUUFBUSxFQUFFLE9BQU87Z0JBQ2pCLFFBQVEsRUFBRSxLQUFLO2dCQUNmLE9BQU8sRUFBRSxHQUFHO2FBQ2I7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU87UUFDTDtZQUNFLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLE9BQU8sRUFBRSxRQUFRO1lBQ2pCLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLFFBQVEsRUFBRSxLQUFLO1lBQ2YsT0FBTyxFQUFFLEdBQUc7U0FDYjtRQUNEO1lBQ0UsT0FBTyxFQUFFLE9BQU87WUFDaEIsT0FBTyxFQUFFLEtBQUs7WUFDZCxRQUFRLEVBQUUsT0FBTztZQUNqQixRQUFRLEVBQUUsUUFBUTtZQUNsQixPQUFPLEVBQUUsQ0FBQyxHQUFHO1NBQ2Q7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29ubmVjdGVkUG9zaXRpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IE1lbnVEcm9wZG93blBsYWNlbWVudCB9IGZyb20gJy4uL19tb2RlbHMvbWVudS1kcm9wZG93bi1wbGFjZW1lbnQubW9kZWwnO1xyXG5cclxuLyoqIEVzcGHDp28gZW50cmUgdHJpZ2dlciBlIHBhaW5lbCAobGlzdGFzIGFsaW5oYWRhcyBhbyBgc3RhcnRgKTsgbWFpcyBhcGVydGFkbyBxdWUgYGFuY2hvcmVkT3ZlcmxheVBvc2l0aW9uc2AgKDhweCkuICovXHJcbmNvbnN0IEdBUCA9IDQ7XHJcblxyXG4vKiogUG9zacOnw7VlcyBjb20gZmxpcCB2ZXJ0aWNhbCAocHJlZmVyw6puY2lhIGVtIGJhaXhvIG91IGVtIGNpbWEpLiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gbWVudUNvbm5lY3RlZFBvc2l0aW9ucyhcclxuICBwbGFjZW1lbnQ6IE1lbnVEcm9wZG93blBsYWNlbWVudCxcclxuKTogQ29ubmVjdGVkUG9zaXRpb25bXSB7XHJcbiAgaWYgKHBsYWNlbWVudCA9PT0gTWVudURyb3Bkb3duUGxhY2VtZW50LkFib3ZlKSB7XHJcbiAgICByZXR1cm4gW1xyXG4gICAgICB7XHJcbiAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXHJcbiAgICAgICAgb2Zmc2V0WTogLUdBUCxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIG9yaWdpblg6ICdzdGFydCcsXHJcbiAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXHJcbiAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgIG9mZnNldFk6IEdBUCxcclxuICAgICAgfSxcclxuICAgIF07XHJcbiAgfVxyXG4gIHJldHVybiBbXHJcbiAgICB7XHJcbiAgICAgIG9yaWdpblg6ICdzdGFydCcsXHJcbiAgICAgIG9yaWdpblk6ICdib3R0b20nLFxyXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICBvZmZzZXRZOiBHQVAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcclxuICAgICAgb2Zmc2V0WTogLUdBUCxcclxuICAgIH0sXHJcbiAgXTtcclxufVxyXG4iXX0=
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
export function buildMenuRows(nodes) {
|
|
2
|
-
const rows = [];
|
|
3
|
-
let focusCounter = 0;
|
|
4
|
-
const addLeaf = (leaf) => {
|
|
5
|
-
if (leaf.kind === 'divider') {
|
|
6
|
-
rows.push({ kind: 'divider' });
|
|
7
|
-
return;
|
|
8
|
-
}
|
|
9
|
-
const focusIndex = leaf.disabled ? null : focusCounter++;
|
|
10
|
-
rows.push({ kind: 'action', item: leaf, focusIndex });
|
|
11
|
-
};
|
|
12
|
-
const addNode = (n) => {
|
|
13
|
-
if (n.kind === 'divider') {
|
|
14
|
-
rows.push({ kind: 'divider' });
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
if (n.kind === 'submenu') {
|
|
18
|
-
const focusIndex = n.disabled ? null : focusCounter++;
|
|
19
|
-
rows.push({ kind: 'submenu', item: n, focusIndex });
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
if (n.kind === 'group') {
|
|
23
|
-
rows.push({ kind: 'group', label: n.label });
|
|
24
|
-
for (const child of n.items) {
|
|
25
|
-
addNode(child);
|
|
26
|
-
}
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
addLeaf(n);
|
|
30
|
-
};
|
|
31
|
-
for (const n of nodes) {
|
|
32
|
-
addNode(n);
|
|
33
|
-
}
|
|
34
|
-
return rows;
|
|
35
|
-
}
|
|
36
|
-
export function focusableActionCount(rows) {
|
|
37
|
-
return rows.filter((r) => (r.kind === 'action' || r.kind === 'submenu') && r.focusIndex !== null).length;
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1yb3dzLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21lbnVzL191dGlscy9tZW51LXJvd3MudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQ0EsTUFBTSxVQUFVLGFBQWEsQ0FDM0IsS0FBaUM7SUFFakMsTUFBTSxJQUFJLEdBQWlCLEVBQUUsQ0FBQztJQUM5QixJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7SUFFckIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxJQUFxQixFQUFRLEVBQUU7UUFDOUMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztZQUMvQixPQUFPO1FBQ1QsQ0FBQztRQUNELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekQsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUMsQ0FBQztJQUVGLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBa0IsRUFBUSxFQUFFO1FBQzNDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDL0IsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDekIsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0RCxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7WUFDcEQsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzdDLEtBQUssTUFBTSxLQUFLLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUM1QixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakIsQ0FBQztZQUNELE9BQU87UUFDVCxDQUFDO1FBQ0QsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2IsQ0FBQyxDQUFDO0lBRUYsS0FBSyxNQUFNLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN0QixPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDYixDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFJLElBQTJCO0lBQ2pFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FDaEIsQ0FBQyxDQUFDLEVBQTZDLEVBQUUsQ0FDL0MsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUN6RSxDQUFDLE1BQU0sQ0FBQztBQUNYLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIE1lbnVJdGVtQWN0aW9uLFxuICBNZW51SXRlbVN1Ym1lbnUsXG4gIE1lbnVMZWFmSXRlbSxcbiAgTWVudU5vZGVJdGVtLFxufSBmcm9tICcuLi9fbW9kZWxzL21lbnUtaXRlbS5tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVudVJvd0FjdGlvbjxUID0gc3RyaW5nPiB7XG4gIGtpbmQ6ICdhY3Rpb24nO1xuICBpdGVtOiBNZW51SXRlbUFjdGlvbjxUPjtcbiAgLyoqIMONbmRpY2UgbmEgbmF2ZWdhw6fDo28gcG9yIHRlY2xhZG87IGBudWxsYCBzZSBkZXNhYmlsaXRhZG8uICovXG4gIGZvY3VzSW5kZXg6IG51bWJlciB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVudVJvd0RpdmlkZXIge1xuICBraW5kOiAnZGl2aWRlcic7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVudVJvd0dyb3VwIHtcbiAga2luZDogJ2dyb3VwJztcbiAgbGFiZWw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVudVJvd1N1Ym1lbnU8VCA9IHN0cmluZz4ge1xuICBraW5kOiAnc3VibWVudSc7XG4gIGl0ZW06IE1lbnVJdGVtU3VibWVudTxUPjtcbiAgZm9jdXNJbmRleDogbnVtYmVyIHwgbnVsbDtcbn1cblxuZXhwb3J0IHR5cGUgTWVudVJvdzxUID0gc3RyaW5nPiA9XG4gIHwgTWVudVJvd0FjdGlvbjxUPlxuICB8IE1lbnVSb3dEaXZpZGVyXG4gIHwgTWVudVJvd0dyb3VwXG4gIHwgTWVudVJvd1N1Ym1lbnU8VD47XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZE1lbnVSb3dzPFQgPSBzdHJpbmc+KFxuICBub2RlczogcmVhZG9ubHkgTWVudU5vZGVJdGVtPFQ+W10sXG4pOiBNZW51Um93PFQ+W10ge1xuICBjb25zdCByb3dzOiBNZW51Um93PFQ+W10gPSBbXTtcbiAgbGV0IGZvY3VzQ291bnRlciA9IDA7XG5cbiAgY29uc3QgYWRkTGVhZiA9IChsZWFmOiBNZW51TGVhZkl0ZW08VD4pOiB2b2lkID0+IHtcbiAgICBpZiAobGVhZi5raW5kID09PSAnZGl2aWRlcicpIHtcbiAgICAgIHJvd3MucHVzaCh7IGtpbmQ6ICdkaXZpZGVyJyB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZm9jdXNJbmRleCA9IGxlYWYuZGlzYWJsZWQgPyBudWxsIDogZm9jdXNDb3VudGVyKys7XG4gICAgcm93cy5wdXNoKHsga2luZDogJ2FjdGlvbicsIGl0ZW06IGxlYWYsIGZvY3VzSW5kZXggfSk7XG4gIH07XG5cbiAgY29uc3QgYWRkTm9kZSA9IChuOiBNZW51Tm9kZUl0ZW08VD4pOiB2b2lkID0+IHtcbiAgICBpZiAobi5raW5kID09PSAnZGl2aWRlcicpIHtcbiAgICAgIHJvd3MucHVzaCh7IGtpbmQ6ICdkaXZpZGVyJyB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKG4ua2luZCA9PT0gJ3N1Ym1lbnUnKSB7XG4gICAgICBjb25zdCBmb2N1c0luZGV4ID0gbi5kaXNhYmxlZCA/IG51bGwgOiBmb2N1c0NvdW50ZXIrKztcbiAgICAgIHJvd3MucHVzaCh7IGtpbmQ6ICdzdWJtZW51JywgaXRlbTogbiwgZm9jdXNJbmRleCB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKG4ua2luZCA9PT0gJ2dyb3VwJykge1xuICAgICAgcm93cy5wdXNoKHsga2luZDogJ2dyb3VwJywgbGFiZWw6IG4ubGFiZWwgfSk7XG4gICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIG4uaXRlbXMpIHtcbiAgICAgICAgYWRkTm9kZShjaGlsZCk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGFkZExlYWYobik7XG4gIH07XG5cbiAgZm9yIChjb25zdCBuIG9mIG5vZGVzKSB7XG4gICAgYWRkTm9kZShuKTtcbiAgfVxuICByZXR1cm4gcm93cztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvY3VzYWJsZUFjdGlvbkNvdW50PFQ+KHJvd3M6IHJlYWRvbmx5IE1lbnVSb3c8VD5bXSk6IG51bWJlciB7XG4gIHJldHVybiByb3dzLmZpbHRlcihcbiAgICAocik6IHIgaXMgTWVudVJvd0FjdGlvbjxUPiB8IE1lbnVSb3dTdWJtZW51PFQ+ID0+XG4gICAgICAoci5raW5kID09PSAnYWN0aW9uJyB8fCByLmtpbmQgPT09ICdzdWJtZW51JykgJiYgci5mb2N1c0luZGV4ICE9PSBudWxsLFxuICApLmxlbmd0aDtcbn1cbiJdfQ==
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
const GAP = 4;
|
|
2
|
-
/**
|
|
3
|
-
* Submenu ao lado do item (preferência à direita); o CDK `push` inverte se não couber.
|
|
4
|
-
*/
|
|
5
|
-
export function submenuConnectedPositions() {
|
|
6
|
-
return [
|
|
7
|
-
{
|
|
8
|
-
originX: 'end',
|
|
9
|
-
originY: 'top',
|
|
10
|
-
overlayX: 'start',
|
|
11
|
-
overlayY: 'top',
|
|
12
|
-
offsetX: GAP,
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
originX: 'start',
|
|
16
|
-
originY: 'top',
|
|
17
|
-
overlayX: 'end',
|
|
18
|
-
overlayY: 'top',
|
|
19
|
-
offsetX: -GAP,
|
|
20
|
-
},
|
|
21
|
-
];
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWVudS1jb25uZWN0ZWQtcG9zaXRpb25zLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21lbnVzL191dGlscy9zdWJtZW51LWNvbm5lY3RlZC1wb3NpdGlvbnMudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFFZDs7R0FFRztBQUNILE1BQU0sVUFBVSx5QkFBeUI7SUFDdkMsT0FBTztRQUNMO1lBQ0UsT0FBTyxFQUFFLEtBQUs7WUFDZCxPQUFPLEVBQUUsS0FBSztZQUNkLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLFFBQVEsRUFBRSxLQUFLO1lBQ2YsT0FBTyxFQUFFLEdBQUc7U0FDYjtRQUNEO1lBQ0UsT0FBTyxFQUFFLE9BQU87WUFDaEIsT0FBTyxFQUFFLEtBQUs7WUFDZCxRQUFRLEVBQUUsS0FBSztZQUNmLFFBQVEsRUFBRSxLQUFLO1lBQ2YsT0FBTyxFQUFFLENBQUMsR0FBRztTQUNkO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbm5lY3RlZFBvc2l0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5cclxuY29uc3QgR0FQID0gNDtcclxuXHJcbi8qKlxyXG4gKiBTdWJtZW51IGFvIGxhZG8gZG8gaXRlbSAocHJlZmVyw6puY2lhIMOgIGRpcmVpdGEpOyBvIENESyBgcHVzaGAgaW52ZXJ0ZSBzZSBuw6NvIGNvdWJlci5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzdWJtZW51Q29ubmVjdGVkUG9zaXRpb25zKCk6IENvbm5lY3RlZFBvc2l0aW9uW10ge1xyXG4gIHJldHVybiBbXHJcbiAgICB7XHJcbiAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgb2Zmc2V0WDogR0FQLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgIG92ZXJsYXlYOiAnZW5kJyxcclxuICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICBvZmZzZXRYOiAtR0FQLFxyXG4gICAgfSxcclxuICBdO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, booleanAttribute, } from '@angular/core';
|
|
2
|
-
import { DropdownMenuComponent } from '../dropdown-menu/dropdown-menu.component';
|
|
3
|
-
import { MenuDropdownPlacement } from '../_models/menu-dropdown-placement.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 class ActionMenuComponent {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.items = [];
|
|
12
|
-
this.placement = MenuDropdownPlacement.Below;
|
|
13
|
-
this.minWidthPx = 200;
|
|
14
|
-
this.menuId = '';
|
|
15
|
-
/** Texto acessível do botão de gatilho. */
|
|
16
|
-
this.triggerLabel = 'Mais ações';
|
|
17
|
-
/** O painel não segue a largura do botão (ícone estreito). */
|
|
18
|
-
this.matchTriggerWidth = false;
|
|
19
|
-
this.itemSelect = new EventEmitter();
|
|
20
|
-
this.openChange = new EventEmitter();
|
|
21
|
-
this.MenuDropdownPlacement = MenuDropdownPlacement;
|
|
22
|
-
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.12", type: ActionMenuComponent, isStandalone: true, selector: "app-action-menu", inputs: { items: "items", placement: "placement", minWidthPx: "minWidthPx", menuId: "menuId", triggerLabel: "triggerLabel", matchTriggerWidth: ["matchTriggerWidth", "matchTriggerWidth", booleanAttribute] }, outputs: { itemSelect: "itemSelect", openChange: "openChange" }, ngImport: i0, template: "<app-dropdown-menu\r\n class=\"action-menu\"\r\n [items]=\"items\"\r\n [placement]=\"placement\"\r\n [minWidthPx]=\"minWidthPx\"\r\n [matchTriggerWidth]=\"matchTriggerWidth\"\r\n [menuId]=\"menuId\"\r\n (itemSelect)=\"itemSelect.emit($event)\"\r\n (openChange)=\"openChange.emit($event)\"\r\n>\r\n <button type=\"button\" class=\"action-menu__trigger\" [attr.aria-label]=\"triggerLabel\">\r\n <i class=\"fa-solid fa-ellipsis\" aria-hidden=\"true\"></i>\r\n </button>\r\n</app-dropdown-menu>\r\n", styles: [":host{display:inline-flex;max-width:100%;vertical-align:middle}.action-menu__trigger{display:inline-flex;align-items:center;justify-content:center;width:2rem;min-height:2rem;padding:0;margin:0;border:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .14));border-radius:8px;background:var(--app-color-surface, #fff);color:var(--app-color-text-secondary, #5a7fa3);cursor:pointer;font-size:1rem;line-height:1;transition:background .15s ease,border-color .15s ease,color .15s ease}.action-menu__trigger:hover:not(:disabled){background:var(--app-color-hover-bg, rgba(43, 127, 217, .08));border-color:var(--app-color-border-strong, #b6cce5);color:var(--app-color-text-primary, #1a2f45)}.action-menu__trigger:focus-visible{outline:2px solid var(--app-color-focus-ring-strong, rgba(43, 127, 217, .45));outline-offset:1px}\n"], dependencies: [{ kind: "component", type: DropdownMenuComponent, selector: "app-dropdown-menu", inputs: ["items", "placement", "minWidthPx", "matchTriggerWidth", "menuId"], outputs: ["itemSelect", "openChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
25
|
-
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionMenuComponent, decorators: [{
|
|
27
|
-
type: Component,
|
|
28
|
-
args: [{ selector: 'app-action-menu', standalone: true, imports: [DropdownMenuComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<app-dropdown-menu\r\n class=\"action-menu\"\r\n [items]=\"items\"\r\n [placement]=\"placement\"\r\n [minWidthPx]=\"minWidthPx\"\r\n [matchTriggerWidth]=\"matchTriggerWidth\"\r\n [menuId]=\"menuId\"\r\n (itemSelect)=\"itemSelect.emit($event)\"\r\n (openChange)=\"openChange.emit($event)\"\r\n>\r\n <button type=\"button\" class=\"action-menu__trigger\" [attr.aria-label]=\"triggerLabel\">\r\n <i class=\"fa-solid fa-ellipsis\" aria-hidden=\"true\"></i>\r\n </button>\r\n</app-dropdown-menu>\r\n", styles: [":host{display:inline-flex;max-width:100%;vertical-align:middle}.action-menu__trigger{display:inline-flex;align-items:center;justify-content:center;width:2rem;min-height:2rem;padding:0;margin:0;border:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .14));border-radius:8px;background:var(--app-color-surface, #fff);color:var(--app-color-text-secondary, #5a7fa3);cursor:pointer;font-size:1rem;line-height:1;transition:background .15s ease,border-color .15s ease,color .15s ease}.action-menu__trigger:hover:not(:disabled){background:var(--app-color-hover-bg, rgba(43, 127, 217, .08));border-color:var(--app-color-border-strong, #b6cce5);color:var(--app-color-text-primary, #1a2f45)}.action-menu__trigger:focus-visible{outline:2px solid var(--app-color-focus-ring-strong, rgba(43, 127, 217, .45));outline-offset:1px}\n"] }]
|
|
29
|
-
}], propDecorators: { items: [{
|
|
30
|
-
type: Input,
|
|
31
|
-
args: [{ required: true }]
|
|
32
|
-
}], placement: [{
|
|
33
|
-
type: Input
|
|
34
|
-
}], minWidthPx: [{
|
|
35
|
-
type: Input
|
|
36
|
-
}], menuId: [{
|
|
37
|
-
type: Input
|
|
38
|
-
}], triggerLabel: [{
|
|
39
|
-
type: Input
|
|
40
|
-
}], matchTriggerWidth: [{
|
|
41
|
-
type: Input,
|
|
42
|
-
args: [{ transform: booleanAttribute }]
|
|
43
|
-
}], itemSelect: [{
|
|
44
|
-
type: Output
|
|
45
|
-
}], openChange: [{
|
|
46
|
-
type: Output
|
|
47
|
-
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tZW51cy9hY3Rpb24tbWVudS9hY3Rpb24tbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21lbnVzL2FjdGlvbi1tZW51L2FjdGlvbi1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7QUFHakY7OztHQUdHO0FBU0gsTUFBTSxPQUFPLG1CQUFtQjtJQVJoQztRQVM2QixVQUFLLEdBQStCLEVBQUUsQ0FBQztRQUV6RCxjQUFTLEdBQTBCLHFCQUFxQixDQUFDLEtBQUssQ0FBQztRQUUvRCxlQUFVLEdBQUcsR0FBRyxDQUFDO1FBRWpCLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFFckIsMkNBQTJDO1FBQ2xDLGlCQUFZLEdBQUcsWUFBWSxDQUFDO1FBRXJDLDhEQUE4RDtRQUN0QixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFFL0MsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFLLENBQUM7UUFDbkMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFbkQsMEJBQXFCLEdBQUcscUJBQXFCLENBQUM7S0FDeEQ7K0dBbkJZLG1CQUFtQjttR0FBbkIsbUJBQW1CLDZPQWFWLGdCQUFnQiw4RkNyQ3RDLDZmQWNBLGszQkRLWSxxQkFBcUI7OzRGQUtwQixtQkFBbUI7a0JBUi9CLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLENBQUMscUJBQXFCLENBQUMsbUJBR2YsdUJBQXVCLENBQUMsTUFBTTs4QkFHcEIsS0FBSztzQkFBL0IsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBRWhCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0csWUFBWTtzQkFBcEIsS0FBSztnQkFHa0MsaUJBQWlCO3NCQUF4RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUVuQixVQUFVO3NCQUE1QixNQUFNO2dCQUNZLFVBQVU7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHJvcGRvd25NZW51Q29tcG9uZW50IH0gZnJvbSAnLi4vZHJvcGRvd24tbWVudS9kcm9wZG93bi1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZW51RHJvcGRvd25QbGFjZW1lbnQgfSBmcm9tICcuLi9fbW9kZWxzL21lbnUtZHJvcGRvd24tcGxhY2VtZW50Lm1vZGVsJztcbmltcG9ydCB0eXBlIHsgTWVudU5vZGVJdGVtIH0gZnJvbSAnLi4vX21vZGVscy9tZW51LWl0ZW0ubW9kZWwnO1xuXG4vKipcbiAqIE1lbnUgZGUgYcOnw7VlcyBwYWRyw6NvOiBtZXNtbyBjb21wb3J0YW1lbnRvIGRvIGBkcm9wZG93bi1tZW51YCBjb20gdHJpZ2dlciDCq+KApsK7IChvdmVyZmxvdykuXG4gKiBNYW50w6ltIGEgQVBJIGRlIGl0ZW5zIGV4aXN0ZW50ZSAoYE1lbnVOb2RlSXRlbWApLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYWN0aW9uLW1lbnUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbRHJvcGRvd25NZW51Q29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2FjdGlvbi1tZW51LmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvbk1lbnVDb21wb25lbnQ8VCA9IHN0cmluZz4ge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBpdGVtczogcmVhZG9ubHkgTWVudU5vZGVJdGVtPFQ+W10gPSBbXTtcblxuICBASW5wdXQoKSBwbGFjZW1lbnQ6IE1lbnVEcm9wZG93blBsYWNlbWVudCA9IE1lbnVEcm9wZG93blBsYWNlbWVudC5CZWxvdztcblxuICBASW5wdXQoKSBtaW5XaWR0aFB4ID0gMjAwO1xuXG4gIEBJbnB1dCgpIG1lbnVJZCA9ICcnO1xuXG4gIC8qKiBUZXh0byBhY2Vzc8OtdmVsIGRvIGJvdMOjbyBkZSBnYXRpbGhvLiAqL1xuICBASW5wdXQoKSB0cmlnZ2VyTGFiZWwgPSAnTWFpcyBhw6fDtWVzJztcblxuICAvKiogTyBwYWluZWwgbsOjbyBzZWd1ZSBhIGxhcmd1cmEgZG8gYm90w6NvICjDrWNvbmUgZXN0cmVpdG8pLiAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgbWF0Y2hUcmlnZ2VyV2lkdGggPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgcmVhZG9ubHkgaXRlbVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcbiAgQE91dHB1dCgpIHJlYWRvbmx5IG9wZW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcmVhZG9ubHkgTWVudURyb3Bkb3duUGxhY2VtZW50ID0gTWVudURyb3Bkb3duUGxhY2VtZW50O1xufVxuIiwiPGFwcC1kcm9wZG93bi1tZW51XHJcbiAgY2xhc3M9XCJhY3Rpb24tbWVudVwiXHJcbiAgW2l0ZW1zXT1cIml0ZW1zXCJcclxuICBbcGxhY2VtZW50XT1cInBsYWNlbWVudFwiXHJcbiAgW21pbldpZHRoUHhdPVwibWluV2lkdGhQeFwiXHJcbiAgW21hdGNoVHJpZ2dlcldpZHRoXT1cIm1hdGNoVHJpZ2dlcldpZHRoXCJcclxuICBbbWVudUlkXT1cIm1lbnVJZFwiXHJcbiAgKGl0ZW1TZWxlY3QpPVwiaXRlbVNlbGVjdC5lbWl0KCRldmVudClcIlxyXG4gIChvcGVuQ2hhbmdlKT1cIm9wZW5DaGFuZ2UuZW1pdCgkZXZlbnQpXCJcclxuPlxyXG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYWN0aW9uLW1lbnVfX3RyaWdnZXJcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInRyaWdnZXJMYWJlbFwiPlxyXG4gICAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1lbGxpcHNpc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICA8L2J1dHRvbj5cclxuPC9hcHAtZHJvcGRvd24tbWVudT5cclxuIl19
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import { NgClass } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewChild, ViewContainerRef, booleanAttribute, computed, inject, } from '@angular/core';
|
|
3
|
-
import { Overlay } from '@angular/cdk/overlay';
|
|
4
|
-
import { TemplatePortal } from '@angular/cdk/portal';
|
|
5
|
-
import { fromEvent } from 'rxjs';
|
|
6
|
-
import { filter } from 'rxjs/operators';
|
|
7
|
-
import { AppThemeService } from '../../theme';
|
|
8
|
-
import { MenuListComponent } from '../menu-list/menu-list.component';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
const PANEL_MIN_W = 200;
|
|
11
|
-
const VIEWPORT_PAD = 8;
|
|
12
|
-
export class ContextMenuComponent {
|
|
13
|
-
constructor() {
|
|
14
|
-
this.overlay = inject(Overlay);
|
|
15
|
-
this.vcr = inject(ViewContainerRef);
|
|
16
|
-
this.appTheme = inject(AppThemeService);
|
|
17
|
-
this.cdr = inject(ChangeDetectorRef);
|
|
18
|
-
this.items = [];
|
|
19
|
-
this.disabled = false;
|
|
20
|
-
this.menuId = '';
|
|
21
|
-
this.itemSelect = new EventEmitter();
|
|
22
|
-
this.overlayRef = null;
|
|
23
|
-
this.escSub = null;
|
|
24
|
-
this.generatedId = `app-ctx-${Math.random().toString(36).slice(2, 9)}`;
|
|
25
|
-
this.panelThemeNgClass = computed(() => {
|
|
26
|
-
const themeClass = this.appTheme.themeClass();
|
|
27
|
-
return {
|
|
28
|
-
'app-library-theme': true,
|
|
29
|
-
[themeClass]: true,
|
|
30
|
-
};
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
get resolvedMenuId() {
|
|
34
|
-
return this.menuId.trim() || this.generatedId;
|
|
35
|
-
}
|
|
36
|
-
ngOnDestroy() {
|
|
37
|
-
this.disposeOverlay();
|
|
38
|
-
}
|
|
39
|
-
onContextMenu(ev) {
|
|
40
|
-
if (this.disabled) {
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
ev.preventDefault();
|
|
44
|
-
ev.stopPropagation();
|
|
45
|
-
this.openAt(ev.clientX, ev.clientY);
|
|
46
|
-
}
|
|
47
|
-
openAt(clientX, clientY) {
|
|
48
|
-
this.disposeOverlay();
|
|
49
|
-
const left = Math.min(clientX, window.innerWidth - PANEL_MIN_W - VIEWPORT_PAD);
|
|
50
|
-
const top = Math.min(clientY, window.innerHeight - VIEWPORT_PAD);
|
|
51
|
-
const themeClass = this.appTheme.themeClass();
|
|
52
|
-
this.overlayRef = this.overlay.create({
|
|
53
|
-
hasBackdrop: true,
|
|
54
|
-
backdropClass: 'cdk-overlay-transparent-backdrop',
|
|
55
|
-
panelClass: ['app-library-theme', themeClass],
|
|
56
|
-
scrollStrategy: this.overlay.scrollStrategies.close(),
|
|
57
|
-
positionStrategy: this.overlay
|
|
58
|
-
.position()
|
|
59
|
-
.global()
|
|
60
|
-
.left(`${Math.max(VIEWPORT_PAD, left)}px`)
|
|
61
|
-
.top(`${Math.max(VIEWPORT_PAD, top)}px`),
|
|
62
|
-
});
|
|
63
|
-
const portal = new TemplatePortal(this.menuTpl, this.vcr);
|
|
64
|
-
this.overlayRef.attach(portal);
|
|
65
|
-
this.overlayRef.backdropClick().subscribe(() => this.disposeOverlay());
|
|
66
|
-
this.escSub = fromEvent(document, 'keydown')
|
|
67
|
-
.pipe(filter((e) => e.key === 'Escape'))
|
|
68
|
-
.subscribe(() => this.disposeOverlay());
|
|
69
|
-
queueMicrotask(() => {
|
|
70
|
-
this.menuList?.resetHighlight();
|
|
71
|
-
this.cdr.markForCheck();
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
disposeOverlay() {
|
|
75
|
-
this.escSub?.unsubscribe();
|
|
76
|
-
this.escSub = null;
|
|
77
|
-
if (this.overlayRef) {
|
|
78
|
-
this.overlayRef.dispose();
|
|
79
|
-
this.overlayRef = null;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
onItemSelect(id) {
|
|
83
|
-
this.itemSelect.emit(id);
|
|
84
|
-
this.disposeOverlay();
|
|
85
|
-
}
|
|
86
|
-
onCloseRequest() {
|
|
87
|
-
this.disposeOverlay();
|
|
88
|
-
}
|
|
89
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ContextMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
90
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.12", type: ContextMenuComponent, isStandalone: true, selector: "app-context-menu", inputs: { items: "items", disabled: ["disabled", "disabled", booleanAttribute], menuId: "menuId" }, outputs: { itemSelect: "itemSelect" }, viewQueries: [{ propertyName: "menuTpl", first: true, predicate: ["menuTpl"], descendants: true, static: true }, { propertyName: "menuList", first: true, predicate: MenuListComponent, descendants: true }], ngImport: i0, template: "<span class=\"context-menu__host\" (contextmenu)=\"onContextMenu($event)\">\r\n <ng-content />\r\n</span>\r\n\r\n<ng-template #menuTpl>\r\n <div class=\"context-menu__surface\" [ngClass]=\"panelThemeNgClass()\" (click)=\"$event.stopPropagation()\">\r\n <app-menu-list\r\n [items]=\"items\"\r\n [menuId]=\"resolvedMenuId\"\r\n (itemSelect)=\"onItemSelect($event)\"\r\n (closeRequest)=\"onCloseRequest()\"\r\n />\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:contents}.context-menu__host{display:contents}.context-menu__surface{box-sizing:border-box;min-width:12.5rem;max-width:min(100vw - 1rem,22rem)}\n"], dependencies: [{ kind: "component", type: MenuListComponent, selector: "app-menu-list", inputs: ["items", "menuId", "dense", "nested", "selectedItemId", "compressText"], outputs: ["itemSelect", "closeRequest", "submenuBack"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
91
|
-
}
|
|
92
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ContextMenuComponent, decorators: [{
|
|
93
|
-
type: Component,
|
|
94
|
-
args: [{ selector: 'app-context-menu', standalone: true, imports: [MenuListComponent, NgClass], changeDetection: ChangeDetectionStrategy.OnPush, template: "<span class=\"context-menu__host\" (contextmenu)=\"onContextMenu($event)\">\r\n <ng-content />\r\n</span>\r\n\r\n<ng-template #menuTpl>\r\n <div class=\"context-menu__surface\" [ngClass]=\"panelThemeNgClass()\" (click)=\"$event.stopPropagation()\">\r\n <app-menu-list\r\n [items]=\"items\"\r\n [menuId]=\"resolvedMenuId\"\r\n (itemSelect)=\"onItemSelect($event)\"\r\n (closeRequest)=\"onCloseRequest()\"\r\n />\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:contents}.context-menu__host{display:contents}.context-menu__surface{box-sizing:border-box;min-width:12.5rem;max-width:min(100vw - 1rem,22rem)}\n"] }]
|
|
95
|
-
}], propDecorators: { items: [{
|
|
96
|
-
type: Input,
|
|
97
|
-
args: [{ required: true }]
|
|
98
|
-
}], disabled: [{
|
|
99
|
-
type: Input,
|
|
100
|
-
args: [{ transform: booleanAttribute }]
|
|
101
|
-
}], menuId: [{
|
|
102
|
-
type: Input
|
|
103
|
-
}], itemSelect: [{
|
|
104
|
-
type: Output
|
|
105
|
-
}], menuTpl: [{
|
|
106
|
-
type: ViewChild,
|
|
107
|
-
args: ['menuTpl', { static: true }]
|
|
108
|
-
}], menuList: [{
|
|
109
|
-
type: ViewChild,
|
|
110
|
-
args: [MenuListComponent]
|
|
111
|
-
}] } });
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbWVudXMvY29udGV4dC1tZW51L2NvbnRleHQtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21lbnVzL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBRXJFLE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQztBQUN4QixNQUFNLFlBQVksR0FBRyxDQUFDLENBQUM7QUFVdkIsTUFBTSxPQUFPLG9CQUFvQjtJQVJqQztRQVNtQixZQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFCLFFBQUcsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMvQixhQUFRLEdBQUcsTUFBTSxDQUFD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QVM7K0JBQ0Usa0JBQWtCLGNBQ2hCLElBQUksV0FDUCxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxtQkFHcEIsdUJBQXVCLENBQUMsTUFBTTs4QkFRcEIsS0FBSztzQkFBL0IsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBRWUsUUFBUTtzQkFBL0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFFN0IsTUFBTTtzQkFBZCxLQUFLO2dCQUVhLFVBQVU7c0JBQTVCLE1BQU07Z0JBRWlDLE9BQU87c0JBQTlDLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDQSxRQUFRO3NCQUE3QyxTQUFTO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBib29sZWFuQXR0cmlidXRlLFxuICBjb21wdXRlZCxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFwcFRoZW1lU2VydmljZSB9IGZyb20gJy4uLy4uL3RoZW1lJztcbmltcG9ydCB0eXBlIHsgTWVudU5vZGVJdGVtIH0gZnJvbSAnLi4vX21vZGVscy9tZW51LWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgTWVudUxpc3RDb21wb25lbnQgfSBmcm9tICcuLi9tZW51LWxpc3QvbWVudS1saXN0LmNvbXBvbmVudCc7XG5cbmNvbnN0IFBBTkVMX01JTl9XID0gMjAwO1xuY29uc3QgVklFV1BPUlRfUEFEID0gODtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNvbnRleHQtbWVudScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNZW51TGlzdENvbXBvbmVudCwgTmdDbGFzc10sXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250ZXh0LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY29udGV4dC1tZW51LmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENvbnRleHRNZW51Q29tcG9uZW50PFQgPSBzdHJpbmc+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBvdmVybGF5ID0gaW5qZWN0KE92ZXJsYXkpO1xuICBwcml2YXRlIHJlYWRvbmx5IHZjciA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBhcHBUaGVtZSA9IGluamVjdChBcHBUaGVtZVNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgaXRlbXM6IHJlYWRvbmx5IE1lbnVOb2RlSXRlbTxUPltdID0gW107XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KCkgbWVudUlkID0gJyc7XG5cbiAgQE91dHB1dCgpIHJlYWRvbmx5IGl0ZW1TZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPFQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgnbWVudVRwbCcsIHsgc3RhdGljOiB0cnVlIH0pIG1lbnVUcGwhOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgQFZpZXdDaGlsZChNZW51TGlzdENvbXBvbmVudCkgcHJpdmF0ZSBtZW51TGlzdD86IE1lbnVMaXN0Q29tcG9uZW50PFQ+O1xuXG4gIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGVzY1N1YjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBnZW5lcmF0ZWRJZCA9IGBhcHAtY3R4LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiwgOSl9YDtcblxuICByZWFkb25seSBwYW5lbFRoZW1lTmdDbGFzcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCB0aGVtZUNsYXNzID0gdGhpcy5hcHBUaGVtZS50aGVtZUNsYXNzKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgICdhcHAtbGlicmFyeS10aGVtZSc6IHRydWUsXG4gICAgICBbdGhlbWVDbGFzc106IHRydWUsXG4gICAgfTtcbiAgfSk7XG5cbiAgZ2V0IHJlc29sdmVkTWVudUlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubWVudUlkLnRyaW0oKSB8fCB0aGlzLmdlbmVyYXRlZElkO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwb3NlT3ZlcmxheSgpO1xuICB9XG5cbiAgb25Db250ZXh0TWVudShldjogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXYuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5vcGVuQXQoZXYuY2xpZW50WCwgZXYuY2xpZW50WSk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5BdChjbGllbnRYOiBudW1iZXIsIGNsaWVudFk6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuZGlzcG9zZU92ZXJsYXkoKTtcblxuICAgIGNvbnN0IGxlZnQgPSBNYXRoLm1pbihcbiAgICAgIGNsaWVudFgsXG4gICAgICB3aW5kb3cuaW5uZXJXaWR0aCAtIFBBTkVMX01JTl9XIC0gVklFV1BPUlRfUEFELFxuICAgICk7XG4gICAgY29uc3QgdG9wID0gTWF0aC5taW4oXG4gICAgICBjbGllbnRZLFxuICAgICAgd2luZG93LmlubmVySGVpZ2h0IC0gVklFV1BPUlRfUEFELFxuICAgICk7XG5cbiAgICBjb25zdCB0aGVtZUNsYXNzID0gdGhpcy5hcHBUaGVtZS50aGVtZUNsYXNzKCk7XG4gICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSh7XG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICdjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCcsXG4gICAgICBwYW5lbENsYXNzOiBbJ2FwcC1saWJyYXJ5LXRoZW1lJywgdGhlbWVDbGFzc10sXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuY2xvc2UoKSxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMub3ZlcmxheVxuICAgICAgICAucG9zaXRpb24oKVxuICAgICAgICAuZ2xvYmFsKClcbiAgICAgICAgLmxlZnQoYCR7TWF0aC5tYXgoVklFV1BPUlRfUEFELCBsZWZ0KX1weGApXG4gICAgICAgIC50b3AoYCR7TWF0aC5tYXgoVklFV1BPUlRfUEFELCB0b3ApfXB4YCksXG4gICAgfSk7XG5cbiAgICBjb25zdCBwb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5tZW51VHBsLCB0aGlzLnZjcik7XG4gICAgdGhpcy5vdmVybGF5UmVmLmF0dGFjaChwb3J0YWwpO1xuXG4gICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5kaXNwb3NlT3ZlcmxheSgpKTtcblxuICAgIHRoaXMuZXNjU3ViID0gZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KGRvY3VtZW50LCAna2V5ZG93bicpXG4gICAgICAucGlwZShmaWx0ZXIoKGUpID0+IGUua2V5ID09PSAnRXNjYXBlJykpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuZGlzcG9zZU92ZXJsYXkoKSk7XG5cbiAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiB7XG4gICAgICB0aGlzLm1lbnVMaXN0Py5yZXNldEhpZ2hsaWdodCgpO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGRpc3Bvc2VPdmVybGF5KCk6IHZvaWQge1xuICAgIHRoaXMuZXNjU3ViPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuZXNjU3ViID0gbnVsbDtcbiAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBvbkl0ZW1TZWxlY3QoaWQ6IFQpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1TZWxlY3QuZW1pdChpZCk7XG4gICAgdGhpcy5kaXNwb3NlT3ZlcmxheSgpO1xuICB9XG5cbiAgb25DbG9zZVJlcXVlc3QoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwb3NlT3ZlcmxheSgpO1xuICB9XG59XG4iLCI8c3BhbiBjbGFzcz1cImNvbnRleHQtbWVudV9faG9zdFwiIChjb250ZXh0bWVudSk9XCJvbkNvbnRleHRNZW51KCRldmVudClcIj5cclxuICA8bmctY29udGVudCAvPlxyXG48L3NwYW4+XHJcblxyXG48bmctdGVtcGxhdGUgI21lbnVUcGw+XHJcbiAgPGRpdiBjbGFzcz1cImNvbnRleHQtbWVudV9fc3VyZmFjZVwiIFtuZ0NsYXNzXT1cInBhbmVsVGhlbWVOZ0NsYXNzKClcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XHJcbiAgICA8YXBwLW1lbnUtbGlzdFxyXG4gICAgICBbaXRlbXNdPVwiaXRlbXNcIlxyXG4gICAgICBbbWVudUlkXT1cInJlc29sdmVkTWVudUlkXCJcclxuICAgICAgKGl0ZW1TZWxlY3QpPVwib25JdGVtU2VsZWN0KCRldmVudClcIlxyXG4gICAgICAoY2xvc2VSZXF1ZXN0KT1cIm9uQ2xvc2VSZXF1ZXN0KClcIlxyXG4gICAgLz5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|