@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
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewEncapsulation, forwardRef, inject } from '@angular/core';
|
|
3
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
5
|
+
import { NAVIGATION_BUTTON_NEXT_ARIA_LABEL_KEY, NAVIGATION_BUTTON_OPEN_MENU_ARIA_LABEL_KEY, NAVIGATION_BUTTON_PREVIOUS_ARIA_LABEL_KEY } from '../../core/constants/navigation-button.const';
|
|
6
|
+
import { TieredMenuDirective } from '../tiered-menu/directives/tiered-menu.directive';
|
|
7
|
+
import { TooltipComponent } from '../tooltip/tooltip.component';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@ngx-translate/core";
|
|
10
|
+
/**
|
|
11
|
+
* @description Componente de navegação por etapas que exibe o estado atual (step)
|
|
12
|
+
* com suporte a avanço, retrocesso e seleção direta via menu suspenso (`TieredMenu`).
|
|
13
|
+
* Implementa `ControlValueAccessor` para integração com formulários Angular reativos/template-driven.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```html
|
|
17
|
+
* <sdc-navigation-button
|
|
18
|
+
* [steps]="steps"
|
|
19
|
+
* (stepChanged)="onStepChanged($event)" />
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export class NavigationButtonComponent {
|
|
23
|
+
cdr = inject(ChangeDetectorRef);
|
|
24
|
+
/** @description Lista de etapas de navegação. Campo obrigatório. */
|
|
25
|
+
steps;
|
|
26
|
+
/** @description Valor padrão a ser selecionado ao inicializar o componente. */
|
|
27
|
+
defaultValue;
|
|
28
|
+
/** @description Texto exibido no tooltip do botão principal, quando o step atual não define o próprio tooltip. */
|
|
29
|
+
tooltip;
|
|
30
|
+
/** @description Quando `true`, emite `stepChanged` durante a inicialização com a etapa atual. @default false */
|
|
31
|
+
changeOnInit = false;
|
|
32
|
+
/** @description Emitido quando o usuário navega para uma nova etapa, com informações da etapa anterior e atual. */
|
|
33
|
+
stepChanged = new EventEmitter();
|
|
34
|
+
currentIndex = 0;
|
|
35
|
+
disabled = false;
|
|
36
|
+
tieredMenuItems = [];
|
|
37
|
+
previousAriaLabelKey = NAVIGATION_BUTTON_PREVIOUS_ARIA_LABEL_KEY;
|
|
38
|
+
nextAriaLabelKey = NAVIGATION_BUTTON_NEXT_ARIA_LABEL_KEY;
|
|
39
|
+
openMenuAriaLabelKey = NAVIGATION_BUTTON_OPEN_MENU_ARIA_LABEL_KEY;
|
|
40
|
+
onChangeFn = () => { };
|
|
41
|
+
onTouchedFn = () => { };
|
|
42
|
+
value;
|
|
43
|
+
get currentStep() {
|
|
44
|
+
return this.steps?.[this.currentIndex];
|
|
45
|
+
}
|
|
46
|
+
get currentTooltip() {
|
|
47
|
+
return this.currentStep?.tooltip ?? this.tooltip ?? null;
|
|
48
|
+
}
|
|
49
|
+
get isFirst() {
|
|
50
|
+
return this.currentIndex === 0;
|
|
51
|
+
}
|
|
52
|
+
get isLast() {
|
|
53
|
+
return !this.steps?.length || this.currentIndex === this.steps.length - 1;
|
|
54
|
+
}
|
|
55
|
+
ngOnInit() {
|
|
56
|
+
this.buildTieredMenuItems();
|
|
57
|
+
if (this.changeOnInit && this.currentStep) {
|
|
58
|
+
this.stepChanged.emit({ previous: null, current: this.currentStep });
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
ngAfterViewInit() {
|
|
62
|
+
this.applyDefaultValue();
|
|
63
|
+
}
|
|
64
|
+
writeValue(value) {
|
|
65
|
+
this.value = value;
|
|
66
|
+
this.currentIndex = this.findIndexByValue(this.value);
|
|
67
|
+
this.cdr.markForCheck();
|
|
68
|
+
}
|
|
69
|
+
registerOnChange(fn) {
|
|
70
|
+
this.onChangeFn = fn;
|
|
71
|
+
}
|
|
72
|
+
registerOnTouched(fn) {
|
|
73
|
+
this.onTouchedFn = fn;
|
|
74
|
+
}
|
|
75
|
+
setDisabledState(isDisabled) {
|
|
76
|
+
this.disabled = isDisabled;
|
|
77
|
+
this.cdr.markForCheck();
|
|
78
|
+
}
|
|
79
|
+
onPrevious() {
|
|
80
|
+
if (this.disabled) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
const previous = this.currentStep ?? null;
|
|
84
|
+
if (this.currentIndex > 0) {
|
|
85
|
+
this.currentIndex--;
|
|
86
|
+
this.notifyStepChange(previous);
|
|
87
|
+
}
|
|
88
|
+
this.onTouchedFn();
|
|
89
|
+
}
|
|
90
|
+
onNext() {
|
|
91
|
+
if (this.disabled) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const previous = this.currentStep ?? null;
|
|
95
|
+
if (this.currentIndex < (this.steps?.length ?? 0) - 1) {
|
|
96
|
+
this.currentIndex++;
|
|
97
|
+
this.notifyStepChange(previous);
|
|
98
|
+
}
|
|
99
|
+
this.onTouchedFn();
|
|
100
|
+
}
|
|
101
|
+
notifyStepChange(previous) {
|
|
102
|
+
const current = this.currentStep;
|
|
103
|
+
if (!current) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
this.onChangeFn(current.value);
|
|
107
|
+
this.stepChanged.emit({ previous, current });
|
|
108
|
+
this.cdr.markForCheck();
|
|
109
|
+
}
|
|
110
|
+
applyDefaultValue() {
|
|
111
|
+
if (!this.defaultValue) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
this.value = this.defaultValue;
|
|
115
|
+
this.currentIndex = this.findIndexByValue(this.value);
|
|
116
|
+
if (this.currentStep) {
|
|
117
|
+
this.stepChanged.emit({ previous: null, current: this.currentStep });
|
|
118
|
+
}
|
|
119
|
+
this.cdr.detectChanges();
|
|
120
|
+
}
|
|
121
|
+
findIndexByValue(value) {
|
|
122
|
+
const index = this.steps?.findIndex((step) => step.value === value) ?? -1;
|
|
123
|
+
return index !== -1 ? index : 0;
|
|
124
|
+
}
|
|
125
|
+
buildTieredMenuItems() {
|
|
126
|
+
this.tieredMenuItems = (this.steps ?? []).map((step) => ({
|
|
127
|
+
label: step.label,
|
|
128
|
+
command: () => this.selectStep(step)
|
|
129
|
+
}));
|
|
130
|
+
}
|
|
131
|
+
selectStep(step) {
|
|
132
|
+
const index = this.steps.findIndex((candidate) => candidate === step);
|
|
133
|
+
if (index !== -1 && index !== this.currentIndex) {
|
|
134
|
+
const previous = this.currentStep ?? null;
|
|
135
|
+
this.currentIndex = index;
|
|
136
|
+
this.onChangeFn(step.value);
|
|
137
|
+
this.stepChanged.emit({ previous, current: step });
|
|
138
|
+
}
|
|
139
|
+
this.onTouchedFn();
|
|
140
|
+
this.cdr.markForCheck();
|
|
141
|
+
}
|
|
142
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NavigationButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
143
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: NavigationButtonComponent, isStandalone: true, selector: "sdc-navigation-button", inputs: { steps: "steps", defaultValue: "defaultValue", tooltip: "tooltip", changeOnInit: "changeOnInit" }, outputs: { stepChanged: "stepChanged" }, providers: [
|
|
144
|
+
{
|
|
145
|
+
provide: NG_VALUE_ACCESSOR,
|
|
146
|
+
useExisting: forwardRef(() => NavigationButtonComponent),
|
|
147
|
+
multi: true
|
|
148
|
+
}
|
|
149
|
+
], ngImport: i0, template: "<div\n class=\"sdc-navigation-button\"\n [class.sdc-navigation-button--disabled]=\"disabled\"\n>\n <button\n type=\"button\"\n class=\"sdc-navigation-button__option sdc-navigation-button__option--previous\"\n [class.sdc-navigation-button__option--disabled]=\"isFirst\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"isFirst ? 'true' : null\"\n [attr.aria-label]=\"previousAriaLabelKey | translate\"\n (click)=\"onPrevious()\"\n >\n <i class=\"fas fa-chevron-left\" aria-hidden=\"true\"></i>\n </button>\n\n <sdc-tooltip\n class=\"sdc-navigation-button__step-tooltip\"\n [pTooltip]=\"currentTooltip\"\n [tooltipDisabled]=\"!currentTooltip\"\n >\n <button\n type=\"button\"\n class=\"sdc-navigation-button__step\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"openMenuAriaLabelKey | translate\"\n [sdcTieredMenu]=\"tieredMenuItems\"\n [focusedItem]=\"tieredMenuItems[currentIndex]\"\n [ariaLabel]=\"openMenuAriaLabelKey | translate\"\n >\n {{ (currentStep?.label ?? '') | translate }}\n </button>\n </sdc-tooltip>\n\n <button\n type=\"button\"\n class=\"sdc-navigation-button__option sdc-navigation-button__option--next\"\n [class.sdc-navigation-button__option--disabled]=\"isLast\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"isLast ? 'true' : null\"\n [attr.aria-label]=\"nextAriaLabelKey | translate\"\n (click)=\"onNext()\"\n >\n <i class=\"fas fa-chevron-right\" aria-hidden=\"true\"></i>\n </button>\n</div>\n", styles: [":host{display:inline-block}.sdc-navigation-button{--sdc-navigation-button-bg: #428bca;--sdc-navigation-button-color: #fff;--sdc-navigation-button-hover-bg: #063951;--sdc-navigation-button-radius: 16px;--sdc-navigation-button-font-size: 14px;--sdc-navigation-button-font-family: \"Open Sans\", sans-serif;--sdc-navigation-button-option-padding: 8px 12px;--sdc-navigation-button-step-padding: 8px 16px;--sdc-navigation-button-disabled-opacity: .5;display:inline-flex;font-family:var(--sdc-navigation-button-font-family)}.sdc-navigation-button--disabled{opacity:var(--sdc-navigation-button-disabled-opacity)}.sdc-navigation-button__option{background-color:var(--sdc-navigation-button-bg);border:none;color:var(--sdc-navigation-button-color);cursor:pointer;font-family:inherit;padding:var(--sdc-navigation-button-option-padding)}.sdc-navigation-button__option--previous{border-radius:var(--sdc-navigation-button-radius) 0 0 var(--sdc-navigation-button-radius)}.sdc-navigation-button__option--next{border-radius:0 var(--sdc-navigation-button-radius) var(--sdc-navigation-button-radius) 0}.sdc-navigation-button__option--disabled{opacity:var(--sdc-navigation-button-disabled-opacity)}.sdc-navigation-button__step-tooltip{display:inline-flex}.sdc-navigation-button__step{background-color:var(--sdc-navigation-button-bg);border:none;color:var(--sdc-navigation-button-color);cursor:pointer;font-family:inherit;font-size:var(--sdc-navigation-button-font-size);padding:var(--sdc-navigation-button-step-padding);text-align:center}.sdc-navigation-button__option:disabled{cursor:not-allowed}.sdc-navigation-button__step:disabled{cursor:not-allowed}.sdc-navigation-button__option:not(.sdc-navigation-button__option--disabled):hover{background-color:var(--sdc-navigation-button-hover-bg)}.sdc-navigation-button:not(.sdc-navigation-button--disabled) .sdc-navigation-button__step:hover{background-color:var(--sdc-navigation-button-hover-bg)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: TieredMenuDirective, selector: "[sdcTieredMenu],[sTieredMenu]", inputs: ["items", "focusedItem", "triggerEvent", "ariaLabel", "sdcTieredMenu", "sTieredMenu"], outputs: ["tieredMenuOpened", "tieredMenuClosed"] }, { kind: "component", type: TooltipComponent, selector: "sdc-tooltip", inputs: ["pTooltip", "tooltipPosition", "tooltipEvent", "fitContent", "tooltipDisabled", "allowHtml"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
150
|
+
}
|
|
151
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NavigationButtonComponent, decorators: [{
|
|
152
|
+
type: Component,
|
|
153
|
+
args: [{ selector: 'sdc-navigation-button', standalone: true, imports: [CommonModule, TranslateModule, TieredMenuDirective, TooltipComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, providers: [
|
|
154
|
+
{
|
|
155
|
+
provide: NG_VALUE_ACCESSOR,
|
|
156
|
+
useExisting: forwardRef(() => NavigationButtonComponent),
|
|
157
|
+
multi: true
|
|
158
|
+
}
|
|
159
|
+
], template: "<div\n class=\"sdc-navigation-button\"\n [class.sdc-navigation-button--disabled]=\"disabled\"\n>\n <button\n type=\"button\"\n class=\"sdc-navigation-button__option sdc-navigation-button__option--previous\"\n [class.sdc-navigation-button__option--disabled]=\"isFirst\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"isFirst ? 'true' : null\"\n [attr.aria-label]=\"previousAriaLabelKey | translate\"\n (click)=\"onPrevious()\"\n >\n <i class=\"fas fa-chevron-left\" aria-hidden=\"true\"></i>\n </button>\n\n <sdc-tooltip\n class=\"sdc-navigation-button__step-tooltip\"\n [pTooltip]=\"currentTooltip\"\n [tooltipDisabled]=\"!currentTooltip\"\n >\n <button\n type=\"button\"\n class=\"sdc-navigation-button__step\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"openMenuAriaLabelKey | translate\"\n [sdcTieredMenu]=\"tieredMenuItems\"\n [focusedItem]=\"tieredMenuItems[currentIndex]\"\n [ariaLabel]=\"openMenuAriaLabelKey | translate\"\n >\n {{ (currentStep?.label ?? '') | translate }}\n </button>\n </sdc-tooltip>\n\n <button\n type=\"button\"\n class=\"sdc-navigation-button__option sdc-navigation-button__option--next\"\n [class.sdc-navigation-button__option--disabled]=\"isLast\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"isLast ? 'true' : null\"\n [attr.aria-label]=\"nextAriaLabelKey | translate\"\n (click)=\"onNext()\"\n >\n <i class=\"fas fa-chevron-right\" aria-hidden=\"true\"></i>\n </button>\n</div>\n", styles: [":host{display:inline-block}.sdc-navigation-button{--sdc-navigation-button-bg: #428bca;--sdc-navigation-button-color: #fff;--sdc-navigation-button-hover-bg: #063951;--sdc-navigation-button-radius: 16px;--sdc-navigation-button-font-size: 14px;--sdc-navigation-button-font-family: \"Open Sans\", sans-serif;--sdc-navigation-button-option-padding: 8px 12px;--sdc-navigation-button-step-padding: 8px 16px;--sdc-navigation-button-disabled-opacity: .5;display:inline-flex;font-family:var(--sdc-navigation-button-font-family)}.sdc-navigation-button--disabled{opacity:var(--sdc-navigation-button-disabled-opacity)}.sdc-navigation-button__option{background-color:var(--sdc-navigation-button-bg);border:none;color:var(--sdc-navigation-button-color);cursor:pointer;font-family:inherit;padding:var(--sdc-navigation-button-option-padding)}.sdc-navigation-button__option--previous{border-radius:var(--sdc-navigation-button-radius) 0 0 var(--sdc-navigation-button-radius)}.sdc-navigation-button__option--next{border-radius:0 var(--sdc-navigation-button-radius) var(--sdc-navigation-button-radius) 0}.sdc-navigation-button__option--disabled{opacity:var(--sdc-navigation-button-disabled-opacity)}.sdc-navigation-button__step-tooltip{display:inline-flex}.sdc-navigation-button__step{background-color:var(--sdc-navigation-button-bg);border:none;color:var(--sdc-navigation-button-color);cursor:pointer;font-family:inherit;font-size:var(--sdc-navigation-button-font-size);padding:var(--sdc-navigation-button-step-padding);text-align:center}.sdc-navigation-button__option:disabled{cursor:not-allowed}.sdc-navigation-button__step:disabled{cursor:not-allowed}.sdc-navigation-button__option:not(.sdc-navigation-button__option--disabled):hover{background-color:var(--sdc-navigation-button-hover-bg)}.sdc-navigation-button:not(.sdc-navigation-button--disabled) .sdc-navigation-button__step:hover{background-color:var(--sdc-navigation-button-hover-bg)}\n"] }]
|
|
160
|
+
}], propDecorators: { steps: [{
|
|
161
|
+
type: Input,
|
|
162
|
+
args: [{ required: true }]
|
|
163
|
+
}], defaultValue: [{
|
|
164
|
+
type: Input
|
|
165
|
+
}], tooltip: [{
|
|
166
|
+
type: Input
|
|
167
|
+
}], changeOnInit: [{
|
|
168
|
+
type: Input
|
|
169
|
+
}], stepChanged: [{
|
|
170
|
+
type: Output
|
|
171
|
+
}] } });
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9uYXZpZ2F0aW9uLWJ1dHRvbi9uYXZpZ2F0aW9uLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL25hdmlnYXRpb24tYnV0dG9uL25hdmlnYXRpb24tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQ0wscUNBQXFDLEVBQ3JDLDBDQUEwQyxFQUMxQyx5Q0FBeUMsRUFDMUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUd0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUN0RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBRWhFOzs7Ozs7Ozs7OztHQVdHO0FBaUJILE1BQU0sT0FBTyx5QkFBeUI7SUFDbkIsR0FBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRWpELG9FQUFvRTtJQUN6QyxLQUFLLENBQTBCO0lBRTFELCtFQUErRTtJQUN0RSxZQUFZLENBQVU7SUFFL0Isa0hBQWtIO0lBQ3pHLE9BQU8sQ0FBVTtJQUUxQixnSEFBZ0g7SUFDdkcsWUFBWSxHQUFH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QyxDQUFDO1FBQ3JELENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO3dHQTlKVSx5QkFBeUI7NEZBQXpCLHlCQUF5Qix5TkFSekI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDO2dCQUN4RCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJDckRILHlnREE4Q0EsODdEREpZLFlBQVksOEJBQUUsZUFBZSw0RkFBRSxtQkFBbUIsNE5BQUUsZ0JBQWdCOzs0RkFhbkUseUJBQXlCO2tCQWhCckMsU0FBUzsrQkFDRSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsQ0FBQyxtQkFHOUQsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsUUFBUSxhQUM5Qjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwwQkFBMEIsQ0FBQzs0QkFDeEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEJBTTBCLEtBQUs7c0JBQS9CLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUdoQixZQUFZO3NCQUFwQixLQUFLO2dCQUdHLE9BQU87c0JBQWYsS0FBSztnQkFHRyxZQUFZO3NCQUFwQixLQUFLO2dCQUdJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgZm9yd2FyZFJlZixcbiAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7XG4gIE5BVklHQVRJT05fQlVUVE9OX05FWFRfQVJJQV9MQUJFTF9LRVksXG4gIE5BVklHQVRJT05fQlVUVE9OX09QRU5fTUVOVV9BUklBX0xBQkVMX0tFWSxcbiAgTkFWSUdBVElPTl9CVVRUT05fUFJFVklPVVNfQVJJQV9MQUJFTF9LRVlcbn0gZnJvbSAnLi4vLi4vY29yZS9jb25zdGFudHMvbmF2aWdhdGlvbi1idXR0b24uY29uc3QnO1xuaW1wb3J0IHR5cGUgeyBOYXZpZ2F0aW9uQnV0dG9uSXRlbSwgTmF2aWdhdGlvbkJ1dHRvblN0ZXBDaGFuZ2VkSW5mbyB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvbmF2aWdhdGlvbi1idXR0b24udHlwZSc7XG5pbXBvcnQgdHlwZSB7IFRpZXJlZE1lbnVJdGVtRGF0YSB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvdGllcmVkLW1lbnUudHlwZSc7XG5pbXBvcnQgeyBUaWVyZWRNZW51RGlyZWN0aXZlIH0gZnJvbSAnLi4vdGllcmVkLW1lbnUvZGlyZWN0aXZlcy90aWVyZWQtbWVudS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDb21wb25lbnRlIGRlIG5hdmVnYcOnw6NvIHBvciBldGFwYXMgcXVlIGV4aWJlIG8gZXN0YWRvIGF0dWFsIChzdGVwKVxuICogY29tIHN1cG9ydGUgYSBhdmFuw6dvLCByZXRyb2Nlc3NvIGUgc2VsZcOnw6NvIGRpcmV0YSB2aWEgbWVudSBzdXNwZW5zbyAoYFRpZXJlZE1lbnVgKS5cbiAqIEltcGxlbWVudGEgYENvbnRyb2xWYWx1ZUFjY2Vzc29yYCBwYXJhIGludGVncmHDp8OjbyBjb20gZm9ybXVsw6FyaW9zIEFuZ3VsYXIgcmVhdGl2b3MvdGVtcGxhdGUtZHJpdmVuLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8c2RjLW5hdmlnYXRpb24tYnV0dG9uXG4gKiAgIFtzdGVwc109XCJzdGVwc1wiXG4gKiAgIChzdGVwQ2hhbmdlZCk9XCJvblN0ZXBDaGFuZ2VkKCRldmVudClcIiAvPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1uYXZpZ2F0aW9uLWJ1dHRvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgVGllcmVkTWVudURpcmVjdGl2ZSwgVG9vbHRpcENvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXZpZ2F0aW9uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9uYXZpZ2F0aW9uLWJ1dHRvbi5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBOYXZpZ2F0aW9uQnV0dG9uQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25CdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIC8qKiBAZGVzY3JpcHRpb24gTGlzdGEgZGUgZXRhcGFzIGRlIG5hdmVnYcOnw6NvLiBDYW1wbyBvYnJpZ2F0w7NyaW8uICovXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHN0ZXBzITogTmF2aWdhdGlvbkJ1dHRvbkl0ZW1bXTtcblxuICAvKiogQGRlc2NyaXB0aW9uIFZhbG9yIHBhZHLDo28gYSBzZXIgc2VsZWNpb25hZG8gYW8gaW5pY2lhbGl6YXIgbyBjb21wb25lbnRlLiAqL1xuICBASW5wdXQoKSBkZWZhdWx0VmFsdWU6IHVua25vd247XG5cbiAgLyoqIEBkZXNjcmlwdGlvbiBUZXh0byBleGliaWRvIG5vIHRvb2x0aXAgZG8gYm90w6NvIHByaW5jaXBhbCwgcXVhbmRvIG8gc3RlcCBhdHVhbCBuw6NvIGRlZmluZSBvIHByw7NwcmlvIHRvb2x0aXAuICovXG4gIEBJbnB1dCgpIHRvb2x0aXA/OiBzdHJpbmc7XG5cbiAgLyoqIEBkZXNjcmlwdGlvbiBRdWFuZG8gYHRydWVgLCBlbWl0ZSBgc3RlcENoYW5nZWRgIGR1cmFudGUgYSBpbmljaWFsaXphw6fDo28gY29tIGEgZXRhcGEgYXR1YWwuIEBkZWZhdWx0IGZhbHNlICovXG4gIEBJbnB1dCgpIGNoYW5nZU9uSW5pdCA9IGZhbHNlO1xuXG4gIC8qKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBxdWFuZG8gbyB1c3XDoXJpbyBuYXZlZ2EgcGFyYSB1bWEgbm92YSBldGFwYSwgY29tIGluZm9ybWHDp8O1ZXMgZGEgZXRhcGEgYW50ZXJpb3IgZSBhdHVhbC4gKi9cbiAgQE91dHB1dCgpIHN0ZXBDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxOYXZpZ2F0aW9uQnV0dG9uU3RlcENoYW5nZWRJbmZvPigpO1xuXG4gIGN1cnJlbnRJbmRleCA9IDA7XG4gIGRpc2FibGVkID0gZmFsc2U7XG4gIHRpZXJlZE1lbnVJdGVtczogVGllcmVkTWVudUl0ZW1EYXRhW10gPSBbXTtcblxuICByZWFkb25seSBwcmV2aW91c0FyaWFMYWJlbEtleSA9IE5BVklHQVRJT05fQlVUVE9OX1BSRVZJT1VTX0FSSUFfTEFCRUxfS0VZO1xuICByZWFkb25seSBuZXh0QXJpYUxhYmVsS2V5ID0gTkFWSUdBVElPTl9CVVRUT05fTkVYVF9BUklBX0xBQkVMX0tFWTtcbiAgcmVhZG9ubHkgb3Blbk1lbnVBcmlhTGFiZWxLZXkgPSBOQVZJR0FUSU9OX0JVVFRPTl9PUEVOX01FTlVfQVJJQV9MQUJFTF9LRVk7XG5cbiAgcHJpdmF0ZSBvbkNoYW5nZUZuOiAodmFsdWU6IHVua25vd24pID0+IHZvaWQgPSAoKSA9PiB7IH07XG4gIHByaXZhdGUgb25Ub3VjaGVkRm46ICgpID0+IHZvaWQgPSAoKSA9PiB7IH07XG4gIHByaXZhdGUgdmFsdWU6IHVua25vd247XG5cbiAgZ2V0IGN1cnJlbnRTdGVwKCk6IE5hdmlnYXRpb25CdXR0b25JdGVtIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5zdGVwcz8uW3RoaXMuY3VycmVudEluZGV4XTtcbiAgfVxuXG4gIGdldCBjdXJyZW50VG9vbHRpcCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50U3RlcD8udG9vbHRpcCA/PyB0aGlzLnRvb2x0aXAgPz8gbnVsbDtcbiAgfVxuXG4gIGdldCBpc0ZpcnN0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRJbmRleCA9PT0gMDtcbiAgfVxuXG4gIGdldCBpc0xhc3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLnN0ZXBzPy5sZW5ndGggfHwgdGhpcy5jdXJyZW50SW5kZXggPT09IHRoaXMuc3RlcHMubGVuZ3RoIC0gMTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYnVpbGRUaWVyZWRNZW51SXRlbXMoKTtcblxuICAgIGlmICh0aGlzLmNoYW5nZU9uSW5pdCAmJiB0aGlzLmN1cnJlbnRTdGVwKSB7XG4gICAgICB0aGlzLnN0ZXBDaGFuZ2VkLmVtaXQoeyBwcmV2aW91czogbnVsbCwgY3VycmVudDogdGhpcy5jdXJyZW50U3RlcCB9KTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hcHBseURlZmF1bHRWYWx1ZSgpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogdW5rbm93bik6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLmN1cnJlbnRJbmRleCA9IHRoaXMuZmluZEluZGV4QnlWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogdW5rbm93bikgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2VGbiA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZEZuID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG9uUHJldmlvdXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwcmV2aW91cyA9IHRoaXMuY3VycmVudFN0ZXAgPz8gbnVsbDtcblxuICAgIGlmICh0aGlzLmN1cnJlbnRJbmRleCA+IDApIHtcbiAgICAgIHRoaXMuY3VycmVudEluZGV4LS07XG4gICAgICB0aGlzLm5vdGlmeVN0ZXBDaGFuZ2UocHJldmlvdXMpO1xuICAgIH1cblxuICAgIHRoaXMub25Ub3VjaGVkRm4oKTtcbiAgfVxuXG4gIG9uTmV4dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHByZXZpb3VzID0gdGhpcy5jdXJyZW50U3RlcCA/PyBudWxsO1xuXG4gICAgaWYgKHRoaXMuY3VycmVudEluZGV4IDwgKHRoaXMuc3RlcHM/Lmxlbmd0aCA/PyAwKSAtIDEpIHtcbiAgICAgIHRoaXMuY3VycmVudEluZGV4Kys7XG4gICAgICB0aGlzLm5vdGlmeVN0ZXBDaGFuZ2UocHJldmlvdXMpO1xuICAgIH1cblxuICAgIHRoaXMub25Ub3VjaGVkRm4oKTtcbiAgfVxuXG4gIHByaXZhdGUgbm90aWZ5U3RlcENoYW5nZShwcmV2aW91czogTmF2aWdhdGlvbkJ1dHRvbkl0ZW0gfCBudWxsKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuY3VycmVudFN0ZXA7XG5cbiAgICBpZiAoIWN1cnJlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm9uQ2hhbmdlRm4oY3VycmVudC52YWx1ZSk7XG4gICAgdGhpcy5zdGVwQ2hhbmdlZC5lbWl0KHsgcHJldmlvdXMsIGN1cnJlbnQgfSk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5RGVmYXVsdFZhbHVlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kZWZhdWx0VmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnZhbHVlID0gdGhpcy5kZWZhdWx0VmFsdWU7XG4gICAgdGhpcy5jdXJyZW50SW5kZXggPSB0aGlzLmZpbmRJbmRleEJ5VmFsdWUodGhpcy52YWx1ZSk7XG5cbiAgICBpZiAodGhpcy5jdXJyZW50U3RlcCkge1xuICAgICAgdGhpcy5zdGVwQ2hhbmdlZC5lbWl0KHsgcHJldmlvdXM6IG51bGwsIGN1cnJlbnQ6IHRoaXMuY3VycmVudFN0ZXAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kSW5kZXhCeVZhbHVlKHZhbHVlOiB1bmtub3duKTogbnVtYmVyIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuc3RlcHM/LmZpbmRJbmRleCgoc3RlcCkgPT4gc3RlcC52YWx1ZSA9PT0gdmFsdWUpID8/IC0xO1xuICAgIHJldHVybiBpbmRleCAhPT0gLTEgPyBpbmRleCA6IDA7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkVGllcmVkTWVudUl0ZW1zKCk6IHZvaWQge1xuICAgIHRoaXMudGllcmVkTWVudUl0ZW1zID0gKHRoaXMuc3RlcHMgPz8gW10pLm1hcCgoc3RlcCkgPT4gKHtcbiAgICAgIGxhYmVsOiBzdGVwLmxhYmVsLFxuICAgICAgY29tbWFuZDogKCkgPT4gdGhpcy5zZWxlY3RTdGVwKHN0ZXApXG4gICAgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RTdGVwKHN0ZXA6IE5hdmlnYXRpb25CdXR0b25JdGVtKTogdm9pZCB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnN0ZXBzLmZpbmRJbmRleCgoY2FuZGlkYXRlKSA9PiBjYW5kaWRhdGUgPT09IHN0ZXApO1xuXG4gICAgaWYgKGluZGV4ICE9PSAtMSAmJiBpbmRleCAhPT0gdGhpcy5jdXJyZW50SW5kZXgpIHtcbiAgICAgIGNvbnN0IHByZXZpb3VzID0gdGhpcy5jdXJyZW50U3RlcCA/PyBudWxsO1xuICAgICAgdGhpcy5jdXJyZW50SW5kZXggPSBpbmRleDtcbiAgICAgIHRoaXMub25DaGFuZ2VGbihzdGVwLnZhbHVlKTtcbiAgICAgIHRoaXMuc3RlcENoYW5nZWQuZW1pdCh7IHByZXZpb3VzLCBjdXJyZW50OiBzdGVwIH0pO1xuICAgIH1cblxuICAgIHRoaXMub25Ub3VjaGVkRm4oKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNkYy1uYXZpZ2F0aW9uLWJ1dHRvblwiXG4gIFtjbGFzcy5zZGMtbmF2aWdhdGlvbi1idXR0b24tLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbj5cbiAgPGJ1dHRvblxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwic2RjLW5hdmlnYXRpb24tYnV0dG9uX19vcHRpb24gc2RjLW5hdmlnYXRpb24tYnV0dG9uX19vcHRpb24tLXByZXZpb3VzXCJcbiAgICBbY2xhc3Muc2RjLW5hdmlnYXRpb24tYnV0dG9uX19vcHRpb24tLWRpc2FibGVkXT1cImlzRmlyc3RcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJpc0ZpcnN0ID8gJ3RydWUnIDogbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJwcmV2aW91c0FyaWFMYWJlbEtleSB8IHRyYW5zbGF0ZVwiXG4gICAgKGNsaWNrKT1cIm9uUHJldmlvdXMoKVwiXG4gID5cbiAgICA8aSBjbGFzcz1cImZhcyBmYS1jaGV2cm9uLWxlZnRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gIDwvYnV0dG9uPlxuXG4gIDxzZGMtdG9vbHRpcFxuICAgIGNsYXNzPVwic2RjLW5hdmlnYXRpb24tYnV0dG9uX19zdGVwLXRvb2x0aXBcIlxuICAgIFtwVG9vbHRpcF09XCJjdXJyZW50VG9vbHRpcFwiXG4gICAgW3Rvb2x0aXBEaXNhYmxlZF09XCIhY3VycmVudFRvb2x0aXBcIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cInNkYy1uYXZpZ2F0aW9uLWJ1dHRvbl9fc3RlcFwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJvcGVuTWVudUFyaWFMYWJlbEtleSB8IHRyYW5zbGF0ZVwiXG4gICAgICBbc2RjVGllcmVkTWVudV09XCJ0aWVyZWRNZW51SXRlbXNcIlxuICAgICAgW2ZvY3VzZWRJdGVtXT1cInRpZXJlZE1lbnVJdGVtc1tjdXJyZW50SW5kZXhdXCJcbiAgICAgIFthcmlhTGFiZWxdPVwib3Blbk1lbnVBcmlhTGFiZWxLZXkgfCB0cmFuc2xhdGVcIlxuICAgID5cbiAgICAgIHt7IChjdXJyZW50U3RlcD8ubGFiZWwgPz8gJycpIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvc2RjLXRvb2x0aXA+XG5cbiAgPGJ1dHRvblxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwic2RjLW5hdmlnYXRpb24tYnV0dG9uX19vcHRpb24gc2RjLW5hdmlnYXRpb24tYnV0dG9uX19vcHRpb24tLW5leHRcIlxuICAgIFtjbGFzcy5zZGMtbmF2aWdhdGlvbi1idXR0b25fX29wdGlvbi0tZGlzYWJsZWRdPVwiaXNMYXN0XCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXNMYXN0ID8gJ3RydWUnIDogbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJuZXh0QXJpYUxhYmVsS2V5IHwgdHJhbnNsYXRlXCJcbiAgICAoY2xpY2spPVwib25OZXh0KClcIlxuICA+XG4gICAgPGkgY2xhc3M9XCJmYXMgZmEtY2hldnJvbi1yaWdodFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -27,6 +27,8 @@ export class NumberInputComponent extends InputsComponent {
|
|
|
27
27
|
infoTooltip = null;
|
|
28
28
|
infoTooltipPosition = 'right';
|
|
29
29
|
infoTooltipEvent = 'both';
|
|
30
|
+
addonLeft = null;
|
|
31
|
+
addonRight = null;
|
|
30
32
|
pasteRejected = new EventEmitter();
|
|
31
33
|
displayValue = '';
|
|
32
34
|
separators = resolveNumberInputSeparators(this.translate.currentLang);
|
|
@@ -175,13 +177,13 @@ export class NumberInputComponent extends InputsComponent {
|
|
|
175
177
|
this.cdr.markForCheck();
|
|
176
178
|
}
|
|
177
179
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NumberInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
178
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: NumberInputComponent, isStandalone: true, selector: "sdc-number-input", inputs: { precision: "precision", scale: "scale", decimalSeparator: "decimalSeparator", thousandsSeparator: "thousandsSeparator", alignTo: "alignTo", allowNegative: "allowNegative", min: "min", max: "max", step: "step", infoTooltip: "infoTooltip", infoTooltipPosition: "infoTooltipPosition", infoTooltipEvent: "infoTooltipEvent" }, outputs: { pasteRejected: "pasteRejected" }, providers: [
|
|
180
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: NumberInputComponent, isStandalone: true, selector: "sdc-number-input", inputs: { precision: "precision", scale: "scale", decimalSeparator: "decimalSeparator", thousandsSeparator: "thousandsSeparator", alignTo: "alignTo", allowNegative: "allowNegative", min: "min", max: "max", step: "step", infoTooltip: "infoTooltip", infoTooltipPosition: "infoTooltipPosition", infoTooltipEvent: "infoTooltipEvent", addonLeft: "addonLeft", addonRight: "addonRight" }, outputs: { pasteRejected: "pasteRejected" }, providers: [
|
|
179
181
|
{
|
|
180
182
|
provide: NG_VALUE_ACCESSOR,
|
|
181
183
|
useExisting: forwardRef(() => NumberInputComponent),
|
|
182
184
|
multi: true
|
|
183
185
|
}
|
|
184
|
-
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"sdc-number-input\">\n @if (labelKey() || hasTooltip) {\n <div class=\"sdc-number-input__label-row\">\n @if (labelKey()) {\n <label [for]=\"identity.id\" class=\"sdc-number-input__label\">\n <span class=\"sdc-number-input__label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n }\n @if (required) {\n <span class=\"sr-only\">\n {{ 'platform.datacore.accessibility.required_field' | translate }}\n </span>\n }\n </span>\n </label>\n }\n @if (hasTooltip) {\n <sdc-tooltip\n class=\"sdc-number-input__info-tooltip-wrap\"\n [pTooltip]=\"infoTooltip\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipEvent]=\"infoTooltipEvent\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle sdc-number-input__info-tooltip-icon\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n }\n </div>\n }\n\n <
|
|
186
|
+
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"sdc-number-input\">\n @if (labelKey() || hasTooltip) {\n <div class=\"sdc-number-input__label-row\">\n @if (labelKey()) {\n <label [for]=\"identity.id\" class=\"sdc-number-input__label\">\n <span class=\"sdc-number-input__label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n }\n @if (required) {\n <span class=\"sr-only\">\n {{ 'platform.datacore.accessibility.required_field' | translate }}\n </span>\n }\n </span>\n </label>\n }\n @if (hasTooltip) {\n <sdc-tooltip\n class=\"sdc-number-input__info-tooltip-wrap\"\n [pTooltip]=\"infoTooltip\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipEvent]=\"infoTooltipEvent\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle sdc-number-input__info-tooltip-icon\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n }\n </div>\n }\n\n <div\n class=\"sdc-number-input__control\"\n [class.sdc-number-input__control--invalid]=\"invalid\"\n [class.sdc-number-input__control--disabled]=\"disabled\"\n >\n @if (addonLeft) {\n <span class=\"sdc-number-input__addon sdc-number-input__addon--left\">{{ addonLeft }}</span>\n }\n\n <input\n class=\"sdc-number-input__input\"\n (blur)=\"onBlur()\"\n (focus)=\"onFocus()\"\n (input)=\"onNativeInput($event)\"\n (paste)=\"onPaste($event)\"\n [disabled]=\"disabled\"\n [id]=\"identity.id\"\n [name]=\"identity.name\"\n [ngClass]=\"getInvalidClass()\"\n [ngStyle]=\"getInputStyle()\"\n [class.sdc-number-input__input--align-right]=\"alignTo === 'right'\"\n [class.sdc-number-input__input--invalid]=\"invalid\"\n [placeholder]=\"resolvedPlaceholder\"\n [required]=\"required\"\n [value]=\"displayValue\"\n type=\"text\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n [attr.inputmode]=\"inputMode\"\n [attr.maxlength]=\"resolvedMaxLength\"\n [attr.min]=\"min ?? null\"\n [attr.max]=\"max ?? null\"\n [attr.step]=\"resolvedStep\"\n [attr.role]=\"'spinbutton'\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-required]=\"required ? 'true' : null\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n [attr.aria-valuenow]=\"value ?? null\"\n [attr.aria-valuemin]=\"min ?? null\"\n [attr.aria-valuemax]=\"max ?? null\"\n [attr.aria-describedby]=\"messageKey() ? identity.id + '-error' : null\"\n />\n\n @if (addonRight) {\n <span class=\"sdc-number-input__addon sdc-number-input__addon--right\">{{ addonRight }}</span>\n }\n </div>\n\n @if (messageKey()) {\n <small\n [id]=\"identity.id + '-error'\"\n [ngClass]=\"getInvalidMessageClass()\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n {{ messageKey() | translate }}\n </small>\n }\n </div>\n", styles: [".sdc-number-input__control .sdc-number-input__input{flex:1 1 auto;min-width:0}.sdc-number-input .sdc-number-input__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap);margin-bottom:var(--sdc-form-label-row-mb)}.sdc-number-input .sdc-number-input__label{display:inline-flex;align-items:center;margin-bottom:0;line-height:1;padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py);min-width:0}.sdc-number-input .sdc-number-input__label-text{display:inline-flex;align-items:center}.sdc-number-input .required-field{margin-left:var(--sdc-form-required-ml);color:var(--sdc-form-required-color, var(--sdc-error-color, #d98888));font-weight:400}.sdc-number-input .sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sdc-number-input .sdc-number-input__info-tooltip-wrap{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;margin:0}.sdc-number-input .sdc-number-input__info-tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--sdc-form-tooltip-size);height:var(--sdc-form-tooltip-size);line-height:1;cursor:pointer;color:var(--sdc-form-tooltip-color)}.sdc-number-input .sdc-number-input__input{width:100%;min-height:var(--sdc-formfield-default-height)!important;height:var(--sdc-formfield-default-height)!important;max-height:var(--sdc-formfield-default-height)!important;line-height:var(--sdc-formfield-default-line-height)!important;padding:0 var(--sdc-form-input-padding-x)!important;color:var(--p-text-color, #111827)!important;font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;box-sizing:border-box!important;border:0!important;border-radius:0!important;background-color:transparent!important}.sdc-number-input .sdc-number-input__input--align-right{text-align:right}.sdc-number-input .sdc-number-input__input:focus,.sdc-number-input .sdc-number-input__input:focus-visible{outline:none}.sdc-number-input .sdc-number-input__input:disabled{cursor:not-allowed!important}.sdc-number-input__control{display:flex;align-items:stretch;border:1px solid var(--sdc-formfield-default-border, #ced4da);border-radius:var(--sdc-formfield-border-radius, 4px);background-color:var(--sdc-formfield-default-bg, #fff);box-sizing:border-box;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.sdc-number-input__control:focus-within{border-color:var(--sdc-formfield-focus-color, var(--sdc-tab-primary, #007bff));box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14))}.sdc-number-input__control--invalid{border-color:var(--sdc-formfield-invalid-border, var(--sdc-error-color, #d98888))}.sdc-number-input__control--invalid:focus-within{border-color:var(--sdc-formfield-invalid-border, var(--sdc-error-color, #d98888));box-shadow:var(--sdc-formfield-invalid-focus-shadow, 0 0 0 2px rgba(217, 136, 136, .16))}.sdc-number-input__control--disabled{background-color:var(--sdc-formfield-disabled-bg, #e9ecef);cursor:not-allowed}.sdc-number-input__addon{display:flex;align-items:center;justify-content:center;padding:0 .75rem;background:var(--sdc-formfield-addon-bg, #f8f9fa);color:var(--sdc-button-icon-default, #333333);font-size:.875rem;white-space:nowrap;min-width:2.5rem;box-sizing:border-box;flex:0 0 auto}.sdc-number-input__addon--left{border-right:1px solid var(--sdc-formfield-default-border, #ced4da);border-radius:var(--sdc-formfield-border-radius, 4px) 0 0 var(--sdc-formfield-border-radius, 4px)}.sdc-number-input__addon--right{border-left:1px solid var(--sdc-formfield-default-border, #ced4da);border-radius:0 var(--sdc-formfield-border-radius, 4px) var(--sdc-formfield-border-radius, 4px) 0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: TooltipComponent, selector: "sdc-tooltip", inputs: ["pTooltip", "tooltipPosition", "tooltipEvent", "fitContent", "tooltipDisabled", "allowHtml"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
185
187
|
}
|
|
186
188
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NumberInputComponent, decorators: [{
|
|
187
189
|
type: Component,
|
|
@@ -191,7 +193,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
191
193
|
useExisting: forwardRef(() => NumberInputComponent),
|
|
192
194
|
multi: true
|
|
193
195
|
}
|
|
194
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-number-input\">\n @if (labelKey() || hasTooltip) {\n <div class=\"sdc-number-input__label-row\">\n @if (labelKey()) {\n <label [for]=\"identity.id\" class=\"sdc-number-input__label\">\n <span class=\"sdc-number-input__label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n }\n @if (required) {\n <span class=\"sr-only\">\n {{ 'platform.datacore.accessibility.required_field' | translate }}\n </span>\n }\n </span>\n </label>\n }\n @if (hasTooltip) {\n <sdc-tooltip\n class=\"sdc-number-input__info-tooltip-wrap\"\n [pTooltip]=\"infoTooltip\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipEvent]=\"infoTooltipEvent\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle sdc-number-input__info-tooltip-icon\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n }\n </div>\n }\n\n <
|
|
196
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-number-input\">\n @if (labelKey() || hasTooltip) {\n <div class=\"sdc-number-input__label-row\">\n @if (labelKey()) {\n <label [for]=\"identity.id\" class=\"sdc-number-input__label\">\n <span class=\"sdc-number-input__label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n }\n @if (required) {\n <span class=\"sr-only\">\n {{ 'platform.datacore.accessibility.required_field' | translate }}\n </span>\n }\n </span>\n </label>\n }\n @if (hasTooltip) {\n <sdc-tooltip\n class=\"sdc-number-input__info-tooltip-wrap\"\n [pTooltip]=\"infoTooltip\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipEvent]=\"infoTooltipEvent\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle sdc-number-input__info-tooltip-icon\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n }\n </div>\n }\n\n <div\n class=\"sdc-number-input__control\"\n [class.sdc-number-input__control--invalid]=\"invalid\"\n [class.sdc-number-input__control--disabled]=\"disabled\"\n >\n @if (addonLeft) {\n <span class=\"sdc-number-input__addon sdc-number-input__addon--left\">{{ addonLeft }}</span>\n }\n\n <input\n class=\"sdc-number-input__input\"\n (blur)=\"onBlur()\"\n (focus)=\"onFocus()\"\n (input)=\"onNativeInput($event)\"\n (paste)=\"onPaste($event)\"\n [disabled]=\"disabled\"\n [id]=\"identity.id\"\n [name]=\"identity.name\"\n [ngClass]=\"getInvalidClass()\"\n [ngStyle]=\"getInputStyle()\"\n [class.sdc-number-input__input--align-right]=\"alignTo === 'right'\"\n [class.sdc-number-input__input--invalid]=\"invalid\"\n [placeholder]=\"resolvedPlaceholder\"\n [required]=\"required\"\n [value]=\"displayValue\"\n type=\"text\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n [attr.inputmode]=\"inputMode\"\n [attr.maxlength]=\"resolvedMaxLength\"\n [attr.min]=\"min ?? null\"\n [attr.max]=\"max ?? null\"\n [attr.step]=\"resolvedStep\"\n [attr.role]=\"'spinbutton'\"\n [attr.aria-label]=\"resolvedAriaLabel\"\n [attr.aria-required]=\"required ? 'true' : null\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n [attr.aria-valuenow]=\"value ?? null\"\n [attr.aria-valuemin]=\"min ?? null\"\n [attr.aria-valuemax]=\"max ?? null\"\n [attr.aria-describedby]=\"messageKey() ? identity.id + '-error' : null\"\n />\n\n @if (addonRight) {\n <span class=\"sdc-number-input__addon sdc-number-input__addon--right\">{{ addonRight }}</span>\n }\n </div>\n\n @if (messageKey()) {\n <small\n [id]=\"identity.id + '-error'\"\n [ngClass]=\"getInvalidMessageClass()\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n {{ messageKey() | translate }}\n </small>\n }\n </div>\n", styles: [".sdc-number-input__control .sdc-number-input__input{flex:1 1 auto;min-width:0}.sdc-number-input .sdc-number-input__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap);margin-bottom:var(--sdc-form-label-row-mb)}.sdc-number-input .sdc-number-input__label{display:inline-flex;align-items:center;margin-bottom:0;line-height:1;padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py);min-width:0}.sdc-number-input .sdc-number-input__label-text{display:inline-flex;align-items:center}.sdc-number-input .required-field{margin-left:var(--sdc-form-required-ml);color:var(--sdc-form-required-color, var(--sdc-error-color, #d98888));font-weight:400}.sdc-number-input .sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sdc-number-input .sdc-number-input__info-tooltip-wrap{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;margin:0}.sdc-number-input .sdc-number-input__info-tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--sdc-form-tooltip-size);height:var(--sdc-form-tooltip-size);line-height:1;cursor:pointer;color:var(--sdc-form-tooltip-color)}.sdc-number-input .sdc-number-input__input{width:100%;min-height:var(--sdc-formfield-default-height)!important;height:var(--sdc-formfield-default-height)!important;max-height:var(--sdc-formfield-default-height)!important;line-height:var(--sdc-formfield-default-line-height)!important;padding:0 var(--sdc-form-input-padding-x)!important;color:var(--p-text-color, #111827)!important;font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;box-sizing:border-box!important;border:0!important;border-radius:0!important;background-color:transparent!important}.sdc-number-input .sdc-number-input__input--align-right{text-align:right}.sdc-number-input .sdc-number-input__input:focus,.sdc-number-input .sdc-number-input__input:focus-visible{outline:none}.sdc-number-input .sdc-number-input__input:disabled{cursor:not-allowed!important}.sdc-number-input__control{display:flex;align-items:stretch;border:1px solid var(--sdc-formfield-default-border, #ced4da);border-radius:var(--sdc-formfield-border-radius, 4px);background-color:var(--sdc-formfield-default-bg, #fff);box-sizing:border-box;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.sdc-number-input__control:focus-within{border-color:var(--sdc-formfield-focus-color, var(--sdc-tab-primary, #007bff));box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14))}.sdc-number-input__control--invalid{border-color:var(--sdc-formfield-invalid-border, var(--sdc-error-color, #d98888))}.sdc-number-input__control--invalid:focus-within{border-color:var(--sdc-formfield-invalid-border, var(--sdc-error-color, #d98888));box-shadow:var(--sdc-formfield-invalid-focus-shadow, 0 0 0 2px rgba(217, 136, 136, .16))}.sdc-number-input__control--disabled{background-color:var(--sdc-formfield-disabled-bg, #e9ecef);cursor:not-allowed}.sdc-number-input__addon{display:flex;align-items:center;justify-content:center;padding:0 .75rem;background:var(--sdc-formfield-addon-bg, #f8f9fa);color:var(--sdc-button-icon-default, #333333);font-size:.875rem;white-space:nowrap;min-width:2.5rem;box-sizing:border-box;flex:0 0 auto}.sdc-number-input__addon--left{border-right:1px solid var(--sdc-formfield-default-border, #ced4da);border-radius:var(--sdc-formfield-border-radius, 4px) 0 0 var(--sdc-formfield-border-radius, 4px)}.sdc-number-input__addon--right{border-left:1px solid var(--sdc-formfield-default-border, #ced4da);border-radius:0 var(--sdc-formfield-border-radius, 4px) var(--sdc-formfield-border-radius, 4px) 0}\n"] }]
|
|
195
197
|
}], ctorParameters: () => [], propDecorators: { precision: [{
|
|
196
198
|
type: Input
|
|
197
199
|
}], scale: [{
|
|
@@ -216,7 +218,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
216
218
|
type: Input
|
|
217
219
|
}], infoTooltipEvent: [{
|
|
218
220
|
type: Input
|
|
221
|
+
}], addonLeft: [{
|
|
222
|
+
type: Input
|
|
223
|
+
}], addonRight: [{
|
|
224
|
+
type: Input
|
|
219
225
|
}], pasteRejected: [{
|
|
220
226
|
type: Output
|
|
221
227
|
}] } });
|
|
222
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvbnVtYmVyLWlucHV0L251bWJlci1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL251bWJlci1pbnB1dC9udW1iZXItaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixpQkFBaUIsRUFDakIsVUFBVSxFQUNWLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckYsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFcEMsT0FBTyxFQUNMLDhCQUE4QixFQUM5QixtQ0FBbUMsRUFDbkMsOEJBQThCLEVBQzlCLDBCQUEwQixFQUMzQixNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUd6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLDZCQUE2QixFQUM3QixzQkFBc0IsRUFDdEIsc0JBQXNCLEVBQ3RCLHlCQUF5QixFQUN6QixxQkFBcUIsRUFDckIsNEJBQTRCLEVBQzVCLHdCQUF3QixFQUN6QixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9B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QUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixDQUFDLGFBR2pGO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHFCQUFxQixDQUFDOzRCQUNuRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsUUFBUTt3REFPaEMsU0FBUztzQkFBakIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGZvcndhcmRSZWYsXG4gIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIE5VTUJFUl9JTlBVVF9ERUZBVUxUX0FMSUdOTUVOVCxcbiAgTlVNQkVSX0lOUFVUX0RFRkFVTFRfQUxMT1dfTkVHQVRJVkUsXG4gIE5VTUJFUl9JTlBVVF9ERUZBVUxUX1BSRUNJU0lPTixcbiAgTlVNQkVSX0lOUFVUX0RFRkFVTFRfU0NBTEVcbn0gZnJvbSAnLi4vLi4vY29yZS9jb25zdGFudHMvbnVtYmVyLWlucHV0LmNvbnN0JztcbmltcG9ydCB7IElucHV0c0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUvZGlyZWN0aXZlcy9pbnB1dHMuZGlyZWN0aXZlJztcbmltcG9ydCB0eXBlIHsgTnVtYmVySW5wdXRBbGlnbm1lbnQsIE51bWJlcklucHV0U2VwYXJhdG9ycyB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvbnVtYmVyLWlucHV0LnR5cGUnO1xuaW1wb3J0IHR5cGUgeyBUb29sdGlwRXZlbnQsIFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvdG9vbHRpcC50eXBlJztcbmltcG9ydCB7IHJlc29sdmVUcmFuc2xhdGFibGVUZXh0IH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9pMThuLnV0aWwnO1xuaW1wb3J0IHtcbiAgYnVpbGROdW1iZXJJbnB1dFBsYWNlaG9sZGVyLFxuICBjYWxjdWxhdGVOdW1iZXJJbnB1dE1heExlbmd0aCxcbiAgY291bnROdW1iZXJJbnB1dERpZ2l0cyxcbiAgZm9ybWF0TnVtYmVySW5wdXRWYWx1ZSxcbiAgbm9ybWFsaXplTnVtYmVySW5wdXRWYWx1ZSxcbiAgcGFyc2VOdW1iZXJJbnB1dFZhbHVlLFxuICByZXNvbHZlTnVtYmVySW5wdXRTZXBhcmF0b3JzLFxuICBzYW5pdGl6ZU51bWJlcklucHV0VmFsdWVcbn0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9udW1iZXItaW5wdXQudXRpbCc7XG5pbXBvcnQgeyBUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1udW1iZXItaW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBUb29sdGlwQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL251bWJlci1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9udW1iZXItaW5wdXQuY29tcG9uZW50LnNjc3MnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE51bWJlcklucHV0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWRcbn0pXG5leHBvcnQgY2xhc3MgTnVtYmVySW5wdXRDb21wb25lbnQgZXh0ZW5kcyBJbnB1dHNDb21wb25lbnQ8bnVtYmVyPiBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBzdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIEBJbnB1dCgpIHByZWNpc2lvbiA9IE5VTUJFUl9JTlBVVF9ERUZBVUxUX1BSRUNJU0lPTjtcbiAgQElucHV0KCkgc2NhbGUgPSBOVU1CRVJfSU5QVVRfREVGQVVMVF9TQ0FMRTtcbiAgQElucHV0KCkgZGVjaW1hbFNlcGFyYXRvcj86IHN0cmluZztcbiAgQElucHV0KCkgdGhvdXNhbmRzU2VwYXJhdG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSBhbGlnblRvOiBOdW1iZXJJbnB1dEFsaWdubWVudCA9IE5VTUJFUl9JTlBVVF9ERUZBVUxUX0FMSUdOTUVOVDtcbiAgQElucHV0KCkgYWxsb3dOZWdhdGl2ZSA9IE5VTUJFUl9JTlBVVF9ERUZBVUxUX0FMTE9XX05FR0FUSVZFO1xuICBASW5wdXQoKSBtaW4/OiBudW1iZXI7XG4gIEBJbnB1dCgpIG1heD86IG51bWJlcjtcbiAgQElucHV0KCkgc3RlcD86IG51bWJlciB8IHN0cmluZztcbiAgQElucHV0KCkgaW5mb1Rvb2x0aXA6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBpbmZvVG9vbHRpcFBvc2l0aW9uOiBUb29sdGlwUG9zaXRpb24gPSAncmlnaHQnO1xuICBASW5wdXQoKSBpbmZvVG9vbHRpcEV2ZW50OiBUb29sdGlwRXZlbnQgPSAnYm90aCc7XG5cbiAgQE91dHB1dCgpIHBhc3RlUmVqZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBkaXNwbGF5VmFsdWUgPSAnJztcblxuICBwcml2YXRlIHNlcGFyYXRvcnM6IE51bWJlcklucHV0U2VwYXJhdG9ycyA9IHJlc29sdmVOdW1iZXJJbnB1dFNlcGFyYXRvcnModGhpcy50cmFuc2xhdGUuY3VycmVudExhbmcpO1xuICBwcml2YXRlIGZvY3VzZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBleHBsaWNpdERlY2ltYWxTZXBhcmF0b3IgPSBmYWxzZTtcbiAgcHJpdmF0ZSBleHBsaWNpdFRob3VzYW5kc1NlcGFyYXRvciA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy50cmFuc2xhdGUub25MYW5nQ2hhbmdlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVmcmVzaFNlcGFyYXRvcnMoKTtcbiAgICAgICAgdGhpcy5zeW5jRGlzcGxheVZhbHVlKCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBudW1iZXIgfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMubm9ybWFsaXplRXh0ZXJuYWxWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5zeW5jRGlzcGxheVZhbHVlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ2RlY2ltYWxTZXBhcmF0b3InXSkge1xuICAgICAgdGhpcy5leHBsaWNpdERlY2ltYWxTZXBhcmF0b3IgPSBjaGFuZ2VzWydkZWNpbWFsU2VwYXJhdG9yJ10uY3VycmVudFZhbHVlICE9PSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXNbJ3Rob3VzYW5kc1NlcGFyYXRvciddKSB7XG4gICAgICB0aGlzLmV4cGxpY2l0VGhvdXNhbmRzU2VwYXJhdG9yID0gY2hhbmdlc1sndGhvdXNhbmRzU2VwYXJhdG9yJ10uY3VycmVudFZhbHVlICE9PSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgdGhpcy5yZWZyZXNoU2VwYXJhdG9ycygpO1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLm5vcm1hbGl6ZUV4dGVybmFsVmFsdWUodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5zeW5jRGlzcGxheVZhbHVlKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGdldCByZXNvbHZlZEFyaWFMYWJlbCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmxhYmVsS2V5KCkpIHtcbiAgICAgIHJldHVybiByZXNvbHZlVHJhbnNsYXRhYmxlVGV4dCh0aGlzLnRyYW5zbGF0ZSwgdGhpcy5sYWJlbEtleSgpKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wbGFjZWhvbGRlcikge1xuICAgICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRQbGFjZWhvbGRlcjtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQodGhpcy50cmFuc2xhdGUsICdwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5Lm51bWJlcl9pbnB1dCcpO1xuICB9XG5cbiAgZ2V0IHJlc29sdmVkUGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5wbGFjZWhvbGRlcikge1xuICAgICAgcmV0dXJuIHJlc29sdmVUcmFuc2xhdGFibGVUZXh0KHRoaXMudHJhbnNsYXRlLCB0aGlzLnBsYWNlaG9sZGVyKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYnVpbGROdW1iZXJJbnB1dFBsYWNlaG9sZGVyKHRoaXMuc2FmZVNjYWxlLCB0aGlzLnNlcGFyYXRvcnMuZGVjaW1hbCk7XG4gIH1cblxuICBnZXQgcmVzb2x2ZWRTdGVwKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuc3RlcCAhPT0gdW5kZWZpbmVkICYmIHRoaXMuc3RlcCAhPT0gbnVsbCAmJiBTdHJpbmcodGhpcy5zdGVwKS50cmltKCkpIHtcbiAgICAgIHJldHVybiBTdHJpbmcodGhpcy5zdGVwKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zYWZlU2NhbGUgPD0gMCkge1xuICAgICAgcmV0dXJuICcxJztcbiAgICB9XG5cbiAgICByZXR1cm4gYDAuJHsnMCcucmVwZWF0KE1hdGgubWF4KDAsIHRoaXMuc2FmZVNjYWxlIC0gMSkpfTFgO1xuICB9XG5cbiAgZ2V0IHJlc29sdmVkTWF4TGVuZ3RoKCk6IG51bWJlciB7XG4gICAgY29uc3QgY2FsY3VsYXRlZCA9IGNhbGN1bGF0ZU51bWJlcklucHV0TWF4TGVuZ3RoKFxuICAgICAgdGhpcy5zYWZlUHJlY2lzaW9uLFxuICAgICAgdGhpcy5zYWZlU2NhbGUsXG4gICAgICB0aGlzLmFsbG93TmVnYXRpdmUsXG4gICAgICB0aGlzLnNlcGFyYXRvcnMuZGVjaW1hbCxcbiAgICAgIHRoaXMuc2VwYXJhdG9ycy5ncm91cFxuICAgICk7XG5cbiAgICBpZiAodHlwZW9mIHRoaXMubWF4bGVuZ3RoID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIE1hdGgubWluKHRoaXMubWF4bGVuZ3RoLCBjYWxjdWxhdGVkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2FsY3VsYXRlZDtcbiAgfVxuXG4gIGdldCBpbnB1dE1vZGUoKTogJ251bWVyaWMnIHwgJ2RlY2ltYWwnIHtcbiAgICByZXR1cm4gdGhpcy5zYWZlU2NhbGUgPiAwID8gJ2RlY2ltYWwnIDogJ251bWVyaWMnO1xuICB9XG5cbiAgZ2V0IGhhc1Rvb2x0aXAoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5pbmZvVG9vbHRpcDtcbiAgfVxuXG4gIGdldCBzYWZlU2NhbGUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5tYXgoMCwgTWF0aC5taW4odGhpcy5zY2FsZSwgdGhpcy5zYWZlUHJlY2lzaW9uKSk7XG4gIH1cblxuICBnZXQgc2FmZVByZWNpc2lvbigpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLm1heCgxLCBOdW1iZXIuaXNGaW5pdGUodGhpcy5wcmVjaXNpb24pID8gTWF0aC50cnVuYyh0aGlzLnByZWNpc2lvbikgOiBOVU1CRVJfSU5QVVRfREVGQVVMVF9QUkVDSVNJT04pO1xuICB9XG5cbiAgb25OYXRpdmVJbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCB8IG51bGw7XG4gICAgaWYgKCF0YXJnZXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzYW5pdGl6ZWQgPSBzYW5pdGl6ZU51bWJlcklucHV0VmFsdWUodGFyZ2V0LnZhbHVlLCB7XG4gICAgICBhbGxvd05lZ2F0aXZlOiB0aGlzLmFsbG93TmVnYXRpdmUsXG4gICAgICBkZWNpbWFsU2VwYXJhdG9yOiB0aGlzLnNlcGFyYXRvcnMuZGVjaW1hbCxcbiAgICAgIHByZWNpc2lvbjogdGhpcy5zYWZlUHJlY2lzaW9uLFxuICAgICAgc2NhbGU6IHRoaXMuc2FmZVNjYWxlXG4gICAgfSk7XG5cbiAgICBpZiAoc2FuaXRpemVkICE9PSB0YXJnZXQudmFsdWUpIHtcbiAgICAgIHRhcmdldC52YWx1ZSA9IHNhbml0aXplZDtcbiAgICB9XG5cbiAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IHNhbml0aXplZDtcblxuICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlTnVtYmVySW5wdXRWYWx1ZSh0aGlzLmRpc3BsYXlWYWx1ZSwgdGhpcy5zZXBhcmF0b3JzKTtcbiAgICBpZiAocGFyc2VkLmVtcHR5KSB7XG4gICAgICB0aGlzLmNvbW1pdFZhbHVlKG51bGwpO1xuICAgIH0gZWxzZSBpZiAocGFyc2VkLmNvbXBsZXRlICYmIHBhcnNlZC52YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5jb21taXRWYWx1ZSh0aGlzLm5vcm1hbGl6ZUV4dGVybmFsVmFsdWUocGFyc2VkLnZhbHVlKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5mb2N1c2VkID0gdHJ1ZTtcbiAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IGZvcm1hdE51bWJlcklucHV0VmFsdWUoXG4gICAgICB0aGlzLnZhbHVlLFxuICAgICAgdGhpcy5zYWZlU2NhbGUsXG4gICAgICB0aGlzLnNlcGFyYXRvcnMuZGVjaW1hbCxcbiAgICAgIHRoaXMuc2VwYXJhdG9ycy5ncm91cCxcbiAgICAgIGZhbHNlXG4gICAgKTtcbiAgfVxuXG4gIG9uQmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlTnVtYmVySW5wdXRWYWx1ZSh0aGlzLmRpc3BsYXlWYWx1ZSwgdGhpcy5zZXBhcmF0b3JzKTtcbiAgICBpZiAocGFyc2VkLmVtcHR5KSB7XG4gICAgICB0aGlzLmNvbW1pdFZhbHVlKG51bGwpO1xuICAgIH0gZWxzZSBpZiAocGFyc2VkLnZhbHVlICE9PSBudWxsKSB7XG4gICAgICB0aGlzLmNvbW1pdFZhbHVlKHRoaXMubm9ybWFsaXplRXh0ZXJuYWxWYWx1ZShwYXJzZWQudmFsdWUpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgdGhpcy5zeW5jRGlzcGxheVZhbHVlKCk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIG9uUGFzdGUoZXZlbnQ6IENsaXBib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgcGFzdGVkVGV4dCA9IGV2ZW50LmNsaXBib2FyZERhdGE/LmdldERhdGEoJ3RleHQnKSA/PyAnJztcbiAgICBpZiAoY291bnROdW1iZXJJbnB1dERpZ2l0cyhwYXN0ZWRUZXh0KSA+IHRoaXMuc2FmZVByZWNpc2lvbikge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgdGhpcy5wYXN0ZVJlamVjdGVkLmVtaXQocGFzdGVkVGV4dCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBub3JtYWxpemVFeHRlcm5hbFZhbHVlKHZhbHVlOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ251bWJlcicgfHwgIU51bWJlci5pc0Zpbml0ZSh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBub3JtYWxpemVOdW1iZXJJbnB1dFZhbHVlKFxuICAgICAgdmFsdWUsXG4gICAgICB0aGlzLnNhZmVQcmVjaXNpb24sXG4gICAgICB0aGlzLnNhZmVTY2FsZSxcbiAgICAgIHRoaXMuYWxsb3dOZWdhdGl2ZSxcbiAgICAgIHRoaXMubWluLFxuICAgICAgdGhpcy5tYXhcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoU2VwYXJhdG9ycygpOiB2b2lkIHtcbiAgICBjb25zdCBsb2NhbGVTZXBhcmF0b3JzID0gcmVzb2x2ZU51bWJlcklucHV0U2VwYXJhdG9ycyh0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZyk7XG5cbiAgICB0aGlzLnNlcGFyYXRvcnMgPSB7XG4gICAgICBkZWNpbWFsOiB0aGlzLmV4cGxpY2l0RGVjaW1hbFNlcGFyYXRvciAmJiB0aGlzLmRlY2ltYWxTZXBhcmF0b3IgPyB0aGlzLmRlY2ltYWxTZXBhcmF0b3IgOiBsb2NhbGVTZXBhcmF0b3JzLmRlY2ltYWwsXG4gICAgICBncm91cDogdGhpcy5leHBsaWNpdFRob3VzYW5kc1NlcGFyYXRvciAmJiB0aGlzLnRob3VzYW5kc1NlcGFyYXRvciA/IHRoaXMudGhvdXNhbmRzU2VwYXJhdG9yIDogbG9jYWxlU2VwYXJhdG9ycy5ncm91cFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHN5bmNEaXNwbGF5VmFsdWUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9jdXNlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZGlzcGxheVZhbHVlID0gZm9ybWF0TnVtYmVySW5wdXRWYWx1ZShcbiAgICAgIHRoaXMudmFsdWUsXG4gICAgICB0aGlzLnNhZmVTY2FsZSxcbiAgICAgIHRoaXMuc2VwYXJhdG9ycy5kZWNpbWFsLFxuICAgICAgdGhpcy5zZXBhcmF0b3JzLmdyb3VwXG4gICAgKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNkYy1udW1iZXItaW5wdXRcIj5cbiAgQGlmIChsYWJlbEtleSgpIHx8IGhhc1Rvb2x0aXApIHtcbiAgICA8ZGl2IGNsYXNzPVwic2RjLW51bWJlci1pbnB1dF9fbGFiZWwtcm93XCI+XG4gICAgICBAaWYgKGxhYmVsS2V5KCkpIHtcbiAgICAgICAgPGxhYmVsIFtmb3JdPVwiaWRlbnRpdHkuaWRcIiBjbGFzcz1cInNkYy1udW1iZXItaW5wdXRfX2xhYmVsXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtbnVtYmVyLWlucHV0X19sYWJlbC10ZXh0XCI+XG4gICAgICAgICAgICB7eyBsYWJlbEtleSgpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICBAaWYgKHJlcXVpcmVkKSB7XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVxdWlyZWQtZmllbGRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj4qPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChyZXF1aXJlZCkge1xuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5cbiAgICAgICAgICAgICAgICB7eyAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5yZXF1aXJlZF9maWVsZCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIH1cbiAgICAgIEBpZiAoaGFzVG9vbHRpcCkge1xuICAgICAgICA8c2RjLXRvb2x0aXBcbiAgICAgICAgICBjbGFzcz1cInNkYy1udW1iZXItaW5wdXRfX2luZm8tdG9vbHRpcC13cmFwXCJcbiAgICAgICAgICBbcFRvb2x0aXBdPVwiaW5mb1Rvb2x0aXBcIlxuICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiaW5mb1Rvb2x0aXBQb3NpdGlvblwiXG4gICAgICAgICAgW3Rvb2x0aXBFdmVudF09XCJpbmZvVG9vbHRpcEV2ZW50XCJcbiAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAoa2V5ZG93bik9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1pbmZvLWNpcmNsZSBzZGMtbnVtYmVyLWlucHV0X19pbmZvLXRvb2x0aXAtaWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgPC9zZGMtdG9vbHRpcD5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfVxuXG4gIDxpbnB1dFxuICAgIGNsYXNzPVwic2RjLW51bWJlci1pbnB1dF9faW5wdXRcIlxuICAgIChibHVyKT1cIm9uQmx1cigpXCJcbiAgICAoZm9jdXMpPVwib25Gb2N1cygpXCJcbiAgICAoaW5wdXQpPVwib25OYXRpdmVJbnB1dCgkZXZlbnQpXCJcbiAgICAocGFzdGUpPVwib25QYXN0ZSgkZXZlbnQpXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtpZF09XCJpZGVudGl0eS5pZFwiXG4gICAgW25hbWVdPVwiaWRlbnRpdHkubmFtZVwiXG4gICAgW25nQ2xhc3NdPVwiZ2V0SW52YWxpZENsYXNzKClcIlxuICAgIFtuZ1N0eWxlXT1cImdldElucHV0U3R5bGUoKVwiXG4gICAgW2NsYXNzLnNkYy1udW1iZXItaW5wdXRfX2lucHV0LS1hbGlnbi1yaWdodF09XCJhbGlnblRvID09PSAncmlnaHQnXCJcbiAgICBbY2xhc3Muc2RjLW51bWJlci1pbnB1dF9faW5wdXQtLWludmFsaWRdPVwiaW52YWxpZFwiXG4gICAgW3BsYWNlaG9sZGVyXT1cInJlc29sdmVkUGxhY2Vob2xkZXJcIlxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgW3ZhbHVlXT1cImRpc3BsYXlWYWx1ZVwiXG4gICAgdHlwZT1cInRleHRcIlxuICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgc3BlbGxjaGVjaz1cImZhbHNlXCJcbiAgICBbYXR0ci5pbnB1dG1vZGVdPVwiaW5wdXRNb2RlXCJcbiAgICBbYXR0ci5tYXhsZW5ndGhdPVwicmVzb2x2ZWRNYXhMZW5ndGhcIlxuICAgIFthdHRyLm1pbl09XCJtaW4gPz8gbnVsbFwiXG4gICAgW2F0dHIubWF4XT1cIm1heCA/PyBudWxsXCJcbiAgICBbYXR0ci5zdGVwXT1cInJlc29sdmVkU3RlcFwiXG4gICAgW2F0dHIucm9sZV09XCInc3BpbmJ1dHRvbidcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicmVzb2x2ZWRBcmlhTGFiZWxcIlxuICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWQgPyAndHJ1ZScgOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaW52YWxpZCA/ICd0cnVlJyA6IG51bGxcIlxuICAgIFthdHRyLmFyaWEtdmFsdWVub3ddPVwidmFsdWUgPz8gbnVsbFwiXG4gICAgW2F0dHIuYXJpYS12YWx1ZW1pbl09XCJtaW4gPz8gbnVsbFwiXG4gICAgW2F0dHIuYXJpYS12YWx1ZW1heF09XCJtYXggPz8gbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJtZXNzYWdlS2V5KCkgPyBpZGVudGl0eS5pZCArICctZXJyb3InIDogbnVsbFwiXG4gICAgLz5cblxuICAgIEBpZiAobWVzc2FnZUtleSgpKSB7XG4gICAgICA8c21hbGxcbiAgICAgICAgW2lkXT1cImlkZW50aXR5LmlkICsgJy1lcnJvcidcIlxuICAgICAgICBbbmdDbGFzc109XCJnZXRJbnZhbGlkTWVzc2FnZUNsYXNzKClcIlxuICAgICAgICByb2xlPVwiYWxlcnRcIlxuICAgICAgICBhcmlhLWxpdmU9XCJwb2xpdGVcIlxuICAgICAgICA+XG4gICAgICAgIHt7IG1lc3NhZ2VLZXkoKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9zbWFsbD5cbiAgICB9XG4gIDwvZGl2PlxuIl19
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvbnVtYmVyLWlucHV0L251bWJlci1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL251bWJlci1pbnB1dC9udW1iZXItaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixpQkFBaUIsRUFDakIsVUFBVSxFQUNWLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckYsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFcEMsT0FBTyxFQUNMLDhCQUE4QixFQUM5QixtQ0FBbUMsRUFDbkMsOEJBQThCLEVBQzlCLDBCQUEwQixFQUMzQixNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUd6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLDZCQUE2QixFQUM3QixzQkFBc0IsRUFDdEIsc0JBQXNCLEVBQ3RCLHlCQUF5QixFQUN6QixxQkFBcUIsRUFDckIsNEJBQTRCLEVBQzVCLHdCQUF3QixFQUN6QixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9B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QVM7K0JBQ0Usa0JBQWtCLGNBQ2hCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixDQUFDLGFBR2pGO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHFCQUFxQixDQUFDOzRCQUNuRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsUUFBUTt3REFPaEMsU0FBUztzQkFBakIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmLFxuICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICBOVU1CRVJfSU5QVVRfREVGQVVMVF9BTElHTk1FTlQsXG4gIE5VTUJFUl9JTlBVVF9ERUZBVUxUX0FMTE9XX05FR0FUSVZFLFxuICBOVU1CRVJfSU5QVVRfREVGQVVMVF9QUkVDSVNJT04sXG4gIE5VTUJFUl9JTlBVVF9ERUZBVUxUX1NDQUxFXG59IGZyb20gJy4uLy4uL2NvcmUvY29uc3RhbnRzL251bWJlci1pbnB1dC5jb25zdCc7XG5pbXBvcnQgeyBJbnB1dHNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2RpcmVjdGl2ZXMvaW5wdXRzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgdHlwZSB7IE51bWJlcklucHV0QWxpZ25tZW50LCBOdW1iZXJJbnB1dFNlcGFyYXRvcnMgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL251bWJlci1pbnB1dC50eXBlJztcbmltcG9ydCB0eXBlIHsgVG9vbHRpcEV2ZW50LCBUb29sdGlwUG9zaXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL3Rvb2x0aXAudHlwZSc7XG5pbXBvcnQgeyByZXNvbHZlVHJhbnNsYXRhYmxlVGV4dCB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMvaTE4bi51dGlsJztcbmltcG9ydCB7XG4gIGJ1aWxkTnVtYmVySW5wdXRQbGFjZWhvbGRlcixcbiAgY2FsY3VsYXRlTnVtYmVySW5wdXRNYXhMZW5ndGgsXG4gIGNvdW50TnVtYmVySW5wdXREaWdpdHMsXG4gIGZvcm1hdE51bWJlcklucHV0VmFsdWUsXG4gIG5vcm1hbGl6ZU51bWJlcklucHV0VmFsdWUsXG4gIHBhcnNlTnVtYmVySW5wdXRWYWx1ZSxcbiAgcmVzb2x2ZU51bWJlcklucHV0U2VwYXJhdG9ycyxcbiAgc2FuaXRpemVOdW1iZXJJbnB1dFZhbHVlXG59IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMvbnVtYmVyLWlucHV0LnV0aWwnO1xuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtbnVtYmVyLWlucHV0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgVG9vbHRpcENvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9udW1iZXItaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbnVtYmVyLWlucHV0LmNvbXBvbmVudC5zY3NzJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBOdW1iZXJJbnB1dENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkXG59KVxuZXhwb3J0IGNsYXNzIE51bWJlcklucHV0Q29tcG9uZW50IGV4dGVuZHMgSW5wdXRzQ29tcG9uZW50PG51bWJlcj4gaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBASW5wdXQoKSBwcmVjaXNpb24gPSBOVU1CRVJfSU5QVVRfREVGQVVMVF9QUkVDSVNJT047XG4gIEBJbnB1dCgpIHNjYWxlID0gTlVNQkVSX0lOUFVUX0RFRkFVTFRfU0NBTEU7XG4gIEBJbnB1dCgpIGRlY2ltYWxTZXBhcmF0b3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRob3VzYW5kc1NlcGFyYXRvcj86IHN0cmluZztcbiAgQElucHV0KCkgYWxpZ25UbzogTnVtYmVySW5wdXRBbGlnbm1lbnQgPSBOVU1CRVJfSU5QVVRfREVGQVVMVF9BTElHTk1FTlQ7XG4gIEBJbnB1dCgpIGFsbG93TmVnYXRpdmUgPSBOVU1CRVJfSU5QVVRfREVGQVVMVF9BTExPV19ORUdBVElWRTtcbiAgQElucHV0KCkgbWluPzogbnVtYmVyO1xuICBASW5wdXQoKSBtYXg/OiBudW1iZXI7XG4gIEBJbnB1dCgpIHN0ZXA/OiBudW1iZXIgfCBzdHJpbmc7XG4gIEBJbnB1dCgpIGluZm9Ub29sdGlwOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgaW5mb1Rvb2x0aXBQb3NpdGlvbjogVG9vbHRpcFBvc2l0aW9uID0gJ3JpZ2h0JztcbiAgQElucHV0KCkgaW5mb1Rvb2x0aXBFdmVudDogVG9vbHRpcEV2ZW50ID0gJ2JvdGgnO1xuICBASW5wdXQoKSBhZGRvbkxlZnQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBhZGRvblJpZ2h0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBAT3V0cHV0KCkgcGFzdGVSZWplY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGRpc3BsYXlWYWx1ZSA9ICcnO1xuXG4gIHByaXZhdGUgc2VwYXJhdG9yczogTnVtYmVySW5wdXRTZXBhcmF0b3JzID0gcmVzb2x2ZU51bWJlcklucHV0U2VwYXJhdG9ycyh0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZyk7XG4gIHByaXZhdGUgZm9jdXNlZCA9IGZhbHNlO1xuICBwcml2YXRlIGV4cGxpY2l0RGVjaW1hbFNlcGFyYXRvciA9IGZhbHNlO1xuICBwcml2YXRlIGV4cGxpY2l0VGhvdXNhbmRzU2VwYXJhdG9yID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnRyYW5zbGF0ZS5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5yZWZyZXNoU2VwYXJhdG9ycygpO1xuICAgICAgICB0aGlzLnN5bmNEaXNwbGF5VmFsdWUoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IG51bWJlciB8IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5ub3JtYWxpemVFeHRlcm5hbFZhbHVlKHZhbHVlKTtcbiAgICB0aGlzLnN5bmNEaXNwbGF5VmFsdWUoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snZGVjaW1hbFNlcGFyYXRvciddKSB7XG4gICAgICB0aGlzLmV4cGxpY2l0RGVjaW1hbFNlcGFyYXRvciA9IGNoYW5nZXNbJ2RlY2ltYWxTZXBhcmF0b3InXS5jdXJyZW50VmFsdWUgIT09IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlc1sndGhvdXNhbmRzU2VwYXJhdG9yJ10pIHtcbiAgICAgIHRoaXMuZXhwbGljaXRUaG91c2FuZHNTZXBhcmF0b3IgPSBjaGFuZ2VzWyd0aG91c2FuZHNTZXBhcmF0b3InXS5jdXJyZW50VmFsdWUgIT09IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICB0aGlzLnJlZnJlc2hTZXBhcmF0b3JzKCk7XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMubm9ybWFsaXplRXh0ZXJuYWxWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLnN5bmNEaXNwbGF5VmFsdWUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZ2V0IHJlc29sdmVkQXJpYUxhYmVsKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMubGFiZWxLZXkoKSkge1xuICAgICAgcmV0dXJuIHJlc29sdmVUcmFuc2xhdGFibGVUZXh0KHRoaXMudHJhbnNsYXRlLCB0aGlzLmxhYmVsS2V5KCkpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnBsYWNlaG9sZGVyKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXNvbHZlZFBsYWNlaG9sZGVyO1xuICAgIH1cblxuICAgIHJldHVybiByZXNvbHZlVHJhbnNsYXRhYmxlVGV4dCh0aGlzLnRyYW5zbGF0ZSwgJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHkubnVtYmVyX2lucHV0Jyk7XG4gIH1cblxuICBnZXQgcmVzb2x2ZWRQbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnBsYWNlaG9sZGVyKSB7XG4gICAgICByZXR1cm4gcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQodGhpcy50cmFuc2xhdGUsIHRoaXMucGxhY2Vob2xkZXIpO1xuICAgIH1cblxuICAgIHJldHVybiBidWlsZE51bWJlcklucHV0UGxhY2Vob2xkZXIodGhpcy5zYWZlU2NhbGUsIHRoaXMuc2VwYXJhdG9ycy5kZWNpbWFsKTtcbiAgfVxuXG4gIGdldCByZXNvbHZlZFN0ZXAoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5zdGVwICE9PSB1bmRlZmluZWQgJiYgdGhpcy5zdGVwICE9PSBudWxsICYmIFN0cmluZyh0aGlzLnN0ZXApLnRyaW0oKSkge1xuICAgICAgcmV0dXJuIFN0cmluZyh0aGlzLnN0ZXApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNhZmVTY2FsZSA8PSAwKSB7XG4gICAgICByZXR1cm4gJzEnO1xuICAgIH1cblxuICAgIHJldHVybiBgMC4keycwJy5yZXBlYXQoTWF0aC5tYXgoMCwgdGhpcy5zYWZlU2NhbGUgLSAxKSl9MWA7XG4gIH1cblxuICBnZXQgcmVzb2x2ZWRNYXhMZW5ndGgoKTogbnVtYmVyIHtcbiAgICBjb25zdCBjYWxjdWxhdGVkID0gY2FsY3VsYXRlTnVtYmVySW5wdXRNYXhMZW5ndGgoXG4gICAgICB0aGlzLnNhZmVQcmVjaXNpb24sXG4gICAgICB0aGlzLnNhZmVTY2FsZSxcbiAgICAgIHRoaXMuYWxsb3dOZWdhdGl2ZSxcbiAgICAgIHRoaXMuc2VwYXJhdG9ycy5kZWNpbWFsLFxuICAgICAgdGhpcy5zZXBhcmF0b3JzLmdyb3VwXG4gICAgKTtcblxuICAgIGlmICh0eXBlb2YgdGhpcy5tYXhsZW5ndGggPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gTWF0aC5taW4odGhpcy5tYXhsZW5ndGgsIGNhbGN1bGF0ZWQpO1xuICAgIH1cblxuICAgIHJldHVybiBjYWxjdWxhdGVkO1xuICB9XG5cbiAgZ2V0IGlucHV0TW9kZSgpOiAnbnVtZXJpYycgfCAnZGVjaW1hbCcge1xuICAgIHJldHVybiB0aGlzLnNhZmVTY2FsZSA+IDAgPyAnZGVjaW1hbCcgOiAnbnVtZXJpYyc7XG4gIH1cblxuICBnZXQgaGFzVG9vbHRpcCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmluZm9Ub29sdGlwO1xuICB9XG5cbiAgZ2V0IHNhZmVTY2FsZSgpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLm1heCgwLCBNYXRoLm1pbih0aGlzLnNjYWxlLCB0aGlzLnNhZmVQcmVjaXNpb24pKTtcbiAgfVxuXG4gIGdldCBzYWZlUHJlY2lzaW9uKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgubWF4KDEsIE51bWJlci5pc0Zpbml0ZSh0aGlzLnByZWNpc2lvbikgPyBNYXRoLnRydW5jKHRoaXMucHJlY2lzaW9uKSA6IE5VTUJFUl9JTlBVVF9ERUZBVUxUX1BSRUNJU0lPTik7XG4gIH1cblxuICBvbk5hdGl2ZUlucHV0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbDtcbiAgICBpZiAoIXRhcmdldCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNhbml0aXplZCA9IHNhbml0aXplTnVtYmVySW5wdXRWYWx1ZSh0YXJnZXQudmFsdWUsIHtcbiAgICAgIGFsbG93TmVnYXRpdmU6IHRoaXMuYWxsb3dOZWdhdGl2ZSxcbiAgICAgIGRlY2ltYWxTZXBhcmF0b3I6IHRoaXMuc2VwYXJhdG9ycy5kZWNpbWFsLFxuICAgICAgcHJlY2lzaW9uOiB0aGlzLnNhZmVQcmVjaXNpb24sXG4gICAgICBzY2FsZTogdGhpcy5zYWZlU2NhbGVcbiAgICB9KTtcblxuICAgIGlmIChzYW5pdGl6ZWQgIT09IHRhcmdldC52YWx1ZSkge1xuICAgICAgdGFyZ2V0LnZhbHVlID0gc2FuaXRpemVkO1xuICAgIH1cblxuICAgIHRoaXMuZGlzcGxheVZhbHVlID0gc2FuaXRpemVkO1xuXG4gICAgY29uc3QgcGFyc2VkID0gcGFyc2VOdW1iZXJJbnB1dFZhbHVlKHRoaXMuZGlzcGxheVZhbHVlLCB0aGlzLnNlcGFyYXRvcnMpO1xuICAgIGlmIChwYXJzZWQuZW1wdHkpIHtcbiAgICAgIHRoaXMuY29tbWl0VmFsdWUobnVsbCk7XG4gICAgfSBlbHNlIGlmIChwYXJzZWQuY29tcGxldGUgJiYgcGFyc2VkLnZhbHVlICE9PSBudWxsKSB7XG4gICAgICB0aGlzLmNvbW1pdFZhbHVlKHRoaXMubm9ybWFsaXplRXh0ZXJuYWxWYWx1ZShwYXJzZWQudmFsdWUpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgb25Gb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzZWQgPSB0cnVlO1xuICAgIHRoaXMuZGlzcGxheVZhbHVlID0gZm9ybWF0TnVtYmVySW5wdXRWYWx1ZShcbiAgICAgIHRoaXMudmFsdWUsXG4gICAgICB0aGlzLnNhZmVTY2FsZSxcbiAgICAgIHRoaXMuc2VwYXJhdG9ycy5kZWNpbWFsLFxuICAgICAgdGhpcy5zZXBhcmF0b3JzLmdyb3VwLFxuICAgICAgZmFsc2VcbiAgICApO1xuICB9XG5cbiAgb25CbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgcGFyc2VkID0gcGFyc2VOdW1iZXJJbnB1dFZhbHVlKHRoaXMuZGlzcGxheVZhbHVlLCB0aGlzLnNlcGFyYXRvcnMpO1xuICAgIGlmIChwYXJzZWQuZW1wdHkpIHtcbiAgICAgIHRoaXMuY29tbWl0VmFsdWUobnVsbCk7XG4gICAgfSBlbHNlIGlmIChwYXJzZWQudmFsdWUgIT09IG51bGwpIHtcbiAgICAgIHRoaXMuY29tbWl0VmFsdWUodGhpcy5ub3JtYWxpemVFeHRlcm5hbFZhbHVlKHBhcnNlZC52YWx1ZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICB0aGlzLnN5bmNEaXNwbGF5VmFsdWUoKTtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICB9XG5cbiAgb25QYXN0ZShldmVudDogQ2xpcGJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBwYXN0ZWRUZXh0ID0gZXZlbnQuY2xpcGJvYXJkRGF0YT8uZ2V0RGF0YSgndGV4dCcpID8/ICcnO1xuICAgIGlmIChjb3VudE51bWJlcklucHV0RGlnaXRzKHBhc3RlZFRleHQpID4gdGhpcy5zYWZlUHJlY2lzaW9uKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB0aGlzLnBhc3RlUmVqZWN0ZWQuZW1pdChwYXN0ZWRUZXh0KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZUV4dGVybmFsVmFsdWUodmFsdWU6IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQpOiBudW1iZXIgfCBudWxsIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnbnVtYmVyJyB8fCAhTnVtYmVyLmlzRmluaXRlKHZhbHVlKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vcm1hbGl6ZU51bWJlcklucHV0VmFsdWUoXG4gICAgICB2YWx1ZSxcbiAgICAgIHRoaXMuc2FmZVByZWNpc2lvbixcbiAgICAgIHRoaXMuc2FmZVNjYWxlLFxuICAgICAgdGhpcy5hbGxvd05lZ2F0aXZlLFxuICAgICAgdGhpcy5taW4sXG4gICAgICB0aGlzLm1heFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHJlZnJlc2hTZXBhcmF0b3JzKCk6IHZvaWQge1xuICAgIGNvbnN0IGxvY2FsZVNlcGFyYXRvcnMgPSByZXNvbHZlTnVtYmVySW5wdXRTZXBhcmF0b3JzKHRoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nKTtcblxuICAgIHRoaXMuc2VwYXJhdG9ycyA9IHtcbiAgICAgIGRlY2ltYWw6IHRoaXMuZXhwbGljaXREZWNpbWFsU2VwYXJhdG9yICYmIHRoaXMuZGVjaW1hbFNlcGFyYXRvciA/IHRoaXMuZGVjaW1hbFNlcGFyYXRvciA6IGxvY2FsZVNlcGFyYXRvcnMuZGVjaW1hbCxcbiAgICAgIGdyb3VwOiB0aGlzLmV4cGxpY2l0VGhvdXNhbmRzU2VwYXJhdG9yICYmIHRoaXMudGhvdXNhbmRzU2VwYXJhdG9yID8gdGhpcy50aG91c2FuZHNTZXBhcmF0b3IgOiBsb2NhbGVTZXBhcmF0b3JzLmdyb3VwXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgc3luY0Rpc3BsYXlWYWx1ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb2N1c2VkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5kaXNwbGF5VmFsdWUgPSBmb3JtYXROdW1iZXJJbnB1dFZhbHVlKFxuICAgICAgdGhpcy52YWx1ZSxcbiAgICAgIHRoaXMuc2FmZVNjYWxlLFxuICAgICAgdGhpcy5zZXBhcmF0b3JzLmRlY2ltYWwsXG4gICAgICB0aGlzLnNlcGFyYXRvcnMuZ3JvdXBcbiAgICApO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2RjLW51bWJlci1pbnB1dFwiPlxuICBAaWYgKGxhYmVsS2V5KCkgfHwgaGFzVG9vbHRpcCkge1xuICAgIDxkaXYgY2xhc3M9XCJzZGMtbnVtYmVyLWlucHV0X19sYWJlbC1yb3dcIj5cbiAgICAgIEBpZiAobGFiZWxLZXkoKSkge1xuICAgICAgICA8bGFiZWwgW2Zvcl09XCJpZGVudGl0eS5pZFwiIGNsYXNzPVwic2RjLW51bWJlci1pbnB1dF9fbGFiZWxcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNkYy1udW1iZXItaW5wdXRfX2xhYmVsLXRleHRcIj5cbiAgICAgICAgICAgIHt7IGxhYmVsS2V5KCkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIEBpZiAocmVxdWlyZWQpIHtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZC1maWVsZFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPio8L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKHJlcXVpcmVkKSB7XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPlxuICAgICAgICAgICAgICAgIHt7ICdwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5LnJlcXVpcmVkX2ZpZWxkJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgfVxuICAgICAgQGlmIChoYXNUb29sdGlwKSB7XG4gICAgICAgIDxzZGMtdG9vbHRpcFxuICAgICAgICAgIGNsYXNzPVwic2RjLW51bWJlci1pbnB1dF9faW5mby10b29sdGlwLXdyYXBcIlxuICAgICAgICAgIFtwVG9vbHRpcF09XCJpbmZvVG9vbHRpcFwiXG4gICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCJpbmZvVG9vbHRpcFBvc2l0aW9uXCJcbiAgICAgICAgICBbdG9vbHRpcEV2ZW50XT1cImluZm9Ub29sdGlwRXZlbnRcIlxuICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgIChrZXlkb3duKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWluZm8tY2lyY2xlIHNkYy1udW1iZXItaW5wdXRfX2luZm8tdG9vbHRpcC1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICA8L3NkYy10b29sdGlwPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2RjLW51bWJlci1pbnB1dF9fY29udHJvbFwiXG4gICAgW2NsYXNzLnNkYy1udW1iZXItaW5wdXRfX2NvbnRyb2wtLWludmFsaWRdPVwiaW52YWxpZFwiXG4gICAgW2NsYXNzLnNkYy1udW1iZXItaW5wdXRfX2NvbnRyb2wtLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgPlxuICAgIEBpZiAoYWRkb25MZWZ0KSB7XG4gICAgICA8c3BhbiBjbGFzcz1cInNkYy1udW1iZXItaW5wdXRfX2FkZG9uIHNkYy1udW1iZXItaW5wdXRfX2FkZG9uLS1sZWZ0XCI+e3sgYWRkb25MZWZ0IH19PC9zcGFuPlxuICAgIH1cblxuICAgIDxpbnB1dFxuICAgICAgY2xhc3M9XCJzZGMtbnVtYmVyLWlucHV0X19pbnB1dFwiXG4gICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAgIChmb2N1cyk9XCJvbkZvY3VzKClcIlxuICAgIChpbnB1dCk9XCJvbk5hdGl2ZUlucHV0KCRldmVudClcIlxuICAgIChwYXN0ZSk9XCJvblBhc3RlKCRldmVudClcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2lkXT1cImlkZW50aXR5LmlkXCJcbiAgICBbbmFtZV09XCJpZGVudGl0eS5uYW1lXCJcbiAgICBbbmdDbGFzc109XCJnZXRJbnZhbGlkQ2xhc3MoKVwiXG4gICAgW25nU3R5bGVdPVwiZ2V0SW5wdXRTdHlsZSgpXCJcbiAgICBbY2xhc3Muc2RjLW51bWJlci1pbnB1dF9faW5wdXQtLWFsaWduLXJpZ2h0XT1cImFsaWduVG8gPT09ICdyaWdodCdcIlxuICAgIFtjbGFzcy5zZGMtbnVtYmVyLWlucHV0X19pbnB1dC0taW52YWxpZF09XCJpbnZhbGlkXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicmVzb2x2ZWRQbGFjZWhvbGRlclwiXG4gICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICBbdmFsdWVdPVwiZGlzcGxheVZhbHVlXCJcbiAgICB0eXBlPVwidGV4dFwiXG4gICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICBzcGVsbGNoZWNrPVwiZmFsc2VcIlxuICAgIFthdHRyLmlucHV0bW9kZV09XCJpbnB1dE1vZGVcIlxuICAgIFthdHRyLm1heGxlbmd0aF09XCJyZXNvbHZlZE1heExlbmd0aFwiXG4gICAgW2F0dHIubWluXT1cIm1pbiA/PyBudWxsXCJcbiAgICBbYXR0ci5tYXhdPVwibWF4ID8/IG51bGxcIlxuICAgIFthdHRyLnN0ZXBdPVwicmVzb2x2ZWRTdGVwXCJcbiAgICBbYXR0ci5yb2xlXT1cIidzcGluYnV0dG9uJ1wiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJyZXNvbHZlZEFyaWFMYWJlbFwiXG4gICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZCA/ICd0cnVlJyA6IG51bGxcIlxuICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJpbnZhbGlkID8gJ3RydWUnIDogbnVsbFwiXG4gICAgW2F0dHIuYXJpYS12YWx1ZW5vd109XCJ2YWx1ZSA/PyBudWxsXCJcbiAgICBbYXR0ci5hcmlhLXZhbHVlbWluXT1cIm1pbiA/PyBudWxsXCJcbiAgICBbYXR0ci5hcmlhLXZhbHVlbWF4XT1cIm1heCA/PyBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIm1lc3NhZ2VLZXkoKSA/IGlkZW50aXR5LmlkICsgJy1lcnJvcicgOiBudWxsXCJcbiAgICAvPlxuXG4gICAgQGlmIChhZGRvblJpZ2h0KSB7XG4gICAgICA8c3BhbiBjbGFzcz1cInNkYy1udW1iZXItaW5wdXRfX2FkZG9uIHNkYy1udW1iZXItaW5wdXRfX2FkZG9uLS1yaWdodFwiPnt7IGFkZG9uUmlnaHQgfX08L3NwYW4+XG4gICAgfVxuICA8L2Rpdj5cblxuICAgIEBpZiAobWVzc2FnZUtleSgpKSB7XG4gICAgICA8c21hbGxcbiAgICAgICAgW2lkXT1cImlkZW50aXR5LmlkICsgJy1lcnJvcidcIlxuICAgICAgICBbbmdDbGFzc109XCJnZXRJbnZhbGlkTWVzc2FnZUNsYXNzKClcIlxuICAgICAgICByb2xlPVwiYWxlcnRcIlxuICAgICAgICBhcmlhLWxpdmU9XCJwb2xpdGVcIlxuICAgICAgICA+XG4gICAgICAgIHt7IG1lc3NhZ2VLZXkoKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9zbWFsbD5cbiAgICB9XG4gIDwvZGl2PlxuIl19
|
package/esm2022/features/object-card/components/object-card-field/object-card-field.component.mjs
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, Input, Output, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
3
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
4
|
+
import { BADGE_DEFAULT_COLOR } from '../../../../core/constants/badge.const';
|
|
5
|
+
import { OBJECT_CARD_FIELD_ID_PREFIX } from '../../../../core/constants/object-card.const';
|
|
6
|
+
import { nextSequentialId } from '../../../../core/utils/id.util';
|
|
7
|
+
import { BadgeComponent } from '../../../badge/badge.component';
|
|
8
|
+
import { ButtonComponent } from '../../../button/button.component';
|
|
9
|
+
import { ThumbnailComponent } from '../../../thumbnail/thumbnail.component';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@ngx-translate/core";
|
|
12
|
+
/**
|
|
13
|
+
* @description Campo extra de um `sdc-object-card`. Não é renderizado diretamente:
|
|
14
|
+
* expõe seu conteúdo via `<ng-template>` (propriedade `content`) para que o container
|
|
15
|
+
* decida renderizá-lo na linha visível ou no painel expansível.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```html
|
|
19
|
+
* <sdc-object-card-field
|
|
20
|
+
* label="CPF"
|
|
21
|
+
* description="000.000.000-00"
|
|
22
|
+
* iconClass="fas fa-id-card" />
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export class ObjectCardFieldComponent {
|
|
26
|
+
/** @description Identificador único do componente no DOM. Gerado automaticamente se não informado. */
|
|
27
|
+
id = nextSequentialId(OBJECT_CARD_FIELD_ID_PREFIX);
|
|
28
|
+
/** @description URL da imagem do thumbnail interno. */
|
|
29
|
+
imageSource;
|
|
30
|
+
/** @description Texto alternativo do thumbnail interno. @default label */
|
|
31
|
+
imageAlt;
|
|
32
|
+
/** @description Classe do ícone do thumbnail interno, exibido quando não há `imageSource`. */
|
|
33
|
+
iconClass;
|
|
34
|
+
/** @description Rótulo do campo. */
|
|
35
|
+
label;
|
|
36
|
+
/** @description Descrição/valor do campo. Ignorada quando `badge` é informado. */
|
|
37
|
+
description;
|
|
38
|
+
/** @description Rótulo do botão de ação (link) do campo. */
|
|
39
|
+
buttonLabel;
|
|
40
|
+
/** @description Itens do menu suspenso do botão de ação. */
|
|
41
|
+
buttonModel = [];
|
|
42
|
+
/** @description Texto do badge. Quando informado, substitui a exibição de `description`. */
|
|
43
|
+
badge;
|
|
44
|
+
/** @description Cor do badge. @default 'blue' */
|
|
45
|
+
badgeColor = BADGE_DEFAULT_COLOR;
|
|
46
|
+
/** @description Emitido quando o botão de ação é clicado. */
|
|
47
|
+
buttonClick = new EventEmitter();
|
|
48
|
+
projectedThumbnail = null;
|
|
49
|
+
/** @description Template com o conteúdo completo do campo, renderizado pelo `sdc-object-card` via `ngTemplateOutlet`. */
|
|
50
|
+
content;
|
|
51
|
+
get hasThumbnail() {
|
|
52
|
+
return !this.projectedThumbnail && !!(this.imageSource ?? this.iconClass);
|
|
53
|
+
}
|
|
54
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ObjectCardFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
55
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ObjectCardFieldComponent, isStandalone: true, selector: "sdc-object-card-field", inputs: { id: "id", imageSource: "imageSource", imageAlt: "imageAlt", iconClass: "iconClass", label: "label", description: "description", buttonLabel: "buttonLabel", buttonModel: "buttonModel", badge: "badge", badgeColor: "badgeColor" }, outputs: { buttonClick: "buttonClick" }, queries: [{ propertyName: "projectedThumbnail", first: true, predicate: ThumbnailComponent, descendants: true, static: true }], viewQueries: [{ propertyName: "content", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: "<ng-template>\n <div class=\"sdc-object-card-field\">\n <ng-content select=\"sdc-thumbnail\"></ng-content>\n\n @if (hasThumbnail) {\n <sdc-thumbnail\n [id]=\"id + '-thumbnail'\"\n [imageSource]=\"imageSource\"\n [imageAlt]=\"imageAlt || label\"\n [iconClass]=\"iconClass ?? ''\"\n size=\"small\"\n ></sdc-thumbnail>\n }\n\n <div class=\"sdc-object-card-field__info\">\n @if (label) {\n <span [id]=\"id + '-label'\" class=\"sdc-object-card-field__label\">{{ label | translate }}</span>\n }\n\n @if (badge) {\n <sdc-badge\n [id]=\"id + '-badge'\"\n [text]=\"badge\"\n [color]=\"badgeColor\"\n ></sdc-badge>\n } @else if (description) {\n <span [id]=\"id + '-description'\" class=\"sdc-object-card-field__description\">{{ description | translate }}</span>\n }\n\n @if (buttonLabel) {\n <sdc-button\n [id]=\"id + '-button'\"\n class=\"sdc-object-card-field__button\"\n priority=\"link\"\n size=\"small\"\n [label]=\"buttonLabel\"\n [menuOptions]=\"buttonModel\"\n (clicked)=\"buttonClick.emit($event)\"\n ></sdc-button>\n }\n </div>\n </div>\n</ng-template>\n", styles: [":host{display:contents}.sdc-object-card-field{align-items:center;display:flex;gap:.625rem;height:100%}.sdc-object-card-field__info{min-width:0}.sdc-object-card-field__info,.sdc-object-card-field__info span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sdc-object-card-field__label{color:var(--sdc-object-card-field-label-color, #667085);display:block;font-size:.75rem}.sdc-object-card-field__description{color:var(--sdc-object-card-field-description-color, #212533);display:block;font-size:.875rem}.sdc-object-card-field__button{display:inline-block}@media (max-width: 767px){.sdc-object-card-field__info,.sdc-object-card-field__info span{white-space:normal}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: ThumbnailComponent, selector: "sdc-thumbnail", inputs: ["id", "size", "imageSource", "imageFallback", "imageAlt", "iconClass", "hasAction", "actionIconClass", "isTile", "isBrand"] }, { kind: "component", type: BadgeComponent, selector: "sdc-badge", inputs: ["type", "color", "title", "titleParams", "text", "textParams", "selectable", "disabled", "iconClass", "iconPosition", "infoSign", "ariaLabel", "ariaLabelParams", "infoAriaLabel"], outputs: ["selected"] }, { kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["id", "label", "ariaLabel", "disabled", "loading", "width", "priority", "size", "type", "icon", "rightIcon", "auxiliary", "caret", "tooltip", "animation", "slide", "styleClass", "badge", "menuOptions", "menuContext", "model"], outputs: ["clicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
56
|
+
}
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ObjectCardFieldComponent, decorators: [{
|
|
58
|
+
type: Component,
|
|
59
|
+
args: [{ selector: 'sdc-object-card-field', standalone: true, imports: [CommonModule, TranslateModule, ThumbnailComponent, BadgeComponent, ButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<ng-template>\n <div class=\"sdc-object-card-field\">\n <ng-content select=\"sdc-thumbnail\"></ng-content>\n\n @if (hasThumbnail) {\n <sdc-thumbnail\n [id]=\"id + '-thumbnail'\"\n [imageSource]=\"imageSource\"\n [imageAlt]=\"imageAlt || label\"\n [iconClass]=\"iconClass ?? ''\"\n size=\"small\"\n ></sdc-thumbnail>\n }\n\n <div class=\"sdc-object-card-field__info\">\n @if (label) {\n <span [id]=\"id + '-label'\" class=\"sdc-object-card-field__label\">{{ label | translate }}</span>\n }\n\n @if (badge) {\n <sdc-badge\n [id]=\"id + '-badge'\"\n [text]=\"badge\"\n [color]=\"badgeColor\"\n ></sdc-badge>\n } @else if (description) {\n <span [id]=\"id + '-description'\" class=\"sdc-object-card-field__description\">{{ description | translate }}</span>\n }\n\n @if (buttonLabel) {\n <sdc-button\n [id]=\"id + '-button'\"\n class=\"sdc-object-card-field__button\"\n priority=\"link\"\n size=\"small\"\n [label]=\"buttonLabel\"\n [menuOptions]=\"buttonModel\"\n (clicked)=\"buttonClick.emit($event)\"\n ></sdc-button>\n }\n </div>\n </div>\n</ng-template>\n", styles: [":host{display:contents}.sdc-object-card-field{align-items:center;display:flex;gap:.625rem;height:100%}.sdc-object-card-field__info{min-width:0}.sdc-object-card-field__info,.sdc-object-card-field__info span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sdc-object-card-field__label{color:var(--sdc-object-card-field-label-color, #667085);display:block;font-size:.75rem}.sdc-object-card-field__description{color:var(--sdc-object-card-field-description-color, #212533);display:block;font-size:.875rem}.sdc-object-card-field__button{display:inline-block}@media (max-width: 767px){.sdc-object-card-field__info,.sdc-object-card-field__info span{white-space:normal}}\n"] }]
|
|
60
|
+
}], propDecorators: { id: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}], imageSource: [{
|
|
63
|
+
type: Input
|
|
64
|
+
}], imageAlt: [{
|
|
65
|
+
type: Input
|
|
66
|
+
}], iconClass: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}], label: [{
|
|
69
|
+
type: Input
|
|
70
|
+
}], description: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], buttonLabel: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], buttonModel: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}], badge: [{
|
|
77
|
+
type: Input
|
|
78
|
+
}], badgeColor: [{
|
|
79
|
+
type: Input
|
|
80
|
+
}], buttonClick: [{
|
|
81
|
+
type: Output
|
|
82
|
+
}], projectedThumbnail: [{
|
|
83
|
+
type: ContentChild,
|
|
84
|
+
args: [ThumbnailComponent, { static: true }]
|
|
85
|
+
}], content: [{
|
|
86
|
+
type: ViewChild,
|
|
87
|
+
args: [TemplateRef, { static: true }]
|
|
88
|
+
}] } });
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWNhcmQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9vYmplY3QtY2FyZC9jb21wb25lbnRzL29iamVjdC1jYXJkLWZpZWxkL29iamVjdC1jYXJkLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvb2JqZWN0LWNhcmQvY29tcG9uZW50cy9vYmplY3QtY2FyZC1maWVsZC9vYmplY3QtY2FyZC1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUczRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7QUFFNUU7Ozs7Ozs7Ozs7OztHQVlHO0FBVUgsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxzR0FBc0c7SUFDN0YsRUFBRSxHQUFHLGdCQUFnQixDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFFNUQsdURBQXVEO0lBQzlDLFdBQVcsQ0FBVTtJQUU5QiwwRUFBMEU7SUFDakUsUUFBUSxDQUFVO0lBRTNCLDhGQUE4RjtJQUNyRixTQUFTLENBQVU7SUFFNUIsb0NBQW9DO0lBQzNCLEtBQUssQ0FBVTtJQUV4QixrRkFBa0Y7SUFDekUsV0FBVyxDQUFVO0lBRTlCLDREQUE0RDtJQUNuRCxXQUFXLENBQVU7SUFFOUIsNERBQTREO0lBQ25ELFdBQVcsR0FBeUIsRUFBRSxDQUFDO0lBRWhELDRGQUE0RjtJQUNuRixLQUFLLENBQVU7SUFFeEIsaURBQWlEO0lBQ3hDLFVBQVUsR0FBZSxtQkFBbUIsQ0FBQztJQUV0RCw2REFBNkQ7SUFDbkQsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7SUFHL0Isa0JBQWtCLEdBQThCLElBQUksQ0FBQztJQUV4RSx5SEFBeUg7SUFFaEgsT0FBTyxDQUF3QjtJQUV4QyxJQUFjLFlBQVk7UUFDeEIsT0FBTyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1RSxDQUFDO3dHQTNDVSx3QkFBd0I7NEZBQXhCLHdCQUF3Qix3WkFrQ3JCLGtCQUFrQix1R0FJckIsV0FBVyw4RENuRnhCLHN3Q0EyQ0EsMnRCREpZLFlBQVksOEJBQUUsZUFBZSw0RkFBRSxrQkFBa0IsZ01BQUUsY0FBYywwUUFBRSxlQUFlOzs0RkFNakYsd0JBQXdCO2tCQVRwQyxTQUFTOytCQUNFLHVCQUF1QixjQUNyQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxlQUFlLENBQUMsbUJBRzVFLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFFBQVE7OEJBSWhDLEVBQUU7c0JBQVYsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUdHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0ksV0FBVztzQkFBcEIsTUFBTTtnQkFHWSxrQkFBa0I7c0JBRHBDLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUt6QyxPQUFPO3NCQURmLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHsgQkFER0VfREVGQVVMVF9DT0xPUiB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvY29uc3RhbnRzL2JhZGdlLmNvbnN0JztcbmltcG9ydCB7IE9CSkVDVF9DQVJEX0ZJRUxEX0lEX1BSRUZJWCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvY29uc3RhbnRzL29iamVjdC1jYXJkLmNvbnN0JztcbmltcG9ydCB0eXBlIHsgQmFkZ2VDb2xvciB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvdHlwZXMvYmFkZ2UudHlwZSc7XG5pbXBvcnQgdHlwZSB7IEJ1dHRvbk1lbnVJdGVtRGF0YSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvdHlwZXMvYnV0dG9uLnR5cGUnO1xuaW1wb3J0IHsgbmV4dFNlcXVlbnRpYWxJZCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvdXRpbHMvaWQudXRpbCc7XG5pbXBvcnQgeyBCYWRnZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2JhZGdlL2JhZGdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaHVtYm5haWxDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi90aHVtYm5haWwvdGh1bWJuYWlsLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENhbXBvIGV4dHJhIGRlIHVtIGBzZGMtb2JqZWN0LWNhcmRgLiBOw6NvIMOpIHJlbmRlcml6YWRvIGRpcmV0YW1lbnRlOlxuICogZXhww7VlIHNldSBjb250ZcO6ZG8gdmlhIGA8bmctdGVtcGxhdGU+YCAocHJvcHJpZWRhZGUgYGNvbnRlbnRgKSBwYXJhIHF1ZSBvIGNvbnRhaW5lclxuICogZGVjaWRhIHJlbmRlcml6w6EtbG8gbmEgbGluaGEgdmlzw612ZWwgb3Ugbm8gcGFpbmVsIGV4cGFuc8OtdmVsLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8c2RjLW9iamVjdC1jYXJkLWZpZWxkXG4gKiAgIGxhYmVsPVwiQ1BGXCJcbiAqICAgZGVzY3JpcHRpb249XCIwMDAuMDAwLjAwMC0wMFwiXG4gKiAgIGljb25DbGFzcz1cImZhcyBmYS1pZC1jYXJkXCIgLz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtb2JqZWN0LWNhcmQtZmllbGQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIFRodW1ibmFpbENvbXBvbmVudCwgQmFkZ2VDb21wb25lbnQsIEJ1dHRvbkNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9vYmplY3QtY2FyZC1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9vYmplY3QtY2FyZC1maWVsZC5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZFxufSlcbmV4cG9ydCBjbGFzcyBPYmplY3RDYXJkRmllbGRDb21wb25lbnQge1xuICAvKiogQGRlc2NyaXB0aW9uIElkZW50aWZpY2Fkb3Igw7puaWNvIGRvIGNvbXBvbmVudGUgbm8gRE9NLiBHZXJhZG8gYXV0b21hdGljYW1lbnRlIHNlIG7Do28gaW5mb3JtYWRvLiAqL1xuICBASW5wdXQoKSBpZCA9IG5leHRTZXF1ZW50aWFsSWQoT0JKRUNUX0NBUkRfRklFTERfSURfUFJFRklYKTtcblxuICAvKiogQGRlc2NyaXB0aW9uIFVSTCBkYSBpbWFnZW0gZG8gdGh1bWJuYWlsIGludGVybm8uICovXG4gIEBJbnB1dCgpIGltYWdlU291cmNlPzogc3RyaW5nO1xuXG4gIC8qKiBAZGVzY3JpcHRpb24gVGV4dG8gYWx0ZXJuYXRpdm8gZG8gdGh1bWJuYWlsIGludGVybm8uIEBkZWZhdWx0IGxhYmVsICovXG4gIEBJbnB1dCgpIGltYWdlQWx0Pzogc3RyaW5nO1xuXG4gIC8qKiBAZGVzY3JpcHRpb24gQ2xhc3NlIGRvIMOtY29uZSBkbyB0aHVtYm5haWwgaW50ZXJubywgZXhpYmlkbyBxdWFuZG8gbsOjbyBow6EgYGltYWdlU291cmNlYC4gKi9cbiAgQElucHV0KCkgaWNvbkNsYXNzPzogc3RyaW5nO1xuXG4gIC8qKiBAZGVzY3JpcHRpb24gUsOzdHVsbyBkbyBjYW1wby4gKi9cbiAgQElucHV0KCkgbGFiZWw/OiBzdHJpbmc7XG5cbiAgLyoqIEBkZXNjcmlwdGlvbiBEZXNjcmnDp8Ojby92YWxvciBkbyBjYW1wby4gSWdub3JhZGEgcXVhbmRvIGBiYWRnZWAgw6kgaW5mb3JtYWRvLiAqL1xuICBASW5wdXQoKSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKiogQGRlc2NyaXB0aW9uIFLDs3R1bG8gZG8gYm90w6NvIGRlIGHDp8OjbyAobGluaykgZG8gY2FtcG8uICovXG4gIEBJbnB1dCgpIGJ1dHRvbkxhYmVsPzogc3RyaW5nO1xuXG4gIC8qKiBAZGVzY3JpcHRpb24gSXRlbnMgZG8gbWVudSBzdXNwZW5zbyBkbyBib3TDo28gZGUgYcOnw6NvLiAqL1xuICBASW5wdXQoKSBidXR0b25Nb2RlbDogQnV0dG9uTWVudUl0ZW1EYXRhW10gPSBbXTtcblxuICAvKiogQGRlc2NyaXB0aW9uIFRleHRvIGRvIGJhZGdlLiBRdWFuZG8gaW5mb3JtYWRvLCBzdWJzdGl0dWkgYSBleGliacOnw6NvIGRlIGBkZXNjcmlwdGlvbmAuICovXG4gIEBJbnB1dCgpIGJhZGdlPzogc3RyaW5nO1xuXG4gIC8qKiBAZGVzY3JpcHRpb24gQ29yIGRvIGJhZGdlLiBAZGVmYXVsdCAnYmx1ZScgKi9cbiAgQElucHV0KCkgYmFkZ2VDb2xvcjogQmFkZ2VDb2xvciA9IEJBREdFX0RFRkFVTFRfQ09MT1I7XG5cbiAgLyoqIEBkZXNjcmlwdGlvbiBFbWl0aWRvIHF1YW5kbyBvIGJvdMOjbyBkZSBhw6fDo28gw6kgY2xpY2Fkby4gKi9cbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICBAQ29udGVudENoaWxkKFRodW1ibmFpbENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHByb2plY3RlZFRodW1ibmFpbDogVGh1bWJuYWlsQ29tcG9uZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIEBkZXNjcmlwdGlvbiBUZW1wbGF0ZSBjb20gbyBjb250ZcO6ZG8gY29tcGxldG8gZG8gY2FtcG8sIHJlbmRlcml6YWRvIHBlbG8gYHNkYy1vYmplY3QtY2FyZGAgdmlhIGBuZ1RlbXBsYXRlT3V0bGV0YC4gKi9cbiAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZiwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcmVhZG9ubHkgY29udGVudCE6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIHByb3RlY3RlZCBnZXQgaGFzVGh1bWJuYWlsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5wcm9qZWN0ZWRUaHVtYm5haWwgJiYgISEodGhpcy5pbWFnZVNvdXJjZSA/PyB0aGlzLmljb25DbGFzcyk7XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cInNkYy1vYmplY3QtY2FyZC1maWVsZFwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNkYy10aHVtYm5haWxcIj48L25nLWNvbnRlbnQ+XG5cbiAgICBAaWYgKGhhc1RodW1ibmFpbCkge1xuICAgICAgPHNkYy10aHVtYm5haWxcbiAgICAgICAgW2lkXT1cImlkICsgJy10aHVtYm5haWwnXCJcbiAgICAgICAgW2ltYWdlU291cmNlXT1cImltYWdlU291cmNlXCJcbiAgICAgICAgW2ltYWdlQWx0XT1cImltYWdlQWx0IHx8IGxhYmVsXCJcbiAgICAgICAgW2ljb25DbGFzc109XCJpY29uQ2xhc3MgPz8gJydcIlxuICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgPjwvc2RjLXRodW1ibmFpbD5cbiAgICB9XG5cbiAgICA8ZGl2IGNsYXNzPVwic2RjLW9iamVjdC1jYXJkLWZpZWxkX19pbmZvXCI+XG4gICAgICBAaWYgKGxhYmVsKSB7XG4gICAgICAgIDxzcGFuIFtpZF09XCJpZCArICctbGFiZWwnXCIgY2xhc3M9XCJzZGMtb2JqZWN0LWNhcmQtZmllbGRfX2xhYmVsXCI+e3sgbGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICB9XG5cbiAgICAgIEBpZiAoYmFkZ2UpIHtcbiAgICAgICAgPHNkYy1iYWRnZVxuICAgICAgICAgIFtpZF09XCJpZCArICctYmFkZ2UnXCJcbiAgICAgICAgICBbdGV4dF09XCJiYWRnZVwiXG4gICAgICAgICAgW2NvbG9yXT1cImJhZGdlQ29sb3JcIlxuICAgICAgICA+PC9zZGMtYmFkZ2U+XG4gICAgICB9IEBlbHNlIGlmIChkZXNjcmlwdGlvbikge1xuICAgICAgICA8c3BhbiBbaWRdPVwiaWQgKyAnLWRlc2NyaXB0aW9uJ1wiIGNsYXNzPVwic2RjLW9iamVjdC1jYXJkLWZpZWxkX19kZXNjcmlwdGlvblwiPnt7IGRlc2NyaXB0aW9uIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgfVxuXG4gICAgICBAaWYgKGJ1dHRvbkxhYmVsKSB7XG4gICAgICAgIDxzZGMtYnV0dG9uXG4gICAgICAgICAgW2lkXT1cImlkICsgJy1idXR0b24nXCJcbiAgICAgICAgICBjbGFzcz1cInNkYy1vYmplY3QtY2FyZC1maWVsZF9fYnV0dG9uXCJcbiAgICAgICAgICBwcmlvcml0eT1cImxpbmtcIlxuICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgW2xhYmVsXT1cImJ1dHRvbkxhYmVsXCJcbiAgICAgICAgICBbbWVudU9wdGlvbnNdPVwiYnV0dG9uTW9kZWxcIlxuICAgICAgICAgIChjbGlja2VkKT1cImJ1dHRvbkNsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgID48L3NkYy1idXR0b24+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|