@seniorsistemas/data-seniorx-core 3.0.0 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/constants/editable-overlay.const.d.ts +4 -0
- package/core/constants/help-popover.const.d.ts +7 -0
- package/core/constants/input-mask.const.d.ts +5 -0
- package/core/constants/navigation-button.const.d.ts +3 -0
- package/core/constants/object-card.const.d.ts +21 -0
- package/core/constants/thumbnail.const.d.ts +6 -0
- package/core/constants/thumbnails.const.d.ts +4 -0
- package/core/constants/token-list.const.d.ts +3 -0
- package/core/types/button.type.d.ts +1 -1
- package/core/types/datepicker.type.d.ts +28 -0
- package/core/types/dynamic-form.type.d.ts +29 -0
- package/core/types/editable-overlay.type.d.ts +15 -0
- package/core/types/help-popover.type.d.ts +2 -0
- package/core/types/input-mask.type.d.ts +6 -0
- package/core/types/lookup.type.d.ts +45 -0
- package/core/types/navigation-button.type.d.ts +9 -0
- package/core/types/row-card.type.d.ts +5 -0
- package/core/types/semantics.type.d.ts +1 -1
- package/core/types/table-options.type.d.ts +1 -0
- package/core/types/thumbnail.type.d.ts +1 -0
- package/core/types/thumbnails.type.d.ts +20 -0
- package/core/types/token-list.type.d.ts +6 -0
- package/core/utils/emoji-support.util.d.ts +12 -0
- package/core/utils/overlay-dismiss.util.d.ts +25 -0
- package/esm2022/core/config/row-card.type.config.mjs +3 -1
- package/esm2022/core/constants/country-phone-picker.const.mjs +6 -6
- package/esm2022/core/constants/editable-overlay.const.mjs +5 -0
- package/esm2022/core/constants/help-popover.const.mjs +7 -0
- package/esm2022/core/constants/input-mask.const.mjs +6 -0
- package/esm2022/core/constants/navigation-button.const.mjs +4 -0
- package/esm2022/core/constants/object-card.const.mjs +23 -0
- package/esm2022/core/constants/thumbnail.const.mjs +14 -0
- package/esm2022/core/constants/thumbnails.const.mjs +5 -0
- package/esm2022/core/constants/token-list.const.mjs +4 -0
- package/esm2022/core/types/button.type.mjs +1 -1
- package/esm2022/core/types/datepicker.type.mjs +2 -0
- package/esm2022/core/types/dynamic-form.type.mjs +2 -0
- package/esm2022/core/types/editable-overlay.type.mjs +2 -0
- package/esm2022/core/types/help-popover.type.mjs +2 -0
- package/esm2022/core/types/input-mask.type.mjs +2 -0
- package/esm2022/core/types/lookup.type.mjs +2 -0
- package/esm2022/core/types/navigation-button.type.mjs +2 -0
- package/esm2022/core/types/row-card.type.mjs +1 -1
- package/esm2022/core/types/semantics.type.mjs +1 -1
- package/esm2022/core/types/table-options.type.mjs +1 -1
- package/esm2022/core/types/thumbnail.type.mjs +2 -0
- package/esm2022/core/types/thumbnails.type.mjs +2 -0
- package/esm2022/core/types/token-list.type.mjs +2 -0
- package/esm2022/core/utils/emoji-support.util.mjs +48 -0
- package/esm2022/core/utils/mask.util.mjs +2 -2
- package/esm2022/core/utils/overlay-dismiss.util.mjs +38 -0
- package/esm2022/features/alert/alert.component.mjs +5 -2
- package/esm2022/features/autocomplete/autocomplete.component.mjs +30 -8
- package/esm2022/features/bignumber-input/bignumber-input.component.mjs +1 -1
- package/esm2022/features/button/button.component.mjs +13 -5
- package/esm2022/features/card-list/card/card.component.mjs +2 -2
- package/esm2022/features/card-list/card-list.component.mjs +2 -2
- package/esm2022/features/checkbox-list/checkbox-list.component.mjs +25 -5
- package/esm2022/features/chips/chips.component.mjs +3 -3
- package/esm2022/features/code-editor/code-editor.component.mjs +12 -3
- package/esm2022/features/combobox/combobox.component.mjs +3 -3
- package/esm2022/features/confirm/confirm.component.mjs +2 -2
- package/esm2022/features/context-selector/context-selector.component.mjs +1 -1
- package/esm2022/features/country-phone-picker/country-phone-picker.component.mjs +22 -18
- package/esm2022/features/currency/currency.component.mjs +3 -3
- package/esm2022/features/datepicker/datepicker.component.mjs +814 -0
- package/esm2022/features/dynamic-form/dynamic-form-field.directive.mjs +178 -0
- package/esm2022/features/dynamic-form/dynamic-form.component.mjs +60 -0
- package/esm2022/features/dynamic-form/dynamic-form.registry.mjs +13 -0
- package/esm2022/features/editable-overlay/editable-overlay-editor.directive.mjs +31 -0
- package/esm2022/features/editable-overlay/editable-overlay.component.mjs +217 -0
- package/esm2022/features/editor/editor.component.mjs +173 -0
- package/esm2022/features/empty-state/empty-state.component.mjs +3 -3
- package/esm2022/features/fileupload/fileupload.component.mjs +3 -3
- package/esm2022/features/help-popover/help-popover.component.mjs +204 -0
- package/esm2022/features/hyperlink/hyperlink.component.mjs +3 -3
- package/esm2022/features/icon-picker/icon-picker.component.mjs +4 -4
- package/esm2022/features/image-cropper/image-cropper.component.mjs +2 -2
- package/esm2022/features/info-sign/info-sign.component.mjs +6 -3
- package/esm2022/features/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +1 -1
- package/esm2022/features/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +2 -2
- package/esm2022/features/input-mask/input-mask.directive.mjs +510 -0
- package/esm2022/features/list/list.component.mjs +2 -2
- package/esm2022/features/localized-number-input/localized-number-input.component.mjs +3 -3
- package/esm2022/features/lookup/lookup.component.mjs +351 -0
- package/esm2022/features/modal/modal.component.mjs +6 -3
- package/esm2022/features/modalc/modalc.component.mjs +6 -3
- package/esm2022/features/navigation-button/navigation-button.component.mjs +172 -0
- package/esm2022/features/number-input/number-input.component.mjs +10 -4
- package/esm2022/features/object-card/components/object-card-field/object-card-field.component.mjs +89 -0
- package/esm2022/features/object-card/components/object-card-main/object-card-main.component.mjs +114 -0
- package/esm2022/features/object-card/object-card.component.mjs +199 -0
- package/esm2022/features/password-strength/password-strength.component.mjs +3 -3
- package/esm2022/features/pin-code-field/pin-code-field.component.mjs +14 -4
- package/esm2022/features/popover/popover.component.mjs +29 -3
- package/esm2022/features/profile-picture-picker/profile-picture-picker.component.mjs +13 -4
- package/esm2022/features/rating-scale/rating-scale.component.mjs +24 -4
- package/esm2022/features/row-card-list/row-card/row-card.component.mjs +19 -4
- package/esm2022/features/row-card-list/row-card-list.component.mjs +12 -3
- package/esm2022/features/scaffold/scaffold.component.mjs +3 -3
- package/esm2022/features/searchbox/searchbox.component.mjs +2 -2
- package/esm2022/features/select-button/select-button.component.mjs +26 -4
- package/esm2022/features/slider/slider.component.mjs +3 -3
- package/esm2022/features/split-button/split-button.component.mjs +1 -1
- package/esm2022/features/spotlight/components/spotlight-overlay/spotlight-overlay.component.mjs +15 -18
- package/esm2022/features/spotlight/spotlight.component.mjs +2 -2
- package/esm2022/features/star-rating/star-rating.component.mjs +25 -4
- package/esm2022/features/table/components/table-cell-content.component.mjs +2 -2
- package/esm2022/features/table/table.component.mjs +30 -9
- package/esm2022/features/textarea/textarea.component.mjs +3 -3
- package/esm2022/features/thumbnail/thumbnail.component.mjs +86 -0
- package/esm2022/features/thumbnails/components/thumbnail-item/thumbnail-item.component.mjs +59 -0
- package/esm2022/features/thumbnails/components/thumbnail-item-image/thumbnail-item-image.component.mjs +25 -0
- package/esm2022/features/thumbnails/components/thumbnail-item-video/thumbnail-item-video.component.mjs +50 -0
- package/esm2022/features/thumbnails/thumbnails.component.mjs +76 -0
- package/esm2022/features/tiered-menu/directives/tiered-menu.directive.mjs +13 -1
- package/esm2022/features/token-list/token-list.component.mjs +64 -0
- package/esm2022/features/visual-sql-editor/visual-sql-editor.component.mjs +2 -2
- package/esm2022/locales/en.json +409 -1
- package/esm2022/locales/es-CO.json +423 -2
- package/esm2022/locales/pt.json +1037 -630
- package/esm2022/providers/features.provider.mjs +20 -2
- package/esm2022/providers/primeng-config.provider.mjs +14 -128
- package/esm2022/providers/translate.provider.mjs +2 -2
- package/esm2022/public-api.mjs +31 -1
- package/features/alert/alert.component.d.ts +1 -0
- package/features/autocomplete/autocomplete.component.d.ts +9 -3
- package/features/button/button.component.d.ts +3 -1
- package/features/checkbox-list/checkbox-list.component.d.ts +8 -1
- package/features/code-editor/code-editor.component.d.ts +5 -1
- package/features/country-phone-picker/country-phone-picker.component.d.ts +3 -0
- package/features/datepicker/datepicker.component.d.ts +118 -0
- package/features/dynamic-form/dynamic-form-field.directive.d.ts +26 -0
- package/features/dynamic-form/dynamic-form.component.d.ts +15 -0
- package/features/dynamic-form/dynamic-form.registry.d.ts +11 -0
- package/features/editable-overlay/editable-overlay-editor.directive.d.ts +22 -0
- package/features/editable-overlay/editable-overlay.component.d.ts +60 -0
- package/features/editor/editor.component.d.ts +47 -0
- package/features/help-popover/help-popover.component.d.ts +81 -0
- package/features/info-sign/info-sign.component.d.ts +2 -1
- package/features/input-mask/input-mask.directive.d.ts +117 -0
- package/features/lookup/lookup.component.d.ts +104 -0
- package/features/modal/modal.component.d.ts +2 -1
- package/features/modalc/modalc.component.d.ts +2 -1
- package/features/navigation-button/navigation-button.component.d.ts +58 -0
- package/features/number-input/number-input.component.d.ts +3 -1
- package/features/object-card/components/object-card-field/object-card-field.component.d.ts +48 -0
- package/features/object-card/components/object-card-main/object-card-main.component.d.ts +57 -0
- package/features/object-card/object-card.component.d.ts +70 -0
- package/features/pin-code-field/pin-code-field.component.d.ts +6 -1
- package/features/popover/popover.component.d.ts +4 -1
- package/features/profile-picture-picker/profile-picture-picker.component.d.ts +5 -1
- package/features/rating-scale/rating-scale.component.d.ts +9 -1
- package/features/row-card-list/row-card/row-card.component.d.ts +6 -1
- package/features/row-card-list/row-card-list.component.d.ts +4 -1
- package/features/select-button/select-button.component.d.ts +9 -1
- package/features/star-rating/star-rating.component.d.ts +9 -1
- package/features/table/table.component.d.ts +2 -1
- package/features/thumbnail/thumbnail.component.d.ts +48 -0
- package/features/thumbnails/components/thumbnail-item/thumbnail-item.component.d.ts +29 -0
- package/features/thumbnails/components/thumbnail-item-image/thumbnail-item-image.component.d.ts +13 -0
- package/features/thumbnails/components/thumbnail-item-video/thumbnail-item-video.component.d.ts +19 -0
- package/features/thumbnails/thumbnails.component.d.ts +46 -0
- package/features/tiered-menu/directives/tiered-menu.directive.d.ts +2 -0
- package/features/token-list/token-list.component.d.ts +31 -0
- package/fesm2022/seniorsistemas-data-seniorx-core.mjs +11288 -6613
- package/fesm2022/seniorsistemas-data-seniorx-core.mjs.map +1 -1
- package/package.json +12 -3
- package/providers/primeng-config.provider.d.ts +12 -0
- package/public-api.d.ts +38 -0
- package/src/locales/en.json +409 -1
- package/src/locales/es-CO.json +423 -2
- package/src/locales/pt.json +1037 -630
- package/styles/sdc-global-variables.scss +38 -0
- package/styles.css +132 -0
- package/styles.scss +2 -0
- package/esm2022/providers/custom/button.mjs +0 -93
- package/esm2022/providers/custom/toast.mjs +0 -75
- package/providers/custom/button.d.ts +0 -16
- package/providers/custom/toast.d.ts +0 -14
|
@@ -7,6 +7,7 @@ export declare class ModalcComponent implements OnDestroy {
|
|
|
7
7
|
containerRef?: ElementRef<HTMLElement>;
|
|
8
8
|
title: string;
|
|
9
9
|
footerButtons: ModalButton[];
|
|
10
|
+
headerActions: ModalButton[];
|
|
10
11
|
maximizable: boolean;
|
|
11
12
|
closeOnBackdrop: boolean;
|
|
12
13
|
set visible(v: boolean);
|
|
@@ -30,5 +31,5 @@ export declare class ModalcComponent implements OnDestroy {
|
|
|
30
31
|
private unlockBodyScroll;
|
|
31
32
|
private focusContainer;
|
|
32
33
|
static ɵfac: i0.ɵɵFactoryDeclaration<ModalcComponent, never>;
|
|
33
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ModalcComponent, "sdc-modalc", never, { "title": { "alias": "title"; "required": false; }; "footerButtons": { "alias": "footerButtons"; "required": false; }; "maximizable": { "alias": "maximizable"; "required": false; }; "closeOnBackdrop": { "alias": "closeOnBackdrop"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; }, { "visibleChange": "visibleChange"; }, never, ["*", "[footer]"], true, never>;
|
|
34
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ModalcComponent, "sdc-modalc", never, { "title": { "alias": "title"; "required": false; }; "footerButtons": { "alias": "footerButtons"; "required": false; }; "headerActions": { "alias": "headerActions"; "required": false; }; "maximizable": { "alias": "maximizable"; "required": false; }; "closeOnBackdrop": { "alias": "closeOnBackdrop"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; }, { "visibleChange": "visibleChange"; }, never, ["*", "[footer]"], true, never>;
|
|
34
35
|
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { AfterViewInit, EventEmitter, OnInit } from '@angular/core';
|
|
2
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
3
|
+
import type { NavigationButtonItem, NavigationButtonStepChangedInfo } from '../../core/types/navigation-button.type';
|
|
4
|
+
import type { TieredMenuItemData } from '../../core/types/tiered-menu.type';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* @description Componente de navegação por etapas que exibe o estado atual (step)
|
|
8
|
+
* com suporte a avanço, retrocesso e seleção direta via menu suspenso (`TieredMenu`).
|
|
9
|
+
* Implementa `ControlValueAccessor` para integração com formulários Angular reativos/template-driven.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```html
|
|
13
|
+
* <sdc-navigation-button
|
|
14
|
+
* [steps]="steps"
|
|
15
|
+
* (stepChanged)="onStepChanged($event)" />
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare class NavigationButtonComponent implements ControlValueAccessor, OnInit, AfterViewInit {
|
|
19
|
+
private readonly cdr;
|
|
20
|
+
/** @description Lista de etapas de navegação. Campo obrigatório. */
|
|
21
|
+
steps: NavigationButtonItem[];
|
|
22
|
+
/** @description Valor padrão a ser selecionado ao inicializar o componente. */
|
|
23
|
+
defaultValue: unknown;
|
|
24
|
+
/** @description Texto exibido no tooltip do botão principal, quando o step atual não define o próprio tooltip. */
|
|
25
|
+
tooltip?: string;
|
|
26
|
+
/** @description Quando `true`, emite `stepChanged` durante a inicialização com a etapa atual. @default false */
|
|
27
|
+
changeOnInit: boolean;
|
|
28
|
+
/** @description Emitido quando o usuário navega para uma nova etapa, com informações da etapa anterior e atual. */
|
|
29
|
+
stepChanged: EventEmitter<NavigationButtonStepChangedInfo>;
|
|
30
|
+
currentIndex: number;
|
|
31
|
+
disabled: boolean;
|
|
32
|
+
tieredMenuItems: TieredMenuItemData[];
|
|
33
|
+
readonly previousAriaLabelKey = "platform.datacore.navigation_button.previous";
|
|
34
|
+
readonly nextAriaLabelKey = "platform.datacore.navigation_button.next";
|
|
35
|
+
readonly openMenuAriaLabelKey = "platform.datacore.navigation_button.open_menu";
|
|
36
|
+
private onChangeFn;
|
|
37
|
+
private onTouchedFn;
|
|
38
|
+
private value;
|
|
39
|
+
get currentStep(): NavigationButtonItem | undefined;
|
|
40
|
+
get currentTooltip(): string | null;
|
|
41
|
+
get isFirst(): boolean;
|
|
42
|
+
get isLast(): boolean;
|
|
43
|
+
ngOnInit(): void;
|
|
44
|
+
ngAfterViewInit(): void;
|
|
45
|
+
writeValue(value: unknown): void;
|
|
46
|
+
registerOnChange(fn: (value: unknown) => void): void;
|
|
47
|
+
registerOnTouched(fn: () => void): void;
|
|
48
|
+
setDisabledState(isDisabled: boolean): void;
|
|
49
|
+
onPrevious(): void;
|
|
50
|
+
onNext(): void;
|
|
51
|
+
private notifyStepChange;
|
|
52
|
+
private applyDefaultValue;
|
|
53
|
+
private findIndexByValue;
|
|
54
|
+
private buildTieredMenuItems;
|
|
55
|
+
private selectStep;
|
|
56
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NavigationButtonComponent, never>;
|
|
57
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NavigationButtonComponent, "sdc-navigation-button", never, { "steps": { "alias": "steps"; "required": true; }; "defaultValue": { "alias": "defaultValue"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "changeOnInit": { "alias": "changeOnInit"; "required": false; }; }, { "stepChanged": "stepChanged"; }, never, never, true, never>;
|
|
58
|
+
}
|
|
@@ -19,6 +19,8 @@ export declare class NumberInputComponent extends InputsComponent<number> implem
|
|
|
19
19
|
infoTooltip: string | null;
|
|
20
20
|
infoTooltipPosition: TooltipPosition;
|
|
21
21
|
infoTooltipEvent: TooltipEvent;
|
|
22
|
+
addonLeft: string | null;
|
|
23
|
+
addonRight: string | null;
|
|
22
24
|
pasteRejected: EventEmitter<string>;
|
|
23
25
|
displayValue: string;
|
|
24
26
|
private separators;
|
|
@@ -45,5 +47,5 @@ export declare class NumberInputComponent extends InputsComponent<number> implem
|
|
|
45
47
|
private refreshSeparators;
|
|
46
48
|
private syncDisplayValue;
|
|
47
49
|
static ɵfac: i0.ɵɵFactoryDeclaration<NumberInputComponent, never>;
|
|
48
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NumberInputComponent, "sdc-number-input", never, { "precision": { "alias": "precision"; "required": false; }; "scale": { "alias": "scale"; "required": false; }; "decimalSeparator": { "alias": "decimalSeparator"; "required": false; }; "thousandsSeparator": { "alias": "thousandsSeparator"; "required": false; }; "alignTo": { "alias": "alignTo"; "required": false; }; "allowNegative": { "alias": "allowNegative"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "infoTooltip": { "alias": "infoTooltip"; "required": false; }; "infoTooltipPosition": { "alias": "infoTooltipPosition"; "required": false; }; "infoTooltipEvent": { "alias": "infoTooltipEvent"; "required": false; }; }, { "pasteRejected": "pasteRejected"; }, never, never, true, never>;
|
|
50
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NumberInputComponent, "sdc-number-input", never, { "precision": { "alias": "precision"; "required": false; }; "scale": { "alias": "scale"; "required": false; }; "decimalSeparator": { "alias": "decimalSeparator"; "required": false; }; "thousandsSeparator": { "alias": "thousandsSeparator"; "required": false; }; "alignTo": { "alias": "alignTo"; "required": false; }; "allowNegative": { "alias": "allowNegative"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "infoTooltip": { "alias": "infoTooltip"; "required": false; }; "infoTooltipPosition": { "alias": "infoTooltipPosition"; "required": false; }; "infoTooltipEvent": { "alias": "infoTooltipEvent"; "required": false; }; "addonLeft": { "alias": "addonLeft"; "required": false; }; "addonRight": { "alias": "addonRight"; "required": false; }; }, { "pasteRejected": "pasteRejected"; }, never, never, true, never>;
|
|
49
51
|
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { EventEmitter, TemplateRef } from '@angular/core';
|
|
2
|
+
import type { BadgeColor } from '../../../../core/types/badge.type';
|
|
3
|
+
import type { ButtonMenuItemData } from '../../../../core/types/button.type';
|
|
4
|
+
import { ThumbnailComponent } from '../../../thumbnail/thumbnail.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* @description Campo extra de um `sdc-object-card`. Não é renderizado diretamente:
|
|
8
|
+
* expõe seu conteúdo via `<ng-template>` (propriedade `content`) para que o container
|
|
9
|
+
* decida renderizá-lo na linha visível ou no painel expansível.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```html
|
|
13
|
+
* <sdc-object-card-field
|
|
14
|
+
* label="CPF"
|
|
15
|
+
* description="000.000.000-00"
|
|
16
|
+
* iconClass="fas fa-id-card" />
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare class ObjectCardFieldComponent {
|
|
20
|
+
/** @description Identificador único do componente no DOM. Gerado automaticamente se não informado. */
|
|
21
|
+
id: string;
|
|
22
|
+
/** @description URL da imagem do thumbnail interno. */
|
|
23
|
+
imageSource?: string;
|
|
24
|
+
/** @description Texto alternativo do thumbnail interno. @default label */
|
|
25
|
+
imageAlt?: string;
|
|
26
|
+
/** @description Classe do ícone do thumbnail interno, exibido quando não há `imageSource`. */
|
|
27
|
+
iconClass?: string;
|
|
28
|
+
/** @description Rótulo do campo. */
|
|
29
|
+
label?: string;
|
|
30
|
+
/** @description Descrição/valor do campo. Ignorada quando `badge` é informado. */
|
|
31
|
+
description?: string;
|
|
32
|
+
/** @description Rótulo do botão de ação (link) do campo. */
|
|
33
|
+
buttonLabel?: string;
|
|
34
|
+
/** @description Itens do menu suspenso do botão de ação. */
|
|
35
|
+
buttonModel: ButtonMenuItemData[];
|
|
36
|
+
/** @description Texto do badge. Quando informado, substitui a exibição de `description`. */
|
|
37
|
+
badge?: string;
|
|
38
|
+
/** @description Cor do badge. @default 'blue' */
|
|
39
|
+
badgeColor: BadgeColor;
|
|
40
|
+
/** @description Emitido quando o botão de ação é clicado. */
|
|
41
|
+
buttonClick: EventEmitter<Event>;
|
|
42
|
+
protected readonly projectedThumbnail: ThumbnailComponent | null;
|
|
43
|
+
/** @description Template com o conteúdo completo do campo, renderizado pelo `sdc-object-card` via `ngTemplateOutlet`. */
|
|
44
|
+
readonly content: TemplateRef<unknown>;
|
|
45
|
+
protected get hasThumbnail(): boolean;
|
|
46
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ObjectCardFieldComponent, never>;
|
|
47
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ObjectCardFieldComponent, "sdc-object-card-field", never, { "id": { "alias": "id"; "required": false; }; "imageSource": { "alias": "imageSource"; "required": false; }; "imageAlt": { "alias": "imageAlt"; "required": false; }; "iconClass": { "alias": "iconClass"; "required": false; }; "label": { "alias": "label"; "required": false; }; "description": { "alias": "description"; "required": false; }; "buttonLabel": { "alias": "buttonLabel"; "required": false; }; "buttonModel": { "alias": "buttonModel"; "required": false; }; "badge": { "alias": "badge"; "required": false; }; "badgeColor": { "alias": "badgeColor"; "required": false; }; }, { "buttonClick": "buttonClick"; }, ["projectedThumbnail"], ["sdc-thumbnail"], true, never>;
|
|
48
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import type { ButtonMenuItemData } from '../../../../core/types/button.type';
|
|
3
|
+
import type { ThumbnailSize } from '../../../../core/types/thumbnail.type';
|
|
4
|
+
import { ThumbnailComponent } from '../../../thumbnail/thumbnail.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* @description Conteúdo principal de um `sdc-object-card`: thumbnail, rótulo,
|
|
8
|
+
* descrição e um botão de ação opcional. Deve ser projetado dentro de `sdc-object-card`.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```html
|
|
12
|
+
* <sdc-object-card-main
|
|
13
|
+
* label="João da Silva"
|
|
14
|
+
* description="Analista de sistemas"
|
|
15
|
+
* imageSource="https://exemplo.com/foto.jpg" />
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare class ObjectCardMainComponent implements OnInit, OnDestroy {
|
|
19
|
+
private readonly cdr;
|
|
20
|
+
/** @description Identificador único do componente no DOM. Gerado automaticamente se não informado. */
|
|
21
|
+
id: string;
|
|
22
|
+
/** @description URL da imagem principal do thumbnail. */
|
|
23
|
+
imageSource?: string;
|
|
24
|
+
/** @description URL da imagem de fallback do thumbnail. */
|
|
25
|
+
imageFallback?: string;
|
|
26
|
+
/** @description Texto alternativo do thumbnail. @default label */
|
|
27
|
+
imageAlt?: string;
|
|
28
|
+
/** @description Classe do ícone do thumbnail quando não há imagem. */
|
|
29
|
+
iconClass: string;
|
|
30
|
+
/** @description Exibe o thumbnail (interno ou projetado via `<sdc-thumbnail>`). @default true */
|
|
31
|
+
hasThumbnail: boolean;
|
|
32
|
+
/** @description Exibe o bloco de rótulo/descrição/botão. @default true */
|
|
33
|
+
hasDescription: boolean;
|
|
34
|
+
/** @description Aplica estilo de marca ao thumbnail (retangular, sem borda arredondada). @default false */
|
|
35
|
+
isBrand: boolean;
|
|
36
|
+
/** @description Rótulo principal. */
|
|
37
|
+
label?: string;
|
|
38
|
+
/** @description Descrição/subtítulo. */
|
|
39
|
+
description?: string;
|
|
40
|
+
/** @description Rótulo do botão de ação (prioridade link). */
|
|
41
|
+
buttonLabel?: string;
|
|
42
|
+
/** @description Itens do menu suspenso do botão de ação. */
|
|
43
|
+
buttonModel: ButtonMenuItemData[];
|
|
44
|
+
/** @description Emitido quando o botão de ação é clicado. */
|
|
45
|
+
buttonClick: EventEmitter<Event>;
|
|
46
|
+
protected readonly projectedThumbnail: ThumbnailComponent | null;
|
|
47
|
+
protected thumbnailSize: ThumbnailSize;
|
|
48
|
+
private mediaQueryList?;
|
|
49
|
+
private readonly handleMediaChange;
|
|
50
|
+
ngOnInit(): void;
|
|
51
|
+
ngOnDestroy(): void;
|
|
52
|
+
private createMediaQueryList;
|
|
53
|
+
private isMobile;
|
|
54
|
+
private updateThumbnailSize;
|
|
55
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ObjectCardMainComponent, never>;
|
|
56
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ObjectCardMainComponent, "sdc-object-card-main", never, { "id": { "alias": "id"; "required": false; }; "imageSource": { "alias": "imageSource"; "required": false; }; "imageFallback": { "alias": "imageFallback"; "required": false; }; "imageAlt": { "alias": "imageAlt"; "required": false; }; "iconClass": { "alias": "iconClass"; "required": false; }; "hasThumbnail": { "alias": "hasThumbnail"; "required": false; }; "hasDescription": { "alias": "hasDescription"; "required": false; }; "isBrand": { "alias": "isBrand"; "required": false; }; "label": { "alias": "label"; "required": false; }; "description": { "alias": "description"; "required": false; }; "buttonLabel": { "alias": "buttonLabel"; "required": false; }; "buttonModel": { "alias": "buttonModel"; "required": false; }; }, { "buttonClick": "buttonClick"; }, ["projectedThumbnail"], ["sdc-thumbnail", "[labelTemplate]", "[descriptionTemplate]"], true, never>;
|
|
57
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { AfterContentChecked, AfterViewInit, EventEmitter, OnDestroy } from '@angular/core';
|
|
2
|
+
import { BorderButtonOptions, type Severities } from '../../core/types/panel.type';
|
|
3
|
+
import type { StringBoolean } from '../../core/types/semantics.type';
|
|
4
|
+
import { ObjectCardFieldComponent } from './components/object-card-field/object-card-field.component';
|
|
5
|
+
import { ObjectCardMainComponent } from './components/object-card-main/object-card-main.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* @description Card de exibição de objeto com um bloco principal (`sdc-object-card-main`),
|
|
9
|
+
* campos extras (`sdc-object-card-field`) e painel expansível para os campos que não
|
|
10
|
+
* cabem na largura disponível. Calcula automaticamente quantos campos ficam visíveis
|
|
11
|
+
* conforme a largura do container (via `ResizeObserver`) e suporta nível de severidade.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```html
|
|
15
|
+
* <sdc-object-card [severity]="'info'">
|
|
16
|
+
* <sdc-object-card-main label="João da Silva" description="Analista de sistemas" />
|
|
17
|
+
* <sdc-object-card-field label="CPF" description="000.000.000-00" />
|
|
18
|
+
* <sdc-object-card-field label="Matrícula" description="00123" />
|
|
19
|
+
* </sdc-object-card>
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare class ObjectCardComponent implements AfterContentChecked, AfterViewInit, OnDestroy {
|
|
23
|
+
private readonly cdr;
|
|
24
|
+
/** @description Identificador único do componente no DOM. Gerado automaticamente se não informado. */
|
|
25
|
+
id: string;
|
|
26
|
+
/** @description Define se o painel expansível está aberto. @default false */
|
|
27
|
+
expanded: boolean;
|
|
28
|
+
/** @description Chave de tradução (ou `false` para usar o default) do tooltip/aria-label de expandir. */
|
|
29
|
+
expandTooltip: StringBoolean;
|
|
30
|
+
/** @description Chave de tradução (ou `false` para usar o default) do tooltip/aria-label de recolher. */
|
|
31
|
+
collapseTooltip: StringBoolean;
|
|
32
|
+
/** @description Largura mínima em pixels de cada campo (visível ou no painel expansível). @default 200 */
|
|
33
|
+
fieldsMinWidth: number;
|
|
34
|
+
/** @description Nível de severidade que altera a cor de destaque do card. @default 'default' */
|
|
35
|
+
severity: Severities;
|
|
36
|
+
/**
|
|
37
|
+
* @description Configuração opcional do botão lateral de borda (mesmo contrato usado pelo `sdc-panel`).
|
|
38
|
+
* Omitido por padrão: não requer o componente `s-border-button` do AC (ainda não portado para o DataCore).
|
|
39
|
+
*/
|
|
40
|
+
borderButtonOptions?: BorderButtonOptions;
|
|
41
|
+
/** @description Emitido quando o estado de expansão muda. */
|
|
42
|
+
expandedChange: EventEmitter<boolean>;
|
|
43
|
+
protected readonly main: ObjectCardMainComponent | null;
|
|
44
|
+
protected readonly fields: import("@angular/core").Signal<readonly ObjectCardFieldComponent[]>;
|
|
45
|
+
private readonly rowContainerRef;
|
|
46
|
+
private readonly mainSlotRef;
|
|
47
|
+
private readonly expandButtonRef;
|
|
48
|
+
private resizeObserver?;
|
|
49
|
+
protected maxVisibleFields: number;
|
|
50
|
+
ngAfterViewInit(): void;
|
|
51
|
+
ngAfterContentChecked(): void;
|
|
52
|
+
ngOnDestroy(): void;
|
|
53
|
+
protected get hasHiddenFields(): boolean;
|
|
54
|
+
protected visibleFields(): ObjectCardFieldComponent[];
|
|
55
|
+
protected hiddenFields(): ObjectCardFieldComponent[];
|
|
56
|
+
protected toggle(): void;
|
|
57
|
+
protected expand(): void;
|
|
58
|
+
protected collapse(): void;
|
|
59
|
+
protected get tooltipKey(): string;
|
|
60
|
+
protected get showBorderButton(): boolean;
|
|
61
|
+
protected get borderButtonLabel(): string;
|
|
62
|
+
protected get borderButtonTooltip(): string | null;
|
|
63
|
+
protected get borderButtonIcon(): string | null;
|
|
64
|
+
protected get borderButtonDisabled(): boolean;
|
|
65
|
+
protected onBorderButtonClick(event: Event): void;
|
|
66
|
+
private setExpanded;
|
|
67
|
+
private updateVisibleFields;
|
|
68
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ObjectCardComponent, never>;
|
|
69
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ObjectCardComponent, "sdc-object-card", never, { "id": { "alias": "id"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; "expandTooltip": { "alias": "expandTooltip"; "required": false; }; "collapseTooltip": { "alias": "collapseTooltip"; "required": false; }; "fieldsMinWidth": { "alias": "fieldsMinWidth"; "required": false; }; "severity": { "alias": "severity"; "required": false; }; "borderButtonOptions": { "alias": "borderButtonOptions"; "required": false; }; }, { "expandedChange": "expandedChange"; }, ["fields", "main"], ["sdc-object-card-main"], true, never>;
|
|
70
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, QueryList, SimpleChanges } from '@angular/core';
|
|
2
2
|
import { ControlValueAccessor } from '@angular/forms';
|
|
3
|
+
import type { StringBoolean } from '../../core/types/semantics.type';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export declare class PinCodeFieldComponent implements ControlValueAccessor, OnChanges {
|
|
5
6
|
private readonly cdr;
|
|
@@ -9,6 +10,9 @@ export declare class PinCodeFieldComponent implements ControlValueAccessor, OnCh
|
|
|
9
10
|
helpText: string;
|
|
10
11
|
invalid: boolean;
|
|
11
12
|
disabled: boolean;
|
|
13
|
+
label: StringBoolean;
|
|
14
|
+
required: boolean;
|
|
15
|
+
protected readonly groupLabelId: string;
|
|
12
16
|
codeFilled: EventEmitter<string>;
|
|
13
17
|
pinInputs: QueryList<ElementRef<HTMLInputElement>>;
|
|
14
18
|
protected readonly groupAriaLabelKey = "platform.datacore.pin_code_field.group_label";
|
|
@@ -27,6 +31,7 @@ export declare class PinCodeFieldComponent implements ControlValueAccessor, OnCh
|
|
|
27
31
|
registerOnChange(fn: (value: string) => void): void;
|
|
28
32
|
registerOnTouched(fn: () => void): void;
|
|
29
33
|
setDisabledState(isDisabled: boolean): void;
|
|
34
|
+
labelKey(): string;
|
|
30
35
|
onFocus(event: FocusEvent): void;
|
|
31
36
|
onInput(event: Event, index: number): void;
|
|
32
37
|
onKeydown(event: KeyboardEvent, index: number): void;
|
|
@@ -40,5 +45,5 @@ export declare class PinCodeFieldComponent implements ControlValueAccessor, OnCh
|
|
|
40
45
|
private getInputEl;
|
|
41
46
|
private notifyChange;
|
|
42
47
|
static ɵfac: i0.ɵɵFactoryDeclaration<PinCodeFieldComponent, never>;
|
|
43
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PinCodeFieldComponent, "sdc-pin-code-field", never, { "id": { "alias": "id"; "required": false; }; "length": { "alias": "length"; "required": false; }; "alphanumeric": { "alias": "alphanumeric"; "required": false; }; "helpText": { "alias": "helpText"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "codeFilled": "codeFilled"; }, never, never, true, never>;
|
|
48
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PinCodeFieldComponent, "sdc-pin-code-field", never, { "id": { "alias": "id"; "required": false; }; "length": { "alias": "length"; "required": false; }; "alphanumeric": { "alias": "alphanumeric"; "required": false; }; "helpText": { "alias": "helpText"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "label": { "alias": "label"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, { "codeFilled": "codeFilled"; }, never, never, true, never>;
|
|
44
49
|
}
|
|
@@ -8,11 +8,13 @@ export declare class PopoverComponent implements AfterViewInit, OnChanges, OnDes
|
|
|
8
8
|
private readonly zone;
|
|
9
9
|
private readonly cdr;
|
|
10
10
|
private readonly translate;
|
|
11
|
+
private readonly router;
|
|
11
12
|
private readonly subscriptions;
|
|
12
13
|
open: boolean;
|
|
13
14
|
disabled: boolean;
|
|
14
15
|
toggleOnTriggerClick: boolean;
|
|
15
16
|
closeOnOutsideClick: boolean;
|
|
17
|
+
closeOnScroll: boolean;
|
|
16
18
|
closeOnEscape: boolean;
|
|
17
19
|
trapFocus: boolean;
|
|
18
20
|
focusOnOpen: boolean;
|
|
@@ -37,6 +39,7 @@ export declare class PopoverComponent implements AfterViewInit, OnChanges, OnDes
|
|
|
37
39
|
private overlayHost;
|
|
38
40
|
private previouslyFocusedElement;
|
|
39
41
|
private listenersBound;
|
|
42
|
+
private dismissWatcher;
|
|
40
43
|
constructor();
|
|
41
44
|
get ariaLabelText(): string;
|
|
42
45
|
private readonly onDocumentPointerDown;
|
|
@@ -68,6 +71,6 @@ export declare class PopoverComponent implements AfterViewInit, OnChanges, OnDes
|
|
|
68
71
|
private resolveTop;
|
|
69
72
|
private resolveLeft;
|
|
70
73
|
static ɵfac: i0.ɵɵFactoryDeclaration<PopoverComponent, never>;
|
|
71
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PopoverComponent, "sdc-popover", never, { "open": { "alias": "open"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "toggleOnTriggerClick": { "alias": "toggleOnTriggerClick"; "required": false; }; "closeOnOutsideClick": { "alias": "closeOnOutsideClick"; "required": false; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; }; "trapFocus": { "alias": "trapFocus"; "required": false; }; "focusOnOpen": { "alias": "focusOnOpen"; "required": false; }; "restoreFocusOnClose": { "alias": "restoreFocusOnClose"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "appendTo": { "alias": "appendTo"; "required": false; }; "zIndex": { "alias": "zIndex"; "required": false; }; "offset": { "alias": "offset"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "role": { "alias": "role"; "required": false; }; "matchTriggerWidth": { "alias": "matchTriggerWidth"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; "panelMinWidth": { "alias": "panelMinWidth"; "required": false; }; "panelMaxWidth": { "alias": "panelMaxWidth"; "required": false; }; "panelMaxHeight": { "alias": "panelMaxHeight"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; }, { "openChange": "openChange"; }, never, ["[sdc-popover-trigger]", "[sdc-popover-content]"], true, never>;
|
|
74
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PopoverComponent, "sdc-popover", never, { "open": { "alias": "open"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "toggleOnTriggerClick": { "alias": "toggleOnTriggerClick"; "required": false; }; "closeOnOutsideClick": { "alias": "closeOnOutsideClick"; "required": false; }; "closeOnScroll": { "alias": "closeOnScroll"; "required": false; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; }; "trapFocus": { "alias": "trapFocus"; "required": false; }; "focusOnOpen": { "alias": "focusOnOpen"; "required": false; }; "restoreFocusOnClose": { "alias": "restoreFocusOnClose"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "appendTo": { "alias": "appendTo"; "required": false; }; "zIndex": { "alias": "zIndex"; "required": false; }; "offset": { "alias": "offset"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "role": { "alias": "role"; "required": false; }; "matchTriggerWidth": { "alias": "matchTriggerWidth"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; "panelMinWidth": { "alias": "panelMinWidth"; "required": false; }; "panelMaxWidth": { "alias": "panelMaxWidth"; "required": false; }; "panelMaxHeight": { "alias": "panelMaxHeight"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; }, { "openChange": "openChange"; }, never, ["[sdc-popover-trigger]", "[sdc-popover-content]"], true, never>;
|
|
72
75
|
}
|
|
73
76
|
export {};
|
|
@@ -2,6 +2,7 @@ import { ElementRef, EventEmitter } from '@angular/core';
|
|
|
2
2
|
import { ControlValueAccessor } from '@angular/forms';
|
|
3
3
|
import type { FileValidationErrors, ProfilePicturePickerData } from '../../core/types/profile-picture-picker.type';
|
|
4
4
|
import type { ModalButton } from '../../core/types/modal.type';
|
|
5
|
+
import type { StringBoolean } from '../../core/types/semantics.type';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
type ProfilePictureValue = string | ProfilePicturePickerData | null;
|
|
7
8
|
export declare class ProfilePicturePickerComponent implements ControlValueAccessor {
|
|
@@ -12,6 +13,8 @@ export declare class ProfilePicturePickerComponent implements ControlValueAccess
|
|
|
12
13
|
subtitle?: string;
|
|
13
14
|
simpleTitle?: string;
|
|
14
15
|
actionTitle?: string;
|
|
16
|
+
label: StringBoolean;
|
|
17
|
+
required: boolean;
|
|
15
18
|
removeButtonLabel?: string;
|
|
16
19
|
changeButtonLabel?: string;
|
|
17
20
|
aspectRatio: number;
|
|
@@ -43,6 +46,7 @@ export declare class ProfilePicturePickerComponent implements ControlValueAccess
|
|
|
43
46
|
get resolvedChangeLabel(): string;
|
|
44
47
|
get resolvedSimpleTitle(): string;
|
|
45
48
|
get resolvedActionTitle(): string;
|
|
49
|
+
labelKey(): string;
|
|
46
50
|
get usesRoundedCrop(): boolean;
|
|
47
51
|
get confirmPreviewAspectRatio(): string;
|
|
48
52
|
get confirmFooterButtons(): ModalButton[];
|
|
@@ -72,6 +76,6 @@ export declare class ProfilePicturePickerComponent implements ControlValueAccess
|
|
|
72
76
|
private rejectPendingImage;
|
|
73
77
|
private hasDraggedFile;
|
|
74
78
|
static ɵfac: i0.ɵɵFactoryDeclaration<ProfilePicturePickerComponent, never>;
|
|
75
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ProfilePicturePickerComponent, "sdc-profile-picture-picker", never, { "subtitle": { "alias": "subtitle"; "required": false; }; "simpleTitle": { "alias": "simpleTitle"; "required": false; }; "actionTitle": { "alias": "actionTitle"; "required": false; }; "removeButtonLabel": { "alias": "removeButtonLabel"; "required": false; }; "changeButtonLabel": { "alias": "changeButtonLabel"; "required": false; }; "aspectRatio": { "alias": "aspectRatio"; "required": false; }; "maxFileSize": { "alias": "maxFileSize"; "required": false; }; "accept": { "alias": "accept"; "required": false; }; "supportedExtensions": { "alias": "supportedExtensions"; "required": false; }; "confirmBeforeApply": { "alias": "confirmBeforeApply"; "required": false; }; "confirmTitle": { "alias": "confirmTitle"; "required": false; }; "confirmMessage": { "alias": "confirmMessage"; "required": false; }; "confirmAcceptLabel": { "alias": "confirmAcceptLabel"; "required": false; }; "confirmRejectLabel": { "alias": "confirmRejectLabel"; "required": false; }; "image": { "alias": "image"; "required": false; }; }, { "imageChange": "imageChange"; "removedImage": "removedImage"; "invalidFile": "invalidFile"; }, never, never, true, never>;
|
|
79
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ProfilePicturePickerComponent, "sdc-profile-picture-picker", never, { "subtitle": { "alias": "subtitle"; "required": false; }; "simpleTitle": { "alias": "simpleTitle"; "required": false; }; "actionTitle": { "alias": "actionTitle"; "required": false; }; "label": { "alias": "label"; "required": false; }; "required": { "alias": "required"; "required": false; }; "removeButtonLabel": { "alias": "removeButtonLabel"; "required": false; }; "changeButtonLabel": { "alias": "changeButtonLabel"; "required": false; }; "aspectRatio": { "alias": "aspectRatio"; "required": false; }; "maxFileSize": { "alias": "maxFileSize"; "required": false; }; "accept": { "alias": "accept"; "required": false; }; "supportedExtensions": { "alias": "supportedExtensions"; "required": false; }; "confirmBeforeApply": { "alias": "confirmBeforeApply"; "required": false; }; "confirmTitle": { "alias": "confirmTitle"; "required": false; }; "confirmMessage": { "alias": "confirmMessage"; "required": false; }; "confirmAcceptLabel": { "alias": "confirmAcceptLabel"; "required": false; }; "confirmRejectLabel": { "alias": "confirmRejectLabel"; "required": false; }; "image": { "alias": "image"; "required": false; }; }, { "imageChange": "imageChange"; "removedImage": "removedImage"; "invalidFile": "invalidFile"; }, never, never, true, never>;
|
|
76
80
|
}
|
|
77
81
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ControlValueAccessor } from '@angular/forms';
|
|
2
2
|
import type { RatingScaleNode } from '../../core/types/rating-scale.type';
|
|
3
|
+
import type { StringBoolean } from '../../core/types/semantics.type';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export declare class RatingScaleComponent implements ControlValueAccessor {
|
|
5
6
|
private readonly cdr;
|
|
@@ -8,6 +9,11 @@ export declare class RatingScaleComponent implements ControlValueAccessor {
|
|
|
8
9
|
startLabel?: string;
|
|
9
10
|
endLabel?: string;
|
|
10
11
|
disabled: boolean;
|
|
12
|
+
label: StringBoolean;
|
|
13
|
+
required: boolean;
|
|
14
|
+
invalid: boolean;
|
|
15
|
+
message: StringBoolean;
|
|
16
|
+
protected readonly groupLabelId: string;
|
|
11
17
|
value: RatingScaleNode | null;
|
|
12
18
|
private onChangeFn;
|
|
13
19
|
private onTouchedFn;
|
|
@@ -19,6 +25,8 @@ export declare class RatingScaleComponent implements ControlValueAccessor {
|
|
|
19
25
|
registerOnChange(fn: (value: RatingScaleNode | null) => void): void;
|
|
20
26
|
registerOnTouched(fn: () => void): void;
|
|
21
27
|
setDisabledState(isDisabled: boolean): void;
|
|
28
|
+
labelKey(): string;
|
|
29
|
+
messageKey(): string;
|
|
22
30
|
static ɵfac: i0.ɵɵFactoryDeclaration<RatingScaleComponent, never>;
|
|
23
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RatingScaleComponent, "sdc-rating-scale", never, { "nodes": { "alias": "nodes"; "required": false; }; "startLabel": { "alias": "startLabel"; "required": false; }; "endLabel": { "alias": "endLabel"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, true, never>;
|
|
31
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RatingScaleComponent, "sdc-rating-scale", never, { "nodes": { "alias": "nodes"; "required": false; }; "startLabel": { "alias": "startLabel"; "required": false; }; "endLabel": { "alias": "endLabel"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "label": { "alias": "label"; "required": false; }; "required": { "alias": "required"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "message": { "alias": "message"; "required": false; }; }, {}, never, never, true, never>;
|
|
24
32
|
}
|
|
@@ -12,12 +12,17 @@ export declare class RowCardComponent implements OnChanges {
|
|
|
12
12
|
isExpanded: boolean;
|
|
13
13
|
detailTemplate?: TemplateRef<unknown>;
|
|
14
14
|
infoTooltip: string | null;
|
|
15
|
+
infoTooltipAllowHtml: boolean;
|
|
15
16
|
statusTooltip: string | null;
|
|
17
|
+
statusTooltipAllowHtml: boolean;
|
|
18
|
+
buttonLoading: boolean;
|
|
19
|
+
get isButtonLoading(): boolean;
|
|
16
20
|
cardClick: EventEmitter<RowCard>;
|
|
17
21
|
cardButtonClick: EventEmitter<RowCard>;
|
|
18
22
|
contentWrapper?: ElementRef<HTMLDivElement>;
|
|
19
23
|
protected readonly isMobile: boolean;
|
|
20
24
|
get expanded(): boolean;
|
|
25
|
+
get titleEllipsis(): boolean;
|
|
21
26
|
get leftTitleText(): string;
|
|
22
27
|
get leftSubtitleText(): string;
|
|
23
28
|
get rightTitleText(): string;
|
|
@@ -40,5 +45,5 @@ export declare class RowCardComponent implements OnChanges {
|
|
|
40
45
|
onKeyboardActivate(event: KeyboardEvent): void;
|
|
41
46
|
private translateLabel;
|
|
42
47
|
static ɵfac: i0.ɵɵFactoryDeclaration<RowCardComponent, never>;
|
|
43
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RowCardComponent, "sdc-row-card", never, { "data": { "alias": "data"; "required": false; }; "options": { "alias": "options"; "required": false; }; "isExpanded": { "alias": "isExpanded"; "required": false; }; "detailTemplate": { "alias": "detailTemplate"; "required": false; }; "infoTooltip": { "alias": "infoTooltip"; "required": false; }; "statusTooltip": { "alias": "statusTooltip"; "required": false; }; }, { "cardClick": "cardClick"; "cardButtonClick": "cardButtonClick"; }, never, never, true, never>;
|
|
48
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RowCardComponent, "sdc-row-card", never, { "data": { "alias": "data"; "required": false; }; "options": { "alias": "options"; "required": false; }; "isExpanded": { "alias": "isExpanded"; "required": false; }; "detailTemplate": { "alias": "detailTemplate"; "required": false; }; "infoTooltip": { "alias": "infoTooltip"; "required": false; }; "infoTooltipAllowHtml": { "alias": "infoTooltipAllowHtml"; "required": false; }; "statusTooltip": { "alias": "statusTooltip"; "required": false; }; "statusTooltipAllowHtml": { "alias": "statusTooltipAllowHtml"; "required": false; }; "buttonLoading": { "alias": "buttonLoading"; "required": false; }; }, { "cardClick": "cardClick"; "cardButtonClick": "cardButtonClick"; }, never, never, true, never>;
|
|
44
49
|
}
|
|
@@ -6,12 +6,14 @@ export declare class RowCardListComponent implements OnChanges, DoCheck {
|
|
|
6
6
|
data: RowCard[];
|
|
7
7
|
set loading(value: boolean);
|
|
8
8
|
config: RowCardListOptions;
|
|
9
|
+
set loadingCardId(value: string | null);
|
|
9
10
|
cardButtonClick: EventEmitter<RowCard>;
|
|
10
11
|
cardClick: EventEmitter<RowCard>;
|
|
11
12
|
detailTemplate?: TemplateRef<unknown>;
|
|
12
13
|
protected readonly isMobile: boolean;
|
|
13
14
|
protected readonly isTablet: boolean;
|
|
14
15
|
private readonly loadingState;
|
|
16
|
+
private readonly loadingCardIdState;
|
|
15
17
|
protected readonly options: import("@angular/core").WritableSignal<RowCardListOptions>;
|
|
16
18
|
protected readonly emptyTitle: import("@angular/core").Signal<string>;
|
|
17
19
|
protected readonly emptyText: import("@angular/core").Signal<string>;
|
|
@@ -31,6 +33,7 @@ export declare class RowCardListComponent implements OnChanges, DoCheck {
|
|
|
31
33
|
ngOnChanges(changes: SimpleChanges): void;
|
|
32
34
|
ngDoCheck(): void;
|
|
33
35
|
protected isLoading(): boolean;
|
|
36
|
+
protected isCardButtonLoading(card: RowCard): boolean;
|
|
34
37
|
protected onChangePaginator(event: PaginatorState): void;
|
|
35
38
|
protected nextPage(): void;
|
|
36
39
|
protected prevPage(): void;
|
|
@@ -39,5 +42,5 @@ export declare class RowCardListComponent implements OnChanges, DoCheck {
|
|
|
39
42
|
private resolveRows;
|
|
40
43
|
private applyConfigOptions;
|
|
41
44
|
static ɵfac: i0.ɵɵFactoryDeclaration<RowCardListComponent, never>;
|
|
42
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RowCardListComponent, "sdc-row-card-list", never, { "data": { "alias": "data"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "config": { "alias": "config"; "required": false; }; }, { "cardButtonClick": "cardButtonClick"; "cardClick": "cardClick"; }, ["detailTemplate"], never, true, never>;
|
|
45
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RowCardListComponent, "sdc-row-card-list", never, { "data": { "alias": "data"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "config": { "alias": "config"; "required": false; }; "loadingCardId": { "alias": "loadingCardId"; "required": false; }; }, { "cardButtonClick": "cardButtonClick"; "cardClick": "cardClick"; }, ["detailTemplate"], never, true, never>;
|
|
43
46
|
}
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
import { ControlValueAccessor } from '@angular/forms';
|
|
2
2
|
import { EventEmitter, ChangeDetectorRef } from '@angular/core';
|
|
3
3
|
import { SelectButtonItem } from '../../core/types/select-button.type';
|
|
4
|
+
import type { StringBoolean } from '../../core/types/semantics.type';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export declare class SelectButtonComponent implements ControlValueAccessor {
|
|
6
7
|
private readonly cdr;
|
|
7
8
|
items: SelectButtonItem[];
|
|
8
9
|
multiple: boolean;
|
|
9
10
|
appearance: 'default' | 'pills' | 'soft';
|
|
11
|
+
label: StringBoolean;
|
|
12
|
+
required: boolean;
|
|
13
|
+
invalid: boolean;
|
|
14
|
+
message: StringBoolean;
|
|
15
|
+
protected readonly groupLabelId: string;
|
|
10
16
|
compareWith: (a: SelectButtonItem, b: SelectButtonItem) => boolean;
|
|
11
17
|
itemSelected: EventEmitter<SelectButtonItem<unknown>[]>;
|
|
12
18
|
itemClicked: EventEmitter<SelectButtonItem<unknown>>;
|
|
@@ -24,6 +30,8 @@ export declare class SelectButtonComponent implements ControlValueAccessor {
|
|
|
24
30
|
trackByIndex: (i: number) => number;
|
|
25
31
|
getItemStateAriaLabelKey(item: SelectButtonItem): string;
|
|
26
32
|
onKeyboardActivate(event: KeyboardEvent, item: SelectButtonItem): void;
|
|
33
|
+
labelKey(): string;
|
|
34
|
+
messageKey(): string;
|
|
27
35
|
private _addByRef;
|
|
28
36
|
private _deleteByCompare;
|
|
29
37
|
private _asArray;
|
|
@@ -34,5 +42,5 @@ export declare class SelectButtonComponent implements ControlValueAccessor {
|
|
|
34
42
|
private _isArrayTypeEqual;
|
|
35
43
|
private _areKeysDeepEqual;
|
|
36
44
|
static ɵfac: i0.ɵɵFactoryDeclaration<SelectButtonComponent, never>;
|
|
37
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SelectButtonComponent, "sdc-select-button", never, { "items": { "alias": "items"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; }, { "itemSelected": "itemSelected"; "itemClicked": "itemClicked"; }, never, never, true, never>;
|
|
45
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SelectButtonComponent, "sdc-select-button", never, { "items": { "alias": "items"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "label": { "alias": "label"; "required": false; }; "required": { "alias": "required"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "message": { "alias": "message"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "itemSelected": "itemSelected"; "itemClicked": "itemClicked"; }, never, never, true, never>;
|
|
38
46
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { EventEmitter } from '@angular/core';
|
|
2
2
|
import { ControlValueAccessor } from '@angular/forms';
|
|
3
|
+
import type { StringBoolean } from '../../core/types/semantics.type';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export declare class StarRatingComponent implements ControlValueAccessor {
|
|
5
6
|
private readonly cdr;
|
|
@@ -8,6 +9,11 @@ export declare class StarRatingComponent implements ControlValueAccessor {
|
|
|
8
9
|
maxStars: number;
|
|
9
10
|
disabled: boolean;
|
|
10
11
|
ariaLabel?: string;
|
|
12
|
+
label: StringBoolean;
|
|
13
|
+
required: boolean;
|
|
14
|
+
invalid: boolean;
|
|
15
|
+
message: StringBoolean;
|
|
16
|
+
protected readonly groupLabelId: string;
|
|
11
17
|
valueChange: EventEmitter<number>;
|
|
12
18
|
private onChangeFn;
|
|
13
19
|
private onTouchedFn;
|
|
@@ -21,6 +27,8 @@ export declare class StarRatingComponent implements ControlValueAccessor {
|
|
|
21
27
|
registerOnChange(fn: (value: number) => void): void;
|
|
22
28
|
registerOnTouched(fn: () => void): void;
|
|
23
29
|
setDisabledState(isDisabled: boolean): void;
|
|
30
|
+
labelKey(): string;
|
|
31
|
+
messageKey(): string;
|
|
24
32
|
static ɵfac: i0.ɵɵFactoryDeclaration<StarRatingComponent, never>;
|
|
25
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<StarRatingComponent, "sdc-star-rating", never, { "value": { "alias": "value"; "required": false; }; "maxStars": { "alias": "maxStars"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
|
|
33
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<StarRatingComponent, "sdc-star-rating", never, { "value": { "alias": "value"; "required": false; }; "maxStars": { "alias": "maxStars"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "label": { "alias": "label"; "required": false; }; "required": { "alias": "required"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "message": { "alias": "message"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
|
|
26
34
|
}
|
|
@@ -41,6 +41,7 @@ export declare class TableComponent<T extends RowBase = RowBase> implements Afte
|
|
|
41
41
|
row: T;
|
|
42
42
|
value: unknown;
|
|
43
43
|
}>;
|
|
44
|
+
rowClick: EventEmitter<T>;
|
|
44
45
|
lazyLoad: EventEmitter<{
|
|
45
46
|
first: number;
|
|
46
47
|
rows: number;
|
|
@@ -141,5 +142,5 @@ export declare class TableComponent<T extends RowBase = RowBase> implements Afte
|
|
|
141
142
|
private nextActionsMenuId;
|
|
142
143
|
private focusClosedMenuTarget;
|
|
143
144
|
static ɵfac: i0.ɵɵFactoryDeclaration<TableComponent<any>, never>;
|
|
144
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TableComponent<any>, "sdc-table", never, { "cols": { "alias": "cols"; "required": true; }; "data": { "alias": "data"; "required": true; }; "loading": { "alias": "loading"; "required": false; }; "config": { "alias": "config"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; }, { "action": "action"; "lazyLoad": "lazyLoad"; "selectionChange": "selectionChange"; }, never, never, true, never>;
|
|
145
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TableComponent<any>, "sdc-table", never, { "cols": { "alias": "cols"; "required": true; }; "data": { "alias": "data"; "required": true; }; "loading": { "alias": "loading"; "required": false; }; "config": { "alias": "config"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; }, { "action": "action"; "rowClick": "rowClick"; "lazyLoad": "lazyLoad"; "selectionChange": "selectionChange"; }, never, never, true, never>;
|
|
145
146
|
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { ThumbnailSize } from '../../core/types/thumbnail.type';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* @description Miniatura circular (avatar) com suporte a imagem principal, imagem de
|
|
5
|
+
* fallback, ícone de fallback, ícone de ação sobreposto e tamanhos predefinidos.
|
|
6
|
+
*
|
|
7
|
+
* Cascata de exibição: `imageSource` → (erro) → `imageFallback` → (erro) → ícone padrão.
|
|
8
|
+
* Sem imagem alguma, exibe o ícone configurado em `iconClass`.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```html
|
|
12
|
+
* <sdc-thumbnail
|
|
13
|
+
* [imageSource]="urlDaImagem"
|
|
14
|
+
* size="large"
|
|
15
|
+
* iconClass="fas fa-user" />
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare class ThumbnailComponent {
|
|
19
|
+
/** @description Identificador único do componente no DOM. Gerado automaticamente se não informado. */
|
|
20
|
+
id: string;
|
|
21
|
+
/** @description Tamanho da miniatura. @default 'medium' */
|
|
22
|
+
size: ThumbnailSize;
|
|
23
|
+
/** @description URL da imagem principal. */
|
|
24
|
+
imageSource?: string;
|
|
25
|
+
/** @description URL da imagem de fallback exibida quando a principal falha ao carregar. */
|
|
26
|
+
imageFallback: string | null;
|
|
27
|
+
/** @description Texto alternativo (atributo `alt`) da imagem. */
|
|
28
|
+
imageAlt?: string;
|
|
29
|
+
/** @description Classe do ícone exibido quando não há imagem disponível. @default 'far fa-image' */
|
|
30
|
+
iconClass: string;
|
|
31
|
+
/** @description Habilita a exibição de um ícone de ação sobreposto. @default false */
|
|
32
|
+
hasAction: boolean;
|
|
33
|
+
/** @description Classe do ícone de ação. @default 'fas fa-camera' */
|
|
34
|
+
actionIconClass: string;
|
|
35
|
+
/** @description Aplica estilo de tile à imagem (altura fixa de 40px). @default false */
|
|
36
|
+
isTile: boolean;
|
|
37
|
+
/** @description Aplica estilo de marca (retangular, sem borda arredondada). @default false */
|
|
38
|
+
isBrand: boolean;
|
|
39
|
+
protected fallback: boolean;
|
|
40
|
+
protected readonly fallbackIconClass = "far fa-image";
|
|
41
|
+
protected get imageWidth(): number;
|
|
42
|
+
protected get imageHeight(): number;
|
|
43
|
+
protected get altText(): string | undefined;
|
|
44
|
+
protected onImageError(): void;
|
|
45
|
+
protected onFallbackImageError(): void;
|
|
46
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ThumbnailComponent, never>;
|
|
47
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ThumbnailComponent, "sdc-thumbnail", never, { "id": { "alias": "id"; "required": false; }; "size": { "alias": "size"; "required": false; }; "imageSource": { "alias": "imageSource"; "required": false; }; "imageFallback": { "alias": "imageFallback"; "required": false; }; "imageAlt": { "alias": "imageAlt"; "required": false; }; "iconClass": { "alias": "iconClass"; "required": false; }; "hasAction": { "alias": "hasAction"; "required": false; }; "actionIconClass": { "alias": "actionIconClass"; "required": false; }; "isTile": { "alias": "isTile"; "required": false; }; "isBrand": { "alias": "isBrand"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
48
|
+
}
|