@dropi/ui-components 1.0.15 → 1.0.16
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.
|
@@ -3,16 +3,18 @@ import * as i0 from '@angular/core';
|
|
|
3
3
|
import { Component, Input, EventEmitter, Output, NgModule, CUSTOM_ELEMENTS_SCHEMA, Inject, Directive, ViewContainerRef, NO_ERRORS_SCHEMA, ViewChild, Pipe, ContentChild, ViewChildren, ViewEncapsulation, HostListener, TemplateRef, ChangeDetectionStrategy, ElementRef, NgZone, ChangeDetectorRef } from '@angular/core';
|
|
4
4
|
import * as i1 from '@angular/common';
|
|
5
5
|
import { CommonModule, NgIf, DatePipe, TitleCasePipe } from '@angular/common';
|
|
6
|
+
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
7
|
+
import { HttpClientModule } from '@angular/common/http';
|
|
8
|
+
import * as i2 from '@ngx-translate/core';
|
|
9
|
+
import { TranslateModule, TranslateLoader, TranslateService } from '@ngx-translate/core';
|
|
10
|
+
import { of, Subject, Subscription } from 'rxjs';
|
|
6
11
|
import { createCustomElement } from '@angular/elements';
|
|
7
12
|
import * as i1$1 from '@angular/platform-browser';
|
|
8
13
|
import { createApplication } from '@angular/platform-browser';
|
|
9
|
-
import * as i2 from '@angular/forms';
|
|
14
|
+
import * as i2$1 from '@angular/forms';
|
|
10
15
|
import { FormsModule, ReactiveFormsModule, FormControl, FormArray, NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
|
|
11
|
-
import * as i2$1 from '@ngx-translate/core';
|
|
12
|
-
import { TranslateModule, TranslateService } from '@ngx-translate/core';
|
|
13
16
|
import * as i2$2 from 'primeng/progressbar';
|
|
14
17
|
import { ProgressBarModule } from 'primeng/progressbar';
|
|
15
|
-
import { Subject, Subscription } from 'rxjs';
|
|
16
18
|
import { takeUntil, debounceTime } from 'rxjs/operators';
|
|
17
19
|
import * as i1$2 from '@ng-bootstrap/ng-bootstrap';
|
|
18
20
|
import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';
|
|
@@ -153,22 +155,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
153
155
|
* Este módulo proporciona funciones auxiliares para convertir
|
|
154
156
|
* componentes Angular en Web Components
|
|
155
157
|
*/
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
158
|
+
// Custom Loader that returns empty translations to avoid HTTP requests by default
|
|
159
|
+
class CustomTranslateLoader {
|
|
160
|
+
getTranslation(lang) {
|
|
161
|
+
return of({});
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
// Mock services to prevent NullInjectorError
|
|
165
|
+
const MockService = {
|
|
166
|
+
get: () => of(null),
|
|
167
|
+
post: () => of(null),
|
|
168
|
+
put: () => of(null),
|
|
169
|
+
delete: () => of(null),
|
|
170
|
+
getBrandInfo: () => ({ name: "Dropi" }),
|
|
171
|
+
};
|
|
163
172
|
class DropiElementsModule {
|
|
164
173
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiElementsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
165
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: DropiElementsModule
|
|
166
|
-
|
|
174
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: DropiElementsModule, imports: [BrowserAnimationsModule,
|
|
175
|
+
HttpClientModule, i2.TranslateModule] });
|
|
176
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiElementsModule, providers: [
|
|
177
|
+
{ provide: "UserService", useValue: MockService },
|
|
178
|
+
{ provide: "SettingsService", useValue: MockService },
|
|
179
|
+
{ provide: "ApiService", useValue: MockService },
|
|
180
|
+
], imports: [BrowserAnimationsModule,
|
|
181
|
+
HttpClientModule,
|
|
182
|
+
TranslateModule.forRoot({
|
|
183
|
+
loader: { provide: TranslateLoader, useClass: CustomTranslateLoader },
|
|
184
|
+
})] });
|
|
167
185
|
}
|
|
168
186
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiElementsModule, decorators: [{
|
|
169
187
|
type: NgModule,
|
|
170
188
|
args: [{
|
|
171
|
-
imports: [
|
|
189
|
+
imports: [
|
|
190
|
+
BrowserAnimationsModule,
|
|
191
|
+
HttpClientModule,
|
|
192
|
+
TranslateModule.forRoot({
|
|
193
|
+
loader: { provide: TranslateLoader, useClass: CustomTranslateLoader },
|
|
194
|
+
}),
|
|
195
|
+
],
|
|
196
|
+
providers: [
|
|
197
|
+
{ provide: "UserService", useValue: MockService },
|
|
198
|
+
{ provide: "SettingsService", useValue: MockService },
|
|
199
|
+
{ provide: "ApiService", useValue: MockService },
|
|
200
|
+
],
|
|
172
201
|
declarations: [],
|
|
173
202
|
exports: [],
|
|
174
203
|
}]
|
|
@@ -208,7 +237,7 @@ class DatePickerRangeComponent {
|
|
|
208
237
|
this.onSelect(null);
|
|
209
238
|
}
|
|
210
239
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DatePickerRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
211
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DatePickerRangeComponent, isStandalone: true, selector: "app-date-picker-range", inputs: { setRight: "setRight", loading: "loading", showLabel: "showLabel", placeholder: "placeholder", appendTo: "appendTo", maxDate: "maxDate", minDate: "minDate" }, outputs: { startDateChange: "startDateChange", endDateChange: "endDateChange" }, ngImport: i0, template: "<div\n [ngClass]=\"setRight ? '' : 'calendar-left'\"\n class=\"date-picker-range\"\n *ngIf=\"!loading\"\n>\n <div *ngIf=\"showLabel\" class=\"label\">{{ \"date range\" | translate }}</div>\n <p-calendar\n #calendarInputRef\n class=\"date-picker-input\"\n [panelStyleClass]=\"\n setRight ? 'dropi-custom-calendar' : 'dropi-custom-calendar calendar-left'\n \"\n [ngClass]=\"{ 'date-picker-input--open': loading }\"\n [(ngModel)]=\"dateRange\"\n selectionMode=\"range\"\n [readonlyInput]=\"true\"\n dateFormat=\"dd/mm/yy\"\n [style]=\"{ width: '100%' }\"\n inputId=\"date-range\"\n (onSelect)=\"onSelect($event)\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [placeholder]=\"placeholder\"\n ([CalendarTypeView])=\"(CalendarTypeView)\"\n showOtherMonths=\"false\"\n responsiveOptions=\"true\"\n [disabled]=\"loading\"\n (onClick)=\"checkCalendarView(calendar)\"\n [appendTo]=\"appendTo\"\n >\n <ng-template *ngIf=\"CalendarTypeView === null\" pTemplate=\"header\">\n <div class=\"custom-header\">\n <button\n *ngFor=\"let range of ranges; let i = index\"\n (click)=\"selectRange(range, i)\"\n class=\"p-button-text\"\n [ngClass]=\"{ active: i === activeRangeIndex }\"\n >\n {{ range.label | translate }}\n </button>\n <div *ngIf=\"viewRangeWarning\" class=\"warning-box\">\n <span class=\"warning-message\"\n >Solo puedes filtrar en un rango m\u00E1ximo de 90 d\u00EDas.</span\n >\n </div>\n </div>\n </ng-template>\n </p-calendar>\n</div>\n\n<div class=\"loading\" *ngIf=\"loading\">\n <div class=\"skeleton dp\"></div>\n</div>\n", styles: [":host ::ng-deep .calendar-left ::ng-deep .p-datepicker{right:0!important}:host ::ng-deep .date-picker-range{width:100%;max-width:300px}:host ::ng-deep h3{margin-bottom:.5rem;font-size:1rem;font-weight:500}:host ::ng-deep .label{font-family:Inter;font-size:11px;font-weight:500;line-height:16px;text-align:left;color:#7b8190;margin-bottom:8px}:host ::ng-deep .p-calendar{width:100%}:host ::ng-deep .p-calendar .p-inputtext{width:100%}:host ::ng-deep .p-datepicker table td>span.p-highlight{color:#f49a3d;background:#fef5ec}:host ::ng-deep .p-datepicker table td.p-datepicker-today>span{background:#fff;font-weight:600;color:#f49a3d;border:1px solid rgba(244,154,61,.2705882353)}:host ::ng-deep .custom-header{display:flex;flex-direction:column;border-left:1px solid #dde5eb;padding:10px}@media screen and (max-width: 480px){:host ::ng-deep .custom-header{flex-direction:row;gap:0 10px;border-left:none;flex-wrap:wrap;padding:10px 0 0;margin-bottom:-14px}}:host ::ng-deep .custom-header .p-button{margin-bottom:.5rem;justify-content:flex-start;color:#1f2937;padding:4px 6px}:host ::ng-deep .custom-header .p-button span.p-button-label{font-family:Inter;font-size:13px;font-weight:400;line-height:14px;text-align:left;min-width:max-content}:host ::ng-deep .custom-header .active{background:#f5f6f8;border-radius:5px}:host ::ng-deep .custom-header .active span{font-weight:600!important}:host ::ng-deep .p-datepicker:has(>*:nth-child(3)){display:flex!important;flex-direction:column!important}:host ::ng-deep .p-datepicker:has(>*:nth-child(3)) .custom-header{display:none}:host ::ng-deep .p-datepicker{min-width:320px;display:flex;flex-direction:row-reverse;left:unset!important;padding:8px 16px!important;gap:10px}@media screen and (max-width: 480px){:host ::ng-deep .p-datepicker{width:100%;flex-direction:column;padding:0;left:0!important;right:unset!important}}:host ::ng-deep .p-datepicker-header{padding:.5rem}:host ::ng-deep .p-datepicker-calendar th{font-weight:600}:host ::ng-deep .date-picker-input--open .p-datepicker{display:none!important}:host ::ng-deep input#date-range{width:100%;border-radius:8px!important;border:1px solid var(--Light-Light-3, #d3d7da);background:var(--Light-Light-2, #ffffff);height:40px;color:var(--Dark-Dark-2, #74788d);text-overflow:ellipsis;font-size:13px;display:flex;align-items:center}:host ::ng-deep .p-datepicker table td{padding:2px!important;font-size:14px!important}:host ::ng-deep .p-datepicker table td>span{width:34px;height:34px}:host ::ng-deep .p-datepicker-calendar th{font-size:13px!important}:host ::ng-deep .p-datepicker-header{padding:0!important}:host ::ng-deep .p-icon-wrapper{width:12px!important;color:#a0a8b8}:host ::ng-deep span.p-disabled{color:#9fb4c3;font-weight:200}:host ::ng-deep .p-datepicker-title{font-size:14px!important}:host ::ng-deep .p-datepicker-title button{font-weight:400!important}:host ::ng-deep .dp{height:40px;width:100%;min-width:180px;margin-top:18px}:host ::ng-deep .warning-box{width:100%;margin:0;padding:4px 8px;gap:4px;border-radius:4px;border:1px 0px 0px 0px;border:1px solid #f4c370;background:#fef8ed;display:flex;flex-direction:row;align-items:center}:host ::ng-deep .warning-box .warning-message{color:#495057;font-family:Inter;font-size:10px;font-weight:400;line-height:16px;text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none}@keyframes placeHolderShimmer{0%{background-position:-468px 0}to{background-position:468px 0}}.skeleton{animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeHolderShimmer;animation-timing-function:linear;background:#f6f7f8;background:linear-gradient(to right,#f5f6f8 8%,#e3e7efbf 28%,#f5f6f8 77%);background-size:800px 104px;position:relative;border-radius:6px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2
|
|
240
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DatePickerRangeComponent, isStandalone: true, selector: "app-date-picker-range", inputs: { setRight: "setRight", loading: "loading", showLabel: "showLabel", placeholder: "placeholder", appendTo: "appendTo", maxDate: "maxDate", minDate: "minDate" }, outputs: { startDateChange: "startDateChange", endDateChange: "endDateChange" }, ngImport: i0, template: "<div\n [ngClass]=\"setRight ? '' : 'calendar-left'\"\n class=\"date-picker-range\"\n *ngIf=\"!loading\"\n>\n <div *ngIf=\"showLabel\" class=\"label\">{{ \"date range\" | translate }}</div>\n <p-calendar\n #calendarInputRef\n class=\"date-picker-input\"\n [panelStyleClass]=\"\n setRight ? 'dropi-custom-calendar' : 'dropi-custom-calendar calendar-left'\n \"\n [ngClass]=\"{ 'date-picker-input--open': loading }\"\n [(ngModel)]=\"dateRange\"\n selectionMode=\"range\"\n [readonlyInput]=\"true\"\n dateFormat=\"dd/mm/yy\"\n [style]=\"{ width: '100%' }\"\n inputId=\"date-range\"\n (onSelect)=\"onSelect($event)\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [placeholder]=\"placeholder\"\n ([CalendarTypeView])=\"(CalendarTypeView)\"\n showOtherMonths=\"false\"\n responsiveOptions=\"true\"\n [disabled]=\"loading\"\n (onClick)=\"checkCalendarView(calendar)\"\n [appendTo]=\"appendTo\"\n >\n <ng-template *ngIf=\"CalendarTypeView === null\" pTemplate=\"header\">\n <div class=\"custom-header\">\n <button\n *ngFor=\"let range of ranges; let i = index\"\n (click)=\"selectRange(range, i)\"\n class=\"p-button-text\"\n [ngClass]=\"{ active: i === activeRangeIndex }\"\n >\n {{ range.label | translate }}\n </button>\n <div *ngIf=\"viewRangeWarning\" class=\"warning-box\">\n <span class=\"warning-message\"\n >Solo puedes filtrar en un rango m\u00E1ximo de 90 d\u00EDas.</span\n >\n </div>\n </div>\n </ng-template>\n </p-calendar>\n</div>\n\n<div class=\"loading\" *ngIf=\"loading\">\n <div class=\"skeleton dp\"></div>\n</div>\n", styles: [":host ::ng-deep .calendar-left ::ng-deep .p-datepicker{right:0!important}:host ::ng-deep .date-picker-range{width:100%;max-width:300px}:host ::ng-deep h3{margin-bottom:.5rem;font-size:1rem;font-weight:500}:host ::ng-deep .label{font-family:Inter;font-size:11px;font-weight:500;line-height:16px;text-align:left;color:#7b8190;margin-bottom:8px}:host ::ng-deep .p-calendar{width:100%}:host ::ng-deep .p-calendar .p-inputtext{width:100%}:host ::ng-deep .p-datepicker table td>span.p-highlight{color:#f49a3d;background:#fef5ec}:host ::ng-deep .p-datepicker table td.p-datepicker-today>span{background:#fff;font-weight:600;color:#f49a3d;border:1px solid rgba(244,154,61,.2705882353)}:host ::ng-deep .custom-header{display:flex;flex-direction:column;border-left:1px solid #dde5eb;padding:10px}@media screen and (max-width: 480px){:host ::ng-deep .custom-header{flex-direction:row;gap:0 10px;border-left:none;flex-wrap:wrap;padding:10px 0 0;margin-bottom:-14px}}:host ::ng-deep .custom-header .p-button{margin-bottom:.5rem;justify-content:flex-start;color:#1f2937;padding:4px 6px}:host ::ng-deep .custom-header .p-button span.p-button-label{font-family:Inter;font-size:13px;font-weight:400;line-height:14px;text-align:left;min-width:max-content}:host ::ng-deep .custom-header .active{background:#f5f6f8;border-radius:5px}:host ::ng-deep .custom-header .active span{font-weight:600!important}:host ::ng-deep .p-datepicker:has(>*:nth-child(3)){display:flex!important;flex-direction:column!important}:host ::ng-deep .p-datepicker:has(>*:nth-child(3)) .custom-header{display:none}:host ::ng-deep .p-datepicker{min-width:320px;display:flex;flex-direction:row-reverse;left:unset!important;padding:8px 16px!important;gap:10px}@media screen and (max-width: 480px){:host ::ng-deep .p-datepicker{width:100%;flex-direction:column;padding:0;left:0!important;right:unset!important}}:host ::ng-deep .p-datepicker-header{padding:.5rem}:host ::ng-deep .p-datepicker-calendar th{font-weight:600}:host ::ng-deep .date-picker-input--open .p-datepicker{display:none!important}:host ::ng-deep input#date-range{width:100%;border-radius:8px!important;border:1px solid var(--Light-Light-3, #d3d7da);background:var(--Light-Light-2, #ffffff);height:40px;color:var(--Dark-Dark-2, #74788d);text-overflow:ellipsis;font-size:13px;display:flex;align-items:center}:host ::ng-deep .p-datepicker table td{padding:2px!important;font-size:14px!important}:host ::ng-deep .p-datepicker table td>span{width:34px;height:34px}:host ::ng-deep .p-datepicker-calendar th{font-size:13px!important}:host ::ng-deep .p-datepicker-header{padding:0!important}:host ::ng-deep .p-icon-wrapper{width:12px!important;color:#a0a8b8}:host ::ng-deep span.p-disabled{color:#9fb4c3;font-weight:200}:host ::ng-deep .p-datepicker-title{font-size:14px!important}:host ::ng-deep .p-datepicker-title button{font-weight:400!important}:host ::ng-deep .dp{height:40px;width:100%;min-width:180px;margin-top:18px}:host ::ng-deep .warning-box{width:100%;margin:0;padding:4px 8px;gap:4px;border-radius:4px;border:1px 0px 0px 0px;border:1px solid #f4c370;background:#fef8ed;display:flex;flex-direction:row;align-items:center}:host ::ng-deep .warning-box .warning-message{color:#495057;font-family:Inter;font-size:10px;font-weight:400;line-height:16px;text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none}@keyframes placeHolderShimmer{0%{background-position:-468px 0}to{background-position:468px 0}}.skeleton{animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeHolderShimmer;animation-timing-function:linear;background:#f6f7f8;background:linear-gradient(to right,#f5f6f8 8%,#e3e7efbf 28%,#f5f6f8 77%);background-size:800px 104px;position:relative;border-radius:6px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
|
|
212
241
|
}
|
|
213
242
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DatePickerRangeComponent, decorators: [{
|
|
214
243
|
type: Component,
|
|
@@ -260,7 +289,7 @@ class DatePickerComponent {
|
|
|
260
289
|
}
|
|
261
290
|
onCalendarOpen(event) { }
|
|
262
291
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
263
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DatePickerComponent, isStandalone: true, selector: "app-date-picker", inputs: { label: "label", required: "required", selectedDate: "selectedDate", minDate: "minDate", maxDate: "maxDate", showIcon: "showIcon", showTime: "showTime", loading: "loading", isInvalid: "isInvalid", placeholder: "placeholder", disabled: "disabled", selectionMode: "selectionMode", setRight: "setRight", filters: "filters" }, outputs: { onChangeDate: "onChangeDate", onClosePanel: "onClosePanel" }, ngImport: i0, template: "<div [ngClass]=\"setRight ? '' : 'calendar-left'\" class=\"date-picker-range\" *ngIf=\"!loading\">\n <div class=\"label\" *ngIf=\"label\">{{ label }}</div>\n <p-calendar\n class=\"date-picker-input dropi-date-picker\"\n [ngClass]=\"{ 'date-picker-input--open': loading }\"\n [ngClass]=\"{ 'date-is-invalid': isInvalid }\"\n [required]=\"required\"\n [(ngModel)]=\"selectedDate\"\n [selectionMode]=\"selectionMode\"\n [readonlyInput]=\"true\"\n dateFormat=\"dd/mm/yy\"\n [placeholder]=\"placeholder\"\n [style]=\"{ width: '100%' }\"\n inputId=\"date-range\"\n (onSelect)=\"onSelect($event)\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n showOtherMonths=\"false\"\n responsiveOptions=\"true\"\n [disabled]=\"loading || disabled\"\n (onClose)=\"onClose($event)\"\n [showIcon]=\"showIcon\"\n [showTime]=\"showTime\"\n (onShow)=\"onCalendarOpen($event)\"\n >\n <ng-template pTemplate=\"triggericon\" let-clickCallBack=\"clickCallBack\">\n <app-icon name=\"Calendar\" width=\"18px\" height=\"18px\" color=\"Gray-Gray-400\" />\n <!-- <i class=\"pi pi-user pointer-events-none\" (click)=\"clickCallBack($event)\"></i> -->\n </ng-template>\n </p-calendar>\n\n <div class=\"loading\" *ngIf=\"loading\">\n <div class=\"skeleton dp\"></div>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.calendar-left ::ng-deep .p-datepicker{right:0!important;left:unset!important}.date-picker-range{background:var(--White, #fff);width:100%}.date-picker-range span{background:var(--White, #fff)}.date-picker-range h3{margin-bottom:.5rem;font-size:1rem;font-weight:500}.date-picker-range .label{font-family:Inter,sans-serif;font-size:12px;font-weight:400;line-height:18px;text-align:left;color:var(--Gray-600);margin-bottom:8px}.date-picker-range ::ng-deep .p-calendar{padding:0 5px;width:100%;border-radius:var(--Border-2, 8px);background:var(--White, #fff);border:1px solid var(--Gray-Gray-200);height:40px;color:var(--Gray-500, #69738c);font-style:normal;font-weight:400;line-height:150%;text-overflow:ellipsis;font-size:14px;display:flex;flex-direction:row-reverse;align-items:center;cursor:pointer}.date-picker-range ::ng-deep .p-calendar .p-inputtext{width:100%;border:none;padding:0;cursor:pointer}.date-picker-range ::ng-deep .p-calendar.p-calendar-disabled{border:1px solid var(--Gray-200, #c3c9d9)!important;color:var(--Gray-400, #858ea6)!important;background:var(--Gray-50, #f7f8fa)!important}.date-picker-range ::ng-deep .p-calendar.p-calendar-disabled .p-inputtext{background:var(--Gray-50, #f7f8fa)!important;color:var(--Gray-400, #858ea6)}.date-picker-range ::ng-deep .p-datepicker table td>span.p-highlight{color:#f49a3d;background:#fef5ec}.date-picker-range ::ng-deep .p-datepicker table td.p-datepicker-today>span{color:var(--White, #fff);background-color:var(--Primary-Primary-500)}.date-picker-range ::ng-deep .custom-header{display:flex;flex-direction:column;border-left:1px solid #dde5eb;padding:10px}.date-picker-range ::ng-deep .custom-header .p-button{margin-bottom:.5rem;justify-content:flex-start;color:#1f2937;padding:4px 6px}.date-picker-range ::ng-deep .custom-header .p-button span.p-button-label{font-family:Inter,sans-serif;font-size:13px;font-weight:400;line-height:14px;text-align:left;min-width:max-content}.date-picker-range ::ng-deep .custom-header .active{background:#f5f6f8;border-radius:5px}.date-picker-range ::ng-deep .custom-header .active span{font-weight:600!important}.date-picker-range ::ng-deep .p-datepicker:has(>*:nth-child(3)){display:flex!important;flex-direction:column!important}.date-picker-range ::ng-deep .p-datepicker:has(>*:nth-child(3)) .custom-header{display:none}.date-picker-range ::ng-deep .p-datepicker{display:flex;gap:10px;flex-direction:column;padding:0;width:280px;right:unset!important;z-index:9999!important}.date-picker-range ::ng-deep .p-element span{color:var(--Gray-Gray-600);font-size:var(--font-size-s);font-weight:var(--font-weight-medium);line-height:var(--lineheight-large)}.date-picker-range ::ng-deep .p-datepicker-other-month{color:var(--Gray-Gray-400)}.date-picker-range ::ng-deep .p-button.p-button-icon-only{background-color:transparent;border:none;width:40px;height:40px}::ng-deep .date-picker-input--open .p-datepicker{display:none!important}::ng-deep .p-datepicker table td{padding:2px!important;font-size:14px!important}::ng-deep .p-datepicker table td>span{width:34px;height:34px}::ng-deep .p-datepicker-calendar th{color:var(--Gray-Gray-600);font-size:var(--font-size-s);font-weight:var(--font-weight-bold);line-height:var(--lineheight-simple);text-align:center}::ng-deep .p-datepicker-header{padding:var(--Size-3) var(--Size-5)}::ng-deep .p-datepicker-next,::ng-deep .p-datepicker-prev{color:var(--Gray-Gray-400)!important}::ng-deep .p-datepicker-next:hover,::ng-deep .p-datepicker-prev:hover{border-radius:50%}::ng-deep .p-datepicker-group-container{padding:var(--Size-4, 16px)}::ng-deep .p-icon-wrapper{width:12px!important;color:#a0a8b8}::ng-deep span.p-disabled{color:#9fb4c3;font-weight:200}::ng-deep .p-datepicker-title{font-size:14px!important}::ng-deep .p-datepicker-title button{color:var(--Gray-400, #858ea6);font-size:14px;font-style:normal;font-weight:700!important;line-height:110%}::ng-deep .ng-invalid.ng-touched>.p-calendar,::ng-deep .date-is-invalid>.p-calendar{border:1px solid var(--Dager-danger-500, #f46a6b)!important}.dp{height:40px;width:100%;min-width:180px;margin-top:18px}.custom-filters{background:#fff;padding:var(--Size-3) var(--Size-3) var(--Size-3) var(--Size-4);border-radius:6px;box-shadow:4px 3px 13px -6px #0000002e;-webkit-box-shadow:4px 3px 13px -6px rgba(0,0,0,.18);-moz-box-shadow:4px 3px 13px -6px rgba(0,0,0,.18);width:max-content!important;display:flex;width:100%;flex:0 0 auto;height:100%}.custom-filters .filtros{flex-direction:column;gap:4px;display:flex}.custom-filters .filtros .title-header{padding:var(--Size-2)}.custom-filters .filtros button{border:none;background:transparent;font-weight:500;color:var(--Gray-Gray-600);transition:box-shadow .2s ease;border:1px solid transparent;border-radius:var(--Size-2);padding:var(--Size-2)}.custom-filters .filtros button:hover{border:1px solid var(--Secondary-Secondary-500);border-radius:var(--Size-2)}::ng-deep .dropi-date-picker .p-datepicker .custom-filters{display:flex;background:#fff;padding:var(--Size-3) var(--Size-3) var(--Size-3) var(--Size-4);border-radius:6px;min-width:max-content;width:max-content;height:100%;flex:0 0 auto;flex-direction:column}::ng-deep .dropi-date-picker .p-datepicker .custom-filters .filtros{display:flex;flex-direction:column;gap:4px}::ng-deep .dropi-date-picker .p-datepicker .custom-filters .filtros .title-header{padding:var(--Size-2)}::ng-deep .dropi-date-picker .p-datepicker .custom-filters .filtros button{border:none;background:transparent;font-weight:500;color:var(--Gray-Gray-600);transition:box-shadow .2s ease;border:1px solid transparent;border-radius:var(--Size-2);padding:var(--Size-2);text-align:start}::ng-deep .dropi-date-picker .p-datepicker .custom-filters .filtros button:hover{border:1px solid var(--Secondary-Secondary-500);border-radius:var(--Size-2)}::ng-deep .dropi-date-picker .p-datepicker-group-container{width:100%}::ng-deep .dropi-date-picker .p-datepicker .custom-filters .filter-btn.selected{border:1px solid var(--Secondary-Secondary-500)}:host ::ng-deep .dropi-date-picker .p-datepicker.p-component{font-size:14px;font-weight:600;width:auto!important}@keyframes placeHolderShimmer{0%{background-position:-468px 0}to{background-position:468px 0}}.skeleton{animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeHolderShimmer;animation-timing-function:linear;background:#f6f7f8;background:linear-gradient(to right,#f5f6f8 8%,#e3e7efbf 28%,#f5f6f8 77%);background-size:800px 104px;position:relative;border-radius:6px}.warning-box{width:100%;margin:0;padding:4px 8px;gap:4px;border-radius:4px;border:1px 0px 0px 0px;border:1px solid #f4c370;background:#fef8ed;display:flex;flex-direction:row;align-items:center}.warning-box .warning-message{color:#495057;font-family:Inter,sans-serif;font-size:10px;font-weight:400;line-height:16px;text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none}:host ::ng-deep app-icon{display:flex}::ng-deep .p-datepicker{z-index:9999!important;position:absolute!important}::ng-deep .p-calendar-overlay{z-index:9999!important}::ng-deep .p-overlay{z-index:9999!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }] });
|
|
292
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DatePickerComponent, isStandalone: true, selector: "app-date-picker", inputs: { label: "label", required: "required", selectedDate: "selectedDate", minDate: "minDate", maxDate: "maxDate", showIcon: "showIcon", showTime: "showTime", loading: "loading", isInvalid: "isInvalid", placeholder: "placeholder", disabled: "disabled", selectionMode: "selectionMode", setRight: "setRight", filters: "filters" }, outputs: { onChangeDate: "onChangeDate", onClosePanel: "onClosePanel" }, ngImport: i0, template: "<div [ngClass]=\"setRight ? '' : 'calendar-left'\" class=\"date-picker-range\" *ngIf=\"!loading\">\n <div class=\"label\" *ngIf=\"label\">{{ label }}</div>\n <p-calendar\n class=\"date-picker-input dropi-date-picker\"\n [ngClass]=\"{ 'date-picker-input--open': loading }\"\n [ngClass]=\"{ 'date-is-invalid': isInvalid }\"\n [required]=\"required\"\n [(ngModel)]=\"selectedDate\"\n [selectionMode]=\"selectionMode\"\n [readonlyInput]=\"true\"\n dateFormat=\"dd/mm/yy\"\n [placeholder]=\"placeholder\"\n [style]=\"{ width: '100%' }\"\n inputId=\"date-range\"\n (onSelect)=\"onSelect($event)\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n showOtherMonths=\"false\"\n responsiveOptions=\"true\"\n [disabled]=\"loading || disabled\"\n (onClose)=\"onClose($event)\"\n [showIcon]=\"showIcon\"\n [showTime]=\"showTime\"\n (onShow)=\"onCalendarOpen($event)\"\n >\n <ng-template pTemplate=\"triggericon\" let-clickCallBack=\"clickCallBack\">\n <app-icon name=\"Calendar\" width=\"18px\" height=\"18px\" color=\"Gray-Gray-400\" />\n <!-- <i class=\"pi pi-user pointer-events-none\" (click)=\"clickCallBack($event)\"></i> -->\n </ng-template>\n </p-calendar>\n\n <div class=\"loading\" *ngIf=\"loading\">\n <div class=\"skeleton dp\"></div>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.calendar-left ::ng-deep .p-datepicker{right:0!important;left:unset!important}.date-picker-range{background:var(--White, #fff);width:100%}.date-picker-range span{background:var(--White, #fff)}.date-picker-range h3{margin-bottom:.5rem;font-size:1rem;font-weight:500}.date-picker-range .label{font-family:Inter,sans-serif;font-size:12px;font-weight:400;line-height:18px;text-align:left;color:var(--Gray-600);margin-bottom:8px}.date-picker-range ::ng-deep .p-calendar{padding:0 5px;width:100%;border-radius:var(--Border-2, 8px);background:var(--White, #fff);border:1px solid var(--Gray-Gray-200);height:40px;color:var(--Gray-500, #69738c);font-style:normal;font-weight:400;line-height:150%;text-overflow:ellipsis;font-size:14px;display:flex;flex-direction:row-reverse;align-items:center;cursor:pointer}.date-picker-range ::ng-deep .p-calendar .p-inputtext{width:100%;border:none;padding:0;cursor:pointer}.date-picker-range ::ng-deep .p-calendar.p-calendar-disabled{border:1px solid var(--Gray-200, #c3c9d9)!important;color:var(--Gray-400, #858ea6)!important;background:var(--Gray-50, #f7f8fa)!important}.date-picker-range ::ng-deep .p-calendar.p-calendar-disabled .p-inputtext{background:var(--Gray-50, #f7f8fa)!important;color:var(--Gray-400, #858ea6)}.date-picker-range ::ng-deep .p-datepicker table td>span.p-highlight{color:#f49a3d;background:#fef5ec}.date-picker-range ::ng-deep .p-datepicker table td.p-datepicker-today>span{color:var(--White, #fff);background-color:var(--Primary-Primary-500)}.date-picker-range ::ng-deep .custom-header{display:flex;flex-direction:column;border-left:1px solid #dde5eb;padding:10px}.date-picker-range ::ng-deep .custom-header .p-button{margin-bottom:.5rem;justify-content:flex-start;color:#1f2937;padding:4px 6px}.date-picker-range ::ng-deep .custom-header .p-button span.p-button-label{font-family:Inter,sans-serif;font-size:13px;font-weight:400;line-height:14px;text-align:left;min-width:max-content}.date-picker-range ::ng-deep .custom-header .active{background:#f5f6f8;border-radius:5px}.date-picker-range ::ng-deep .custom-header .active span{font-weight:600!important}.date-picker-range ::ng-deep .p-datepicker:has(>*:nth-child(3)){display:flex!important;flex-direction:column!important}.date-picker-range ::ng-deep .p-datepicker:has(>*:nth-child(3)) .custom-header{display:none}.date-picker-range ::ng-deep .p-datepicker{display:flex;gap:10px;flex-direction:column;padding:0;width:280px;right:unset!important;z-index:9999!important}.date-picker-range ::ng-deep .p-element span{color:var(--Gray-Gray-600);font-size:var(--font-size-s);font-weight:var(--font-weight-medium);line-height:var(--lineheight-large)}.date-picker-range ::ng-deep .p-datepicker-other-month{color:var(--Gray-Gray-400)}.date-picker-range ::ng-deep .p-button.p-button-icon-only{background-color:transparent;border:none;width:40px;height:40px}::ng-deep .date-picker-input--open .p-datepicker{display:none!important}::ng-deep .p-datepicker table td{padding:2px!important;font-size:14px!important}::ng-deep .p-datepicker table td>span{width:34px;height:34px}::ng-deep .p-datepicker-calendar th{color:var(--Gray-Gray-600);font-size:var(--font-size-s);font-weight:var(--font-weight-bold);line-height:var(--lineheight-simple);text-align:center}::ng-deep .p-datepicker-header{padding:var(--Size-3) var(--Size-5)}::ng-deep .p-datepicker-next,::ng-deep .p-datepicker-prev{color:var(--Gray-Gray-400)!important}::ng-deep .p-datepicker-next:hover,::ng-deep .p-datepicker-prev:hover{border-radius:50%}::ng-deep .p-datepicker-group-container{padding:var(--Size-4, 16px)}::ng-deep .p-icon-wrapper{width:12px!important;color:#a0a8b8}::ng-deep span.p-disabled{color:#9fb4c3;font-weight:200}::ng-deep .p-datepicker-title{font-size:14px!important}::ng-deep .p-datepicker-title button{color:var(--Gray-400, #858ea6);font-size:14px;font-style:normal;font-weight:700!important;line-height:110%}::ng-deep .ng-invalid.ng-touched>.p-calendar,::ng-deep .date-is-invalid>.p-calendar{border:1px solid var(--Dager-danger-500, #f46a6b)!important}.dp{height:40px;width:100%;min-width:180px;margin-top:18px}.custom-filters{background:#fff;padding:var(--Size-3) var(--Size-3) var(--Size-3) var(--Size-4);border-radius:6px;box-shadow:4px 3px 13px -6px #0000002e;-webkit-box-shadow:4px 3px 13px -6px rgba(0,0,0,.18);-moz-box-shadow:4px 3px 13px -6px rgba(0,0,0,.18);width:max-content!important;display:flex;width:100%;flex:0 0 auto;height:100%}.custom-filters .filtros{flex-direction:column;gap:4px;display:flex}.custom-filters .filtros .title-header{padding:var(--Size-2)}.custom-filters .filtros button{border:none;background:transparent;font-weight:500;color:var(--Gray-Gray-600);transition:box-shadow .2s ease;border:1px solid transparent;border-radius:var(--Size-2);padding:var(--Size-2)}.custom-filters .filtros button:hover{border:1px solid var(--Secondary-Secondary-500);border-radius:var(--Size-2)}::ng-deep .dropi-date-picker .p-datepicker .custom-filters{display:flex;background:#fff;padding:var(--Size-3) var(--Size-3) var(--Size-3) var(--Size-4);border-radius:6px;min-width:max-content;width:max-content;height:100%;flex:0 0 auto;flex-direction:column}::ng-deep .dropi-date-picker .p-datepicker .custom-filters .filtros{display:flex;flex-direction:column;gap:4px}::ng-deep .dropi-date-picker .p-datepicker .custom-filters .filtros .title-header{padding:var(--Size-2)}::ng-deep .dropi-date-picker .p-datepicker .custom-filters .filtros button{border:none;background:transparent;font-weight:500;color:var(--Gray-Gray-600);transition:box-shadow .2s ease;border:1px solid transparent;border-radius:var(--Size-2);padding:var(--Size-2);text-align:start}::ng-deep .dropi-date-picker .p-datepicker .custom-filters .filtros button:hover{border:1px solid var(--Secondary-Secondary-500);border-radius:var(--Size-2)}::ng-deep .dropi-date-picker .p-datepicker-group-container{width:100%}::ng-deep .dropi-date-picker .p-datepicker .custom-filters .filter-btn.selected{border:1px solid var(--Secondary-Secondary-500)}:host ::ng-deep .dropi-date-picker .p-datepicker.p-component{font-size:14px;font-weight:600;width:auto!important}@keyframes placeHolderShimmer{0%{background-position:-468px 0}to{background-position:468px 0}}.skeleton{animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeHolderShimmer;animation-timing-function:linear;background:#f6f7f8;background:linear-gradient(to right,#f5f6f8 8%,#e3e7efbf 28%,#f5f6f8 77%);background-size:800px 104px;position:relative;border-radius:6px}.warning-box{width:100%;margin:0;padding:4px 8px;gap:4px;border-radius:4px;border:1px 0px 0px 0px;border:1px solid #f4c370;background:#fef8ed;display:flex;flex-direction:row;align-items:center}.warning-box .warning-message{color:#495057;font-family:Inter,sans-serif;font-size:10px;font-weight:400;line-height:16px;text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none}:host ::ng-deep app-icon{display:flex}::ng-deep .p-datepicker{z-index:9999!important;position:absolute!important}::ng-deep .p-calendar-overlay{z-index:9999!important}::ng-deep .p-overlay{z-index:9999!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }] });
|
|
264
293
|
}
|
|
265
294
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DatePickerComponent, decorators: [{
|
|
266
295
|
type: Component,
|
|
@@ -868,7 +897,7 @@ class AlertModalComponent {
|
|
|
868
897
|
return Array.isArray(value);
|
|
869
898
|
}
|
|
870
899
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertModalComponent, deps: [{ token: "TemplateAlertModalService" }, { token: "SettingsService" }, { token: TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
871
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AlertModalComponent, isStandalone: true, selector: "app-alert-modal", inputs: { visible: "visible", params: "params", loading: "loading", isStep: "isStep", contentTemplate: "contentTemplate", baseZIndex: "baseZIndex" }, outputs: { modalOpenChange: "modalOpenChange", primaryButtonEvent: "primaryButtonEvent", secondaryButtonEvent: "secondaryButtonEvent", onHide: "onHide" }, viewQueries: [{ propertyName: "modalContainer", first: true, predicate: ["modalContainer"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<dropi-modal\n styleClass=\"dropi-alert-modal\"\n [(visible)]=\"visible\"\n [modal]=\"true\"\n [closable]=\"params?.closable ? true : false\"\n [dismissableMask]=\"false\"\n [closeOnEscape]=\"false\"\n [showHeader]=\"false\"\n transitionOptions=\"300ms\"\n [showHeader]=\"params?.closable ? true : false\"\n [autoZIndex]=\"true\"\n [baseZIndex]=\"baseZIndex\"\n (onHide)=\"onHideModal()\"\n>\n <ng-template pTemplate=\"content\">\n <div class=\"body-alert\" *ngIf=\"!loading\">\n <div class=\"header-alert\">\n <div class=\"lottie-img\" *ngIf=\"visible && brandName === 'dropi'\">\n <dotlottie-player\n [src]=\"sourceAnimation\"\n background=\"transparent\"\n speed=\"1\"\n style=\"width: 100%; height: auto\"\n loop\n autoplay\n ></dotlottie-player>\n </div>\n <div class=\"wb-img\" *ngIf=\"visible && brandName !== 'dropi'\">\n <img [src]=\"imageWhiteBrand\" alt=\"logo\" />\n </div>\n </div>\n <div class=\"content-alert\">\n <h2>{{ tittle | translate }}</h2>\n <ng-container *ngIf=\"isArray(message)\">\n <p *ngFor=\"let m of message\">{{ m | translate }}</p>\n </ng-container>\n\n <p *ngIf=\"!isArray(message)\">\n {{ message | translate }}\n </p>\n </div>\n\n <ng-container *ngIf=\"alertTemplate\">\n <ng-container\n *ngTemplateOutlet=\"alertTemplate; context: { $implicit: contextTemplate }\"\n ></ng-container>\n </ng-container>\n\n <div class=\"actions\" *ngIf=\"displayButtons\">\n <dropi-button\n *ngIf=\"secondaryButton\"\n [text]=\"secondaryButton | translate\"\n severity=\"secondary\"\n (onClick)=\"secondaryButtonAction()\"\n ></dropi-button>\n <dropi-button\n [text]=\"primaryButton | translate\"\n (onClick)=\"primaryButtonAction()\"\n ></dropi-button>\n </div>\n\n <!-- <div class=\"actions\" *ngIf=\"displayButtons\">\n <button\n *ngIf=\"secondaryButton\"\n class=\"btn btn-secondary\"\n (click)=\"secondaryButtonAction()\"\n data-cy=\"alert-modal-secondary-button\"\n >\n {{ secondaryButton | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n (click)=\"primaryButtonAction()\"\n data-cy=\"alert-modal-primary-button\"\n >\n {{ primaryButton | translate }}\n </button>\n </div> -->\n </div>\n\n <div class=\"body-alert-loading\" *ngIf=\"loading\">\n <div class=\"header-alert\" [style]=\"{ 'margin-bottom': loadingAnimation.marginBottom }\">\n <div class=\"lottie-img\" *ngIf=\"visible && loading\">\n <dotlottie-player\n *ngIf=\"loading && brandName === 'dropi'\"\n [src]=\"loadingAnimation.path\"\n background=\"transparent\"\n speed=\"1\"\n [style]=\"{\n width: loadingAnimation.width,\n height: loadingAnimation.height,\n }\"\n loop\n autoplay\n ></dotlottie-player>\n <dotlottie-player\n *ngIf=\"loading && brandName !== 'dropi' && params.type == 'loading'\"\n [src]=\"'/assets/lottie-files/loading-mb.json'\"\n background=\"transparent\"\n speed=\"1\"\n style=\"width: 300px; height: auto\"\n loop\n autoplay\n ></dotlottie-player>\n </div>\n <div class=\"wb-img\" *ngIf=\"visible && brandName !== 'dropi' && params.type !== 'loading'\">\n <img [src]=\"imageWhiteBrand\" alt=\"logo\" />\n </div>\n </div>\n <div class=\"content-alert\">\n <p-progressBar *ngIf=\"withLoadingProgressBar\" mode=\"indeterminate\" color=\"#F49A3D\" />\n <h2>\n {{ loadingTitle | translate }}\n </h2>\n <p>\n {{ loadingMessage | translate }}\n </p>\n <h5 *ngIf=\"params.applyCountRegresive\">\n {{ 'in' | translate }} {{ countRegresive }} {{ 'seconds' | translate }}\n </h5>\n </div>\n </div>\n </ng-template>\n</dropi-modal>\n", styles: ["@media screen and (max-width: 768px){::ng-deep .dropi-modal-root.dropi-modal-root--open .dropi-modal__panel.dropi-alert-modal{transform:translateY(0)!important}}@media screen and (max-width: 768px){::ng-deep .dropi-modal-root.dropi-modal-root--closing .dropi-modal__panel.dropi-alert-modal{transform:translateY(100%)!important;opacity:1!important}}@media screen and (max-width: 768px){::ng-deep .dropi-modal-root.dropi-modal-root--open.dropi-modal-root--closing .dropi-modal__panel.dropi-alert-modal{transform:translateY(100%)!important;opacity:1!important}}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal{width:440px!important;min-height:280px!important;overflow:hidden!important}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .dropi-modal__content{overflow:hidden!important;display:flex;justify-content:center;align-items:center}@media screen and (max-width: 768px){::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal{width:100%!important;max-width:100%!important;height:auto!important;padding-bottom:30px!important;position:absolute!important;bottom:0!important;border-radius:10px 10px 0 0!important;transform:translateY(100%)!important;transition:transform .3s cubic-bezier(0,0,.2,1)!important;opacity:1!important}}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .dropi-modal-container{width:460px;max-width:460px;height:auto!important}@media (max-width: 768px){::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .dropi-modal-container{width:calc(100% - 32px);max-width:calc(100% - 32px);height:auto!important;margin:16px;top:50%!important;transform:translateY(-50%)!important}}@media (max-width: 768px){::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .dropi-modal-content{max-height:calc(100vh - 32px);overflow-y:auto}}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-dialog{background-color:#fff!important;box-shadow:0 20px 25px #0000001a;border-radius:8px!important;max-width:460px;width:100%;box-sizing:border-box;padding:32px;margin:0 20px;transition:all .3s ease-in-out;height:auto}@media (max-width: 768px){::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-dialog{padding:24px;margin:0;border-radius:12px!important}}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-dialog-content{padding:0;overflow:hidden}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-dialog-header{position:absolute;right:-10px;top:-10px;background:transparent}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-progressbar{height:6px;border-radius:4px;margin-bottom:25px}.lottie-img{margin-top:-8px;margin-bottom:8px;min-height:100px}.wb-img{display:flex;justify-content:center;margin-top:4px!important}.body-alert{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;overflow:hidden}.header-alert{width:120px}.content-alert{text-align:center}.content-alert h2{color:var(--Gray-Gray-1, #1f2937);font-size:19px;font-weight:600}.content-alert p{color:var(--Gray-Gray-2, #74798d);font-size:14px;margin-bottom:8px;overflow-wrap:anywhere;max-height:100px;overflow:auto}.actions{display:flex;gap:10px;width:100%}.actions dropi-button{flex:1;display:flex;justify-content:center}.actions dropi-button ::ng-deep .btn{width:100%}@media (max-width: 768px){.actions{flex-direction:column}.actions dropi-button{width:100%}}.body-alert-loading .header-alert{width:100%;display:flex;align-items:center;justify-content:center;height:160px}button{flex:1;outline:none;border-radius:8px;display:flex;align-items:center;gap:8px;justify-content:center}button.btn-primary{background:var(--Primary-Naranja, #ff9333);border:navajowhite;height:40px;padding:8px 20px 8px 16px;font-weight:600}button.btn-secondary{background:#fff;color:var(--Primary-Naranja, #ff9333);border:1px solid;font-weight:500}\n"], dependencies: [{ kind: "component", type: DropiModalComponent, selector: "dropi-modal", inputs: ["visible", "modal", "dismissableMask", "closeOnEscape", "showCloseIcon", "showHeader", "header", "styleClass", "maxWidth", "position", "transitionOptions"], outputs: ["visibleChange", "onHide", "onShow", "onClose"] }, { kind: "directive", type: PTemplateDirective, selector: "ng-template[pTemplate]", inputs: ["pTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2
|
|
900
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AlertModalComponent, isStandalone: true, selector: "app-alert-modal", inputs: { visible: "visible", params: "params", loading: "loading", isStep: "isStep", contentTemplate: "contentTemplate", baseZIndex: "baseZIndex" }, outputs: { modalOpenChange: "modalOpenChange", primaryButtonEvent: "primaryButtonEvent", secondaryButtonEvent: "secondaryButtonEvent", onHide: "onHide" }, viewQueries: [{ propertyName: "modalContainer", first: true, predicate: ["modalContainer"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<dropi-modal\n styleClass=\"dropi-alert-modal\"\n [(visible)]=\"visible\"\n [modal]=\"true\"\n [closable]=\"params?.closable ? true : false\"\n [dismissableMask]=\"false\"\n [closeOnEscape]=\"false\"\n [showHeader]=\"false\"\n transitionOptions=\"300ms\"\n [showHeader]=\"params?.closable ? true : false\"\n [autoZIndex]=\"true\"\n [baseZIndex]=\"baseZIndex\"\n (onHide)=\"onHideModal()\"\n>\n <ng-template pTemplate=\"content\">\n <div class=\"body-alert\" *ngIf=\"!loading\">\n <div class=\"header-alert\">\n <div class=\"lottie-img\" *ngIf=\"visible && brandName === 'dropi'\">\n <dotlottie-player\n [src]=\"sourceAnimation\"\n background=\"transparent\"\n speed=\"1\"\n style=\"width: 100%; height: auto\"\n loop\n autoplay\n ></dotlottie-player>\n </div>\n <div class=\"wb-img\" *ngIf=\"visible && brandName !== 'dropi'\">\n <img [src]=\"imageWhiteBrand\" alt=\"logo\" />\n </div>\n </div>\n <div class=\"content-alert\">\n <h2>{{ tittle | translate }}</h2>\n <ng-container *ngIf=\"isArray(message)\">\n <p *ngFor=\"let m of message\">{{ m | translate }}</p>\n </ng-container>\n\n <p *ngIf=\"!isArray(message)\">\n {{ message | translate }}\n </p>\n </div>\n\n <ng-container *ngIf=\"alertTemplate\">\n <ng-container\n *ngTemplateOutlet=\"alertTemplate; context: { $implicit: contextTemplate }\"\n ></ng-container>\n </ng-container>\n\n <div class=\"actions\" *ngIf=\"displayButtons\">\n <dropi-button\n *ngIf=\"secondaryButton\"\n [text]=\"secondaryButton | translate\"\n severity=\"secondary\"\n (onClick)=\"secondaryButtonAction()\"\n ></dropi-button>\n <dropi-button\n [text]=\"primaryButton | translate\"\n (onClick)=\"primaryButtonAction()\"\n ></dropi-button>\n </div>\n\n <!-- <div class=\"actions\" *ngIf=\"displayButtons\">\n <button\n *ngIf=\"secondaryButton\"\n class=\"btn btn-secondary\"\n (click)=\"secondaryButtonAction()\"\n data-cy=\"alert-modal-secondary-button\"\n >\n {{ secondaryButton | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n (click)=\"primaryButtonAction()\"\n data-cy=\"alert-modal-primary-button\"\n >\n {{ primaryButton | translate }}\n </button>\n </div> -->\n </div>\n\n <div class=\"body-alert-loading\" *ngIf=\"loading\">\n <div class=\"header-alert\" [style]=\"{ 'margin-bottom': loadingAnimation.marginBottom }\">\n <div class=\"lottie-img\" *ngIf=\"visible && loading\">\n <dotlottie-player\n *ngIf=\"loading && brandName === 'dropi'\"\n [src]=\"loadingAnimation.path\"\n background=\"transparent\"\n speed=\"1\"\n [style]=\"{\n width: loadingAnimation.width,\n height: loadingAnimation.height,\n }\"\n loop\n autoplay\n ></dotlottie-player>\n <dotlottie-player\n *ngIf=\"loading && brandName !== 'dropi' && params.type == 'loading'\"\n [src]=\"'/assets/lottie-files/loading-mb.json'\"\n background=\"transparent\"\n speed=\"1\"\n style=\"width: 300px; height: auto\"\n loop\n autoplay\n ></dotlottie-player>\n </div>\n <div class=\"wb-img\" *ngIf=\"visible && brandName !== 'dropi' && params.type !== 'loading'\">\n <img [src]=\"imageWhiteBrand\" alt=\"logo\" />\n </div>\n </div>\n <div class=\"content-alert\">\n <p-progressBar *ngIf=\"withLoadingProgressBar\" mode=\"indeterminate\" color=\"#F49A3D\" />\n <h2>\n {{ loadingTitle | translate }}\n </h2>\n <p>\n {{ loadingMessage | translate }}\n </p>\n <h5 *ngIf=\"params.applyCountRegresive\">\n {{ 'in' | translate }} {{ countRegresive }} {{ 'seconds' | translate }}\n </h5>\n </div>\n </div>\n </ng-template>\n</dropi-modal>\n", styles: ["@media screen and (max-width: 768px){::ng-deep .dropi-modal-root.dropi-modal-root--open .dropi-modal__panel.dropi-alert-modal{transform:translateY(0)!important}}@media screen and (max-width: 768px){::ng-deep .dropi-modal-root.dropi-modal-root--closing .dropi-modal__panel.dropi-alert-modal{transform:translateY(100%)!important;opacity:1!important}}@media screen and (max-width: 768px){::ng-deep .dropi-modal-root.dropi-modal-root--open.dropi-modal-root--closing .dropi-modal__panel.dropi-alert-modal{transform:translateY(100%)!important;opacity:1!important}}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal{width:440px!important;min-height:280px!important;overflow:hidden!important}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .dropi-modal__content{overflow:hidden!important;display:flex;justify-content:center;align-items:center}@media screen and (max-width: 768px){::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal{width:100%!important;max-width:100%!important;height:auto!important;padding-bottom:30px!important;position:absolute!important;bottom:0!important;border-radius:10px 10px 0 0!important;transform:translateY(100%)!important;transition:transform .3s cubic-bezier(0,0,.2,1)!important;opacity:1!important}}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .dropi-modal-container{width:460px;max-width:460px;height:auto!important}@media (max-width: 768px){::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .dropi-modal-container{width:calc(100% - 32px);max-width:calc(100% - 32px);height:auto!important;margin:16px;top:50%!important;transform:translateY(-50%)!important}}@media (max-width: 768px){::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .dropi-modal-content{max-height:calc(100vh - 32px);overflow-y:auto}}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-dialog{background-color:#fff!important;box-shadow:0 20px 25px #0000001a;border-radius:8px!important;max-width:460px;width:100%;box-sizing:border-box;padding:32px;margin:0 20px;transition:all .3s ease-in-out;height:auto}@media (max-width: 768px){::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-dialog{padding:24px;margin:0;border-radius:12px!important}}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-dialog-content{padding:0;overflow:hidden}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-dialog-header{position:absolute;right:-10px;top:-10px;background:transparent}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-progressbar{height:6px;border-radius:4px;margin-bottom:25px}.lottie-img{margin-top:-8px;margin-bottom:8px;min-height:100px}.wb-img{display:flex;justify-content:center;margin-top:4px!important}.body-alert{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;overflow:hidden}.header-alert{width:120px}.content-alert{text-align:center}.content-alert h2{color:var(--Gray-Gray-1, #1f2937);font-size:19px;font-weight:600}.content-alert p{color:var(--Gray-Gray-2, #74798d);font-size:14px;margin-bottom:8px;overflow-wrap:anywhere;max-height:100px;overflow:auto}.actions{display:flex;gap:10px;width:100%}.actions dropi-button{flex:1;display:flex;justify-content:center}.actions dropi-button ::ng-deep .btn{width:100%}@media (max-width: 768px){.actions{flex-direction:column}.actions dropi-button{width:100%}}.body-alert-loading .header-alert{width:100%;display:flex;align-items:center;justify-content:center;height:160px}button{flex:1;outline:none;border-radius:8px;display:flex;align-items:center;gap:8px;justify-content:center}button.btn-primary{background:var(--Primary-Naranja, #ff9333);border:navajowhite;height:40px;padding:8px 20px 8px 16px;font-weight:600}button.btn-secondary{background:#fff;color:var(--Primary-Naranja, #ff9333);border:1px solid;font-weight:500}\n"], dependencies: [{ kind: "component", type: DropiModalComponent, selector: "dropi-modal", inputs: ["visible", "modal", "dismissableMask", "closeOnEscape", "showCloseIcon", "showHeader", "header", "styleClass", "maxWidth", "position", "transitionOptions"], outputs: ["visibleChange", "onHide", "onShow", "onClose"] }, { kind: "directive", type: PTemplateDirective, selector: "ng-template[pTemplate]", inputs: ["pTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ProgressBarModule }, { kind: "component", type: i2$2.ProgressBar, selector: "p-progressBar", inputs: ["value", "showValue", "styleClass", "style", "unit", "mode", "color"] }] });
|
|
872
901
|
}
|
|
873
902
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertModalComponent, decorators: [{
|
|
874
903
|
type: Component,
|
|
@@ -886,7 +915,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
886
915
|
}] }, { type: undefined, decorators: [{
|
|
887
916
|
type: Inject,
|
|
888
917
|
args: ["SettingsService"]
|
|
889
|
-
}] }, { type: i2
|
|
918
|
+
}] }, { type: i2.TranslateService, decorators: [{
|
|
890
919
|
type: Inject,
|
|
891
920
|
args: [TranslateService]
|
|
892
921
|
}] }], propDecorators: { visible: [{
|
|
@@ -1034,7 +1063,7 @@ class ConfirmDialogComponent {
|
|
|
1034
1063
|
this.dialogRef.close({ type: type });
|
|
1035
1064
|
}
|
|
1036
1065
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ConfirmDialogComponent, deps: [{ token: i1$2.NgbActiveModal }], target: i0.ɵɵFactoryTarget.Component });
|
|
1037
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ConfirmDialogComponent, isStandalone: true, selector: "app-confirm-dialog", inputs: { data: "data" }, ngImport: i0, template: "<div class=\"wrapper text-center\">\n <div class=\"header text-center\">\n <!-- <mat-icon class=\"notranslate warn-500-fg s-64\">error_outline</mat-icon> -->\n <img\n src=\"../../../assets/img/theme/interrogation.png\"\n class=\"md-avatar\"\n style=\"width: 90px; height: 90px; border-radius: 100%\"\n />\n </div>\n <div mat-dialog-content>{{ data.message }}</div>\n <div class=\"actions\">\n <button class=\"btn btn-primary\" (click)=\"close('yes')\">{{ 'Yes' | translate }}</button>\n <button class=\"btn btn-secondary\" (click)=\"close('no')\">{{ 'No' | translate }}</button>\n </div>\n <!-- <div mat-dialog-actions class=\"pt-24\" class=\"d-flex justify-content-center\">\n <button mat-raised-button class=\"mat-accent mr-16\" (click)=\"close('yes')\">\n {{ 'Yes' | translate }}\n </button>\n <button mat-raised-button class=\"mat-accent mr-16\" (click)=\"close('no')\">\n {{ 'No' | translate }}\n </button>\n <button mat-raised-button class=\"mat-accent mr-16\" (click)=\"close('cancel')\" *ngIf=\"data.show\">\n {{ 'Cancel' | translate }}\n </button>\n </div> -->\n</div>\n", styles: [".wrapper{padding:20px;overflow:hidden!important;height:25%}.icono{font-size:60px!important}.mat-icon{background-repeat:no-repeat!important;display:inline-block!important;fill:currentColor!important;height:50px!important;width:40px!important}.mat-flat-button.mat-accent,.mat-raised-button.mat-accent,.mat-fab.mat-accent,.mat-mini-fab.mat-accent{background-color:#198cf0}.actions{display:flex;gap:10px;width:100%;margin-top:1.5rem}button{flex:1;outline:none;border-radius:8px;display:flex;align-items:center;gap:8px;justify-content:center}button.btn-primary{background:var(--Primary-Naranja, #ff9333);border:navajowhite;height:40px;padding:8px 20px 8px 16px;font-weight:600}button.btn-secondary{background:#fff;color:var(--Primary-Naranja, #ff9333);border:1px solid;font-weight:500}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2
|
|
1066
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ConfirmDialogComponent, isStandalone: true, selector: "app-confirm-dialog", inputs: { data: "data" }, ngImport: i0, template: "<div class=\"wrapper text-center\">\n <div class=\"header text-center\">\n <!-- <mat-icon class=\"notranslate warn-500-fg s-64\">error_outline</mat-icon> -->\n <img\n src=\"../../../assets/img/theme/interrogation.png\"\n class=\"md-avatar\"\n style=\"width: 90px; height: 90px; border-radius: 100%\"\n />\n </div>\n <div mat-dialog-content>{{ data.message }}</div>\n <div class=\"actions\">\n <button class=\"btn btn-primary\" (click)=\"close('yes')\">{{ 'Yes' | translate }}</button>\n <button class=\"btn btn-secondary\" (click)=\"close('no')\">{{ 'No' | translate }}</button>\n </div>\n <!-- <div mat-dialog-actions class=\"pt-24\" class=\"d-flex justify-content-center\">\n <button mat-raised-button class=\"mat-accent mr-16\" (click)=\"close('yes')\">\n {{ 'Yes' | translate }}\n </button>\n <button mat-raised-button class=\"mat-accent mr-16\" (click)=\"close('no')\">\n {{ 'No' | translate }}\n </button>\n <button mat-raised-button class=\"mat-accent mr-16\" (click)=\"close('cancel')\" *ngIf=\"data.show\">\n {{ 'Cancel' | translate }}\n </button>\n </div> -->\n</div>\n", styles: [".wrapper{padding:20px;overflow:hidden!important;height:25%}.icono{font-size:60px!important}.mat-icon{background-repeat:no-repeat!important;display:inline-block!important;fill:currentColor!important;height:50px!important;width:40px!important}.mat-flat-button.mat-accent,.mat-raised-button.mat-accent,.mat-fab.mat-accent,.mat-mini-fab.mat-accent{background-color:#198cf0}.actions{display:flex;gap:10px;width:100%;margin-top:1.5rem}button{flex:1;outline:none;border-radius:8px;display:flex;align-items:center;gap:8px;justify-content:center}button.btn-primary{background:var(--Primary-Naranja, #ff9333);border:navajowhite;height:40px;padding:8px 20px 8px 16px;font-weight:600}button.btn-secondary{background:#fff;color:var(--Primary-Naranja, #ff9333);border:1px solid;font-weight:500}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
|
|
1038
1067
|
}
|
|
1039
1068
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
|
|
1040
1069
|
type: Component,
|
|
@@ -1217,7 +1246,7 @@ class TabsComponent {
|
|
|
1217
1246
|
}
|
|
1218
1247
|
}
|
|
1219
1248
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabsComponent, deps: [{ token: "Router" }], target: i0.ɵɵFactoryTarget.Component });
|
|
1220
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: TabsComponent, isStandalone: true, selector: "app-tabs", inputs: { configuration: "configuration", showIcon: "showIcon", activeTab: "activeTab", stopAction: "stopAction" }, outputs: { onIndexChanged: "onIndexChanged" }, ngImport: i0, template: "<div class=\"tabs-container\">\n <div\n class=\"custom-tab\"\n *ngFor=\"let tab of configuration\"\n [ngClass]=\"{\n 'active-tab': tab.id === activeTab && !tab.disabled,\n 'disabled-tab': tab.disabled\n }\"\n [class.disabled-tab]=\"tab.disabled\"\n (click)=\"!tab.disabled && onTabClick(tab)\"\n >\n <span>\n <p>{{ tab.label | translate }}</p>\n <dropi-badge\n *ngIf=\"tab?.counter || tab?.counter === 0\"\n type=\"counter\"\n [count]=\"tab.counter\"\n [variant]=\"tab.id === activeTab ? 'primary' : 'tertiary'\"\n />\n </span>\n\n <ng-container *ngIf=\"showIcon\">\n <dropi-badge type=\"state\" [state]=\"tab.completed ? 'check' : 'pending'\" />\n </ng-container>\n </div>\n</div>\n", styles: [".tabs-container{display:flex;flex-wrap:nowrap;overflow:scroll;width:100%;height:52px}.tabs-container .custom-tab{padding-inline:var(--Size-5);padding-block:var(--Size-4);background-color:var(--Neutral-White);border-bottom:2px solid var(--Gray-Gray-100);cursor:pointer;display:flex;gap:var(--Size-4);align-items:center}.tabs-container .custom-tab span{display:flex;align-items:center;gap:var(--Size-2, 8px)}.tabs-container .custom-tab p{margin:0;font-size:14px;color:var(--Gray-Gray-400);font-weight:var(--font-weight-bold);line-height:20px;text-align:left;white-space:nowrap}.tabs-container .custom-tab.active-tab{background-color:var(--Neutral-White);border-bottom:2px solid var(--Primary-Primary-500)}.tabs-container .custom-tab.active-tab p{color:var(--Gray-Gray-600);font-weight:var(--font-weight-bold)}.tabs-container .custom-tab.disabled-tab{background:#dfe4ed38!important;cursor:not-allowed!important;opacity:.7;pointer-events:none}.tabs-container .custom-tab.disabled-tab p{font-weight:200!important;color:var(--Gray-Gray-300)!important}::-webkit-scrollbar{width:0px;height:0px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2
|
|
1249
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: TabsComponent, isStandalone: true, selector: "app-tabs", inputs: { configuration: "configuration", showIcon: "showIcon", activeTab: "activeTab", stopAction: "stopAction" }, outputs: { onIndexChanged: "onIndexChanged" }, ngImport: i0, template: "<div class=\"tabs-container\">\n <div\n class=\"custom-tab\"\n *ngFor=\"let tab of configuration\"\n [ngClass]=\"{\n 'active-tab': tab.id === activeTab && !tab.disabled,\n 'disabled-tab': tab.disabled\n }\"\n [class.disabled-tab]=\"tab.disabled\"\n (click)=\"!tab.disabled && onTabClick(tab)\"\n >\n <span>\n <p>{{ tab.label | translate }}</p>\n <dropi-badge\n *ngIf=\"tab?.counter || tab?.counter === 0\"\n type=\"counter\"\n [count]=\"tab.counter\"\n [variant]=\"tab.id === activeTab ? 'primary' : 'tertiary'\"\n />\n </span>\n\n <ng-container *ngIf=\"showIcon\">\n <dropi-badge type=\"state\" [state]=\"tab.completed ? 'check' : 'pending'\" />\n </ng-container>\n </div>\n</div>\n", styles: [".tabs-container{display:flex;flex-wrap:nowrap;overflow:scroll;width:100%;height:52px}.tabs-container .custom-tab{padding-inline:var(--Size-5);padding-block:var(--Size-4);background-color:var(--Neutral-White);border-bottom:2px solid var(--Gray-Gray-100);cursor:pointer;display:flex;gap:var(--Size-4);align-items:center}.tabs-container .custom-tab span{display:flex;align-items:center;gap:var(--Size-2, 8px)}.tabs-container .custom-tab p{margin:0;font-size:14px;color:var(--Gray-Gray-400);font-weight:var(--font-weight-bold);line-height:20px;text-align:left;white-space:nowrap}.tabs-container .custom-tab.active-tab{background-color:var(--Neutral-White);border-bottom:2px solid var(--Primary-Primary-500)}.tabs-container .custom-tab.active-tab p{color:var(--Gray-Gray-600);font-weight:var(--font-weight-bold)}.tabs-container .custom-tab.disabled-tab{background:#dfe4ed38!important;cursor:not-allowed!important;opacity:.7;pointer-events:none}.tabs-container .custom-tab.disabled-tab p{font-weight:200!important;color:var(--Gray-Gray-300)!important}::-webkit-scrollbar{width:0px;height:0px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: DropiBadgeComponent, selector: "dropi-badge", inputs: ["type", "state", "variant", "count"] }] });
|
|
1221
1250
|
}
|
|
1222
1251
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabsComponent, decorators: [{
|
|
1223
1252
|
type: Component,
|
|
@@ -1311,7 +1340,7 @@ class DropiStepsComponent {
|
|
|
1311
1340
|
return 'pending';
|
|
1312
1341
|
}
|
|
1313
1342
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiStepsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1314
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiStepsComponent, isStandalone: true, selector: "dropi-steps", inputs: { stepsCount: "stepsCount", showNumberOfStep: "showNumberOfStep", currentStep: "currentStep", stepLabels: "stepLabels", state: "state" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"stepper-container\">\n <ng-container *ngFor=\"let step of steps; let i = index\">\n <div\n class=\"step\"\n [ngClass]=\"getStepState(i)\"\n [ngStyle]=\"{ flex: i > 0 && i < steps.length - 1 ? 2 : 1 }\"\n >\n <div class=\"line\" *ngIf=\"i !== 0\"></div>\n <div class=\"circle-container\">\n <div class=\"circle\">\n <span class=\"Label-S\" *ngIf=\"showNumberOfStep\">\n {{ i + 1 }}\n </span>\n </div>\n\n <div class=\"steps-container\">\n <p class=\"Label-M\" *ngIf=\"step.title\">\n {{ step.title | translate }}\n </p>\n\n <p class=\"Body-S-Regular\" *ngIf=\"step.description\">\n {{ step.description | translate }}\n </p>\n </div>\n </div>\n <div class=\"line\" *ngIf=\"i !== steps.length - 1\"></div>\n </div>\n </ng-container>\n</div>\n", styles: [":host{display:block;width:100%}.stepper-container{width:100%;display:flex;flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:nowrap;margin-bottom:var(--Size-4)}.step{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap}.step.focus .circle{border-color:var(--Primary-Primary-500, #f49a3d)}.step.focus .circle span{color:var(--Primary-Primary-500, #f49a3d)}.step.focus .line{background-color:var(--Primary-Primary-500, #f49a3d)}.step.focus .step-label{color:var(--Gray-Gray-700, #32394d)}.step.completed .circle{background-color:var(--Primary-Primary-500, #f49a3d);border-color:var(--Primary-Primary-500, #f49a3d)}.step.completed .circle span{color:var(--Neutral-White, #fff)}.step.completed .line{background-color:var(--Primary-Primary-500, #f49a3d)}.step.completed .step-label{color:var(--Gray-Gray-700, #32394d)}.line{width:100%;flex:1;height:2px;background-color:var(--Gray-Gray-200, #c3c9d9)}.circle-container{position:relative;display:inline-flex;flex-direction:column;justify-content:center;align-items:center}.circle{width:24px;height:24px;border-radius:50%;border:2px solid var(--Gray-Gray-200);background-color:transparent;display:grid;place-items:center}.circle span{color:var(--Gray-Gray-200, #c3c9d9);text-align:center;line-height:1;pointer-events:none}.steps-container{position:absolute;top:calc(100% + var(--Size-1));display:flex;flex-direction:column;gap:var(--Size-2);width:max-content;width:12vw;min-width:100px;max-width:180px;text-align:center}.steps-container p{margin:0!important}.line.invisible{background-color:transparent}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2
|
|
1343
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiStepsComponent, isStandalone: true, selector: "dropi-steps", inputs: { stepsCount: "stepsCount", showNumberOfStep: "showNumberOfStep", currentStep: "currentStep", stepLabels: "stepLabels", state: "state" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"stepper-container\">\n <ng-container *ngFor=\"let step of steps; let i = index\">\n <div\n class=\"step\"\n [ngClass]=\"getStepState(i)\"\n [ngStyle]=\"{ flex: i > 0 && i < steps.length - 1 ? 2 : 1 }\"\n >\n <div class=\"line\" *ngIf=\"i !== 0\"></div>\n <div class=\"circle-container\">\n <div class=\"circle\">\n <span class=\"Label-S\" *ngIf=\"showNumberOfStep\">\n {{ i + 1 }}\n </span>\n </div>\n\n <div class=\"steps-container\">\n <p class=\"Label-M\" *ngIf=\"step.title\">\n {{ step.title | translate }}\n </p>\n\n <p class=\"Body-S-Regular\" *ngIf=\"step.description\">\n {{ step.description | translate }}\n </p>\n </div>\n </div>\n <div class=\"line\" *ngIf=\"i !== steps.length - 1\"></div>\n </div>\n </ng-container>\n</div>\n", styles: [":host{display:block;width:100%}.stepper-container{width:100%;display:flex;flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:nowrap;margin-bottom:var(--Size-4)}.step{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap}.step.focus .circle{border-color:var(--Primary-Primary-500, #f49a3d)}.step.focus .circle span{color:var(--Primary-Primary-500, #f49a3d)}.step.focus .line{background-color:var(--Primary-Primary-500, #f49a3d)}.step.focus .step-label{color:var(--Gray-Gray-700, #32394d)}.step.completed .circle{background-color:var(--Primary-Primary-500, #f49a3d);border-color:var(--Primary-Primary-500, #f49a3d)}.step.completed .circle span{color:var(--Neutral-White, #fff)}.step.completed .line{background-color:var(--Primary-Primary-500, #f49a3d)}.step.completed .step-label{color:var(--Gray-Gray-700, #32394d)}.line{width:100%;flex:1;height:2px;background-color:var(--Gray-Gray-200, #c3c9d9)}.circle-container{position:relative;display:inline-flex;flex-direction:column;justify-content:center;align-items:center}.circle{width:24px;height:24px;border-radius:50%;border:2px solid var(--Gray-Gray-200);background-color:transparent;display:grid;place-items:center}.circle span{color:var(--Gray-Gray-200, #c3c9d9);text-align:center;line-height:1;pointer-events:none}.steps-container{position:absolute;top:calc(100% + var(--Size-1));display:flex;flex-direction:column;gap:var(--Size-2);width:max-content;width:12vw;min-width:100px;max-width:180px;text-align:center}.steps-container p{margin:0!important}.line.invisible{background-color:transparent}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
|
|
1315
1344
|
}
|
|
1316
1345
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiStepsComponent, decorators: [{
|
|
1317
1346
|
type: Component,
|
|
@@ -1380,7 +1409,7 @@ class VerticalStepsComponent {
|
|
|
1380
1409
|
return index === this.processedSteps.length - 1;
|
|
1381
1410
|
}
|
|
1382
1411
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: VerticalStepsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1383
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: VerticalStepsComponent, isStandalone: true, selector: "vertical-steps", inputs: { steps: "steps", currentStep: "currentStep", clickable: "clickable", showCheckIcon: "showCheckIcon" }, outputs: { stepClick: "stepClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"vertical-steps\">\n @for (step of processedSteps; track step.number; let i = $index) {\n <div\n class=\"step-item\"\n [class.completed]=\"step.calculatedState === 'completed'\"\n [class.current]=\"step.calculatedState === 'current'\"\n [class.pending]=\"step.calculatedState === 'pending'\"\n [class.clickable]=\"isStepClickable(step.number)\"\n (click)=\"onStepClick(step.number)\"\n >\n <!-- Indicador del paso (c\u00EDrculo + l\u00EDnea) -->\n <div class=\"step-indicator\">\n <div class=\"step-circle\">\n @if (step.calculatedState === 'completed' && showCheckIcon) {\n <app-icon name=\"Check-small\" width=\"14px\" height=\"14px\"></app-icon>\n } @else {\n <span class=\"step-number\">{{ step.number }}</span>\n }\n </div>\n @if (!isLastStep(i)) {\n <div class=\"step-line\"></div>\n }\n </div>\n\n <!-- Etiqueta del paso -->\n <div class=\"step-label\">\n @if (step.labelKey) {\n <span>{{ step.labelKey | translate }}</span>\n } @else {\n <span>{{ step.label }}</span>\n }\n </div>\n </div>\n }\n</div>\n", styles: [":host{display:block}.vertical-steps{display:flex;flex-direction:column;align-items:flex-start}.step-item{display:flex;gap:4px;height:50px;width:100%}.step-item.clickable{cursor:pointer}.step-item .step-indicator{display:flex;flex-direction:column;align-items:center;padding-bottom:1px}.step-item .step-circle{width:24px;height:24px;border-radius:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-bottom:-1px}.step-item .step-number{font-family:Inter,sans-serif;font-weight:700;font-size:12px;line-height:1.1;text-align:center}.step-item .step-line{flex:1;width:2px;margin-top:-1px;margin-bottom:-1px}.step-item .step-label{display:flex;align-items:center;height:24px;margin-left:6px}.step-item .step-label span{font-family:Inter,sans-serif;font-weight:400;font-size:12px;line-height:1.5;white-space:nowrap}.step-item.completed .step-circle{background-color:var(--Primary-Primary-500, #f49a3d);border:2px solid var(--Primary-Primary-500, #f49a3d)}.step-item.completed .step-circle app-icon{color:var(--white, #ffffff)!important}.step-item.completed .step-circle .step-number{color:var(--white, #ffffff)!important}.step-item.completed .step-line{background-color:var(--Primary-Primary-500, #f49a3d)}.step-item.completed .step-label span{color:var(--Gray-Gray-700, #32394d)}.step-item.current .step-circle{background-color:transparent;border:2px solid var(--Primary-Primary-500, #f49a3d)}.step-item.current .step-circle .step-number{color:var(--Primary-Primary-500, #f49a3d)}.step-item.current .step-line{background-color:var(--Primary-Primary-500, #f49a3d)}.step-item.current .step-label span{color:var(--Gray-Gray-700, #32394d)}.step-item.pending .step-circle{background-color:transparent;border:2px solid var(--Gray-Gray-200, #c3c9d9)}.step-item.pending .step-circle .step-number{color:var(--Gray-Gray-200, #c3c9d9)}.step-item.pending .step-line{background-color:var(--Gray-Gray-200, #c3c9d9)}.step-item.pending .step-label span{color:var(--Gray-Gray-500, #69738c)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2
|
|
1412
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: VerticalStepsComponent, isStandalone: true, selector: "vertical-steps", inputs: { steps: "steps", currentStep: "currentStep", clickable: "clickable", showCheckIcon: "showCheckIcon" }, outputs: { stepClick: "stepClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"vertical-steps\">\n @for (step of processedSteps; track step.number; let i = $index) {\n <div\n class=\"step-item\"\n [class.completed]=\"step.calculatedState === 'completed'\"\n [class.current]=\"step.calculatedState === 'current'\"\n [class.pending]=\"step.calculatedState === 'pending'\"\n [class.clickable]=\"isStepClickable(step.number)\"\n (click)=\"onStepClick(step.number)\"\n >\n <!-- Indicador del paso (c\u00EDrculo + l\u00EDnea) -->\n <div class=\"step-indicator\">\n <div class=\"step-circle\">\n @if (step.calculatedState === 'completed' && showCheckIcon) {\n <app-icon name=\"Check-small\" width=\"14px\" height=\"14px\"></app-icon>\n } @else {\n <span class=\"step-number\">{{ step.number }}</span>\n }\n </div>\n @if (!isLastStep(i)) {\n <div class=\"step-line\"></div>\n }\n </div>\n\n <!-- Etiqueta del paso -->\n <div class=\"step-label\">\n @if (step.labelKey) {\n <span>{{ step.labelKey | translate }}</span>\n } @else {\n <span>{{ step.label }}</span>\n }\n </div>\n </div>\n }\n</div>\n", styles: [":host{display:block}.vertical-steps{display:flex;flex-direction:column;align-items:flex-start}.step-item{display:flex;gap:4px;height:50px;width:100%}.step-item.clickable{cursor:pointer}.step-item .step-indicator{display:flex;flex-direction:column;align-items:center;padding-bottom:1px}.step-item .step-circle{width:24px;height:24px;border-radius:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-bottom:-1px}.step-item .step-number{font-family:Inter,sans-serif;font-weight:700;font-size:12px;line-height:1.1;text-align:center}.step-item .step-line{flex:1;width:2px;margin-top:-1px;margin-bottom:-1px}.step-item .step-label{display:flex;align-items:center;height:24px;margin-left:6px}.step-item .step-label span{font-family:Inter,sans-serif;font-weight:400;font-size:12px;line-height:1.5;white-space:nowrap}.step-item.completed .step-circle{background-color:var(--Primary-Primary-500, #f49a3d);border:2px solid var(--Primary-Primary-500, #f49a3d)}.step-item.completed .step-circle app-icon{color:var(--white, #ffffff)!important}.step-item.completed .step-circle .step-number{color:var(--white, #ffffff)!important}.step-item.completed .step-line{background-color:var(--Primary-Primary-500, #f49a3d)}.step-item.completed .step-label span{color:var(--Gray-Gray-700, #32394d)}.step-item.current .step-circle{background-color:transparent;border:2px solid var(--Primary-Primary-500, #f49a3d)}.step-item.current .step-circle .step-number{color:var(--Primary-Primary-500, #f49a3d)}.step-item.current .step-line{background-color:var(--Primary-Primary-500, #f49a3d)}.step-item.current .step-label span{color:var(--Gray-Gray-700, #32394d)}.step-item.pending .step-circle{background-color:transparent;border:2px solid var(--Gray-Gray-200, #c3c9d9)}.step-item.pending .step-circle .step-number{color:var(--Gray-Gray-200, #c3c9d9)}.step-item.pending .step-line{background-color:var(--Gray-Gray-200, #c3c9d9)}.step-item.pending .step-label span{color:var(--Gray-Gray-500, #69738c)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "width", "height", "color"] }] });
|
|
1384
1413
|
}
|
|
1385
1414
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: VerticalStepsComponent, decorators: [{
|
|
1386
1415
|
type: Component,
|
|
@@ -1460,7 +1489,7 @@ class DropiPaginatorComponent {
|
|
|
1460
1489
|
this.pageChange.emit(this.totalPages);
|
|
1461
1490
|
}
|
|
1462
1491
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiPaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1463
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiPaginatorComponent, isStandalone: true, selector: "app-dropi-paginator", inputs: { totalPages: "totalPages", currentPage: "currentPage", disabled: "disabled", isNotTotalPages: "isNotTotalPages", maxVisiblePages: "maxVisiblePages" }, outputs: { pageChange: "pageChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"selector-quantity\"></div>\n\n<div class=\"dropi-paginator\">\n <button\n *ngIf=\"currentPage !== 1 && !isNotTotalPages\"\n class=\"page-item prev\"\n [disabled]=\"disabled || currentPage === 1\"\n (click)=\"goToFirstPage()\"\n aria-label=\"Anterior\"\n >\n <app-icon\n [name]=\"'Arrow-double-small-left'\"\n [width]=\"'16'\"\n [height]=\"'16'\"\n />\n </button>\n <button\n *ngIf=\"currentPage !== 1\"\n class=\"page-item prev\"\n [ngClass]=\"{ prevCursor: isNotTotalPages }\"\n [disabled]=\"disabled || currentPage === 1\"\n (click)=\"prevPage()\"\n aria-label=\"Anterior\"\n >\n <app-icon [name]=\"'Dropdown-left'\" [width]=\"'16'\" [height]=\"'16'\" />\n {{ \"Previous\" | translate }}\n </button>\n\n <ng-container *ngIf=\"!isNotTotalPages\">\n <ng-container *ngFor=\"let page of pages\">\n <ng-container *ngIf=\"page === '...'; else pageNumber\">\n <button class=\"page-item ellipsis\" disabled tabindex=\"-1\">...</button>\n </ng-container>\n <ng-template #pageNumber>\n <button\n class=\"page-item\"\n [ngClass]=\"{ active: page === currentPage }\"\n [disabled]=\"disabled || page === currentPage\"\n (click)=\"goToPage(page)\"\n >\n {{ page }}\n </button>\n </ng-template>\n </ng-container>\n </ng-container>\n\n <button\n *ngIf=\"\n currentPage !== totalPages ||\n (isNotTotalPages && currentPage < totalPages)\n \"\n class=\"page-item next\"\n [ngClass]=\"{ nextCursor: isNotTotalPages }\"\n [disabled]=\"disabled || currentPage === totalPages\"\n (click)=\"nextPage()\"\n aria-label=\"Siguiente\"\n >\n {{ \"Next\" | translate }}\n <app-icon [name]=\"'Dropdown-Right'\" [width]=\"'16'\" [height]=\"'16'\" />\n </button>\n\n <button\n *ngIf=\"currentPage !== totalPages && !isNotTotalPages\"\n class=\"page-item next\"\n [disabled]=\"disabled || currentPage === totalPages\"\n (click)=\"goToLastPage()\"\n aria-label=\"Siguiente\"\n >\n <app-icon\n [name]=\"'Arrow-double-small-right'\"\n [width]=\"'16'\"\n [height]=\"'16'\"\n />\n </button>\n</div>\n", styles: [".dropi-paginator{display:flex;justify-content:flex-end;align-items:center;gap:2px}.page-item{display:flex;width:32px;height:32px;padding:12px;justify-content:center;align-items:center;gap:10px;flex-shrink:0;border-radius:24px;transition:background-color .2s ease-in-out;border:none!important;background-color:transparent;color:var(--Gray-600, #475066)}.page-item:hover{background-color:#fff}.page-item.active{background-color:var(--Primary-Primary-500);color:#fff}.nextCursor,.prevCursor{height:auto;width:auto;gap:4px!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "width", "height", "color"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2
|
|
1492
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiPaginatorComponent, isStandalone: true, selector: "app-dropi-paginator", inputs: { totalPages: "totalPages", currentPage: "currentPage", disabled: "disabled", isNotTotalPages: "isNotTotalPages", maxVisiblePages: "maxVisiblePages" }, outputs: { pageChange: "pageChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"selector-quantity\"></div>\n\n<div class=\"dropi-paginator\">\n <button\n *ngIf=\"currentPage !== 1 && !isNotTotalPages\"\n class=\"page-item prev\"\n [disabled]=\"disabled || currentPage === 1\"\n (click)=\"goToFirstPage()\"\n aria-label=\"Anterior\"\n >\n <app-icon\n [name]=\"'Arrow-double-small-left'\"\n [width]=\"'16'\"\n [height]=\"'16'\"\n />\n </button>\n <button\n *ngIf=\"currentPage !== 1\"\n class=\"page-item prev\"\n [ngClass]=\"{ prevCursor: isNotTotalPages }\"\n [disabled]=\"disabled || currentPage === 1\"\n (click)=\"prevPage()\"\n aria-label=\"Anterior\"\n >\n <app-icon [name]=\"'Dropdown-left'\" [width]=\"'16'\" [height]=\"'16'\" />\n {{ \"Previous\" | translate }}\n </button>\n\n <ng-container *ngIf=\"!isNotTotalPages\">\n <ng-container *ngFor=\"let page of pages\">\n <ng-container *ngIf=\"page === '...'; else pageNumber\">\n <button class=\"page-item ellipsis\" disabled tabindex=\"-1\">...</button>\n </ng-container>\n <ng-template #pageNumber>\n <button\n class=\"page-item\"\n [ngClass]=\"{ active: page === currentPage }\"\n [disabled]=\"disabled || page === currentPage\"\n (click)=\"goToPage(page)\"\n >\n {{ page }}\n </button>\n </ng-template>\n </ng-container>\n </ng-container>\n\n <button\n *ngIf=\"\n currentPage !== totalPages ||\n (isNotTotalPages && currentPage < totalPages)\n \"\n class=\"page-item next\"\n [ngClass]=\"{ nextCursor: isNotTotalPages }\"\n [disabled]=\"disabled || currentPage === totalPages\"\n (click)=\"nextPage()\"\n aria-label=\"Siguiente\"\n >\n {{ \"Next\" | translate }}\n <app-icon [name]=\"'Dropdown-Right'\" [width]=\"'16'\" [height]=\"'16'\" />\n </button>\n\n <button\n *ngIf=\"currentPage !== totalPages && !isNotTotalPages\"\n class=\"page-item next\"\n [disabled]=\"disabled || currentPage === totalPages\"\n (click)=\"goToLastPage()\"\n aria-label=\"Siguiente\"\n >\n <app-icon\n [name]=\"'Arrow-double-small-right'\"\n [width]=\"'16'\"\n [height]=\"'16'\"\n />\n </button>\n</div>\n", styles: [".dropi-paginator{display:flex;justify-content:flex-end;align-items:center;gap:2px}.page-item{display:flex;width:32px;height:32px;padding:12px;justify-content:center;align-items:center;gap:10px;flex-shrink:0;border-radius:24px;transition:background-color .2s ease-in-out;border:none!important;background-color:transparent;color:var(--Gray-600, #475066)}.page-item:hover{background-color:#fff}.page-item.active{background-color:var(--Primary-Primary-500);color:#fff}.nextCursor,.prevCursor{height:auto;width:auto;gap:4px!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "width", "height", "color"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
|
|
1464
1493
|
}
|
|
1465
1494
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiPaginatorComponent, decorators: [{
|
|
1466
1495
|
type: Component,
|
|
@@ -1500,7 +1529,7 @@ class DropiBreadcrumbComponent {
|
|
|
1500
1529
|
}
|
|
1501
1530
|
}
|
|
1502
1531
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiBreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1503
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiBreadcrumbComponent, isStandalone: true, selector: "app-dropi-breadcrumb", inputs: { items: "items", ariaLabel: "ariaLabel", homeIconName: "homeIconName", lastItemClickable: "lastItemClickable" }, outputs: { onNavigate: "onNavigate" }, ngImport: i0, template: "<nav class=\"breadcrumb\" [attr.aria-label]=\"ariaLabel\">\n <div class=\"crumb-list\">\n <!-- HOME: solo \u00EDcono -->\n <div class=\"crumb-home\">\n <a\n (click)=\"navigate(null, true)\"\n class=\"home-link\"\n aria-label=\"Inicio\"\n style=\"cursor: pointer\"\n >\n <app-icon\n [name]=\"homeIconName\"\n width=\"16px\"\n color=\"Gray-Gray-500\"\n ></app-icon>\n </a>\n\n <app-icon\n *ngIf=\"items?.length\"\n name=\"Dropdown-Right\"\n width=\"16px\"\n color=\"Gray-Gray-500\"\n ></app-icon>\n </div>\n\n <!-- ITEMS en l\u00EDnea, sin colapsar -->\n <div *ngFor=\"let it of items; let last = last\" class=\"crumb\">\n <!-- Si NO es el \u00FAltimo (o s\u00ED, pero queremos que sea clicable) -->\n <ng-container *ngIf=\"!last || lastItemClickable; else current\">\n <!-- Interno con Navegaci\u00F3n -->\n <a\n *ngIf=\"it.command || it.url; else plain\"\n (click)=\"navigate(it)\"\n [class.disabled]=\"it.disabled\"\n class=\"crumb-link Body-S-Regular\"\n style=\"cursor: pointer\"\n >\n {{ it.label | translate }}\n </a>\n\n <!-- Sin destino / deshabilitado -->\n <ng-template #plain>\n <span class=\"disabled Body-S-Regular\">{{\n it.label | translate\n }}</span>\n </ng-template>\n </ng-container>\n\n <!-- \u00DAltimo como \u201Cactual\u201D por defecto -->\n <ng-template #current>\n <span class=\"current Body-S-Regular\" aria-current=\"page\">{{\n it.label | translate\n }}</span>\n </ng-template>\n\n <app-icon\n *ngIf=\"!last\"\n name=\"Dropdown-Right\"\n width=\"16px\"\n height=\"16px\"\n color=\"Gray-Gray-500\"\n ></app-icon>\n </div>\n </div>\n</nav>\n", styles: [".crumb-list{display:flex;align-items:center;gap:4px}.crumb-list .crumb-home{display:flex;padding-right:4px;align-items:center;gap:4px}.crumb-list.disabled{pointer-events:none;opacity:.6}.crumb{display:flex;padding:0 4px;align-items:center;gap:8px}.crumb.disabled{pointer-events:none}.crumb.disabled .crumb-link{color:var(--Gray-Gray-300, #a1a8b8);cursor:not-allowed}.crumb-link{color:var(--Gray-Gray-500, #69738c);text-align:center;cursor:pointer;transition:color .2s ease}.crumb-link:hover{color:var(--Gray-Gray-700, #32394d);text-decoration:underline}.crumb-link.disabled{pointer-events:none;color:var(--Gray-Gray-300, #a1a8b8)!important;cursor:not-allowed!important;text-decoration:none!important}.current{color:var(--Gray-Gray-700, #32394d);cursor:default}.current:hover{text-decoration:none}.breadcrumb{margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2
|
|
1532
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiBreadcrumbComponent, isStandalone: true, selector: "app-dropi-breadcrumb", inputs: { items: "items", ariaLabel: "ariaLabel", homeIconName: "homeIconName", lastItemClickable: "lastItemClickable" }, outputs: { onNavigate: "onNavigate" }, ngImport: i0, template: "<nav class=\"breadcrumb\" [attr.aria-label]=\"ariaLabel\">\n <div class=\"crumb-list\">\n <!-- HOME: solo \u00EDcono -->\n <div class=\"crumb-home\">\n <a\n (click)=\"navigate(null, true)\"\n class=\"home-link\"\n aria-label=\"Inicio\"\n style=\"cursor: pointer\"\n >\n <app-icon\n [name]=\"homeIconName\"\n width=\"16px\"\n color=\"Gray-Gray-500\"\n ></app-icon>\n </a>\n\n <app-icon\n *ngIf=\"items?.length\"\n name=\"Dropdown-Right\"\n width=\"16px\"\n color=\"Gray-Gray-500\"\n ></app-icon>\n </div>\n\n <!-- ITEMS en l\u00EDnea, sin colapsar -->\n <div *ngFor=\"let it of items; let last = last\" class=\"crumb\">\n <!-- Si NO es el \u00FAltimo (o s\u00ED, pero queremos que sea clicable) -->\n <ng-container *ngIf=\"!last || lastItemClickable; else current\">\n <!-- Interno con Navegaci\u00F3n -->\n <a\n *ngIf=\"it.command || it.url; else plain\"\n (click)=\"navigate(it)\"\n [class.disabled]=\"it.disabled\"\n class=\"crumb-link Body-S-Regular\"\n style=\"cursor: pointer\"\n >\n {{ it.label | translate }}\n </a>\n\n <!-- Sin destino / deshabilitado -->\n <ng-template #plain>\n <span class=\"disabled Body-S-Regular\">{{\n it.label | translate\n }}</span>\n </ng-template>\n </ng-container>\n\n <!-- \u00DAltimo como \u201Cactual\u201D por defecto -->\n <ng-template #current>\n <span class=\"current Body-S-Regular\" aria-current=\"page\">{{\n it.label | translate\n }}</span>\n </ng-template>\n\n <app-icon\n *ngIf=\"!last\"\n name=\"Dropdown-Right\"\n width=\"16px\"\n height=\"16px\"\n color=\"Gray-Gray-500\"\n ></app-icon>\n </div>\n </div>\n</nav>\n", styles: [".crumb-list{display:flex;align-items:center;gap:4px}.crumb-list .crumb-home{display:flex;padding-right:4px;align-items:center;gap:4px}.crumb-list.disabled{pointer-events:none;opacity:.6}.crumb{display:flex;padding:0 4px;align-items:center;gap:8px}.crumb.disabled{pointer-events:none}.crumb.disabled .crumb-link{color:var(--Gray-Gray-300, #a1a8b8);cursor:not-allowed}.crumb-link{color:var(--Gray-Gray-500, #69738c);text-align:center;cursor:pointer;transition:color .2s ease}.crumb-link:hover{color:var(--Gray-Gray-700, #32394d);text-decoration:underline}.crumb-link.disabled{pointer-events:none;color:var(--Gray-Gray-300, #a1a8b8)!important;cursor:not-allowed!important;text-decoration:none!important}.current{color:var(--Gray-Gray-700, #32394d);cursor:default}.current:hover{text-decoration:none}.breadcrumb{margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "width", "height", "color"] }] });
|
|
1504
1533
|
}
|
|
1505
1534
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiBreadcrumbComponent, decorators: [{
|
|
1506
1535
|
type: Component,
|
|
@@ -1627,7 +1656,7 @@ class DropiSearchComponent {
|
|
|
1627
1656
|
return {};
|
|
1628
1657
|
}
|
|
1629
1658
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1630
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiSearchComponent, isStandalone: true, selector: "app-dropi-search", inputs: { type: "type", typeInput: "typeInput", placeholder: "placeholder", textDropButton: "textDropButton", textInput: "textInput", showIcon: "showIcon", label: "label", colorSearch: "colorSearch", overlaySelected: "overlaySelected", backgroundInput: "backgroundInput", maxLength: "maxLength" }, outputs: { textInputChange: "textInputChange", onClick: "onClick", onSearch: "onSearch", onInput: "onInput", onKeyEnter: "onKeyEnter", onClear: "onClear" }, ngImport: i0, template: "<div [style.--color-back]=\"backgroundInput\" #containerRef class=\"container-search\">\n <input\n (focus)=\"onFocus()\"\n (input)=\"changeText($event)\"\n (change)=\"onChangHandler($event)\"\n (keyup.enter)=\"onEnter($event)\"\n [(ngModel)]=\"textInput\"\n [ngClass]=\"{\n 'Body-M-Regular': true,\n 'custom-input': true,\n 'input-drop-class': type === 'dropdown-button'\n }\"\n [type]=\"typeInput\"\n [maxlength]=\"maxLength\"\n [placeholder]=\"placeholder | translate\"\n />\n <svg\n [style.color]=\"colorSearch\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20px\"\n height=\"20px\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n >\n <g clip-path=\"url(#clip0_3021_2)\">\n <path\n d=\"M17.1297 16.1484L12.9846 12.0032C14.1142 10.6217 14.6695 8.85886 14.5358 7.07932C14.4021 5.29979 13.5896 3.63972 12.2662 2.44249C10.9429 1.24526 9.20997 0.602467 7.42598 0.647073C5.64199 0.691678 3.94338 1.42027 2.68152 2.68213C1.41965 3.944 0.69106 5.64261 0.646455 7.4266C0.601849 9.21059 1.24464 10.9435 2.44187 12.2668C3.6391 13.5902 5.29917 14.4028 7.0787 14.5365C8.85824 14.6702 10.6211 14.1148 12.0026 12.9852L16.1478 17.1303C16.2787 17.2568 16.4542 17.3268 16.6362 17.3252C16.8183 17.3237 16.9925 17.2506 17.1212 17.1219C17.25 16.9931 17.323 16.8189 17.3246 16.6368C17.3262 16.4548 17.2562 16.2794 17.1297 16.1484ZM7.61095 13.1671C6.51217 13.1671 5.43806 12.8413 4.52445 12.2308C3.61084 11.6204 2.89877 10.7527 2.47829 9.73759C2.0578 8.72244 1.94778 7.60541 2.16214 6.52773C2.37651 5.45006 2.90562 4.46016 3.68258 3.6832C4.45954 2.90624 5.44944 2.37713 6.52712 2.16276C7.60479 1.9484 8.72183 2.05842 9.73697 2.47891C10.7521 2.89939 11.6198 3.61146 12.2302 4.52507C12.8407 5.43868 13.1665 6.51278 13.1665 7.61157C13.1649 9.08449 12.579 10.4966 11.5375 11.5381C10.496 12.5796 9.08387 13.1655 7.61095 13.1671Z\"\n fill=\"currentColor\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_3021_2\">\n <rect\n width=\"16.6667\"\n height=\"16.6667\"\n fill=\"white\"\n transform=\"translate(0.666664 0.666626)\"\n />\n </clipPath>\n </defs>\n </svg>\n\n <div class=\"container-close-drop\">\n <app-icon\n *ngIf=\"textInput?.length > 0 && showIcon\"\n (click)=\"clearText()\"\n [class]=\"label ? 'icon-close-input-label' : 'icon-close-input'\"\n name=\"Close-small\"\n width=\"20px\"\n height=\"20px\"\n color=\"Gray-Gray-600\"\n ></app-icon>\n\n <div class=\"label-custom\" *ngIf=\"label && isFocus && type == 'dropdown'\">\n <span class=\"label-custom-icon Body-M-Regular\">\n {{ label || 'Label' }}\n </span>\n <app-icon name=\"Dropdown-down\" width=\"24px\" height=\"24px\" color=\"Gray-Gray-500\"></app-icon>\n </div>\n <dropi-button\n *ngIf=\"type == 'dropdown-button'\"\n [type]=\"'dropdown'\"\n [severity]=\"'tertiary'\"\n [state]=\"'default'\"\n [text]=\"textDropButton\"\n (onClick)=\"handleClickDropButton($event)\"\n ></dropi-button>\n </div>\n\n <div\n #overlay\n (click)=\"$event.stopPropagation()\"\n [class]=\"'overlay-search-input ' + overlaySelected\"\n *ngIf=\"(isFocus && type == 'dropdown') || (isClickedDropButton && type == 'dropdown-button')\"\n [ngStyle]=\"getOverlayStyles()\"\n @fade\n >\n <div\n class=\"container-content\"\n *ngIf=\"\n (isVisibleContent && type == 'dropdown') ||\n (isClickedDropButton && type == 'dropdown-button')\n \"\n @fade\n >\n <div class=\"content-no-found\" *ngIf=\"dataToSearchCache?.length == 0\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"21\"\n height=\"20\"\n viewBox=\"0 0 21 20\"\n fill=\"none\"\n >\n <path\n d=\"M10.5 1.66663C8.85185 1.66663 7.24068 2.15537 5.87027 3.07105C4.49986 3.98672 3.43176 5.28821 2.80103 6.81093C2.1703 8.33365 2.00527 10.0092 2.32681 11.6257C2.64836 13.2422 3.44203 14.7271 4.60747 15.8925C5.77291 17.058 7.25776 17.8516 8.87427 18.1732C10.4908 18.4947 12.1663 18.3297 13.6891 17.699C15.2118 17.0682 16.5133 16.0001 17.4289 14.6297C18.3446 13.2593 18.8334 11.6481 18.8334 9.99996C18.831 7.79056 17.9522 5.67233 16.3899 4.11004C14.8277 2.54776 12.7094 1.66902 10.5 1.66663ZM10.5 16.9444C9.12654 16.9444 7.78391 16.5371 6.6419 15.7741C5.49989 15.011 4.6098 13.9264 4.08419 12.6575C3.55859 11.3886 3.42106 9.99226 3.68902 8.64517C3.95697 7.29808 4.61836 6.06069 5.58956 5.0895C6.56076 4.1183 7.79814 3.4569 9.14523 3.18895C10.4923 2.921 11.8886 3.05852 13.1575 3.58413C14.4265 4.10974 15.5111 4.99983 16.2741 6.14183C17.0372 7.28384 17.4445 8.62648 17.4445 9.99996C17.4424 11.8411 16.7102 13.6063 15.4083 14.9082C14.1064 16.2101 12.3412 16.9424 10.5 16.9444Z\"\n fill=\"var(--Gray-Gray-600)\"\n />\n <path\n d=\"M10.5 5.13895C10.3158 5.13895 10.1392 5.21212 10.009 5.34235C9.87875 5.47259 9.80558 5.64922 9.80558 5.8334V11.389C9.80558 11.5731 9.87875 11.7498 10.009 11.88C10.1392 12.0102 10.3158 12.0834 10.5 12.0834C10.6842 12.0834 10.8608 12.0102 10.9911 11.88C11.1213 11.7498 11.1945 11.5731 11.1945 11.389V5.8334C11.1945 5.64922 11.1213 5.47259 10.9911 5.34235C10.8608 5.21212 10.6842 5.13895 10.5 5.13895Z\"\n fill=\"#475066\"\n />\n <path\n d=\"M11.1945 14.1667C11.1945 13.7832 10.8836 13.4723 10.5 13.4723C10.1165 13.4723 9.80558 13.7832 9.80558 14.1667C9.80558 14.5503 10.1165 14.8612 10.5 14.8612C10.8836 14.8612 11.1945 14.5503 11.1945 14.1667Z\"\n fill=\"#475066\"\n />\n </svg>\n\n <div class=\"Body-S-Regular text-no-found\">\n No encontramos resultados, por favor intenta con otra b\u00FAsqueda.\n </div>\n </div>\n\n <div *ngIf=\"dataToSearchCache?.length > 0\">\n <div class=\"container-array\" *ngFor=\"let data of dataToSearchCache; let i = index\">\n <app-dropi-checkbox\n [checked]=\"data.isChecked\"\n (onChange)=\"checkingList($event, data)\"\n ></app-dropi-checkbox>\n {{ data[dataName] }}\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".container-search{width:100%;min-width:150px;height:40px;background-color:var(--color-back);border:1px solid var(--Gray-Gray-100);border-radius:var(--Size-2);padding:var(--Size-3);position:relative;display:flex;justify-content:flex-start;align-items:center}.container-search>input{position:relative;right:0;left:0;top:0;height:100%;background-color:transparent;border:none;position:absolute;font-style:14px!important;padding:0 38px;width:100%}input::placeholder{color:var(--Gray-Gray-500)!important}.icon-close-input,.icon-close-input-label{cursor:pointer}.container-close-drop{display:flex;position:absolute;align-items:center;right:13px;gap:.25rem}.overlay-search-input{width:100%;box-shadow:.5px 4px 8px #00000014;background-color:var(--Neutral-White);position:absolute;left:0;border-radius:var(--Size-2);align-self:stretch;z-index:100}.text-no-found{margin-top:var(--Size-2);text-align:center;padding:0 var(--Size-4)}.content-no-found{display:flex;justify-content:center;align-items:center;height:180px;flex-direction:column}.container-array{padding:var(--Size-3) var(--Size-4);display:flex;align-items:center}.content-found{overflow-y:auto;z-index:99999}.container-search-input{width:385px}.container-array>app-dropi-checkbox{margin-right:var(--Size-3)}.label-custom{cursor:pointer}.label-custom-icon{color:var(--Gray-Gray-500)}.input-drop-class{padding-right:10rem!important}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2
|
|
1659
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiSearchComponent, isStandalone: true, selector: "app-dropi-search", inputs: { type: "type", typeInput: "typeInput", placeholder: "placeholder", textDropButton: "textDropButton", textInput: "textInput", showIcon: "showIcon", label: "label", colorSearch: "colorSearch", overlaySelected: "overlaySelected", backgroundInput: "backgroundInput", maxLength: "maxLength" }, outputs: { textInputChange: "textInputChange", onClick: "onClick", onSearch: "onSearch", onInput: "onInput", onKeyEnter: "onKeyEnter", onClear: "onClear" }, ngImport: i0, template: "<div [style.--color-back]=\"backgroundInput\" #containerRef class=\"container-search\">\n <input\n (focus)=\"onFocus()\"\n (input)=\"changeText($event)\"\n (change)=\"onChangHandler($event)\"\n (keyup.enter)=\"onEnter($event)\"\n [(ngModel)]=\"textInput\"\n [ngClass]=\"{\n 'Body-M-Regular': true,\n 'custom-input': true,\n 'input-drop-class': type === 'dropdown-button'\n }\"\n [type]=\"typeInput\"\n [maxlength]=\"maxLength\"\n [placeholder]=\"placeholder | translate\"\n />\n <svg\n [style.color]=\"colorSearch\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20px\"\n height=\"20px\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n >\n <g clip-path=\"url(#clip0_3021_2)\">\n <path\n d=\"M17.1297 16.1484L12.9846 12.0032C14.1142 10.6217 14.6695 8.85886 14.5358 7.07932C14.4021 5.29979 13.5896 3.63972 12.2662 2.44249C10.9429 1.24526 9.20997 0.602467 7.42598 0.647073C5.64199 0.691678 3.94338 1.42027 2.68152 2.68213C1.41965 3.944 0.69106 5.64261 0.646455 7.4266C0.601849 9.21059 1.24464 10.9435 2.44187 12.2668C3.6391 13.5902 5.29917 14.4028 7.0787 14.5365C8.85824 14.6702 10.6211 14.1148 12.0026 12.9852L16.1478 17.1303C16.2787 17.2568 16.4542 17.3268 16.6362 17.3252C16.8183 17.3237 16.9925 17.2506 17.1212 17.1219C17.25 16.9931 17.323 16.8189 17.3246 16.6368C17.3262 16.4548 17.2562 16.2794 17.1297 16.1484ZM7.61095 13.1671C6.51217 13.1671 5.43806 12.8413 4.52445 12.2308C3.61084 11.6204 2.89877 10.7527 2.47829 9.73759C2.0578 8.72244 1.94778 7.60541 2.16214 6.52773C2.37651 5.45006 2.90562 4.46016 3.68258 3.6832C4.45954 2.90624 5.44944 2.37713 6.52712 2.16276C7.60479 1.9484 8.72183 2.05842 9.73697 2.47891C10.7521 2.89939 11.6198 3.61146 12.2302 4.52507C12.8407 5.43868 13.1665 6.51278 13.1665 7.61157C13.1649 9.08449 12.579 10.4966 11.5375 11.5381C10.496 12.5796 9.08387 13.1655 7.61095 13.1671Z\"\n fill=\"currentColor\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_3021_2\">\n <rect\n width=\"16.6667\"\n height=\"16.6667\"\n fill=\"white\"\n transform=\"translate(0.666664 0.666626)\"\n />\n </clipPath>\n </defs>\n </svg>\n\n <div class=\"container-close-drop\">\n <app-icon\n *ngIf=\"textInput?.length > 0 && showIcon\"\n (click)=\"clearText()\"\n [class]=\"label ? 'icon-close-input-label' : 'icon-close-input'\"\n name=\"Close-small\"\n width=\"20px\"\n height=\"20px\"\n color=\"Gray-Gray-600\"\n ></app-icon>\n\n <div class=\"label-custom\" *ngIf=\"label && isFocus && type == 'dropdown'\">\n <span class=\"label-custom-icon Body-M-Regular\">\n {{ label || 'Label' }}\n </span>\n <app-icon name=\"Dropdown-down\" width=\"24px\" height=\"24px\" color=\"Gray-Gray-500\"></app-icon>\n </div>\n <dropi-button\n *ngIf=\"type == 'dropdown-button'\"\n [type]=\"'dropdown'\"\n [severity]=\"'tertiary'\"\n [state]=\"'default'\"\n [text]=\"textDropButton\"\n (onClick)=\"handleClickDropButton($event)\"\n ></dropi-button>\n </div>\n\n <div\n #overlay\n (click)=\"$event.stopPropagation()\"\n [class]=\"'overlay-search-input ' + overlaySelected\"\n *ngIf=\"(isFocus && type == 'dropdown') || (isClickedDropButton && type == 'dropdown-button')\"\n [ngStyle]=\"getOverlayStyles()\"\n @fade\n >\n <div\n class=\"container-content\"\n *ngIf=\"\n (isVisibleContent && type == 'dropdown') ||\n (isClickedDropButton && type == 'dropdown-button')\n \"\n @fade\n >\n <div class=\"content-no-found\" *ngIf=\"dataToSearchCache?.length == 0\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"21\"\n height=\"20\"\n viewBox=\"0 0 21 20\"\n fill=\"none\"\n >\n <path\n d=\"M10.5 1.66663C8.85185 1.66663 7.24068 2.15537 5.87027 3.07105C4.49986 3.98672 3.43176 5.28821 2.80103 6.81093C2.1703 8.33365 2.00527 10.0092 2.32681 11.6257C2.64836 13.2422 3.44203 14.7271 4.60747 15.8925C5.77291 17.058 7.25776 17.8516 8.87427 18.1732C10.4908 18.4947 12.1663 18.3297 13.6891 17.699C15.2118 17.0682 16.5133 16.0001 17.4289 14.6297C18.3446 13.2593 18.8334 11.6481 18.8334 9.99996C18.831 7.79056 17.9522 5.67233 16.3899 4.11004C14.8277 2.54776 12.7094 1.66902 10.5 1.66663ZM10.5 16.9444C9.12654 16.9444 7.78391 16.5371 6.6419 15.7741C5.49989 15.011 4.6098 13.9264 4.08419 12.6575C3.55859 11.3886 3.42106 9.99226 3.68902 8.64517C3.95697 7.29808 4.61836 6.06069 5.58956 5.0895C6.56076 4.1183 7.79814 3.4569 9.14523 3.18895C10.4923 2.921 11.8886 3.05852 13.1575 3.58413C14.4265 4.10974 15.5111 4.99983 16.2741 6.14183C17.0372 7.28384 17.4445 8.62648 17.4445 9.99996C17.4424 11.8411 16.7102 13.6063 15.4083 14.9082C14.1064 16.2101 12.3412 16.9424 10.5 16.9444Z\"\n fill=\"var(--Gray-Gray-600)\"\n />\n <path\n d=\"M10.5 5.13895C10.3158 5.13895 10.1392 5.21212 10.009 5.34235C9.87875 5.47259 9.80558 5.64922 9.80558 5.8334V11.389C9.80558 11.5731 9.87875 11.7498 10.009 11.88C10.1392 12.0102 10.3158 12.0834 10.5 12.0834C10.6842 12.0834 10.8608 12.0102 10.9911 11.88C11.1213 11.7498 11.1945 11.5731 11.1945 11.389V5.8334C11.1945 5.64922 11.1213 5.47259 10.9911 5.34235C10.8608 5.21212 10.6842 5.13895 10.5 5.13895Z\"\n fill=\"#475066\"\n />\n <path\n d=\"M11.1945 14.1667C11.1945 13.7832 10.8836 13.4723 10.5 13.4723C10.1165 13.4723 9.80558 13.7832 9.80558 14.1667C9.80558 14.5503 10.1165 14.8612 10.5 14.8612C10.8836 14.8612 11.1945 14.5503 11.1945 14.1667Z\"\n fill=\"#475066\"\n />\n </svg>\n\n <div class=\"Body-S-Regular text-no-found\">\n No encontramos resultados, por favor intenta con otra b\u00FAsqueda.\n </div>\n </div>\n\n <div *ngIf=\"dataToSearchCache?.length > 0\">\n <div class=\"container-array\" *ngFor=\"let data of dataToSearchCache; let i = index\">\n <app-dropi-checkbox\n [checked]=\"data.isChecked\"\n (onChange)=\"checkingList($event, data)\"\n ></app-dropi-checkbox>\n {{ data[dataName] }}\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".container-search{width:100%;min-width:150px;height:40px;background-color:var(--color-back);border:1px solid var(--Gray-Gray-100);border-radius:var(--Size-2);padding:var(--Size-3);position:relative;display:flex;justify-content:flex-start;align-items:center}.container-search>input{position:relative;right:0;left:0;top:0;height:100%;background-color:transparent;border:none;position:absolute;font-style:14px!important;padding:0 38px;width:100%}input::placeholder{color:var(--Gray-Gray-500)!important}.icon-close-input,.icon-close-input-label{cursor:pointer}.container-close-drop{display:flex;position:absolute;align-items:center;right:13px;gap:.25rem}.overlay-search-input{width:100%;box-shadow:.5px 4px 8px #00000014;background-color:var(--Neutral-White);position:absolute;left:0;border-radius:var(--Size-2);align-self:stretch;z-index:100}.text-no-found{margin-top:var(--Size-2);text-align:center;padding:0 var(--Size-4)}.content-no-found{display:flex;justify-content:center;align-items:center;height:180px;flex-direction:column}.container-array{padding:var(--Size-3) var(--Size-4);display:flex;align-items:center}.content-found{overflow-y:auto;z-index:99999}.container-search-input{width:385px}.container-array>app-dropi-checkbox{margin-right:var(--Size-3)}.label-custom{cursor:pointer}.label-custom-icon{color:var(--Gray-Gray-500)}.input-drop-class{padding-right:10rem!important}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
|
|
1631
1660
|
}
|
|
1632
1661
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiSearchComponent, decorators: [{
|
|
1633
1662
|
type: Component,
|
|
@@ -1833,7 +1862,7 @@ class DropiSelectComponent {
|
|
|
1833
1862
|
getValueDrop(event) { }
|
|
1834
1863
|
onScroll(event) { }
|
|
1835
1864
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1836
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiSelectComponent, isStandalone: true, selector: "app-dropi-select", inputs: { label: "label", options: "options", selectProperties: "selectProperties", labelDrop: "labelDrop", disabled: "disabled" }, ngImport: i0, template: "<div class=\"dropi-select-container\">\n <label *ngIf=\"label\" class=\"select-label\">{{ label | translate }}</label>\n\n <div\n class=\"select-trigger\"\n [ngClass]=\"{ 'is-open': isOpen, 'has-error': selectProperties?.hasError }\"\n (click)=\"toggleDropdown()\"\n >\n <div class=\"selected-value\">\n <ng-container *ngIf=\"selectedOption; else placeholderTpl\">\n <app-icon\n *ngIf=\"showCountryFlags && selectedOption.countryCode\"\n [name]=\"selectedOption.countryCode\"\n ></app-icon>\n <span>{{\n selectedOption.label || selectedOption.name | translate\n }}</span>\n </ng-container>\n <ng-template #placeholderTpl>\n <span class=\"placeholder\">\n {{\n (labelDrop ? labelDrop : selectProperties?.placeholder) | translate\n }}\n </span>\n </ng-template>\n </div>\n\n <div class=\"icons\">\n <app-icon\n [name]=\"isExpanded ? 'Dropdown-up' : 'Dropdown-down'\"\n [width]=\"selectProperties?.dropdownType ? '24px' : '20px'\"\n [height]=\"selectProperties?.dropdownType ? '24px' : '20px'\"\n ></app-icon>\n </div>\n </div>\n\n <div *ngIf=\"selectProperties?.textHelper\" class=\"select-helper\">\n <span>{{ selectProperties.textHelper | translate }}</span>\n </div>\n\n <div *ngIf=\"selectProperties?.hasError\" class=\"select-helper-error\">\n <span>{{ selectProperties.errorText | translate }}</span>\n </div>\n\n <div\n class=\"select-dropdown-overlay\"\n *ngIf=\"isOpen\"\n (scroll)=\"onScroll($event)\"\n >\n <div class=\"search-container\" *ngIf=\"searchEnabled\">\n <app-dropi-search\n [placeholder]=\"selectProperties?.placeHolderSearch || 'Buscar'\"\n [(ngModel)]=\"searchTerm\"\n (onInput)=\"filterOptions($event)\"\n (onKeyEnter)=\"onKeyPress($event)\"\n (onClear)=\"onClearHanddle()\"\n ></app-dropi-search>\n </div>\n\n <ul class=\"options-list\">\n <ng-container *ngIf=\"isGrouped\">\n <li *ngFor=\"let group of filteredOptions\" class=\"option-group\">\n <span class=\"group-label\">{{ group.label | translate }}</span>\n <ul>\n <li\n *ngFor=\"let option of group.items\"\n (click)=\"selectOption(option)\"\n class=\"option-item\"\n >\n {{ option.label | translate }}\n </li>\n </ul>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"!isGrouped && !multiSelect\">\n <li\n *ngFor=\"let option of filteredOptions\"\n class=\"option-item\"\n [ngClass]=\"{\n 'option-with-flag': showCountryFlags && option.countryCode,\n }\"\n (click)=\"selectOption(option)\"\n >\n <app-country-flags\n *ngIf=\"showCountryFlags && option.countryCode\"\n [country]=\"option.countryCode\"\n ></app-country-flags>\n <span>\n {{\n (showCountryFlags && option.shortLabel\n ? option.shortLabel\n : option.label || option.name\n ) | translate\n }}\n </span>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"multiSelect\">\n <app-dropi-dropdown\n [options]=\"multiSelecOptions\"\n [parameters]=\"parametersDrop\"\n (modelChange)=\"getValueDrop($event)\"\n ></app-dropi-dropdown>\n </ng-container>\n </ul>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.custom-select{position:relative;width:100%}.custom-select label{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--Gray-Gray-600)}.custom-select label span{color:var(--Error-Error-500)}.custom-select .disabled-label{color:var(--Gray-Gray-500)}.select-button{width:100%;height:40px;padding:.47rem .75rem;padding-right:7px;border:1px solid var(--Gray-Gray-200);border-radius:var(--Border-2);background:var(--Neutral-White);color:var(--Gray-Gray-500);font-size:var(--font-size-s);display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer}.select-dropdown{position:absolute;width:100%;overflow:hidden;list-style:none;padding:0;margin:4px 0 0;border:1px solid transparent;border-radius:var(--Border-2);overflow-y:scroll;z-index:1300}.select-dropdown-overlay{width:100%;max-height:250px;overflow-y:auto;list-style:none;padding:var(--Size-4);padding-bottom:var(--Size-3);margin:0;border:1px solid transparent;border-radius:var(--Border-2);background:var(--Neutral-White);box-shadow:var(--Shadow-medium);z-index:9999}.select-dropdown-overlay.padding-dropdown,.padding-dropdown{padding:var(--Size-4)}.option{width:100%;height:45px;border-radius:var(--Border-2);padding-top:var(--Size-3);padding-right:var(--Size-4);padding-bottom:var(--Size-3);padding-left:var(--Size-4);border:none;background:transparent;text-align:left;color:var(--Gray-Gray-600);font-size:var(--font-size-s);cursor:pointer}.option:hover{background:var(--Gray-Gray-50)}.expanded-select{max-height:250px;background:var(--Neutral-White);box-shadow:var(--Shadow-medium);transition:max-height .2s ease-in}.collapsed-select{max-height:0;background:transparent;box-shadow:none;padding:0;transition:max-height .2s ease-out,background .3s ease-out,box-shadow .3s ease-out,padding .3s}.select-button:focus{border-color:var(--Info-Info-500)}.select-button-error{border-color:var(--Error-Error-500)!important}.select-button:disabled,.option:disabled{border-color:var(--Gray-Gray-200);color:var(--Gray-Gray-400);background-color:var(--Gray-Gray-50);cursor:unset}.select-completed{border-color:var(--Gray-Gray-400);color:var(--Gray-Gray-600);background:var(--Neutral-White)}.select-helper{display:flex;gap:var(--Size-1);align-items:baseline}.select-helper span{display:block;margin-top:var(--Size-2);color:var(--Gray-Gray-600);font-size:var(--font-size-xs)}.select-helper-error{display:flex;gap:var(--Size-1);align-items:baseline}.select-helper-error span{display:block;margin-top:var(--Size-2);color:var(--Error-Error-500);font-size:var(--font-size-xs)}.invalid-color{color:var(--Error-Error-500)!important}.elipsis{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.option-group-title{width:100%;height:45px;border-radius:var(--Border-2);padding-top:var(--Size-3);padding-right:var(--Size-4);padding-bottom:var(--Size-3);padding-left:var(--Size-4);border:none;background:transparent;text-align:left;color:var(--Gray-Gray-600);font-size:var(--font-size-s)}.option-group{padding-left:var(--Size-6)}.sticky-search{position:sticky;top:0;background:var(--Neutral-White);z-index:10}::ng-deep .custom-select .select-dropdown .sticky-search .container-search{background-color:var(--Neutral-White)!important}.no-border{border:none!important;color:var(--Gray-Gray-600, #475066);padding:var(--Size-4, 16px);gap:var(--Size-2, 8px);background-color:transparent!important}.no-border:disabled{background-color:transparent!important}.select-button:disabled{color:var(--Gray-Gray-400);background-color:var(--Gray-Gray-50)}.dropdown-container{display:flex;align-items:center;gap:4px}.dropdown-container .left-label{color:var(--Gray-600, #475066);white-space:nowrap}.button-content{display:flex;align-items:center;gap:8px;overflow:hidden;flex:1}.select-button.with-flag .button-content app-country-flags{flex-shrink:0}.select-button.with-flag .button-content app-country-flags ::ng-deep .rectangle{max-width:24px!important;max-height:17px!important;border-radius:var(--Border-1)}.option-with-flag{display:flex;align-items:center;gap:8px}.option-with-flag app-country-flags{flex-shrink:0}.option-with-flag app-country-flags ::ng-deep .rectangle{max-width:24px!important;max-height:17px!important;border-radius:var(--Border-1)}.option-with-flag span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2
|
|
1865
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiSelectComponent, isStandalone: true, selector: "app-dropi-select", inputs: { label: "label", options: "options", selectProperties: "selectProperties", labelDrop: "labelDrop", disabled: "disabled" }, ngImport: i0, template: "<div class=\"dropi-select-container\">\n <label *ngIf=\"label\" class=\"select-label\">{{ label | translate }}</label>\n\n <div\n class=\"select-trigger\"\n [ngClass]=\"{ 'is-open': isOpen, 'has-error': selectProperties?.hasError }\"\n (click)=\"toggleDropdown()\"\n >\n <div class=\"selected-value\">\n <ng-container *ngIf=\"selectedOption; else placeholderTpl\">\n <app-icon\n *ngIf=\"showCountryFlags && selectedOption.countryCode\"\n [name]=\"selectedOption.countryCode\"\n ></app-icon>\n <span>{{\n selectedOption.label || selectedOption.name | translate\n }}</span>\n </ng-container>\n <ng-template #placeholderTpl>\n <span class=\"placeholder\">\n {{\n (labelDrop ? labelDrop : selectProperties?.placeholder) | translate\n }}\n </span>\n </ng-template>\n </div>\n\n <div class=\"icons\">\n <app-icon\n [name]=\"isExpanded ? 'Dropdown-up' : 'Dropdown-down'\"\n [width]=\"selectProperties?.dropdownType ? '24px' : '20px'\"\n [height]=\"selectProperties?.dropdownType ? '24px' : '20px'\"\n ></app-icon>\n </div>\n </div>\n\n <div *ngIf=\"selectProperties?.textHelper\" class=\"select-helper\">\n <span>{{ selectProperties.textHelper | translate }}</span>\n </div>\n\n <div *ngIf=\"selectProperties?.hasError\" class=\"select-helper-error\">\n <span>{{ selectProperties.errorText | translate }}</span>\n </div>\n\n <div\n class=\"select-dropdown-overlay\"\n *ngIf=\"isOpen\"\n (scroll)=\"onScroll($event)\"\n >\n <div class=\"search-container\" *ngIf=\"searchEnabled\">\n <app-dropi-search\n [placeholder]=\"selectProperties?.placeHolderSearch || 'Buscar'\"\n [(ngModel)]=\"searchTerm\"\n (onInput)=\"filterOptions($event)\"\n (onKeyEnter)=\"onKeyPress($event)\"\n (onClear)=\"onClearHanddle()\"\n ></app-dropi-search>\n </div>\n\n <ul class=\"options-list\">\n <ng-container *ngIf=\"isGrouped\">\n <li *ngFor=\"let group of filteredOptions\" class=\"option-group\">\n <span class=\"group-label\">{{ group.label | translate }}</span>\n <ul>\n <li\n *ngFor=\"let option of group.items\"\n (click)=\"selectOption(option)\"\n class=\"option-item\"\n >\n {{ option.label | translate }}\n </li>\n </ul>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"!isGrouped && !multiSelect\">\n <li\n *ngFor=\"let option of filteredOptions\"\n class=\"option-item\"\n [ngClass]=\"{\n 'option-with-flag': showCountryFlags && option.countryCode,\n }\"\n (click)=\"selectOption(option)\"\n >\n <app-country-flags\n *ngIf=\"showCountryFlags && option.countryCode\"\n [country]=\"option.countryCode\"\n ></app-country-flags>\n <span>\n {{\n (showCountryFlags && option.shortLabel\n ? option.shortLabel\n : option.label || option.name\n ) | translate\n }}\n </span>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"multiSelect\">\n <app-dropi-dropdown\n [options]=\"multiSelecOptions\"\n [parameters]=\"parametersDrop\"\n (modelChange)=\"getValueDrop($event)\"\n ></app-dropi-dropdown>\n </ng-container>\n </ul>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.custom-select{position:relative;width:100%}.custom-select label{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--Gray-Gray-600)}.custom-select label span{color:var(--Error-Error-500)}.custom-select .disabled-label{color:var(--Gray-Gray-500)}.select-button{width:100%;height:40px;padding:.47rem .75rem;padding-right:7px;border:1px solid var(--Gray-Gray-200);border-radius:var(--Border-2);background:var(--Neutral-White);color:var(--Gray-Gray-500);font-size:var(--font-size-s);display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer}.select-dropdown{position:absolute;width:100%;overflow:hidden;list-style:none;padding:0;margin:4px 0 0;border:1px solid transparent;border-radius:var(--Border-2);overflow-y:scroll;z-index:1300}.select-dropdown-overlay{width:100%;max-height:250px;overflow-y:auto;list-style:none;padding:var(--Size-4);padding-bottom:var(--Size-3);margin:0;border:1px solid transparent;border-radius:var(--Border-2);background:var(--Neutral-White);box-shadow:var(--Shadow-medium);z-index:9999}.select-dropdown-overlay.padding-dropdown,.padding-dropdown{padding:var(--Size-4)}.option{width:100%;height:45px;border-radius:var(--Border-2);padding-top:var(--Size-3);padding-right:var(--Size-4);padding-bottom:var(--Size-3);padding-left:var(--Size-4);border:none;background:transparent;text-align:left;color:var(--Gray-Gray-600);font-size:var(--font-size-s);cursor:pointer}.option:hover{background:var(--Gray-Gray-50)}.expanded-select{max-height:250px;background:var(--Neutral-White);box-shadow:var(--Shadow-medium);transition:max-height .2s ease-in}.collapsed-select{max-height:0;background:transparent;box-shadow:none;padding:0;transition:max-height .2s ease-out,background .3s ease-out,box-shadow .3s ease-out,padding .3s}.select-button:focus{border-color:var(--Info-Info-500)}.select-button-error{border-color:var(--Error-Error-500)!important}.select-button:disabled,.option:disabled{border-color:var(--Gray-Gray-200);color:var(--Gray-Gray-400);background-color:var(--Gray-Gray-50);cursor:unset}.select-completed{border-color:var(--Gray-Gray-400);color:var(--Gray-Gray-600);background:var(--Neutral-White)}.select-helper{display:flex;gap:var(--Size-1);align-items:baseline}.select-helper span{display:block;margin-top:var(--Size-2);color:var(--Gray-Gray-600);font-size:var(--font-size-xs)}.select-helper-error{display:flex;gap:var(--Size-1);align-items:baseline}.select-helper-error span{display:block;margin-top:var(--Size-2);color:var(--Error-Error-500);font-size:var(--font-size-xs)}.invalid-color{color:var(--Error-Error-500)!important}.elipsis{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.option-group-title{width:100%;height:45px;border-radius:var(--Border-2);padding-top:var(--Size-3);padding-right:var(--Size-4);padding-bottom:var(--Size-3);padding-left:var(--Size-4);border:none;background:transparent;text-align:left;color:var(--Gray-Gray-600);font-size:var(--font-size-s)}.option-group{padding-left:var(--Size-6)}.sticky-search{position:sticky;top:0;background:var(--Neutral-White);z-index:10}::ng-deep .custom-select .select-dropdown .sticky-search .container-search{background-color:var(--Neutral-White)!important}.no-border{border:none!important;color:var(--Gray-Gray-600, #475066);padding:var(--Size-4, 16px);gap:var(--Size-2, 8px);background-color:transparent!important}.no-border:disabled{background-color:transparent!important}.select-button:disabled{color:var(--Gray-Gray-400);background-color:var(--Gray-Gray-50)}.dropdown-container{display:flex;align-items:center;gap:4px}.dropdown-container .left-label{color:var(--Gray-600, #475066);white-space:nowrap}.button-content{display:flex;align-items:center;gap:8px;overflow:hidden;flex:1}.select-button.with-flag .button-content app-country-flags{flex-shrink:0}.select-button.with-flag .button-content app-country-flags ::ng-deep .rectangle{max-width:24px!important;max-height:17px!important;border-radius:var(--Border-1)}.option-with-flag{display:flex;align-items:center;gap:8px}.option-with-flag app-country-flags{flex-shrink:0}.option-with-flag app-country-flags ::ng-deep .rectangle{max-width:24px!important;max-height:17px!important;border-radius:var(--Border-1)}.option-with-flag span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "width", "height", "color"] }, { kind: "component", type: DropiSearchComponent, selector: "app-dropi-search", inputs: ["type", "typeInput", "placeholder", "textDropButton", "textInput", "showIcon", "label", "colorSearch", "overlaySelected", "backgroundInput", "maxLength"], outputs: ["textInputChange", "onClick", "onSearch", "onInput", "onKeyEnter", "onClear"] }, { kind: "component", type: DropiDropdownComponent, selector: "app-dropi-dropdown", inputs: ["options", "parameters", "isInSelect", "height", "valueModel"], outputs: ["onSelectionChange", "modelChange"] }, { kind: "component", type: CountryFlagsComponent, selector: "app-country-flags", inputs: ["country", "width", "height", "style"] }] });
|
|
1837
1866
|
}
|
|
1838
1867
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiSelectComponent, decorators: [{
|
|
1839
1868
|
type: Component,
|
|
@@ -1877,7 +1906,7 @@ class CitySelectorComponent {
|
|
|
1877
1906
|
}
|
|
1878
1907
|
loadCities(event) { }
|
|
1879
1908
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CitySelectorComponent, deps: [{ token: "CityService" }, { token: "SettingsService" }], target: i0.ɵɵFactoryTarget.Component });
|
|
1880
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CitySelectorComponent, isStandalone: true, selector: "app-city-selector", inputs: { formControlCity: "formControlCity", disabled: "disabled" }, outputs: { onCityChange: "onCityChange" }, ngImport: i0, template: "<div class=\"city-selector\">\n <p-multiSelect\n [options]=\"groupedCities\"\n [group]=\"true\"\n [(ngModel)]=\"selectedCities\"\n [placeholder]=\"'select a city' | translate\"\n display=\"chip\"\n [showClear]=\"false\"\n [showHeader]=\"true\"\n (ngModelChange)=\"onSelectCityChange($event)\"\n [itemSize]=\"10\"\n [disabled]=\"disabled\"\n [lazy]=\"true\"\n (onLazyLoad)=\"loadCities($event)\"\n >\n <ng-template let-group pTemplate=\"group\">\n <div class=\"flex item-state\">\n <span>{{ group.label }}</span>\n </div>\n </ng-template>\n </p-multiSelect>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2
|
|
1909
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CitySelectorComponent, isStandalone: true, selector: "app-city-selector", inputs: { formControlCity: "formControlCity", disabled: "disabled" }, outputs: { onCityChange: "onCityChange" }, ngImport: i0, template: "<div class=\"city-selector\">\n <p-multiSelect\n [options]=\"groupedCities\"\n [group]=\"true\"\n [(ngModel)]=\"selectedCities\"\n [placeholder]=\"'select a city' | translate\"\n display=\"chip\"\n [showClear]=\"false\"\n [showHeader]=\"true\"\n (ngModelChange)=\"onSelectCityChange($event)\"\n [itemSize]=\"10\"\n [disabled]=\"disabled\"\n [lazy]=\"true\"\n (onLazyLoad)=\"loadCities($event)\"\n >\n <ng-template let-group pTemplate=\"group\">\n <div class=\"flex item-state\">\n <span>{{ group.label }}</span>\n </div>\n </ng-template>\n </p-multiSelect>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
|
|
1881
1910
|
}
|
|
1882
1911
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CitySelectorComponent, decorators: [{
|
|
1883
1912
|
type: Component,
|
|
@@ -1950,12 +1979,12 @@ class RadioSelectionListComponent {
|
|
|
1950
1979
|
this.searchControl.setValue("");
|
|
1951
1980
|
}
|
|
1952
1981
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RadioSelectionListComponent, deps: [{ token: TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1953
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: RadioSelectionListComponent, isStandalone: true, selector: "app-radio-selection-list", inputs: { extraContent: "extraContent", withExtraContentId: "withExtraContentId", options: "options", typeLayout: "typeLayout", alwaysShowDescription: "alwaysShowDescription", selectedOption: "selectedOption", showFilter: "showFilter", filterPlaceholder: "filterPlaceholder", searchDelay: "searchDelay" }, outputs: { valueChange: "valueChange", onSearch: "onSearch" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"options-container\">\n <div class=\"search-container\" *ngIf=\"showFilter\">\n <span class=\"input-icon\">\n <i class=\"pi pi-search\"></i>\n <input\n type=\"text\"\n pInputText\n [formControl]=\"searchControl\"\n [placeholder]=\"filterPlaceholder\"\n />\n </span>\n </div>\n\n <div class=\"options\">\n <ng-container *ngFor=\"let option of filteredOptions\">\n <div\n (click)=\"selectOption(option.id)\"\n (keyup)=\"selectOption(option.id)\"\n [ngClass]=\"{\n selected: selectedOption === option.id,\n 'half-width': option.halfWidth!,\n 'full-width': !option.halfWidth,\n disabled: option?.disabled\n }\"\n [id]=\"'option-' + option.id\"\n class=\"option-container\"\n >\n <div class=\"option\">\n <div class=\"selection\" [ngClass]=\"{ box: typeLayout === 'description' }\">\n <div class=\"radio\" [ngClass]=\"{ selected: selectedOption === option.id }\">\n <div class=\"circle\" *ngIf=\"selectedOption === option.id\"></div>\n </div>\n <div *ngIf=\"typeLayout !== 'description'\" class=\"data-container\">\n <p *ngIf=\"typeLayout === 'default'\" class=\"option-name\">{{ option.name }}</p>\n <div\n class=\"description\"\n *ngIf=\"\n option.description && (selectedOption === option.id || alwaysShowDescription)\n \"\n >\n <p *ngIf=\"typeLayout !== 'description'\" [innerHTML]=\"option.description\"></p>\n </div>\n </div>\n\n <ng-container *ngIf=\"typeLayout === 'description'\">\n <img [src]=\"option.iconImages[0].url\" alt=\"img\" class=\"img\" />\n <div class=\"Body-M-Regular\">\n <div class=\"Body-M-Regular\">{{ option.name }}</div>\n <div\n class=\"description-wrapper\"\n [ngClass]=\"{ 'has-icons': option.descriptionIcons?.length > 0 }\"\n >\n <p class=\"description Body-S-Regular\" [innerHTML]=\"option.description\"></p>\n <div class=\"description-icons\" *ngIf=\"option.descriptionIcons?.length > 0\">\n <img\n *ngFor=\"let icon of option.descriptionIcons\"\n [src]=\"icon.url\"\n [alt]=\"icon.alt\"\n />\n </div>\n </div>\n <!-- <div\n class=\"description\"\n *ngIf=\"\n option.description && (selectedOption === option.id || alwaysShowDescription)\n \"\n ></div> -->\n </div>\n </ng-container>\n </div>\n <div\n class=\"icons-container\"\n *ngIf=\"option?.iconImages?.length > 0 && typeLayout === 'default'\"\n >\n <div class=\"icon\" *ngFor=\"let icon of option.iconImages\">\n <img [src]=\"icon.url\" [alt]=\"icon.alt\" />\n </div>\n </div>\n </div>\n\n <div\n class=\"table-contents description\"\n *ngIf=\"\n option.table?.length > 0 && (selectedOption === option.id || alwaysShowDescription)\n \"\n >\n <div class=\"item-table\" *ngFor=\"let item of option.table\">\n <div class=\"item-table-name\">{{ item.name }}</div>\n <div class=\"item-table-value\">\n {{ item.value }}\n <!-- <currency\n [value]=\"item.value\"\n ></currency> -->\n </div>\n </div>\n </div>\n\n <div class=\"tag\" *ngIf=\"option.tag\">\n {{ option.tag }}\n </div>\n </div>\n <ng-container *ngIf=\"option.id === withExtraContentId && extraContent\">\n <ng-container *ngTemplateOutlet=\"extraContent\"></ng-container>\n </ng-container>\n </ng-container>\n </div>\n</div>\n", styles: [".options-container{display:flex;flex-direction:column;gap:10px;color:var(--Text-text-paragraph, #7b8190);font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.option-container{display:flex;border:1px solid var(--Gray-200, #c3c9d9);border-radius:8px;flex-direction:column;padding:var(--Size-4, 16px);cursor:pointer;transition:.4s all ease;position:relative;box-sizing:border-box;width:100%}.option-container.half-width{width:calc(50% - 8px)}.option-container.selected{border:1px solid var(--Primary-Primary-500, #f49a3d);background-color:var(--Primary-Primary-50, #fef8f1)}.option-container:hover{border:1px solid var(--Primary-Primary-500, #f49a3d);transition:.4s all ease}.option-container .tag{padding:1px 8px;position:absolute;right:16px;top:13px;border-radius:var(--Border-5, 32px);background:var(--Success-Success-500, #0abb87);color:var(--White, #fff);font-size:12px;font-weight:500;line-height:16px;display:flex;justify-content:center;align-items:center}.options{display:flex;flex-wrap:wrap;gap:16px}.option{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.selection{display:flex;flex-direction:row;align-items:center}.radio{width:20px;height:20px;min-width:20px;min-height:20px;display:flex;justify-content:center;align-items:center;color:#fff;border-radius:50%;border:2px solid var(--Gray-200, #c3c9d9);margin-right:var(--Size-3)}.radio .circle{border-radius:50%;background-color:var(--Primary-Primary-500, #f49a3d);width:12px;height:12px}.radio.selected{border-color:var(--Primary-Primary-500, #f49a3d)}.radio i{font-size:9px;font-weight:700}.img{width:48px;height:48px;border-radius:32px}.option-name{margin:0;color:var(--Gray-Gray-700)}.icons-container{display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.icon{width:30px;height:30px;border-radius:50%;background-color:#f5f6f8;margin-left:5px;display:flex;align-items:center;justify-content:center;overflow:hidden}.icon img{max-width:100%}.description{margin-bottom:0}.description p{margin:0;color:#525252;font-size:12px;line-height:16px}.item-table{display:flex;align-items:center;justify-content:space-between;padding-right:20px}.item-table div{margin:0;color:#495057;font-size:14px;line-height:20px}.item-table .item-table-value{font-weight:700}.search-container{display:flex;justify-content:space-between;align-items:center;align-self:stretch;border-radius:8px;border:1px solid var(--Gray-100, #e6eaf2);background:var(--Gray-50, #f7f8fa);padding-left:var(--Size-3, 12px);margin-bottom:var(--Size-4, 16px)}.search-container .input-icon{display:flex;flex-direction:row;width:100%}.search-container .input-icon i{display:flex;justify-content:center;align-items:center}::ng-deep .search-container .p-inputtext{width:100%;text-overflow:ellipsis;font-size:14px;font-style:normal;font-weight:400;line-height:150%;border:none;padding:9px 0;background-color:transparent;margin-left:8px}::ng-deep .search-container .p-inputtext::placeholder{color:var(--Gray-500, #69738c);font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:150%}@media (max-width: 500px){.option{flex-direction:column;align-items:flex-start}.icons-container{margin-top:10px}.icon{margin-left:0;margin-right:5px}.description{padding-left:0}.option-container.half-width{width:100%}}.box{display:flex;align-items:center;gap:var(--Size-3, 12px);width:100%}.data-container{display:flex;flex-direction:column}.disabled{pointer-events:none;opacity:.5}.description-wrapper{display:flex;align-items:center;gap:8px}.description-wrapper.has-icons{margin-top:8px}.description-icons{display:flex;align-items:center;gap:4px}.description-icons img{width:auto;height:28px;object-fit:contain}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
1982
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: RadioSelectionListComponent, isStandalone: true, selector: "app-radio-selection-list", inputs: { extraContent: "extraContent", withExtraContentId: "withExtraContentId", options: "options", typeLayout: "typeLayout", alwaysShowDescription: "alwaysShowDescription", selectedOption: "selectedOption", showFilter: "showFilter", filterPlaceholder: "filterPlaceholder", searchDelay: "searchDelay" }, outputs: { valueChange: "valueChange", onSearch: "onSearch" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"options-container\">\n <div class=\"search-container\" *ngIf=\"showFilter\">\n <span class=\"input-icon\">\n <i class=\"pi pi-search\"></i>\n <input\n type=\"text\"\n pInputText\n [formControl]=\"searchControl\"\n [placeholder]=\"filterPlaceholder\"\n />\n </span>\n </div>\n\n <div class=\"options\">\n <ng-container *ngFor=\"let option of filteredOptions\">\n <div\n (click)=\"selectOption(option.id)\"\n (keyup)=\"selectOption(option.id)\"\n [ngClass]=\"{\n selected: selectedOption === option.id,\n 'half-width': option.halfWidth!,\n 'full-width': !option.halfWidth,\n disabled: option?.disabled\n }\"\n [id]=\"'option-' + option.id\"\n class=\"option-container\"\n >\n <div class=\"option\">\n <div class=\"selection\" [ngClass]=\"{ box: typeLayout === 'description' }\">\n <div class=\"radio\" [ngClass]=\"{ selected: selectedOption === option.id }\">\n <div class=\"circle\" *ngIf=\"selectedOption === option.id\"></div>\n </div>\n <div *ngIf=\"typeLayout !== 'description'\" class=\"data-container\">\n <p *ngIf=\"typeLayout === 'default'\" class=\"option-name\">{{ option.name }}</p>\n <div\n class=\"description\"\n *ngIf=\"\n option.description && (selectedOption === option.id || alwaysShowDescription)\n \"\n >\n <p *ngIf=\"typeLayout !== 'description'\" [innerHTML]=\"option.description\"></p>\n </div>\n </div>\n\n <ng-container *ngIf=\"typeLayout === 'description'\">\n <img [src]=\"option.iconImages[0].url\" alt=\"img\" class=\"img\" />\n <div class=\"Body-M-Regular\">\n <div class=\"Body-M-Regular\">{{ option.name }}</div>\n <div\n class=\"description-wrapper\"\n [ngClass]=\"{ 'has-icons': option.descriptionIcons?.length > 0 }\"\n >\n <p class=\"description Body-S-Regular\" [innerHTML]=\"option.description\"></p>\n <div class=\"description-icons\" *ngIf=\"option.descriptionIcons?.length > 0\">\n <img\n *ngFor=\"let icon of option.descriptionIcons\"\n [src]=\"icon.url\"\n [alt]=\"icon.alt\"\n />\n </div>\n </div>\n <!-- <div\n class=\"description\"\n *ngIf=\"\n option.description && (selectedOption === option.id || alwaysShowDescription)\n \"\n ></div> -->\n </div>\n </ng-container>\n </div>\n <div\n class=\"icons-container\"\n *ngIf=\"option?.iconImages?.length > 0 && typeLayout === 'default'\"\n >\n <div class=\"icon\" *ngFor=\"let icon of option.iconImages\">\n <img [src]=\"icon.url\" [alt]=\"icon.alt\" />\n </div>\n </div>\n </div>\n\n <div\n class=\"table-contents description\"\n *ngIf=\"\n option.table?.length > 0 && (selectedOption === option.id || alwaysShowDescription)\n \"\n >\n <div class=\"item-table\" *ngFor=\"let item of option.table\">\n <div class=\"item-table-name\">{{ item.name }}</div>\n <div class=\"item-table-value\">\n {{ item.value }}\n <!-- <currency\n [value]=\"item.value\"\n ></currency> -->\n </div>\n </div>\n </div>\n\n <div class=\"tag\" *ngIf=\"option.tag\">\n {{ option.tag }}\n </div>\n </div>\n <ng-container *ngIf=\"option.id === withExtraContentId && extraContent\">\n <ng-container *ngTemplateOutlet=\"extraContent\"></ng-container>\n </ng-container>\n </ng-container>\n </div>\n</div>\n", styles: [".options-container{display:flex;flex-direction:column;gap:10px;color:var(--Text-text-paragraph, #7b8190);font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.option-container{display:flex;border:1px solid var(--Gray-200, #c3c9d9);border-radius:8px;flex-direction:column;padding:var(--Size-4, 16px);cursor:pointer;transition:.4s all ease;position:relative;box-sizing:border-box;width:100%}.option-container.half-width{width:calc(50% - 8px)}.option-container.selected{border:1px solid var(--Primary-Primary-500, #f49a3d);background-color:var(--Primary-Primary-50, #fef8f1)}.option-container:hover{border:1px solid var(--Primary-Primary-500, #f49a3d);transition:.4s all ease}.option-container .tag{padding:1px 8px;position:absolute;right:16px;top:13px;border-radius:var(--Border-5, 32px);background:var(--Success-Success-500, #0abb87);color:var(--White, #fff);font-size:12px;font-weight:500;line-height:16px;display:flex;justify-content:center;align-items:center}.options{display:flex;flex-wrap:wrap;gap:16px}.option{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.selection{display:flex;flex-direction:row;align-items:center}.radio{width:20px;height:20px;min-width:20px;min-height:20px;display:flex;justify-content:center;align-items:center;color:#fff;border-radius:50%;border:2px solid var(--Gray-200, #c3c9d9);margin-right:var(--Size-3)}.radio .circle{border-radius:50%;background-color:var(--Primary-Primary-500, #f49a3d);width:12px;height:12px}.radio.selected{border-color:var(--Primary-Primary-500, #f49a3d)}.radio i{font-size:9px;font-weight:700}.img{width:48px;height:48px;border-radius:32px}.option-name{margin:0;color:var(--Gray-Gray-700)}.icons-container{display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.icon{width:30px;height:30px;border-radius:50%;background-color:#f5f6f8;margin-left:5px;display:flex;align-items:center;justify-content:center;overflow:hidden}.icon img{max-width:100%}.description{margin-bottom:0}.description p{margin:0;color:#525252;font-size:12px;line-height:16px}.item-table{display:flex;align-items:center;justify-content:space-between;padding-right:20px}.item-table div{margin:0;color:#495057;font-size:14px;line-height:20px}.item-table .item-table-value{font-weight:700}.search-container{display:flex;justify-content:space-between;align-items:center;align-self:stretch;border-radius:8px;border:1px solid var(--Gray-100, #e6eaf2);background:var(--Gray-50, #f7f8fa);padding-left:var(--Size-3, 12px);margin-bottom:var(--Size-4, 16px)}.search-container .input-icon{display:flex;flex-direction:row;width:100%}.search-container .input-icon i{display:flex;justify-content:center;align-items:center}::ng-deep .search-container .p-inputtext{width:100%;text-overflow:ellipsis;font-size:14px;font-style:normal;font-weight:400;line-height:150%;border:none;padding:9px 0;background-color:transparent;margin-left:8px}::ng-deep .search-container .p-inputtext::placeholder{color:var(--Gray-500, #69738c);font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:150%}@media (max-width: 500px){.option{flex-direction:column;align-items:flex-start}.icons-container{margin-top:10px}.icon{margin-left:0;margin-right:5px}.description{padding-left:0}.option-container.half-width{width:100%}}.box{display:flex;align-items:center;gap:var(--Size-3, 12px);width:100%}.data-container{display:flex;flex-direction:column}.disabled{pointer-events:none;opacity:.5}.description-wrapper{display:flex;align-items:center;gap:8px}.description-wrapper.has-icons{margin-top:8px}.description-icons{display:flex;align-items:center;gap:4px}.description-icons img{width:auto;height:28px;object-fit:contain}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
1954
1983
|
}
|
|
1955
1984
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RadioSelectionListComponent, decorators: [{
|
|
1956
1985
|
type: Component,
|
|
1957
1986
|
args: [{ selector: "app-radio-selection-list", standalone: true, imports: [CommonModule, TranslateModule, ReactiveFormsModule], template: "<div class=\"options-container\">\n <div class=\"search-container\" *ngIf=\"showFilter\">\n <span class=\"input-icon\">\n <i class=\"pi pi-search\"></i>\n <input\n type=\"text\"\n pInputText\n [formControl]=\"searchControl\"\n [placeholder]=\"filterPlaceholder\"\n />\n </span>\n </div>\n\n <div class=\"options\">\n <ng-container *ngFor=\"let option of filteredOptions\">\n <div\n (click)=\"selectOption(option.id)\"\n (keyup)=\"selectOption(option.id)\"\n [ngClass]=\"{\n selected: selectedOption === option.id,\n 'half-width': option.halfWidth!,\n 'full-width': !option.halfWidth,\n disabled: option?.disabled\n }\"\n [id]=\"'option-' + option.id\"\n class=\"option-container\"\n >\n <div class=\"option\">\n <div class=\"selection\" [ngClass]=\"{ box: typeLayout === 'description' }\">\n <div class=\"radio\" [ngClass]=\"{ selected: selectedOption === option.id }\">\n <div class=\"circle\" *ngIf=\"selectedOption === option.id\"></div>\n </div>\n <div *ngIf=\"typeLayout !== 'description'\" class=\"data-container\">\n <p *ngIf=\"typeLayout === 'default'\" class=\"option-name\">{{ option.name }}</p>\n <div\n class=\"description\"\n *ngIf=\"\n option.description && (selectedOption === option.id || alwaysShowDescription)\n \"\n >\n <p *ngIf=\"typeLayout !== 'description'\" [innerHTML]=\"option.description\"></p>\n </div>\n </div>\n\n <ng-container *ngIf=\"typeLayout === 'description'\">\n <img [src]=\"option.iconImages[0].url\" alt=\"img\" class=\"img\" />\n <div class=\"Body-M-Regular\">\n <div class=\"Body-M-Regular\">{{ option.name }}</div>\n <div\n class=\"description-wrapper\"\n [ngClass]=\"{ 'has-icons': option.descriptionIcons?.length > 0 }\"\n >\n <p class=\"description Body-S-Regular\" [innerHTML]=\"option.description\"></p>\n <div class=\"description-icons\" *ngIf=\"option.descriptionIcons?.length > 0\">\n <img\n *ngFor=\"let icon of option.descriptionIcons\"\n [src]=\"icon.url\"\n [alt]=\"icon.alt\"\n />\n </div>\n </div>\n <!-- <div\n class=\"description\"\n *ngIf=\"\n option.description && (selectedOption === option.id || alwaysShowDescription)\n \"\n ></div> -->\n </div>\n </ng-container>\n </div>\n <div\n class=\"icons-container\"\n *ngIf=\"option?.iconImages?.length > 0 && typeLayout === 'default'\"\n >\n <div class=\"icon\" *ngFor=\"let icon of option.iconImages\">\n <img [src]=\"icon.url\" [alt]=\"icon.alt\" />\n </div>\n </div>\n </div>\n\n <div\n class=\"table-contents description\"\n *ngIf=\"\n option.table?.length > 0 && (selectedOption === option.id || alwaysShowDescription)\n \"\n >\n <div class=\"item-table\" *ngFor=\"let item of option.table\">\n <div class=\"item-table-name\">{{ item.name }}</div>\n <div class=\"item-table-value\">\n {{ item.value }}\n <!-- <currency\n [value]=\"item.value\"\n ></currency> -->\n </div>\n </div>\n </div>\n\n <div class=\"tag\" *ngIf=\"option.tag\">\n {{ option.tag }}\n </div>\n </div>\n <ng-container *ngIf=\"option.id === withExtraContentId && extraContent\">\n <ng-container *ngTemplateOutlet=\"extraContent\"></ng-container>\n </ng-container>\n </ng-container>\n </div>\n</div>\n", styles: [".options-container{display:flex;flex-direction:column;gap:10px;color:var(--Text-text-paragraph, #7b8190);font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.option-container{display:flex;border:1px solid var(--Gray-200, #c3c9d9);border-radius:8px;flex-direction:column;padding:var(--Size-4, 16px);cursor:pointer;transition:.4s all ease;position:relative;box-sizing:border-box;width:100%}.option-container.half-width{width:calc(50% - 8px)}.option-container.selected{border:1px solid var(--Primary-Primary-500, #f49a3d);background-color:var(--Primary-Primary-50, #fef8f1)}.option-container:hover{border:1px solid var(--Primary-Primary-500, #f49a3d);transition:.4s all ease}.option-container .tag{padding:1px 8px;position:absolute;right:16px;top:13px;border-radius:var(--Border-5, 32px);background:var(--Success-Success-500, #0abb87);color:var(--White, #fff);font-size:12px;font-weight:500;line-height:16px;display:flex;justify-content:center;align-items:center}.options{display:flex;flex-wrap:wrap;gap:16px}.option{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.selection{display:flex;flex-direction:row;align-items:center}.radio{width:20px;height:20px;min-width:20px;min-height:20px;display:flex;justify-content:center;align-items:center;color:#fff;border-radius:50%;border:2px solid var(--Gray-200, #c3c9d9);margin-right:var(--Size-3)}.radio .circle{border-radius:50%;background-color:var(--Primary-Primary-500, #f49a3d);width:12px;height:12px}.radio.selected{border-color:var(--Primary-Primary-500, #f49a3d)}.radio i{font-size:9px;font-weight:700}.img{width:48px;height:48px;border-radius:32px}.option-name{margin:0;color:var(--Gray-Gray-700)}.icons-container{display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.icon{width:30px;height:30px;border-radius:50%;background-color:#f5f6f8;margin-left:5px;display:flex;align-items:center;justify-content:center;overflow:hidden}.icon img{max-width:100%}.description{margin-bottom:0}.description p{margin:0;color:#525252;font-size:12px;line-height:16px}.item-table{display:flex;align-items:center;justify-content:space-between;padding-right:20px}.item-table div{margin:0;color:#495057;font-size:14px;line-height:20px}.item-table .item-table-value{font-weight:700}.search-container{display:flex;justify-content:space-between;align-items:center;align-self:stretch;border-radius:8px;border:1px solid var(--Gray-100, #e6eaf2);background:var(--Gray-50, #f7f8fa);padding-left:var(--Size-3, 12px);margin-bottom:var(--Size-4, 16px)}.search-container .input-icon{display:flex;flex-direction:row;width:100%}.search-container .input-icon i{display:flex;justify-content:center;align-items:center}::ng-deep .search-container .p-inputtext{width:100%;text-overflow:ellipsis;font-size:14px;font-style:normal;font-weight:400;line-height:150%;border:none;padding:9px 0;background-color:transparent;margin-left:8px}::ng-deep .search-container .p-inputtext::placeholder{color:var(--Gray-500, #69738c);font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:150%}@media (max-width: 500px){.option{flex-direction:column;align-items:flex-start}.icons-container{margin-top:10px}.icon{margin-left:0;margin-right:5px}.description{padding-left:0}.option-container.half-width{width:100%}}.box{display:flex;align-items:center;gap:var(--Size-3, 12px);width:100%}.data-container{display:flex;flex-direction:column}.disabled{pointer-events:none;opacity:.5}.description-wrapper{display:flex;align-items:center;gap:8px}.description-wrapper.has-icons{margin-top:8px}.description-icons{display:flex;align-items:center;gap:4px}.description-icons img{width:auto;height:28px;object-fit:contain}\n"] }]
|
|
1958
|
-
}], ctorParameters: () => [{ type: i2
|
|
1987
|
+
}], ctorParameters: () => [{ type: i2.TranslateService, decorators: [{
|
|
1959
1988
|
type: Inject,
|
|
1960
1989
|
args: [TranslateService]
|
|
1961
1990
|
}] }], propDecorators: { extraContent: [{
|
|
@@ -2027,12 +2056,12 @@ class CheckboxSelectionListComponent {
|
|
|
2027
2056
|
this.searchControl.setValue("");
|
|
2028
2057
|
}
|
|
2029
2058
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CheckboxSelectionListComponent, deps: [{ token: TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2030
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CheckboxSelectionListComponent, isStandalone: true, selector: "app-checkbox-selection-list", inputs: { options: "options", showFilter: "showFilter", filterPlaceholder: "filterPlaceholder", showNotFound: "showNotFound", notFoundMessage: "notFoundMessage", searchDelay: "searchDelay" }, outputs: { valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"checkbox-selection-list\">\n <div class=\"filter-container\" *ngIf=\"showFilter\">\n <span class=\"input-icon\">\n <i class=\"pi pi-search\"></i>\n <input\n data-cy=\"checkbox-selection-search-input\"\n type=\"text\"\n class=\"search-input\"\n [formControl]=\"searchControl\"\n [placeholder]=\"filterPlaceholder\"\n />\n </span>\n <button *ngIf=\"searchControl.value.length > 0\" (click)=\"clearSearchInput()\">\n <i class=\"pi pi-times\"></i>\n </button>\n </div>\n\n <div class=\"selection-list\">\n <div class=\"selection-item\" *ngFor=\"let option of filteredOptions\">\n <div class=\"checkbox-item\">\n <app-dropi-checkbox \n [checked]=\"option.checked\"\n (onChange)=\"toggleSelection($event, option)\" \n [attr.data-cy]=\"'checkbox-selection-' + option.id\"\n />\n <img *ngIf=\"option.preIcon\" [src]=\"option.preIcon\" [alt]=\"option.label\" />\n <span>{{ option.label | translate}}</span>\n </div>\n </div>\n \n <div *ngIf=\"showNotFound && (!filteredOptions || filteredOptions.length === 0)\" class=\"empty-container\">\n <div class=\"empty\" data-cy=\"checkbox-selection-empty\">\n <img src=\"\\assets\\utils\\logo-dropi-img-loader.png\" alt=\"Not-found\" />\n <span>{{ notFoundMessage }}</span>\n </div>\n </div>\n </div>\n</div>\n", styles: [".filter-container{display:flex;height:37px;padding:var(--Size-3, 12px);justify-content:space-between;align-items:center;border-radius:8px;border:1px solid var(--Gray-100, #E6EAF2);background:var(--Gray-50, #F7F8FA)}.filter-container .input-icon{display:flex;align-items:center;flex-direction:row;width:100%}.filter-container .input-icon i{margin-right:8px}.filter-container .search-input{width:100%;text-overflow:ellipsis;font-size:14px;font-style:normal;font-weight:400;line-height:150%;border:none;padding:9px 0;background-color:transparent}.filter-container .search-input::placeholder{color:var(--Gray-500, #69738C);font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:150%}.filter-container button{border:none;background-color:transparent;color:var(--Gray-600, #475066);padding:0}.filter-container button i{font-size:13px}.selection-list{max-height:230px;overflow-y:auto}.selection-item{display:flex;padding:var(--Size-3, 12px) var(--Size-4, 16px);align-items:center;gap:12px;align-self:stretch}.selection-item .checkbox-item{display:flex;align-items:center;gap:var(--Size-3, 12px)}.selection-item .checkbox-item img{border-radius:50%;width:20px;height:20px}.selection-item .checkbox-item span{color:var(--Gray-600, #475066);font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:150%}.empty-container{display:flex;justify-content:center;align-items:center;height:230px;width:100%}.empty-container .empty{display:flex;flex-direction:column;align-items:center;gap:12px}.empty-container .empty img{width:63.75px;height:60px}.empty-container .empty span{color:var(--Gray-500, #69738C);text-align:center;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:150%}:host ::ng-deep .filter-container .p-inputtext{width:100%;text-overflow:ellipsis;font-size:14px;font-style:normal;font-weight:400;line-height:150%;border:none;padding:9px 0;background-color:transparent}:host ::ng-deep .filter-container .p-inputtext::placeholder{color:var(--Gray-500, #69738C);font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:150%}:host ::ng-deep .filter-container .p-component{border:none;background-color:transparent}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2
|
|
2059
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CheckboxSelectionListComponent, isStandalone: true, selector: "app-checkbox-selection-list", inputs: { options: "options", showFilter: "showFilter", filterPlaceholder: "filterPlaceholder", showNotFound: "showNotFound", notFoundMessage: "notFoundMessage", searchDelay: "searchDelay" }, outputs: { valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"checkbox-selection-list\">\n <div class=\"filter-container\" *ngIf=\"showFilter\">\n <span class=\"input-icon\">\n <i class=\"pi pi-search\"></i>\n <input\n data-cy=\"checkbox-selection-search-input\"\n type=\"text\"\n class=\"search-input\"\n [formControl]=\"searchControl\"\n [placeholder]=\"filterPlaceholder\"\n />\n </span>\n <button *ngIf=\"searchControl.value.length > 0\" (click)=\"clearSearchInput()\">\n <i class=\"pi pi-times\"></i>\n </button>\n </div>\n\n <div class=\"selection-list\">\n <div class=\"selection-item\" *ngFor=\"let option of filteredOptions\">\n <div class=\"checkbox-item\">\n <app-dropi-checkbox \n [checked]=\"option.checked\"\n (onChange)=\"toggleSelection($event, option)\" \n [attr.data-cy]=\"'checkbox-selection-' + option.id\"\n />\n <img *ngIf=\"option.preIcon\" [src]=\"option.preIcon\" [alt]=\"option.label\" />\n <span>{{ option.label | translate}}</span>\n </div>\n </div>\n \n <div *ngIf=\"showNotFound && (!filteredOptions || filteredOptions.length === 0)\" class=\"empty-container\">\n <div class=\"empty\" data-cy=\"checkbox-selection-empty\">\n <img src=\"\\assets\\utils\\logo-dropi-img-loader.png\" alt=\"Not-found\" />\n <span>{{ notFoundMessage }}</span>\n </div>\n </div>\n </div>\n</div>\n", styles: [".filter-container{display:flex;height:37px;padding:var(--Size-3, 12px);justify-content:space-between;align-items:center;border-radius:8px;border:1px solid var(--Gray-100, #E6EAF2);background:var(--Gray-50, #F7F8FA)}.filter-container .input-icon{display:flex;align-items:center;flex-direction:row;width:100%}.filter-container .input-icon i{margin-right:8px}.filter-container .search-input{width:100%;text-overflow:ellipsis;font-size:14px;font-style:normal;font-weight:400;line-height:150%;border:none;padding:9px 0;background-color:transparent}.filter-container .search-input::placeholder{color:var(--Gray-500, #69738C);font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:150%}.filter-container button{border:none;background-color:transparent;color:var(--Gray-600, #475066);padding:0}.filter-container button i{font-size:13px}.selection-list{max-height:230px;overflow-y:auto}.selection-item{display:flex;padding:var(--Size-3, 12px) var(--Size-4, 16px);align-items:center;gap:12px;align-self:stretch}.selection-item .checkbox-item{display:flex;align-items:center;gap:var(--Size-3, 12px)}.selection-item .checkbox-item img{border-radius:50%;width:20px;height:20px}.selection-item .checkbox-item span{color:var(--Gray-600, #475066);font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:150%}.empty-container{display:flex;justify-content:center;align-items:center;height:230px;width:100%}.empty-container .empty{display:flex;flex-direction:column;align-items:center;gap:12px}.empty-container .empty img{width:63.75px;height:60px}.empty-container .empty span{color:var(--Gray-500, #69738C);text-align:center;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:150%}:host ::ng-deep .filter-container .p-inputtext{width:100%;text-overflow:ellipsis;font-size:14px;font-style:normal;font-weight:400;line-height:150%;border:none;padding:9px 0;background-color:transparent}:host ::ng-deep .filter-container .p-inputtext::placeholder{color:var(--Gray-500, #69738C);font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:150%}:host ::ng-deep .filter-container .p-component{border:none;background-color:transparent}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
2031
2060
|
}
|
|
2032
2061
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CheckboxSelectionListComponent, decorators: [{
|
|
2033
2062
|
type: Component,
|
|
2034
2063
|
args: [{ selector: "app-checkbox-selection-list", standalone: true, imports: [CommonModule, TranslateModule, ReactiveFormsModule], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<div class=\"checkbox-selection-list\">\n <div class=\"filter-container\" *ngIf=\"showFilter\">\n <span class=\"input-icon\">\n <i class=\"pi pi-search\"></i>\n <input\n data-cy=\"checkbox-selection-search-input\"\n type=\"text\"\n class=\"search-input\"\n [formControl]=\"searchControl\"\n [placeholder]=\"filterPlaceholder\"\n />\n </span>\n <button *ngIf=\"searchControl.value.length > 0\" (click)=\"clearSearchInput()\">\n <i class=\"pi pi-times\"></i>\n </button>\n </div>\n\n <div class=\"selection-list\">\n <div class=\"selection-item\" *ngFor=\"let option of filteredOptions\">\n <div class=\"checkbox-item\">\n <app-dropi-checkbox \n [checked]=\"option.checked\"\n (onChange)=\"toggleSelection($event, option)\" \n [attr.data-cy]=\"'checkbox-selection-' + option.id\"\n />\n <img *ngIf=\"option.preIcon\" [src]=\"option.preIcon\" [alt]=\"option.label\" />\n <span>{{ option.label | translate}}</span>\n </div>\n </div>\n \n <div *ngIf=\"showNotFound && (!filteredOptions || filteredOptions.length === 0)\" class=\"empty-container\">\n <div class=\"empty\" data-cy=\"checkbox-selection-empty\">\n <img src=\"\\assets\\utils\\logo-dropi-img-loader.png\" alt=\"Not-found\" />\n <span>{{ notFoundMessage }}</span>\n </div>\n </div>\n </div>\n</div>\n", styles: [".filter-container{display:flex;height:37px;padding:var(--Size-3, 12px);justify-content:space-between;align-items:center;border-radius:8px;border:1px solid var(--Gray-100, #E6EAF2);background:var(--Gray-50, #F7F8FA)}.filter-container .input-icon{display:flex;align-items:center;flex-direction:row;width:100%}.filter-container .input-icon i{margin-right:8px}.filter-container .search-input{width:100%;text-overflow:ellipsis;font-size:14px;font-style:normal;font-weight:400;line-height:150%;border:none;padding:9px 0;background-color:transparent}.filter-container .search-input::placeholder{color:var(--Gray-500, #69738C);font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:150%}.filter-container button{border:none;background-color:transparent;color:var(--Gray-600, #475066);padding:0}.filter-container button i{font-size:13px}.selection-list{max-height:230px;overflow-y:auto}.selection-item{display:flex;padding:var(--Size-3, 12px) var(--Size-4, 16px);align-items:center;gap:12px;align-self:stretch}.selection-item .checkbox-item{display:flex;align-items:center;gap:var(--Size-3, 12px)}.selection-item .checkbox-item img{border-radius:50%;width:20px;height:20px}.selection-item .checkbox-item span{color:var(--Gray-600, #475066);font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:150%}.empty-container{display:flex;justify-content:center;align-items:center;height:230px;width:100%}.empty-container .empty{display:flex;flex-direction:column;align-items:center;gap:12px}.empty-container .empty img{width:63.75px;height:60px}.empty-container .empty span{color:var(--Gray-500, #69738C);text-align:center;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:150%}:host ::ng-deep .filter-container .p-inputtext{width:100%;text-overflow:ellipsis;font-size:14px;font-style:normal;font-weight:400;line-height:150%;border:none;padding:9px 0;background-color:transparent}:host ::ng-deep .filter-container .p-inputtext::placeholder{color:var(--Gray-500, #69738C);font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:150%}:host ::ng-deep .filter-container .p-component{border:none;background-color:transparent}\n"] }]
|
|
2035
|
-
}], ctorParameters: () => [{ type: i2
|
|
2064
|
+
}], ctorParameters: () => [{ type: i2.TranslateService, decorators: [{
|
|
2036
2065
|
type: Inject,
|
|
2037
2066
|
args: [TranslateService]
|
|
2038
2067
|
}] }], propDecorators: { options: [{
|
|
@@ -2338,7 +2367,7 @@ class SpinnerComponent {
|
|
|
2338
2367
|
constructor() { }
|
|
2339
2368
|
ngOnInit() { }
|
|
2340
2369
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2341
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SpinnerComponent, isStandalone: true, selector: "app-spinner", inputs: { loading: "loading" }, ngImport: i0, template: "<div class=\"text-center loader-text\">\n <a *ngIf=\"loading\" href=\"javascript:void(0);\" class=\"text-primary\"\n ><i class=\"mdi mdi-loading mdi-spin font-size-20 align-middle me-2\"></i>\n {{ 'Loading' | translate }} ...\n </a>\n</div>\n", styles: [".loader-text{background:#fff;max-width:fit-content;border-radius:30px;display:flex;align-items:center;padding:0 10px;margin:0 auto 20px}.loader-text a,.loader-text i{color:#74788d!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2
|
|
2370
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SpinnerComponent, isStandalone: true, selector: "app-spinner", inputs: { loading: "loading" }, ngImport: i0, template: "<div class=\"text-center loader-text\">\n <a *ngIf=\"loading\" href=\"javascript:void(0);\" class=\"text-primary\"\n ><i class=\"mdi mdi-loading mdi-spin font-size-20 align-middle me-2\"></i>\n {{ 'Loading' | translate }} ...\n </a>\n</div>\n", styles: [".loader-text{background:#fff;max-width:fit-content;border-radius:30px;display:flex;align-items:center;padding:0 10px;margin:0 auto 20px}.loader-text a,.loader-text i{color:#74788d!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
|
|
2342
2371
|
}
|
|
2343
2372
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SpinnerComponent, decorators: [{
|
|
2344
2373
|
type: Component,
|
|
@@ -2504,7 +2533,7 @@ class ReadMoreComponent {
|
|
|
2504
2533
|
this.truncatedText = this.truncateText();
|
|
2505
2534
|
}
|
|
2506
2535
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ReadMoreComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2507
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ReadMoreComponent, isStandalone: true, selector: "app-read-more", inputs: { text: "text", maxWords: "maxWords", textStyle: "textStyle", buttonStyle: "buttonStyle", showSeeLess: "showSeeLess" }, ngImport: i0, template: "<div class=\"description-container\">\n <p class=\"text\" [style]=\"textStyle\">\n {{ truncatedText }}\n <a\n href=\"javascript:void(0);\"\n *ngIf=\"text?.split(' ')?.length > maxWords && (showSeeLess || !isExpanded)\"\n (click)=\"toggleExpanded()\"\n class=\"toggle-button\"\n [style]=\"buttonStyle\"\n >\n {{ isExpanded ? 'Show less' : 'Show more' | translate }}\n </a>\n </p>\n</div>", styles: [".description-container{font-family:Inter,sans-serif}.text{margin:0}.toggle-button{color:var(--Gray-gray-800, #585C65);font-size:12px;font-style:normal;font-weight:700;line-height:16px;cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2
|
|
2536
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ReadMoreComponent, isStandalone: true, selector: "app-read-more", inputs: { text: "text", maxWords: "maxWords", textStyle: "textStyle", buttonStyle: "buttonStyle", showSeeLess: "showSeeLess" }, ngImport: i0, template: "<div class=\"description-container\">\n <p class=\"text\" [style]=\"textStyle\">\n {{ truncatedText }}\n <a\n href=\"javascript:void(0);\"\n *ngIf=\"text?.split(' ')?.length > maxWords && (showSeeLess || !isExpanded)\"\n (click)=\"toggleExpanded()\"\n class=\"toggle-button\"\n [style]=\"buttonStyle\"\n >\n {{ isExpanded ? 'Show less' : 'Show more' | translate }}\n </a>\n </p>\n</div>", styles: [".description-container{font-family:Inter,sans-serif}.text{margin:0}.toggle-button{color:var(--Gray-gray-800, #585C65);font-size:12px;font-style:normal;font-weight:700;line-height:16px;cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
|
|
2508
2537
|
}
|
|
2509
2538
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ReadMoreComponent, decorators: [{
|
|
2510
2539
|
type: Component,
|
|
@@ -2526,7 +2555,7 @@ class EmptyComponent {
|
|
|
2526
2555
|
constructor() { }
|
|
2527
2556
|
ngOnInit() { }
|
|
2528
2557
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EmptyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2529
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: EmptyComponent, isStandalone: true, selector: "app-empty", inputs: { text: "text" }, ngImport: i0, template: "<div class=\"text-center mt-5\">\n {{ text | translate }}\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2
|
|
2558
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: EmptyComponent, isStandalone: true, selector: "app-empty", inputs: { text: "text" }, ngImport: i0, template: "<div class=\"text-center mt-5\">\n {{ text | translate }}\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
|
|
2530
2559
|
}
|
|
2531
2560
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EmptyComponent, decorators: [{
|
|
2532
2561
|
type: Component,
|
|
@@ -2652,7 +2681,7 @@ class InputComponent {
|
|
|
2652
2681
|
return "";
|
|
2653
2682
|
}
|
|
2654
2683
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2655
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: InputComponent, isStandalone: true, selector: "app-input", inputs: { inputProperties: "inputProperties", disabled: "disabled", showObligatoryAsterisk: "showObligatoryAsterisk", showPassword: "showPassword", fixedLabel: "fixedLabel", showAsterisk: "showAsterisk" }, ngImport: i0, template: "<div\n class=\"dropi-input-container\"\n [ngClass]=\"{\n 'dropi-input--error':\n inputProperties.formControl.invalid &&\n inputProperties.formControl.touched,\n 'dropi-input--disabled': disabled || inputProperties.formControl.disabled,\n 'dropi-input--with-icon-right':\n inputProperties.icon && inputProperties.iconPos === 'right',\n 'dropi-input--with-icon-left':\n inputProperties.icon && inputProperties.iconPos === 'left',\n }\"\n>\n <div class=\"input-wrapper\">\n <div\n class=\"icon-container left\"\n *ngIf=\"inputProperties.icon && inputProperties.iconPos === 'left'\"\n >\n <app-icon\n [name]=\"inputProperties.icon\"\n width=\"20px\"\n height=\"20px\"\n color=\"Gray-Gray-500\"\n ></app-icon>\n </div>\n\n <div class=\"input-field-wrapper\">\n <input\n [type]=\"showPassword ? 'text' : inputProperties.type || 'text'\"\n class=\"dropi-input Body-M-Regular\"\n [ngClass]=\"{\n 'text-password': inputProperties.isPasswordInput && !showPassword,\n 'fixed-label-input': fixedLabel,\n }\"\n [id]=\"inputProperties.id ? inputProperties.id : inputProperties.label\"\n [attr.data-cy]=\"inputProperties.dataCy\"\n [formControl]=\"inputProperties.formControl\"\n [placeholder]=\"inputProperties.placeholder | translate\"\n [maxlength]=\"inputProperties.maxLength\"\n [attr.inputmode]=\"inputProperties.inputMode || 'text'\"\n [disabled]=\"disabled || inputProperties.formControl.disabled\"\n appThousandSeparator\n [applyFormat]=\"\n !!(\n inputProperties?.isMoneyInput ||\n inputProperties?.isThousandSeparator\n )\n \"\n appOnlyNumbers\n [showCurrency]=\"!!inputProperties?.isMoneyInput\"\n [applyOnlyNumbers]=\"!!inputProperties?.isNumericInput\"\n appOnlyLetters\n [applyOnlyLetters]=\"!!inputProperties?.isLettersOnly\"\n />\n\n <label\n class=\"Body-S-Regular label-bottom\"\n *ngIf=\"!fixedLabel\"\n [for]=\"inputProperties.label\"\n >{{ inputProperties.label | translate }}\n <span\n class=\"asterisk\"\n *ngIf=\"\n isRequired() &&\n showAsterisk &&\n (!disabled || !inputProperties.formControl.disabled)\n \"\n >*</span\n >\n </label>\n </div>\n\n <div\n class=\"icon-container right\"\n *ngIf=\"inputProperties.icon && inputProperties.iconPos === 'right'\"\n >\n <app-icon\n [name]=\"inputProperties.icon\"\n width=\"20px\"\n height=\"20px\"\n color=\"Gray-Gray-500\"\n ></app-icon>\n </div>\n\n <div\n class=\"icon-container right password-toggle\"\n *ngIf=\"inputProperties.type === 'password'\"\n >\n <app-icon\n [name]=\"showPassword ? 'Visibility-off' : 'Visibility'\"\n width=\"20px\"\n height=\"20px\"\n color=\"Gray-Gray-500\"\n (click)=\"showOrHidePassword()\"\n ></app-icon>\n </div>\n </div>\n\n <div\n class=\"helper-text-container\"\n *ngIf=\"\n inputProperties.textHelper &&\n (!inputProperties.showHelperOnlyOnError ||\n (inputProperties.formControl.invalid &&\n inputProperties.formControl.touched))\n \"\n >\n <span class=\"helper-text Label-S-Regular\">{{\n (getErrorMessage() | translate) ||\n (inputProperties.textHelper | translate)\n }}</span>\n </div>\n</div>\n", styles: [".form-group{position:relative;width:100%}.form-group .icon-input{position:absolute;top:8px;left:5px}.form-group .icon-input-password{position:absolute;top:8px;right:13px;cursor:pointer}.input-container{position:relative}.form-control{width:100%;padding:var(--Size-2);border:1px solid var(--Gray-Gray-200);border-radius:var(--Border-2);background:var(--Neutral-White);font-size:var(--font-size-s);transition:border-color .3s ease-in-out;height:40px}.padding-icon{padding-left:28px}.form-control-helper{display:flex;gap:4px;align-items:baseline}.form-control-helper span{display:block;margin-top:8px;color:var(--Gray-Gray-600);font-size:var(--font-size-xs)}.text-password{-webkit-text-security:disc}.form-control:focus::placeholder{color:var(--Gray-Gray-500)}.form-control:focus{border-color:var(--Info-Info-500)!important;outline:none}.form-control-valid{border:1px solid var(--Gray-Gray-400)!important;color:var(--Gray-Gray-600);outline:none}.form-control-invalid{border:1px solid var(--Error-Error-500)!important;color:var(--Gray-Gray-600);outline:none}.form-control:disabled{border:1px solid var(--Gray-Gray-200)!important;color:var(--Gray-Gray-400);background-color:var(--Gray-Gray-50);outline:none}.fixed-label{position:relative;top:0;left:0;margin-bottom:8px;font-size:var(--font-size-xs);width:unset;color:var(--Gray-Gray-600)}label.label-bottom{position:absolute;font-weight:var(--font-weight-regular);top:10px;font-size:var(--font-size-s);color:var(--Gray-Gray-500);left:10px;transition:all .2s ease-in-out;pointer-events:none;overflow:hidden;width:90%;white-space:nowrap}label.label-bottom span{color:var(--Error-Error-500)}.form-control:focus+label.label-bottom,.form-control:not(:placeholder-shown)+label{top:-28px;left:0;margin-bottom:8px;font-size:var(--font-size-xs);width:unset;color:var(--Gray-Gray-600)}.form-control:disabled+label.label-bottom{color:var(--Gray-Gray-500)}.form-control:disabled+label.label-bottom+.form-control-helper{color:var(--Gray-Gray-500)}.form-control:not(:focus):not(.fixed-label-input)::placeholder{color:transparent;transition:all .2s ease-in-out}.invalid-color{color:var(--Error-Error-500)!important}.disabled-helper{color:var(--Gray-Gray-500)!important}.fixed-label-container{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%}.input-label{color:var(--Gray-Gray-600, #475066)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "width", "height", "color"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2
|
|
2684
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: InputComponent, isStandalone: true, selector: "app-input", inputs: { inputProperties: "inputProperties", disabled: "disabled", showObligatoryAsterisk: "showObligatoryAsterisk", showPassword: "showPassword", fixedLabel: "fixedLabel", showAsterisk: "showAsterisk" }, ngImport: i0, template: "<div\n class=\"dropi-input-container\"\n [ngClass]=\"{\n 'dropi-input--error':\n inputProperties.formControl.invalid &&\n inputProperties.formControl.touched,\n 'dropi-input--disabled': disabled || inputProperties.formControl.disabled,\n 'dropi-input--with-icon-right':\n inputProperties.icon && inputProperties.iconPos === 'right',\n 'dropi-input--with-icon-left':\n inputProperties.icon && inputProperties.iconPos === 'left',\n }\"\n>\n <div class=\"input-wrapper\">\n <div\n class=\"icon-container left\"\n *ngIf=\"inputProperties.icon && inputProperties.iconPos === 'left'\"\n >\n <app-icon\n [name]=\"inputProperties.icon\"\n width=\"20px\"\n height=\"20px\"\n color=\"Gray-Gray-500\"\n ></app-icon>\n </div>\n\n <div class=\"input-field-wrapper\">\n <input\n [type]=\"showPassword ? 'text' : inputProperties.type || 'text'\"\n class=\"dropi-input Body-M-Regular\"\n [ngClass]=\"{\n 'text-password': inputProperties.isPasswordInput && !showPassword,\n 'fixed-label-input': fixedLabel,\n }\"\n [id]=\"inputProperties.id ? inputProperties.id : inputProperties.label\"\n [attr.data-cy]=\"inputProperties.dataCy\"\n [formControl]=\"inputProperties.formControl\"\n [placeholder]=\"inputProperties.placeholder | translate\"\n [maxlength]=\"inputProperties.maxLength\"\n [attr.inputmode]=\"inputProperties.inputMode || 'text'\"\n [disabled]=\"disabled || inputProperties.formControl.disabled\"\n appThousandSeparator\n [applyFormat]=\"\n !!(\n inputProperties?.isMoneyInput ||\n inputProperties?.isThousandSeparator\n )\n \"\n appOnlyNumbers\n [showCurrency]=\"!!inputProperties?.isMoneyInput\"\n [applyOnlyNumbers]=\"!!inputProperties?.isNumericInput\"\n appOnlyLetters\n [applyOnlyLetters]=\"!!inputProperties?.isLettersOnly\"\n />\n\n <label\n class=\"Body-S-Regular label-bottom\"\n *ngIf=\"!fixedLabel\"\n [for]=\"inputProperties.label\"\n >{{ inputProperties.label | translate }}\n <span\n class=\"asterisk\"\n *ngIf=\"\n isRequired() &&\n showAsterisk &&\n (!disabled || !inputProperties.formControl.disabled)\n \"\n >*</span\n >\n </label>\n </div>\n\n <div\n class=\"icon-container right\"\n *ngIf=\"inputProperties.icon && inputProperties.iconPos === 'right'\"\n >\n <app-icon\n [name]=\"inputProperties.icon\"\n width=\"20px\"\n height=\"20px\"\n color=\"Gray-Gray-500\"\n ></app-icon>\n </div>\n\n <div\n class=\"icon-container right password-toggle\"\n *ngIf=\"inputProperties.type === 'password'\"\n >\n <app-icon\n [name]=\"showPassword ? 'Visibility-off' : 'Visibility'\"\n width=\"20px\"\n height=\"20px\"\n color=\"Gray-Gray-500\"\n (click)=\"showOrHidePassword()\"\n ></app-icon>\n </div>\n </div>\n\n <div\n class=\"helper-text-container\"\n *ngIf=\"\n inputProperties.textHelper &&\n (!inputProperties.showHelperOnlyOnError ||\n (inputProperties.formControl.invalid &&\n inputProperties.formControl.touched))\n \"\n >\n <span class=\"helper-text Label-S-Regular\">{{\n (getErrorMessage() | translate) ||\n (inputProperties.textHelper | translate)\n }}</span>\n </div>\n</div>\n", styles: [".form-group{position:relative;width:100%}.form-group .icon-input{position:absolute;top:8px;left:5px}.form-group .icon-input-password{position:absolute;top:8px;right:13px;cursor:pointer}.input-container{position:relative}.form-control{width:100%;padding:var(--Size-2);border:1px solid var(--Gray-Gray-200);border-radius:var(--Border-2);background:var(--Neutral-White);font-size:var(--font-size-s);transition:border-color .3s ease-in-out;height:40px}.padding-icon{padding-left:28px}.form-control-helper{display:flex;gap:4px;align-items:baseline}.form-control-helper span{display:block;margin-top:8px;color:var(--Gray-Gray-600);font-size:var(--font-size-xs)}.text-password{-webkit-text-security:disc}.form-control:focus::placeholder{color:var(--Gray-Gray-500)}.form-control:focus{border-color:var(--Info-Info-500)!important;outline:none}.form-control-valid{border:1px solid var(--Gray-Gray-400)!important;color:var(--Gray-Gray-600);outline:none}.form-control-invalid{border:1px solid var(--Error-Error-500)!important;color:var(--Gray-Gray-600);outline:none}.form-control:disabled{border:1px solid var(--Gray-Gray-200)!important;color:var(--Gray-Gray-400);background-color:var(--Gray-Gray-50);outline:none}.fixed-label{position:relative;top:0;left:0;margin-bottom:8px;font-size:var(--font-size-xs);width:unset;color:var(--Gray-Gray-600)}label.label-bottom{position:absolute;font-weight:var(--font-weight-regular);top:10px;font-size:var(--font-size-s);color:var(--Gray-Gray-500);left:10px;transition:all .2s ease-in-out;pointer-events:none;overflow:hidden;width:90%;white-space:nowrap}label.label-bottom span{color:var(--Error-Error-500)}.form-control:focus+label.label-bottom,.form-control:not(:placeholder-shown)+label{top:-28px;left:0;margin-bottom:8px;font-size:var(--font-size-xs);width:unset;color:var(--Gray-Gray-600)}.form-control:disabled+label.label-bottom{color:var(--Gray-Gray-500)}.form-control:disabled+label.label-bottom+.form-control-helper{color:var(--Gray-Gray-500)}.form-control:not(:focus):not(.fixed-label-input)::placeholder{color:transparent;transition:all .2s ease-in-out}.invalid-color{color:var(--Error-Error-500)!important}.disabled-helper{color:var(--Gray-Gray-500)!important}.fixed-label-container{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%}.input-label{color:var(--Gray-Gray-600, #475066)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "width", "height", "color"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "directive", type: ThousandSeparatorDirectiveStub, selector: "[appThousandSeparator]", inputs: ["applyFormat", "showCurrency"] }, { kind: "directive", type: OnlyNumbersDirectiveStub, selector: "[appOnlyNumbers]", inputs: ["applyOnlyNumbers"] }, { kind: "directive", type: OnlyLettersDirectiveStub, selector: "[appOnlyLetters]", inputs: ["applyOnlyLetters"] }] });
|
|
2656
2685
|
}
|
|
2657
2686
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputComponent, decorators: [{
|
|
2658
2687
|
type: Component,
|
|
@@ -2832,7 +2861,7 @@ class OtpSendCodeComponent {
|
|
|
2832
2861
|
useExisting: OtpSendCodeComponent,
|
|
2833
2862
|
multi: true,
|
|
2834
2863
|
},
|
|
2835
|
-
], viewQueries: [{ propertyName: "inputEls", predicate: ["inputEl"], descendants: true }], ngImport: i0, template: "<div class=\"mb-4 custom-alert\" *ngIf=\"typeBadge == 1\">\n <app-alert\n [message]=\"'prueba'\"\n [type]=\"'default'\"\n [state]=\"paramsAlert.state\"\n [dismissable]=\"true\"\n [showButton]=\"false\"\n [buttonText]=\"'Cerrar'\"\n [showAlert]=\"paramsAlert.show\"\n ></app-alert>\n</div>\n\n<div class=\"mb-4\" *ngIf=\"typeBadge == 2\">\n <dropi-alert-legacy\n [visible]=\"paramsAlert.show\"\n [type]=\"paramsAlert.state\"\n [message]=\"paramsAlert.message\"\n [autoClose]=\"true\"\n ></dropi-alert-legacy>\n</div>\n\n<div\n class=\"body-modal\"\n *ngIf=\"\n (engine === 'email' || engine === 'sms') &&\n showLabelSendContact &&\n typeLabelContact == 1 &&\n paramsAlert.show &&\n paramsAlert.state == 'success'\n \"\n>\n <div class=\"options\">\n <h6>\n {{ (engine === 'email' ? 'Email Validation' : 'SMS Validation') | translate }}\n </h6>\n <div class=\"text-top\">\n <p>\n {{\n (engine === 'email'\n ? 'Enter the code that was sent to your email'\n : 'Enter the code that was sent to your phone number'\n ) | translate\n }}\n {{ labelContact }}\n </p>\n </div>\n </div>\n</div>\n\n<div *ngIf=\"engine === '2fa'\">\n <h5>\n {{ 'Two factor authentication' | translate }}\n </h5>\n\n <label class=\"Body-M-Regular\"\n >Ingresa los seis d\u00EDgitos que genera tu app de autenticaci\u00F3n de dos<br />\n factores para continuar.</label\n >\n</div>\n\n<div\n *ngIf=\"\n showLabelSendContact &&\n typeLabelContact == 2 &&\n paramsAlert.show &&\n paramsAlert.state == 'success'\n \"\n class=\"mt-4 mb-4 text-left\"\n>\n <label\n >{{\n 'we sent you a code' | translate: { typeContact: typeContact, labelContact: labelContact }\n }}\n </label>\n <label>{{ 'write it here to continue' | translate }}</label>\n</div>\n\n<div class=\"Body-S-Regular text-center\">{{ 'enter the code' | translate }}</div>\n\n<div class=\"container-otp mt-2\" [ngClass]=\"{ error: failedValidation }\">\n <input\n class=\"otp-input\"\n #inputEl\n *ngFor=\"let input of inputs.controls; let i = index\"\n (focus)=\"handleFocus($event)\"\n (blur)=\"onTouched?.()\"\n (keypress)=\"handleKeyPress($event, i)\"\n (input)=\"handleInput($event, i)\"\n (keydown)=\"handleKeyDown($event, i)\"\n (paste)=\"handlePaste($event, i)\"\n [formControl]=\"$any(input)\"\n [attr.autocomplete]=\"i === 0 ? 'one-time-code' : null\"\n type=\"text\"\n inputmode=\"numeric\"\n [ngClass]=\"{ success: input.value && isNumeric(input.value) }\"\n />\n</div>\n\n<div class=\"container-failed\" *ngIf=\"failedValidation\">\n <app-icon name=\"Cross-circle\" width=\"18px\" height=\"19px\" color=\"Error-Error-500\"></app-icon>\n <span class=\"Body-S-Regular error pt-1\">\n <span>{{ errorMessageValidation }}</span>\n <span *ngIf=\"this.validationTotalSeconds !== 0\" class=\"timer\">\n {{ calculateMinutes('validationTotalSeconds') }} :\n {{ calculateSeconds('validationTotalSeconds') | number: '2.0' }}</span\n >\n </span>\n</div>\n\n<div class=\"container-failed\" *ngIf=\"loadingValidation\">\n <app-icon name=\"Info\" width=\"18px\" height=\"19px\"></app-icon>\n <span class=\"Body-S-Regular pt-1\">\n <span>{{ 'validating code' | translate }} </span>\n </span>\n</div>\n\n<div class=\"container-failed\" *ngIf=\"sendingCode\">\n <app-icon name=\"Info\" width=\"18px\" height=\"19px\"></app-icon>\n <span class=\"Body-S-Regular pt-1\">\n <span>Enviando c\u00F3digo...</span>\n </span>\n</div>\n\n<div *ngIf=\"applySendCode && !errorSendOTP && !isMaximumAttempts\">\n <div class=\"crono\">\n <p>\n <!-- Podr\u00E1s solicitar otro c\u00F3digo en: <span class=\"timer\"> {{ timeLeft }}</span> {{ typeTimeLeft }} -->\n {{ 'you will be able to request another code in' | translate }}\n <span class=\"timer\">\n {{ calculateMinutes('sendTotalSeconds') }} :\n {{ calculateSeconds('sendTotalSeconds') | number: '2.0' }}</span\n >\n </p>\n <!-- <p *ngIf=\"timeLeft === 0\"> -->\n <p *ngIf=\"sendTotalSeconds === 0\">\n {{ \"didn't you receive the code?\" | translate }}\n <!-- <span class=\"resend c-link\" (click)=\"restartTimer()\">Volver a enviar</span> -->\n <span class=\"resend c-link\" (click)=\"sendCode()\">{{ 'resend' | translate }} </span>\n </p>\n </div>\n</div>\n\n<!-- <div class=\"contaienr-alert\">\n <app-alert-modal\n class=\"alert-son\"\n [visible]=\"isVisibleAlert\"\n [params]=\"paramsDialog\"\n [loading]=\"false\"\n (primaryButtonEvent)=\"closeModalError()\"\n ></app-alert-modal>\n</div> -->\n", styles: [".container-failed{display:flex;width:100%;justify-content:left;gap:8px;padding-left:3.5em;margin-top:.5em}.container-otp{display:flex;width:100%;justify-content:center;gap:16px}.container-otp input{background:#fff;border-radius:var(--Size-2, 8px);border:1px solid var(--Gray-gray-200, #d3d7de);display:flex;width:50px;height:54px;padding:12px 0;flex-direction:column;justify-content:center;align-items:center;gap:8px;color:#495057;font-size:22px;text-align:center}.container-otp input.success{border:1px solid var(--Success-success-500, #0abb87)!important}.container-otp .input-focused{border:2px solid orange}.container-otp.error input{border:1px solid var(--Danger-danger-500, #ff5b5b)!important}p{color:var(--Gray-gray-700, #7b8190);text-align:center;font-family:Inter;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.crono{margin:50px 0}.crono p{margin:0;padding:2px}.crono p span.timer{color:#f49a3d;font-weight:600}.crono p span.resend{cursor:pointer}.a{display:flex;flex-direction:column;align-items:center;gap:12px;align-self:stretch}.b{display:flex;justify-content:center;align-items:center;gap:4px;align-self:stretch}.error{color:var(--Gray-600, #f46a6b)}.error-code{color:var(--Error-Error-500)}.otp-parent-container{width:fit-content;display:flex;flex-direction:column;gap:8px;margin:auto}:host ::ng-deep .p-dialog-content{padding:0!important}.resend.c-link{color:var(--Info-Info-500);cursor:pointer}.options ::ng-deep .description{margin-top:10px}.options ::ng-deep .description .item-table{padding-right:0;padding-left:var(--Size-6)}.body-modal{display:flex;flex-direction:column;gap:16px;margin-top:20px}.body-modal h6{color:var(--Gray-gray-900, #495057);font-family:Inter;font-size:16px;font-style:normal;font-weight:700;line-height:24px}.body-modal .text-top{margin-bottom:12px}.body-modal .text-top p{color:var(--Gray-gray-900, #495057);font-family:Inter;font-size:14px;font-style:normal;line-height:20px;margin:0;padding:0 0 4px;text-align:left}.body-modal .text-top .bold{font-weight:700}.body-modal .alias .p-inputtext{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2
|
|
2864
|
+
], viewQueries: [{ propertyName: "inputEls", predicate: ["inputEl"], descendants: true }], ngImport: i0, template: "<div class=\"mb-4 custom-alert\" *ngIf=\"typeBadge == 1\">\n <app-alert\n [message]=\"'prueba'\"\n [type]=\"'default'\"\n [state]=\"paramsAlert.state\"\n [dismissable]=\"true\"\n [showButton]=\"false\"\n [buttonText]=\"'Cerrar'\"\n [showAlert]=\"paramsAlert.show\"\n ></app-alert>\n</div>\n\n<div class=\"mb-4\" *ngIf=\"typeBadge == 2\">\n <dropi-alert-legacy\n [visible]=\"paramsAlert.show\"\n [type]=\"paramsAlert.state\"\n [message]=\"paramsAlert.message\"\n [autoClose]=\"true\"\n ></dropi-alert-legacy>\n</div>\n\n<div\n class=\"body-modal\"\n *ngIf=\"\n (engine === 'email' || engine === 'sms') &&\n showLabelSendContact &&\n typeLabelContact == 1 &&\n paramsAlert.show &&\n paramsAlert.state == 'success'\n \"\n>\n <div class=\"options\">\n <h6>\n {{ (engine === 'email' ? 'Email Validation' : 'SMS Validation') | translate }}\n </h6>\n <div class=\"text-top\">\n <p>\n {{\n (engine === 'email'\n ? 'Enter the code that was sent to your email'\n : 'Enter the code that was sent to your phone number'\n ) | translate\n }}\n {{ labelContact }}\n </p>\n </div>\n </div>\n</div>\n\n<div *ngIf=\"engine === '2fa'\">\n <h5>\n {{ 'Two factor authentication' | translate }}\n </h5>\n\n <label class=\"Body-M-Regular\"\n >Ingresa los seis d\u00EDgitos que genera tu app de autenticaci\u00F3n de dos<br />\n factores para continuar.</label\n >\n</div>\n\n<div\n *ngIf=\"\n showLabelSendContact &&\n typeLabelContact == 2 &&\n paramsAlert.show &&\n paramsAlert.state == 'success'\n \"\n class=\"mt-4 mb-4 text-left\"\n>\n <label\n >{{\n 'we sent you a code' | translate: { typeContact: typeContact, labelContact: labelContact }\n }}\n </label>\n <label>{{ 'write it here to continue' | translate }}</label>\n</div>\n\n<div class=\"Body-S-Regular text-center\">{{ 'enter the code' | translate }}</div>\n\n<div class=\"container-otp mt-2\" [ngClass]=\"{ error: failedValidation }\">\n <input\n class=\"otp-input\"\n #inputEl\n *ngFor=\"let input of inputs.controls; let i = index\"\n (focus)=\"handleFocus($event)\"\n (blur)=\"onTouched?.()\"\n (keypress)=\"handleKeyPress($event, i)\"\n (input)=\"handleInput($event, i)\"\n (keydown)=\"handleKeyDown($event, i)\"\n (paste)=\"handlePaste($event, i)\"\n [formControl]=\"$any(input)\"\n [attr.autocomplete]=\"i === 0 ? 'one-time-code' : null\"\n type=\"text\"\n inputmode=\"numeric\"\n [ngClass]=\"{ success: input.value && isNumeric(input.value) }\"\n />\n</div>\n\n<div class=\"container-failed\" *ngIf=\"failedValidation\">\n <app-icon name=\"Cross-circle\" width=\"18px\" height=\"19px\" color=\"Error-Error-500\"></app-icon>\n <span class=\"Body-S-Regular error pt-1\">\n <span>{{ errorMessageValidation }}</span>\n <span *ngIf=\"this.validationTotalSeconds !== 0\" class=\"timer\">\n {{ calculateMinutes('validationTotalSeconds') }} :\n {{ calculateSeconds('validationTotalSeconds') | number: '2.0' }}</span\n >\n </span>\n</div>\n\n<div class=\"container-failed\" *ngIf=\"loadingValidation\">\n <app-icon name=\"Info\" width=\"18px\" height=\"19px\"></app-icon>\n <span class=\"Body-S-Regular pt-1\">\n <span>{{ 'validating code' | translate }} </span>\n </span>\n</div>\n\n<div class=\"container-failed\" *ngIf=\"sendingCode\">\n <app-icon name=\"Info\" width=\"18px\" height=\"19px\"></app-icon>\n <span class=\"Body-S-Regular pt-1\">\n <span>Enviando c\u00F3digo...</span>\n </span>\n</div>\n\n<div *ngIf=\"applySendCode && !errorSendOTP && !isMaximumAttempts\">\n <div class=\"crono\">\n <p>\n <!-- Podr\u00E1s solicitar otro c\u00F3digo en: <span class=\"timer\"> {{ timeLeft }}</span> {{ typeTimeLeft }} -->\n {{ 'you will be able to request another code in' | translate }}\n <span class=\"timer\">\n {{ calculateMinutes('sendTotalSeconds') }} :\n {{ calculateSeconds('sendTotalSeconds') | number: '2.0' }}</span\n >\n </p>\n <!-- <p *ngIf=\"timeLeft === 0\"> -->\n <p *ngIf=\"sendTotalSeconds === 0\">\n {{ \"didn't you receive the code?\" | translate }}\n <!-- <span class=\"resend c-link\" (click)=\"restartTimer()\">Volver a enviar</span> -->\n <span class=\"resend c-link\" (click)=\"sendCode()\">{{ 'resend' | translate }} </span>\n </p>\n </div>\n</div>\n\n<!-- <div class=\"contaienr-alert\">\n <app-alert-modal\n class=\"alert-son\"\n [visible]=\"isVisibleAlert\"\n [params]=\"paramsDialog\"\n [loading]=\"false\"\n (primaryButtonEvent)=\"closeModalError()\"\n ></app-alert-modal>\n</div> -->\n", styles: [".container-failed{display:flex;width:100%;justify-content:left;gap:8px;padding-left:3.5em;margin-top:.5em}.container-otp{display:flex;width:100%;justify-content:center;gap:16px}.container-otp input{background:#fff;border-radius:var(--Size-2, 8px);border:1px solid var(--Gray-gray-200, #d3d7de);display:flex;width:50px;height:54px;padding:12px 0;flex-direction:column;justify-content:center;align-items:center;gap:8px;color:#495057;font-size:22px;text-align:center}.container-otp input.success{border:1px solid var(--Success-success-500, #0abb87)!important}.container-otp .input-focused{border:2px solid orange}.container-otp.error input{border:1px solid var(--Danger-danger-500, #ff5b5b)!important}p{color:var(--Gray-gray-700, #7b8190);text-align:center;font-family:Inter;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.crono{margin:50px 0}.crono p{margin:0;padding:2px}.crono p span.timer{color:#f49a3d;font-weight:600}.crono p span.resend{cursor:pointer}.a{display:flex;flex-direction:column;align-items:center;gap:12px;align-self:stretch}.b{display:flex;justify-content:center;align-items:center;gap:4px;align-self:stretch}.error{color:var(--Gray-600, #f46a6b)}.error-code{color:var(--Error-Error-500)}.otp-parent-container{width:fit-content;display:flex;flex-direction:column;gap:8px;margin:auto}:host ::ng-deep .p-dialog-content{padding:0!important}.resend.c-link{color:var(--Info-Info-500);cursor:pointer}.options ::ng-deep .description{margin-top:10px}.options ::ng-deep .description .item-table{padding-right:0;padding-left:var(--Size-6)}.body-modal{display:flex;flex-direction:column;gap:16px;margin-top:20px}.body-modal h6{color:var(--Gray-gray-900, #495057);font-family:Inter;font-size:16px;font-style:normal;font-weight:700;line-height:24px}.body-modal .text-top{margin-bottom:12px}.body-modal .text-top p{color:var(--Gray-gray-900, #495057);font-family:Inter;font-size:14px;font-style:normal;line-height:20px;margin:0;padding:0 0 4px;text-align:left}.body-modal .text-top .bold{font-weight:700}.body-modal .alias .p-inputtext{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
|
|
2836
2865
|
}
|
|
2837
2866
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OtpSendCodeComponent, decorators: [{
|
|
2838
2867
|
type: Component,
|
|
@@ -2924,7 +2953,7 @@ class DropiTextAreaComponent {
|
|
|
2924
2953
|
return "";
|
|
2925
2954
|
}
|
|
2926
2955
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiTextAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2927
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiTextAreaComponent, isStandalone: true, selector: "app-dropi-text-area", inputs: { textAreaProperties: "textAreaProperties", disabled: "disabled", showObligatoryAsterisk: "showObligatoryAsterisk" }, ngImport: i0, template: "<div class=\"textarea-wrapper\">\n <label\n *ngIf=\"textAreaProperties?.label !== ''\"\n [for]=\"textAreaProperties.label\"\n [ngStyle]=\"{ color: disabled ? 'var(--Gray-Gray-500)' : 'var(--Gray-Gray-600)' }\"\n >{{ textAreaProperties.label | translate }}\n <span\n *ngIf=\"\n isRequired() &&\n showObligatoryAsterisk &&\n (!disabled || !textAreaProperties.formControl.disabled)\n \"\n >*</span\n ></label\n >\n\n <div class=\"textarea-container\">\n <textarea\n [id]=\"textAreaProperties.id ? textAreaProperties.id : textAreaProperties.label\"\n [rows]=\"textAreaProperties.rows ? textAreaProperties.rows : 4\"\n [formControl]=\"textAreaProperties.formControl\"\n [placeholder]=\"textAreaProperties.placeholder | translate\"\n [maxlength]=\"textAreaProperties?.maxLength\"\n [minlength]=\"textAreaProperties?.minLength ?? 0\"\n [style.resize]=\"textAreaProperties?.resize ? textAreaProperties.resize : 'vertical'\"\n class=\"form-control Body-M-Regular\"\n [ngClass]=\"{\n 'form-control-invalid':\n textAreaProperties.formControl?.invalid && textAreaProperties.formControl?.touched,\n 'form-control-valid':\n textAreaProperties.formControl?.valid && textAreaProperties.formControl?.touched\n }\"\n >\n {{ textAreaProperties.formControl.value }}\n </textarea>\n <div class=\"char-counter\">\n {{ textAreaProperties.formControl.value?.length }}/{{ textAreaProperties.maxLength }}\n </div>\n </div>\n <div\n *ngIf=\"\n textAreaProperties.textHelper ||\n (textAreaProperties.formControl.invalid && textAreaProperties.formControl.touched)\n \"\n class=\"form-control-helper\"\n >\n <app-icon\n *ngIf=\"textAreaProperties.formControl.invalid && textAreaProperties.formControl.touched\"\n name=\"Warning-circle\"\n width=\"12px\"\n height=\"12px\"\n color=\"Error-Error-500\"\n ></app-icon>\n <span\n [ngStyle]=\"{ color: disabled ? 'var(--Gray-Gray-500)' : 'var(--Gray-Gray-600)' }\"\n [ngClass]=\"{\n 'invalid-color':\n textAreaProperties.formControl.invalid && textAreaProperties.formControl.touched\n }\"\n >{{ (getErrorMessage() | translate) || (textAreaProperties.textHelper | translate) }}</span\n >\n </div>\n</div>\n", styles: [".form-group{position:relative;width:100%}.form-control{border:1px solid var(--Gray-Gray-200);border-radius:var(--Border-2);font-size:var(--font-size-s);transition:border-color .3s ease-in-out}.form-control-helper{display:flex;gap:4px;align-items:baseline}.form-control-helper span{display:block;margin-top:8px;color:var(--Gray-Gray-600);font-size:var(--font-size-xs)}.form-control:focus::placeholder{color:var(--Gray-Gray-500)}.form-control:focus{border-color:var(--Info-Info-500);outline:none}.form-control-valid{border:1px solid var(--Gray-Gray-400)!important;color:var(--Gray-Gray-600);outline:none}.form-control-invalid{border:1px solid var(--Error-Error-500)!important;color:var(--Gray-Gray-600);outline:none}.form-control:disabled{border:1px solid var(--Gray-Gray-200)!important;color:var(--Gray-Gray-400);background-color:var(--Gray-Gray-50);outline:none}.form-control:focus+label,.form-control:not(:placeholder-shown)+label{top:-28px;left:0;margin-bottom:8px;font-size:var(--font-size-xs);width:unset;color:var(--Gray-Gray-600)}.form-control:disabled+label{color:var(--Gray-Gray-500)}.form-control:disabled+label+.form-control-helper{color:var(--Gray-Gray-500)}.invalid-color{color:var(--Error-Error-500)!important}.textarea-wrapper{position:relative;width:100%}.textarea-wrapper label{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--Gray-Gray-600)}.textarea-wrapper label span{color:var(--Error-Error-500)}.textarea-container{position:relative}textarea{width:100%;overflow:auto;padding:12px;box-sizing:border-box;border-radius:var(--Border-2)}.char-counter{position:absolute;bottom:10px;right:16px;font-size:12px;color:var(--Gray-Gray-500)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2
|
|
2956
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiTextAreaComponent, isStandalone: true, selector: "app-dropi-text-area", inputs: { textAreaProperties: "textAreaProperties", disabled: "disabled", showObligatoryAsterisk: "showObligatoryAsterisk" }, ngImport: i0, template: "<div class=\"textarea-wrapper\">\n <label\n *ngIf=\"textAreaProperties?.label !== ''\"\n [for]=\"textAreaProperties.label\"\n [ngStyle]=\"{ color: disabled ? 'var(--Gray-Gray-500)' : 'var(--Gray-Gray-600)' }\"\n >{{ textAreaProperties.label | translate }}\n <span\n *ngIf=\"\n isRequired() &&\n showObligatoryAsterisk &&\n (!disabled || !textAreaProperties.formControl.disabled)\n \"\n >*</span\n ></label\n >\n\n <div class=\"textarea-container\">\n <textarea\n [id]=\"textAreaProperties.id ? textAreaProperties.id : textAreaProperties.label\"\n [rows]=\"textAreaProperties.rows ? textAreaProperties.rows : 4\"\n [formControl]=\"textAreaProperties.formControl\"\n [placeholder]=\"textAreaProperties.placeholder | translate\"\n [maxlength]=\"textAreaProperties?.maxLength\"\n [minlength]=\"textAreaProperties?.minLength ?? 0\"\n [style.resize]=\"textAreaProperties?.resize ? textAreaProperties.resize : 'vertical'\"\n class=\"form-control Body-M-Regular\"\n [ngClass]=\"{\n 'form-control-invalid':\n textAreaProperties.formControl?.invalid && textAreaProperties.formControl?.touched,\n 'form-control-valid':\n textAreaProperties.formControl?.valid && textAreaProperties.formControl?.touched\n }\"\n >\n {{ textAreaProperties.formControl.value }}\n </textarea>\n <div class=\"char-counter\">\n {{ textAreaProperties.formControl.value?.length }}/{{ textAreaProperties.maxLength }}\n </div>\n </div>\n <div\n *ngIf=\"\n textAreaProperties.textHelper ||\n (textAreaProperties.formControl.invalid && textAreaProperties.formControl.touched)\n \"\n class=\"form-control-helper\"\n >\n <app-icon\n *ngIf=\"textAreaProperties.formControl.invalid && textAreaProperties.formControl.touched\"\n name=\"Warning-circle\"\n width=\"12px\"\n height=\"12px\"\n color=\"Error-Error-500\"\n ></app-icon>\n <span\n [ngStyle]=\"{ color: disabled ? 'var(--Gray-Gray-500)' : 'var(--Gray-Gray-600)' }\"\n [ngClass]=\"{\n 'invalid-color':\n textAreaProperties.formControl.invalid && textAreaProperties.formControl.touched\n }\"\n >{{ (getErrorMessage() | translate) || (textAreaProperties.textHelper | translate) }}</span\n >\n </div>\n</div>\n", styles: [".form-group{position:relative;width:100%}.form-control{border:1px solid var(--Gray-Gray-200);border-radius:var(--Border-2);font-size:var(--font-size-s);transition:border-color .3s ease-in-out}.form-control-helper{display:flex;gap:4px;align-items:baseline}.form-control-helper span{display:block;margin-top:8px;color:var(--Gray-Gray-600);font-size:var(--font-size-xs)}.form-control:focus::placeholder{color:var(--Gray-Gray-500)}.form-control:focus{border-color:var(--Info-Info-500);outline:none}.form-control-valid{border:1px solid var(--Gray-Gray-400)!important;color:var(--Gray-Gray-600);outline:none}.form-control-invalid{border:1px solid var(--Error-Error-500)!important;color:var(--Gray-Gray-600);outline:none}.form-control:disabled{border:1px solid var(--Gray-Gray-200)!important;color:var(--Gray-Gray-400);background-color:var(--Gray-Gray-50);outline:none}.form-control:focus+label,.form-control:not(:placeholder-shown)+label{top:-28px;left:0;margin-bottom:8px;font-size:var(--font-size-xs);width:unset;color:var(--Gray-Gray-600)}.form-control:disabled+label{color:var(--Gray-Gray-500)}.form-control:disabled+label+.form-control-helper{color:var(--Gray-Gray-500)}.invalid-color{color:var(--Error-Error-500)!important}.textarea-wrapper{position:relative;width:100%}.textarea-wrapper label{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--Gray-Gray-600)}.textarea-wrapper label span{color:var(--Error-Error-500)}.textarea-container{position:relative}textarea{width:100%;overflow:auto;padding:12px;box-sizing:border-box;border-radius:var(--Border-2)}.char-counter{position:absolute;bottom:10px;right:16px;font-size:12px;color:var(--Gray-Gray-500)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
|
|
2928
2957
|
}
|
|
2929
2958
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiTextAreaComponent, decorators: [{
|
|
2930
2959
|
type: Component,
|
|
@@ -3038,8 +3067,8 @@ class DropiPhoneInputComponent {
|
|
|
3038
3067
|
return;
|
|
3039
3068
|
this.isExpanded = !this.isExpanded;
|
|
3040
3069
|
}
|
|
3041
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiPhoneInputComponent, deps: [{ token: i0.ElementRef }, { token: "UserService" }, { token: "SettingsService" }, { token: "ApiService" }, { token: i2
|
|
3042
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiPhoneInputComponent, isStandalone: true, selector: "app-dropi-phone-input", inputs: { CodArea: "CodArea", ngModelPhone: "ngModelPhone", phoneNumberPlaceholder: "phoneNumberPlaceholder", isValidPhone: "isValidPhone", selectedOption: "selectedOption", selectProperties: "selectProperties", validateOnInit: "validateOnInit", disabledInput: "disabledInput", formControl: "formControl" }, outputs: { ngModelChangeCod: "ngModelChangeCod", ngModelChangePhone: "ngModelChangePhone", verifiedField: "verifiedField", onChangeSelect: "onChangeSelect" }, host: { listeners: { "document:click": "closeDropdown($event)" } }, ngImport: i0, template: "<div class=\"dropi-input-phone\" [ngClass]=\"{ disabled: disabled }\">\n <label\n class=\"dropi-input-phone__label Label-S-SemiBold\"\n *ngIf=\"selectProperties?.label\"\n >\n {{ selectProperties.label | translate }}\n <span\n *ngIf=\"selectProperties.showObligatory\"\n class=\"dropi-input-phone__obligatory\"\n >*</span\n >\n </label>\n\n <div class=\"dropi-input-phone__container-select\">\n <!-- Selector de pa\u00EDs -->\n <div\n class=\"dropi-input-phone__select\"\n [ngClass]=\"{ 'is-expanded': isExpanded, disabled: disabled }\"\n (click)=\"showOptions()\"\n >\n <div class=\"dropi-input-phone__selected\">\n <div class=\"dropi-input-phone__flag-container\" *ngIf=\"selectedOption\">\n <img\n [src]=\"selectedOption.flag\"\n [alt]=\"selectedOption.name\"\n class=\"dropi-input-phone__flag\"\n />\n <span class=\"dropi-input-phone__code Body-M-Medium\"\n >+{{ selectedOption.code }}</span\n >\n </div>\n <div class=\"dropi-input-phone__placeholder\" *ngIf=\"!selectedOption\">\n {{ selectProperties?.placeholder || \"Seleccionar\" | translate }}\n </div>\n </div>\n\n <app-icon\n [name]=\"isExpanded ? 'Dropdown-up' : 'Dropdown-down'\"\n width=\"24px\"\n height=\"24px\"\n color=\"Gray-Gray-500\"\n ></app-icon>\n\n <!-- Lista de opciones desplegable -->\n <div class=\"dropi-input-phone__options\" *ngIf=\"isExpanded\">\n <div\n *ngFor=\"let option of countries\"\n class=\"dropi-input-phone__option\"\n [ngClass]=\"{ selected: selectedOption?.code === option.code }\"\n (click)=\"cambioCod(option); $event.stopPropagation()\"\n >\n <img\n [src]=\"option.flag\"\n [alt]=\"option.name\"\n class=\"dropi-input-phone__flag\"\n />\n <span class=\"dropi-input-phone__option-name Body-M-Regular\">{{\n option.name\n }}</span>\n <span class=\"dropi-input-phone__option-code Body-M-Regular\"\n >(+{{ option.code }})</span\n >\n </div>\n </div>\n </div>\n\n <!-- Input de n\u00FAmero de tel\u00E9fono -->\n <div class=\"dropi-input-phone__input-container\">\n <input\n type=\"text\"\n class=\"dropi-input-phone__input Body-M-Regular\"\n [ngClass]=\"{\n 'is-invalid': isValidPhone === false || hasError,\n }\"\n [(ngModel)]=\"ngModelPhone\"\n (input)=\"cambioPhone()\"\n (keyup)=\"cambioPhone($event)\"\n (change)=\"cambioPhone()\"\n [placeholder]=\"phoneNumberPlaceholder\"\n (paste)=\"handlePaste($event)\"\n [maxlength]=\"maxLengthPhone\"\n [disabled]=\"disabledInput\"\n />\n </div>\n </div>\n\n <span\n class=\"dropi-input-phone__helper Label-S-Regular\"\n *ngIf=\"selectProperties?.textHelper\"\n >{{ selectProperties.textHelper | translate }}</span\n >\n</div>\n", styles: [".phone-input-container{display:flex;align-items:center;gap:8px}.p-autocomplete-input::placeholder{color:#627587!important}.flag-code{display:flex;align-items:center;gap:8px}.country-select{position:relative}.ng-select .ng-dropdown-panel .ng-option.ng-option-marked{color:#313131!important}.selected-country{display:flex;align-items:center;cursor:pointer}.flag-icon{margin-right:8px;width:20px;height:20px;background-size:contain;background-repeat:no-repeat}.country-list{position:absolute;top:100%;left:0;list-style:none;padding:0;margin:0;background-color:#fff;border:1px solid #ccc;border-top:none;width:100%}.country-list li{display:flex;align-items:center;padding:8px;cursor:pointer}.country-list li:hover{background-color:#f5f5f5}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input.is-invalid{background:#fffbfb}.is-invalid-country .ng-select-container{border:1px solid #ff3d00!important;background:#fffbfb!important;color:#f10001!important}.form-control{width:100%;border:1px solid var(--Gray-Gray-200);border-radius:5px;font-size:14px;transition:border-color .3s ease-in-out;height:40px}.form-control:focus::placeholder{color:var(--Gray-Gray-500)}.form-control:focus{border-color:var(--Info-Info-500);outline:none}.form-control:disabled{border:1px solid var(--Gray-Gray-200)!important;color:var(--Gray-Gray-400);background-color:var(--Gray-Gray-50);outline:none}.custom-select{position:relative;width:50%}.custom-select label{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--Gray-Gray-600)}.custom-select label span{color:var(--Error-Error-500)}.select-button{width:100%;height:40px;padding:.47rem .75rem;padding-right:7px;border:1px solid var(--Gray-Gray-200);border-radius:var(--Border-2);background:var(--Neutral-White);color:var(--Gray-Gray-500);font-size:var(--font-size-s);display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer}.select-dropdown{position:absolute;width:100%;overflow:hidden;list-style:none;padding:0;margin:4px 0 0;border:1px solid transparent;border-radius:var(--Border-2);overflow-y:scroll;z-index:100}.option{width:100%;height:45px;border-radius:var(--Border-2);padding-top:var(--Size-3);padding-right:var(--Size-4);padding-bottom:var(--Size-3);padding-left:var(--Size-4);border:none;background:transparent;text-align:left;color:var(--Gray-Gray-600);font-size:var(--font-size-s);cursor:pointer}.option:hover{background:var(--Gray-Gray-50)}.expanded-select{max-height:250px;background:var(--Neutral-White);box-shadow:var(--Shadow-medium);transition:max-height .2s ease-in}.collapsed-select{max-height:0;background:transparent;box-shadow:none;transition:max-height .2s ease-out,background .6s ease-out,box-shadow .6s ease-out}.select-button:focus{border-color:var(--Info-Info-500)!important}.select-button:disabled,.option:disabled{border-color:var(--Gray-Gray-200);color:var(--Gray-Gray-400);background-color:var(--Gray-Gray-50);cursor:unset}.select-completed{border-color:var(--Gray-Gray-400);color:var(--Gray-Gray-600);background:var(--Neutral-White)}.select-invalid{border-color:var(--Error-Error-500)!important}.select-helper{display:flex;gap:4px;align-items:baseline}.select-helper span{display:block;margin-top:8px;color:var(--Gray-Gray-600);font-size:var(--font-size-xs)}.invalid-color{color:var(--Error-Error-500)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2
|
|
3070
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiPhoneInputComponent, deps: [{ token: i0.ElementRef }, { token: "UserService" }, { token: "SettingsService" }, { token: "ApiService" }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3071
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiPhoneInputComponent, isStandalone: true, selector: "app-dropi-phone-input", inputs: { CodArea: "CodArea", ngModelPhone: "ngModelPhone", phoneNumberPlaceholder: "phoneNumberPlaceholder", isValidPhone: "isValidPhone", selectedOption: "selectedOption", selectProperties: "selectProperties", validateOnInit: "validateOnInit", disabledInput: "disabledInput", formControl: "formControl" }, outputs: { ngModelChangeCod: "ngModelChangeCod", ngModelChangePhone: "ngModelChangePhone", verifiedField: "verifiedField", onChangeSelect: "onChangeSelect" }, host: { listeners: { "document:click": "closeDropdown($event)" } }, ngImport: i0, template: "<div class=\"dropi-input-phone\" [ngClass]=\"{ disabled: disabled }\">\n <label\n class=\"dropi-input-phone__label Label-S-SemiBold\"\n *ngIf=\"selectProperties?.label\"\n >\n {{ selectProperties.label | translate }}\n <span\n *ngIf=\"selectProperties.showObligatory\"\n class=\"dropi-input-phone__obligatory\"\n >*</span\n >\n </label>\n\n <div class=\"dropi-input-phone__container-select\">\n <!-- Selector de pa\u00EDs -->\n <div\n class=\"dropi-input-phone__select\"\n [ngClass]=\"{ 'is-expanded': isExpanded, disabled: disabled }\"\n (click)=\"showOptions()\"\n >\n <div class=\"dropi-input-phone__selected\">\n <div class=\"dropi-input-phone__flag-container\" *ngIf=\"selectedOption\">\n <img\n [src]=\"selectedOption.flag\"\n [alt]=\"selectedOption.name\"\n class=\"dropi-input-phone__flag\"\n />\n <span class=\"dropi-input-phone__code Body-M-Medium\"\n >+{{ selectedOption.code }}</span\n >\n </div>\n <div class=\"dropi-input-phone__placeholder\" *ngIf=\"!selectedOption\">\n {{ selectProperties?.placeholder || \"Seleccionar\" | translate }}\n </div>\n </div>\n\n <app-icon\n [name]=\"isExpanded ? 'Dropdown-up' : 'Dropdown-down'\"\n width=\"24px\"\n height=\"24px\"\n color=\"Gray-Gray-500\"\n ></app-icon>\n\n <!-- Lista de opciones desplegable -->\n <div class=\"dropi-input-phone__options\" *ngIf=\"isExpanded\">\n <div\n *ngFor=\"let option of countries\"\n class=\"dropi-input-phone__option\"\n [ngClass]=\"{ selected: selectedOption?.code === option.code }\"\n (click)=\"cambioCod(option); $event.stopPropagation()\"\n >\n <img\n [src]=\"option.flag\"\n [alt]=\"option.name\"\n class=\"dropi-input-phone__flag\"\n />\n <span class=\"dropi-input-phone__option-name Body-M-Regular\">{{\n option.name\n }}</span>\n <span class=\"dropi-input-phone__option-code Body-M-Regular\"\n >(+{{ option.code }})</span\n >\n </div>\n </div>\n </div>\n\n <!-- Input de n\u00FAmero de tel\u00E9fono -->\n <div class=\"dropi-input-phone__input-container\">\n <input\n type=\"text\"\n class=\"dropi-input-phone__input Body-M-Regular\"\n [ngClass]=\"{\n 'is-invalid': isValidPhone === false || hasError,\n }\"\n [(ngModel)]=\"ngModelPhone\"\n (input)=\"cambioPhone()\"\n (keyup)=\"cambioPhone($event)\"\n (change)=\"cambioPhone()\"\n [placeholder]=\"phoneNumberPlaceholder\"\n (paste)=\"handlePaste($event)\"\n [maxlength]=\"maxLengthPhone\"\n [disabled]=\"disabledInput\"\n />\n </div>\n </div>\n\n <span\n class=\"dropi-input-phone__helper Label-S-Regular\"\n *ngIf=\"selectProperties?.textHelper\"\n >{{ selectProperties.textHelper | translate }}</span\n >\n</div>\n", styles: [".phone-input-container{display:flex;align-items:center;gap:8px}.p-autocomplete-input::placeholder{color:#627587!important}.flag-code{display:flex;align-items:center;gap:8px}.country-select{position:relative}.ng-select .ng-dropdown-panel .ng-option.ng-option-marked{color:#313131!important}.selected-country{display:flex;align-items:center;cursor:pointer}.flag-icon{margin-right:8px;width:20px;height:20px;background-size:contain;background-repeat:no-repeat}.country-list{position:absolute;top:100%;left:0;list-style:none;padding:0;margin:0;background-color:#fff;border:1px solid #ccc;border-top:none;width:100%}.country-list li{display:flex;align-items:center;padding:8px;cursor:pointer}.country-list li:hover{background-color:#f5f5f5}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input.is-invalid{background:#fffbfb}.is-invalid-country .ng-select-container{border:1px solid #ff3d00!important;background:#fffbfb!important;color:#f10001!important}.form-control{width:100%;border:1px solid var(--Gray-Gray-200);border-radius:5px;font-size:14px;transition:border-color .3s ease-in-out;height:40px}.form-control:focus::placeholder{color:var(--Gray-Gray-500)}.form-control:focus{border-color:var(--Info-Info-500);outline:none}.form-control:disabled{border:1px solid var(--Gray-Gray-200)!important;color:var(--Gray-Gray-400);background-color:var(--Gray-Gray-50);outline:none}.custom-select{position:relative;width:50%}.custom-select label{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--Gray-Gray-600)}.custom-select label span{color:var(--Error-Error-500)}.select-button{width:100%;height:40px;padding:.47rem .75rem;padding-right:7px;border:1px solid var(--Gray-Gray-200);border-radius:var(--Border-2);background:var(--Neutral-White);color:var(--Gray-Gray-500);font-size:var(--font-size-s);display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer}.select-dropdown{position:absolute;width:100%;overflow:hidden;list-style:none;padding:0;margin:4px 0 0;border:1px solid transparent;border-radius:var(--Border-2);overflow-y:scroll;z-index:100}.option{width:100%;height:45px;border-radius:var(--Border-2);padding-top:var(--Size-3);padding-right:var(--Size-4);padding-bottom:var(--Size-3);padding-left:var(--Size-4);border:none;background:transparent;text-align:left;color:var(--Gray-Gray-600);font-size:var(--font-size-s);cursor:pointer}.option:hover{background:var(--Gray-Gray-50)}.expanded-select{max-height:250px;background:var(--Neutral-White);box-shadow:var(--Shadow-medium);transition:max-height .2s ease-in}.collapsed-select{max-height:0;background:transparent;box-shadow:none;transition:max-height .2s ease-out,background .6s ease-out,box-shadow .6s ease-out}.select-button:focus{border-color:var(--Info-Info-500)!important}.select-button:disabled,.option:disabled{border-color:var(--Gray-Gray-200);color:var(--Gray-Gray-400);background-color:var(--Gray-Gray-50);cursor:unset}.select-completed{border-color:var(--Gray-Gray-400);color:var(--Gray-Gray-600);background:var(--Neutral-White)}.select-invalid{border-color:var(--Error-Error-500)!important}.select-helper{display:flex;gap:4px;align-items:baseline}.select-helper span{display:block;margin-top:8px;color:var(--Gray-Gray-600);font-size:var(--font-size-xs)}.invalid-color{color:var(--Error-Error-500)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
|
|
3043
3072
|
}
|
|
3044
3073
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiPhoneInputComponent, decorators: [{
|
|
3045
3074
|
type: Component,
|
|
@@ -3053,7 +3082,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
3053
3082
|
}] }, { type: undefined, decorators: [{
|
|
3054
3083
|
type: Inject,
|
|
3055
3084
|
args: ["ApiService"]
|
|
3056
|
-
}] }, { type: i2
|
|
3085
|
+
}] }, { type: i2.TranslateService }], propDecorators: { CodArea: [{
|
|
3057
3086
|
type: Input
|
|
3058
3087
|
}], ngModelPhone: [{
|
|
3059
3088
|
type: Input
|
|
@@ -3097,7 +3126,7 @@ class InputToggleComponent {
|
|
|
3097
3126
|
this.dataChange.emit(this.data);
|
|
3098
3127
|
}
|
|
3099
3128
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3100
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: InputToggleComponent, isStandalone: true, selector: "app-input-toggle", inputs: { data: "data", config: "config", elemnto: "elemnto" }, outputs: { dataChange: "dataChange" }, ngImport: i0, template: "<ng-container *ngIf=\"config.param === 'toggle'\">\n <div class=\"form-check form-switch form-switch-md mb-3\" dir=\"ltr\">\n <input\n [attr.id]=\"elemnto\"\n (click)=\"emitValue()\"\n id=\"elemnto\"\n *ngIf=\"data\"\n class=\"form-check-input\"\n [attr.type]=\"config.type\"\n [(ngModel)]=\"data\"\n [formControl]=\"config.formControl\"\n [attr.active]=\"data\"\n [attr.formControlName]=\"config.name\"\n checked\n />\n\n <input\n (click)=\"emitValue()\"\n *ngIf=\"!data\"\n [attr.id]=\"elemnto\"\n id=\"elemnto\"\n class=\"form-check-input\"\n [attr.type]=\"config.type\"\n [(ngModel)]=\"data\"\n [formControl]=\"config.formControl\"\n [attr.active]=\"data\"\n [attr.formControlName]=\"config.name\"\n />\n\n <label class=\"form-check-label\" for=\"elemnto\" (click)=\"emitValue()\">\n {{ config.labelText | translate }}</label\n >\n </div>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2
|
|
3129
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: InputToggleComponent, isStandalone: true, selector: "app-input-toggle", inputs: { data: "data", config: "config", elemnto: "elemnto" }, outputs: { dataChange: "dataChange" }, ngImport: i0, template: "<ng-container *ngIf=\"config.param === 'toggle'\">\n <div class=\"form-check form-switch form-switch-md mb-3\" dir=\"ltr\">\n <input\n [attr.id]=\"elemnto\"\n (click)=\"emitValue()\"\n id=\"elemnto\"\n *ngIf=\"data\"\n class=\"form-check-input\"\n [attr.type]=\"config.type\"\n [(ngModel)]=\"data\"\n [formControl]=\"config.formControl\"\n [attr.active]=\"data\"\n [attr.formControlName]=\"config.name\"\n checked\n />\n\n <input\n (click)=\"emitValue()\"\n *ngIf=\"!data\"\n [attr.id]=\"elemnto\"\n id=\"elemnto\"\n class=\"form-check-input\"\n [attr.type]=\"config.type\"\n [(ngModel)]=\"data\"\n [formControl]=\"config.formControl\"\n [attr.active]=\"data\"\n [attr.formControlName]=\"config.name\"\n />\n\n <label class=\"form-check-label\" for=\"elemnto\" (click)=\"emitValue()\">\n {{ config.labelText | translate }}</label\n >\n </div>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
|
|
3101
3130
|
}
|
|
3102
3131
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputToggleComponent, decorators: [{
|
|
3103
3132
|
type: Component,
|
|
@@ -3642,7 +3671,7 @@ class DropiTableComponent {
|
|
|
3642
3671
|
this.expandChildren.emit({ row });
|
|
3643
3672
|
}
|
|
3644
3673
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiTableComponent, deps: [{ token: ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3645
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiTableComponent, isStandalone: true, selector: "app-dropi-table", inputs: { headers: "headers", data: "data", childData: "childData", visibleRowsChildrens: "visibleRowsChildrens", dropiTableConfiguration: "dropiTableConfiguration", dropiTableBackendParams: "dropiTableBackendParams", loading: "loading", isCursorPagination: "isCursorPagination" }, outputs: { rowsSelected: "rowsSelected", actionClicked: "actionClicked", onPageChange: "onPageChange", onSizeChange: "onSizeChange", onSortChange: "onSortChange", onSearchChange: "onSearchChange", expandChildren: "expandChildren" }, host: { listeners: { "document:click": "handleClickOutside($event)" } }, viewQueries: [{ propertyName: "checkboxes", predicate: DropiCheckboxComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"dropiTableConfiguration\">\n <div class=\"table-container\" *ngIf=\"!loading\">\n <div class=\"search-container\" *ngIf=\"dropiTableConfiguration?.showSearch\">\n <h3 class=\"table-title\">\n {{ dropiTableConfiguration?.title | translate }}\n </h3>\n <app-input\n [inputProperties]=\"{\n label: 'Search',\n placeholder: 'Search',\n formControl: searchTerm,\n }\"\n ></app-input>\n </div>\n\n <div\n class=\"table-wrapper\"\n [ngClass]=\"hasActions ? 'width-actions' : 'width-no-actions'\"\n >\n <table\n class=\"custom-table\"\n [ngClass]=\"{\n 'has-checkbox': dropiTableConfiguration?.showCheckbox,\n }\"\n >\n <thead>\n <tr>\n <th\n class=\"checkbox-header\"\n *ngIf=\"dropiTableConfiguration?.showCheckbox\"\n >\n <app-dropi-checkbox\n (onChange)=\"onSelectAll($event)\"\n ></app-dropi-checkbox>\n </th>\n <th\n *ngFor=\"let header of headers\"\n (click)=\"onSort(header)\"\n [ngClass]=\"{\n sortable: header?.sortable,\n 'low-opacity': header?.disabledColumn,\n 'highlight-column': header?.highlightColumn,\n }\"\n [style.text-align]=\"header?.align || 'left'\"\n >\n <div class=\"headers-container\">\n <ng-container *ngIf=\"header?.imageUrl\">\n <img [src]=\"header?.imageUrl\" />\n </ng-container>\n <div class=\"headers\">\n <span>\n {{ header.label | translate }}\n </span>\n\n <div *ngIf=\"header?.sortable\" class=\"order-icons\">\n <app-icon\n name=\"Caret-up\"\n width=\"12px\"\n height=\"12px\"\n [color]=\"sortAsc ? 'Gray-Gray-500' : 'Gray-Gray-200'\"\n ></app-icon>\n <app-icon\n name=\"Caret-down\"\n width=\"12px\"\n height=\"12px\"\n [color]=\"!sortAsc ? 'Gray-Gray-500' : 'Gray-Gray-200'\"\n ></app-icon>\n </div>\n </div>\n </div>\n </th>\n <th class=\"actions-header actions\" *ngIf=\"hasActions\">\n {{ \"Actions\" | translate }}\n </th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let row of dataToShow; let i = index\">\n <ng-container\n [ngTemplateOutlet]=\"recursiveRowTemplate\"\n [ngTemplateOutletContext]=\"{\n rowData: row,\n level: 0,\n parentIndex: i,\n childIndex: null,\n }\"\n ></ng-container>\n </ng-container>\n </tbody>\n </table>\n <div class=\"empty-table\" *ngIf=\"dataToShow?.length === 0 && !loading\">\n <div class=\"message-container\">\n <img src=\"\\assets\\utils\\icon-not-found.png\" alt=\"empty\" />\n <div class=\"message\">\n {{ dropiTableConfiguration.emptyMessage ?? \"no data\" | translate }}\n </div>\n </div>\n </div>\n </div>\n\n <div\n class=\"pagination\"\n *ngIf=\"\n dropiTableConfiguration?.showPaginator && !hidePaginator && !loading\n \"\n >\n <div class=\"page-size-selector\">\n <label>{{ \"Show\" | translate }}</label>\n <select (change)=\"onChangePageSize($event)\">\n <option\n *ngFor=\"let size of dropiTableConfiguration?.pageSizeConfiguration\"\n [selected]=\"pageSize === size\"\n [value]=\"size\"\n >\n {{ size }}\n </option>\n </select>\n </div>\n\n <app-dropi-paginator\n [totalPages]=\"totalPages\"\n [currentPage]=\"currentPage\"\n [isNotTotalPages]=\"isCursorPagination\"\n (pageChange)=\"goToPage($event)\"\n ></app-dropi-paginator>\n </div>\n </div>\n\n <!-- Template recursivo para filas multinivel -->\n <ng-template\n #recursiveRowTemplate\n let-rowData=\"rowData\"\n let-level=\"level\"\n let-parentIndex=\"parentIndex\"\n let-childIndex=\"childIndex\"\n >\n <tr class=\"table-row\" [ngClass]=\"{ 'sub-row': level > 0 }\">\n <td *ngIf=\"dropiTableConfiguration?.showCheckbox\">\n <app-dropi-checkbox\n [disabled]=\"rowData?.disableCheckbox\"\n [checked]=\"rowData?.selected\"\n (onChange)=\"onSelectRow($event, rowData)\"\n ></app-dropi-checkbox>\n </td>\n <td\n *ngFor=\"let header of headers\"\n [ngClass]=\"{\n 'low-opacity': header?.disabledColumn,\n 'highlight-column': header?.highlightColumn,\n }\"\n >\n <div class=\"cell-content\" [style.text-align]=\"header?.align || 'left'\">\n <ng-container\n [ngTemplateOutlet]=\"labelTypes\"\n [ngTemplateOutletContext]=\"{\n item: rowData[header.key],\n }\"\n ></ng-container>\n </div>\n </td>\n <td\n class=\"action-button actions\"\n [ngClass]=\"{\n 'short-actions': dropiTableConfiguration?.showActionsPerRow\n ? rowData.actionsPerRow && rowData.actionsPerRow.length <= 3\n : dropiTableConfiguration?.rowActions &&\n dropiTableConfiguration.rowActions.length <= 3,\n }\"\n *ngIf=\"hasActions\"\n >\n <div\n *ngIf=\"\n dropiTableConfiguration?.showActionsPerRow\n ? rowData?.actionsPerRow && rowData.actionsPerRow.length > 3\n : dropiTableConfiguration?.rowActions &&\n dropiTableConfiguration.rowActions.length > 3;\n else shortActions\n \"\n #actionsMenu\n >\n <app-icon\n class=\"action-icon\"\n (click)=\"toggleActions(level === 0 ? parentIndex : parentIndex)\"\n name=\"Menu-dots-vertical\"\n width=\"24px\"\n height=\"24px\"\n color=\"Gray-Gray-500\"\n >\n </app-icon>\n\n <div class=\"actions-menu fade-in\" *ngIf=\"rowData.showActions\">\n <div\n class=\"action-item\"\n *ngFor=\"\n let action of dropiTableConfiguration?.showActionsPerRow\n ? rowData.actionsPerRow\n : dropiTableConfiguration?.rowActions\n \"\n (click)=\"onActionClicked(rowData, action, $event)\"\n >\n <app-icon\n [name]=\"action.icon\"\n width=\"20px\"\n height=\"20px\"\n [color]=\"action.iconColor || 'Gray-Gray-200'\"\n ></app-icon>\n {{ action.label }}\n </div>\n </div>\n </div>\n\n <ng-template #shortActions>\n <div\n *ngFor=\"\n let action of dropiTableConfiguration?.showActionsPerRow\n ? rowData.actionsPerRow\n : dropiTableConfiguration?.rowActions\n \"\n >\n <app-icon\n class=\"action-icon\"\n [name]=\"action.icon\"\n width=\"24px\"\n height=\"24px\"\n [color]=\"action.iconColor || 'Gray-Gray-500'\"\n (click)=\"onActionClicked(rowData, action, $event)\"\n [pTooltip]=\"action.label | translate\"\n tooltipPosition=\"bottom\"\n tooltipStyleClass=\"my-custom-tooltip\"\n ></app-icon>\n </div>\n </ng-template>\n \n <button\n *ngIf=\"\n rowData.tot_child?.value &&\n rowData.tot_child.value != 0 &&\n rowData.tot_child.value != null\n \"\n (click)=\"toggleTableRow(rowData, level > 0)\"\n class=\"child-arrow-btn\"\n [title]=\"\n 'Hijos: ' +\n (rowData.children?.length || 0) +\n ' | Expandido: ' +\n (rowData.expanded || false)\n \"\n >\n <i class=\"fas fa-chevron-down\" [class.rotated]=\"rowData.expanded\"></i>\n </button>\n </td>\n </tr>\n\n <!-- Renderizado recursivo de children -->\n <ng-container *ngIf=\"rowData.children && rowData.expanded\">\n <ng-container *ngFor=\"let childRow of rowData.children; let j = index\">\n <ng-container\n [ngTemplateOutlet]=\"recursiveRowTemplate\"\n [ngTemplateOutletContext]=\"{\n rowData: childRow,\n level: level + 1,\n parentIndex: parentIndex,\n childIndex: j,\n }\"\n ></ng-container>\n </ng-container>\n </ng-container>\n </ng-template>\n\n <!-- Tipos de celda -->\n\n <ng-template #labelTypes let-item=\"item\" let-type=\"type\">\n <ng-container [ngSwitch]=\"item.type\">\n <ng-container *ngSwitchCase=\"'text'\">\n <div class=\"container\">\n <span class=\"table-labels\">\n {{ item.value | translate }}\n </span>\n <span class=\"table-labels\" *ngIf=\"item?.subtext\">\n {{ item.subtext | translate }}\n </span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'date'\">\n <div class=\"date-label\">\n <span>{{ item.value | date: \"dd-MM-yyyy\" }} </span>\n <span>{{ item.value | date: \"hh:mm a\" }} </span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'tag'\">\n <app-dropi-tag\n type=\"secondary\"\n [state]=\"item.typeTag\"\n showIcon=\"false\"\n [text]=\"item.value | translate\"\n >\n </app-dropi-tag>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'carrier'\">\n <div class=\"carrier-label\">\n <img [src]=\"item.value | carrierImageUrl\" alt=\"carrier\" />\n <span>{{ item.value | translate | titlecase }}</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'currency'\">\n <currency class=\"table-labels\" [value]=\"item.value\"></currency>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'currencyColorMode'\">\n <currency\n class=\"table-labels currency-color-mode\"\n [value]=\"item.value\"\n [ngStyle]=\"{ '--label-color-table': item.colorLabel }\"\n ></currency>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'textColorMode'\">\n <span\n [ngStyle]=\"{ '--label-color-table': item.colorLabel }\"\n class=\"table-labels currency-color-mode\"\n >{{ item.value | translate }}</span\n >\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'textIcon'\">\n <div\n class=\"text-icon-label\"\n [ngClass]=\"{ 'justify-center': !item?.value }\"\n >\n <app-icon\n [name]=\"item.icon\"\n width=\"24px\"\n height=\"24px\"\n [color]=\"item?.iconColor || 'Gray-Gray-500'\"\n ></app-icon>\n <span *ngIf=\"item?.value\">{{ item.value | translate }}</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'status'\">\n <div class=\"status-label\">\n <div class=\"status-dot\">\n <div\n [ngClass]=\"\n 'dot dot-' +\n (item.status ? item.status.toLowerCase() : 'unknown')\n \"\n ></div>\n <span class=\"status-text\">{{ item.status | translate }}</span>\n </div>\n <span *ngIf=\"item?.value\" class=\"status-description\">{{\n item.value\n }}</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'textLink'\">\n <div class=\"conteiner-tex-link\">\n <div class=\"text-link-label\">\n <span *ngIf=\"item.value\">{{ item.value | translate }}: </span>\n <a [href]=\"item?.url\" target=\"_blank\">{{ item?.urlText }}</a>\n </div>\n <app-icon\n *ngIf=\"item.icon\"\n [name]=\"item.icon\"\n width=\"18px\"\n height=\"18px\"\n color=\"Info-Info-500\"\n ></app-icon>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'image'\">\n <div class=\"image-label\">\n <div class=\"img-container\">\n <img [src]=\"item.imageUrl\" alt=\"logo\" />\n </div>\n\n <span class=\"Body-M-Medium\">{{ item.value }}</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'country'\">\n <div class=\"flag-container\">\n <app-country-flags\n *ngIf=\"item.flag\"\n [width]=\"24\"\n [height]=\"24\"\n [country]=\"item.flag\"\n [style]=\"'rectangle'\"\n ></app-country-flags>\n\n <span class=\"Body-M-Regular\">{{ item.value }}</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n {{ item.value | translate }}\n </ng-container>\n </ng-container>\n </ng-template>\n\n <ng-container *ngIf=\"loading\">\n <div class=\"loading-container\">\n <app-spinner></app-spinner>\n </div>\n </ng-container>\n</ng-container>\n", styles: ["@charset \"UTF-8\";.cell-container{height:80px}.table-container{border-radius:var(--Border-3);padding:0 var(--Size-4) var(--Size-4) var(--Size-4);background-color:var(--Neutral-White)}.table-container .search-container{margin-block:var(--Size-5);display:flex;flex-direction:column;gap:var(--Size-4)}.table-container .search-container .table-title{padding-block:var(--Size-2)}.table-container .table-wrapper{overflow-x:auto}.table-container .width-actions{width:calc(100% - 104px)}.table-container .width-no-actions{width:100%}.table-container .custom-table{width:auto;min-width:100%;border-collapse:collapse}.table-container .custom-table .headers-container{display:flex;flex-direction:column;align-items:center;gap:var(--Size-1)}.table-container .custom-table .headers-container img{width:24px;height:24px}.table-container .custom-table .headers-container .headers{display:flex;flex-wrap:nowrap;justify-content:space-around}.table-container .custom-table .headers-container .headers span{font-weight:var(--font-weight-bold);color:var(--Gray-Gray-600);font-size:var(--font-size-xs);text-align:center}.table-container .custom-table .headers-container .headers .order-icons{display:flex;flex-direction:column;flex-wrap:nowrap}.table-container .custom-table .headers-container .headers .order-icons app-icon{height:6px;display:flex}.table-container .custom-table th,.table-container .custom-table td{position:relative;font-weight:var(--font-weight-bold);font-size:var(--font-size-xs);color:var(--Gray-Gray-700);padding:.5rem}.table-container .custom-table th:after,.table-container .custom-table td:after{content:\"\";position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--Gray-Gray-100)}.table-container .custom-table td.actions,.table-container .custom-table th.actions{position:absolute;background-color:var(--Neutral-White);right:0;width:120px;display:flex;justify-content:center;align-items:center}.table-container .custom-table td{height:80px;min-width:100px;padding:var(--Size-3);font-weight:var(--font-weight-regular);font-size:var(--font-size-s)}.table-container .custom-table td .action-icon{cursor:pointer}.table-container .custom-table td .cell-content{display:inline-block;width:100%}.table-container .custom-table .short-actions{display:flex;gap:var(--Size-2);align-items:center;justify-content:center}.table-container .custom-table .action-button .actions-menu{position:absolute;top:0;right:80px;padding:var(--Size-2);border-radius:var(--Border-2);background-color:var(--Neutral-White);box-shadow:var(--Shadow-medium);z-index:10}.table-container .custom-table .action-button .actions-menu.fade-in{animation:fadeIn .3s ease-in-out forwards}.table-container .custom-table .action-button .action-item{padding:var(--Size-2);font-size:var(--font-size-xs);color:var(--Gray-Gray-600);height:45px;width:190px;display:flex;gap:var(--Size-4);align-items:center;justify-content:left;cursor:pointer}.table-container .custom-table .action-button .action-item:hover{background-color:var(--Gray-Gray-50)}.table-container .custom-table th{height:55px}.table-container .custom-table th.sortable{-webkit-user-select:none;user-select:none;cursor:pointer}.table-container .custom-table tr.table-row:hover{background-color:var(--Gray-Gray-50);transition:background-color .3s ease}.table-container .custom-table tr.table-row:hover td:last-child{background-color:var(--Gray-Gray-50);transition:background-color .3s ease}.table-container .custom-table .actions-header{width:60px;-webkit-user-select:none;user-select:none}.table-container .custom-table .checkbox-header{padding:var(--Size-3)}.table-container .pagination{margin-top:1rem;display:flex;justify-content:space-between;align-items:center}.table-container .pagination button{padding:.5rem}.table-container .pagination .page-size-selector{display:flex;gap:5px;align-items:baseline}.table-container .pagination .page-size-selector label{font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);color:var(--Gray-Gray-700)}.table-container .pagination .page-size-selector select{width:fit-content;height:29px;border-radius:var(--Border-2);padding:var(--Size-1);border:1px solid var(--Gray-Gray-200);color:var(--Gray-Gray-500);background:var(--Neutral-White)}.table-labels{color:var(--Gray-Gray-600);font-weight:var(--font-weight-regular);font-size:var(--font-size-s);white-space:nowrap}.date-label{display:inline-flex;flex-direction:column}.date-label span{font-weight:var(--font-weight-regular);color:var(--Gray-Gray-600);white-space:nowrap}.carrier-label{display:inline-flex;flex-wrap:nowrap;gap:var(--Size-1)}.carrier-label img{width:24px;border-radius:50%;object-fit:cover}.carrier-label span{color:var(--Gray-Gray-600);font-weight:var(--font-weight-regular);font-size:var(--font-size-s)}.text-icon-label{display:inline-flex;flex-wrap:nowrap;gap:var(--Size-2)}.text-icon-label span{color:var(--Gray-Gray-600);font-weight:var(--font-weight-regular);font-size:var(--font-size-s)}.justify-center{justify-content:center}.conteiner-tex-link{display:flex;gap:var(--Border-2)}.low-opacity{opacity:.5}.highlight-column{background:var(--Primary-Primary-50);border:none!important}.text-link-label{display:flex;flex-wrap:nowrap;white-space:nowrap;gap:var(--Size-1)}.text-link-label span{color:var(--Gray-Gray-600);font-weight:var(--font-weight-regular);font-size:var(--font-size-s)}.text-link-label a{color:var(--Info-Info-500);font-weight:var(--font-weight-regular);font-size:var(--font-size-s)}app-icon{display:flex;align-items:flex-start}.image-label{display:inline-flex;flex-direction:column;justify-content:center;align-self:stretch}.image-label .img-container{display:flex;width:24px;padding-bottom:var(--Size-1, 4px);align-items:center;gap:10px}.image-label .img-container img{border-radius:60px;display:flex;height:24px;justify-content:center;align-items:center;flex:1 0 0}.image-label span{overflow:hidden;color:var(--Gray-600, #475066);text-overflow:ellipsis}.container{display:inline-flex;flex-direction:column}.child-arrow-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:.5rem;border-radius:.25rem}.child-arrow-btn .fa-chevron-down{transition:transform .2s}.child-arrow-btn .fa-chevron-down.rotated{transform:rotate(180deg)}.sub-row-container{background-color:var(--light-gray)}.sub-table-container{overflow:hidden;max-height:0;height:auto;font-weight:var(--font-weight-medium);gap:var(--Size-3);font-size:var(--font-size-s);cursor:pointer;opacity:0;padding:0 var(--Size-3) 0 var(--Size-8)}.sub-table-container.expanded{height:200px;opacity:1}.sub-row td:first-child{padding-left:2rem!important}.status-label{display:inline-flex;flex-direction:column;flex-wrap:nowrap;gap:var(--Size-1)}.status-label .status-description{font-weight:var(--font-weight-regular);font-size:var(--font-size-s);color:var(--Gray-Gray-600)}.status-label .status-dot{display:flex;gap:var(--Size-2);flex-wrap:nowrap;align-items:center}.status-label .status-text{font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);color:var(--Gray-Gray-700)}.status-label .dot{width:6px;height:6px;border-radius:50%}.status-label .dot-low{background-color:var(--Success-Success-500)}.status-label .dot-medium{background-color:var(--Warning-Warning-500)}.status-label .dot-high{background-color:var(--Error-Error-500)}.loading-container{height:25%;width:100%;display:flex;align-items:center;justify-content:center}.empty-table{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;flex:1 0 0;align-self:stretch;min-height:400px}.empty-table .message-container{display:flex;width:420px;padding:var(--Size-4, 16px);flex-direction:column;align-items:center;gap:var(--Size-4, 16px)}.empty-table .message-container img{height:60px;width:auto}.empty-table .message-container .message{color:var(--Gray-500, #69738c);text-align:center}.flag-container{display:flex;align-items:center;gap:var(--Size-3)}.currency-color-mode{color:var(--label-color-table, inherit)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.custom-table.has-checkbox th.checkbox-header,.custom-table.has-checkbox td:first-child{width:fit-content;min-width:fit-content;max-width:fit-content;text-align:center;padding:8px!important}.custom-table.has-checkbox th.checkbox-header app-dropi-checkbox,.custom-table.has-checkbox td:first-child app-dropi-checkbox{display:flex;justify-content:center;align-items:center;margin:0 auto}.custom-table:not(.has-checkbox) th,.custom-table:not(.has-checkbox) td{min-width:100px;padding:var(--Size-3)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i1.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "component", type: DropiPaginatorComponent, selector: "app-dropi-paginator", inputs: ["totalPages", "currentPage", "disabled", "isNotTotalPages", "maxVisiblePages"], outputs: ["pageChange"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "width", "height", "color"] }, { kind: "component", type: DropiCheckboxComponent, selector: "app-dropi-checkbox", inputs: ["checked", "disabled"], outputs: ["onChange"] }, { kind: "component", type: CurrencyComponentStub$1, selector: "currency", inputs: ["value"] }, { kind: "pipe", type: CarrierImageUrlStub, name: "carrierImageUrl" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }, { kind: "component", type: InputComponent, selector: "app-input", inputs: ["inputProperties", "disabled", "showObligatoryAsterisk", "showPassword", "fixedLabel", "showAsterisk"] }, { kind: "component", type: SpinnerComponentStub, selector: "app-spinner" }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: CountryFlagsComponent, selector: "app-country-flags", inputs: ["country", "width", "height", "style"] }] });
|
|
3674
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiTableComponent, isStandalone: true, selector: "app-dropi-table", inputs: { headers: "headers", data: "data", childData: "childData", visibleRowsChildrens: "visibleRowsChildrens", dropiTableConfiguration: "dropiTableConfiguration", dropiTableBackendParams: "dropiTableBackendParams", loading: "loading", isCursorPagination: "isCursorPagination" }, outputs: { rowsSelected: "rowsSelected", actionClicked: "actionClicked", onPageChange: "onPageChange", onSizeChange: "onSizeChange", onSortChange: "onSortChange", onSearchChange: "onSearchChange", expandChildren: "expandChildren" }, host: { listeners: { "document:click": "handleClickOutside($event)" } }, viewQueries: [{ propertyName: "checkboxes", predicate: DropiCheckboxComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"dropiTableConfiguration\">\n <div class=\"table-container\" *ngIf=\"!loading\">\n <div class=\"search-container\" *ngIf=\"dropiTableConfiguration?.showSearch\">\n <h3 class=\"table-title\">\n {{ dropiTableConfiguration?.title | translate }}\n </h3>\n <app-input\n [inputProperties]=\"{\n label: 'Search',\n placeholder: 'Search',\n formControl: searchTerm,\n }\"\n ></app-input>\n </div>\n\n <div\n class=\"table-wrapper\"\n [ngClass]=\"hasActions ? 'width-actions' : 'width-no-actions'\"\n >\n <table\n class=\"custom-table\"\n [ngClass]=\"{\n 'has-checkbox': dropiTableConfiguration?.showCheckbox,\n }\"\n >\n <thead>\n <tr>\n <th\n class=\"checkbox-header\"\n *ngIf=\"dropiTableConfiguration?.showCheckbox\"\n >\n <app-dropi-checkbox\n (onChange)=\"onSelectAll($event)\"\n ></app-dropi-checkbox>\n </th>\n <th\n *ngFor=\"let header of headers\"\n (click)=\"onSort(header)\"\n [ngClass]=\"{\n sortable: header?.sortable,\n 'low-opacity': header?.disabledColumn,\n 'highlight-column': header?.highlightColumn,\n }\"\n [style.text-align]=\"header?.align || 'left'\"\n >\n <div class=\"headers-container\">\n <ng-container *ngIf=\"header?.imageUrl\">\n <img [src]=\"header?.imageUrl\" />\n </ng-container>\n <div class=\"headers\">\n <span>\n {{ header.label | translate }}\n </span>\n\n <div *ngIf=\"header?.sortable\" class=\"order-icons\">\n <app-icon\n name=\"Caret-up\"\n width=\"12px\"\n height=\"12px\"\n [color]=\"sortAsc ? 'Gray-Gray-500' : 'Gray-Gray-200'\"\n ></app-icon>\n <app-icon\n name=\"Caret-down\"\n width=\"12px\"\n height=\"12px\"\n [color]=\"!sortAsc ? 'Gray-Gray-500' : 'Gray-Gray-200'\"\n ></app-icon>\n </div>\n </div>\n </div>\n </th>\n <th class=\"actions-header actions\" *ngIf=\"hasActions\">\n {{ \"Actions\" | translate }}\n </th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let row of dataToShow; let i = index\">\n <ng-container\n [ngTemplateOutlet]=\"recursiveRowTemplate\"\n [ngTemplateOutletContext]=\"{\n rowData: row,\n level: 0,\n parentIndex: i,\n childIndex: null,\n }\"\n ></ng-container>\n </ng-container>\n </tbody>\n </table>\n <div class=\"empty-table\" *ngIf=\"dataToShow?.length === 0 && !loading\">\n <div class=\"message-container\">\n <img src=\"\\assets\\utils\\icon-not-found.png\" alt=\"empty\" />\n <div class=\"message\">\n {{ dropiTableConfiguration.emptyMessage ?? \"no data\" | translate }}\n </div>\n </div>\n </div>\n </div>\n\n <div\n class=\"pagination\"\n *ngIf=\"\n dropiTableConfiguration?.showPaginator && !hidePaginator && !loading\n \"\n >\n <div class=\"page-size-selector\">\n <label>{{ \"Show\" | translate }}</label>\n <select (change)=\"onChangePageSize($event)\">\n <option\n *ngFor=\"let size of dropiTableConfiguration?.pageSizeConfiguration\"\n [selected]=\"pageSize === size\"\n [value]=\"size\"\n >\n {{ size }}\n </option>\n </select>\n </div>\n\n <app-dropi-paginator\n [totalPages]=\"totalPages\"\n [currentPage]=\"currentPage\"\n [isNotTotalPages]=\"isCursorPagination\"\n (pageChange)=\"goToPage($event)\"\n ></app-dropi-paginator>\n </div>\n </div>\n\n <!-- Template recursivo para filas multinivel -->\n <ng-template\n #recursiveRowTemplate\n let-rowData=\"rowData\"\n let-level=\"level\"\n let-parentIndex=\"parentIndex\"\n let-childIndex=\"childIndex\"\n >\n <tr class=\"table-row\" [ngClass]=\"{ 'sub-row': level > 0 }\">\n <td *ngIf=\"dropiTableConfiguration?.showCheckbox\">\n <app-dropi-checkbox\n [disabled]=\"rowData?.disableCheckbox\"\n [checked]=\"rowData?.selected\"\n (onChange)=\"onSelectRow($event, rowData)\"\n ></app-dropi-checkbox>\n </td>\n <td\n *ngFor=\"let header of headers\"\n [ngClass]=\"{\n 'low-opacity': header?.disabledColumn,\n 'highlight-column': header?.highlightColumn,\n }\"\n >\n <div class=\"cell-content\" [style.text-align]=\"header?.align || 'left'\">\n <ng-container\n [ngTemplateOutlet]=\"labelTypes\"\n [ngTemplateOutletContext]=\"{\n item: rowData[header.key],\n }\"\n ></ng-container>\n </div>\n </td>\n <td\n class=\"action-button actions\"\n [ngClass]=\"{\n 'short-actions': dropiTableConfiguration?.showActionsPerRow\n ? rowData.actionsPerRow && rowData.actionsPerRow.length <= 3\n : dropiTableConfiguration?.rowActions &&\n dropiTableConfiguration.rowActions.length <= 3,\n }\"\n *ngIf=\"hasActions\"\n >\n <div\n *ngIf=\"\n dropiTableConfiguration?.showActionsPerRow\n ? rowData?.actionsPerRow && rowData.actionsPerRow.length > 3\n : dropiTableConfiguration?.rowActions &&\n dropiTableConfiguration.rowActions.length > 3;\n else shortActions\n \"\n #actionsMenu\n >\n <app-icon\n class=\"action-icon\"\n (click)=\"toggleActions(level === 0 ? parentIndex : parentIndex)\"\n name=\"Menu-dots-vertical\"\n width=\"24px\"\n height=\"24px\"\n color=\"Gray-Gray-500\"\n >\n </app-icon>\n\n <div class=\"actions-menu fade-in\" *ngIf=\"rowData.showActions\">\n <div\n class=\"action-item\"\n *ngFor=\"\n let action of dropiTableConfiguration?.showActionsPerRow\n ? rowData.actionsPerRow\n : dropiTableConfiguration?.rowActions\n \"\n (click)=\"onActionClicked(rowData, action, $event)\"\n >\n <app-icon\n [name]=\"action.icon\"\n width=\"20px\"\n height=\"20px\"\n [color]=\"action.iconColor || 'Gray-Gray-200'\"\n ></app-icon>\n {{ action.label }}\n </div>\n </div>\n </div>\n\n <ng-template #shortActions>\n <div\n *ngFor=\"\n let action of dropiTableConfiguration?.showActionsPerRow\n ? rowData.actionsPerRow\n : dropiTableConfiguration?.rowActions\n \"\n >\n <app-icon\n class=\"action-icon\"\n [name]=\"action.icon\"\n width=\"24px\"\n height=\"24px\"\n [color]=\"action.iconColor || 'Gray-Gray-500'\"\n (click)=\"onActionClicked(rowData, action, $event)\"\n [pTooltip]=\"action.label | translate\"\n tooltipPosition=\"bottom\"\n tooltipStyleClass=\"my-custom-tooltip\"\n ></app-icon>\n </div>\n </ng-template>\n \n <button\n *ngIf=\"\n rowData.tot_child?.value &&\n rowData.tot_child.value != 0 &&\n rowData.tot_child.value != null\n \"\n (click)=\"toggleTableRow(rowData, level > 0)\"\n class=\"child-arrow-btn\"\n [title]=\"\n 'Hijos: ' +\n (rowData.children?.length || 0) +\n ' | Expandido: ' +\n (rowData.expanded || false)\n \"\n >\n <i class=\"fas fa-chevron-down\" [class.rotated]=\"rowData.expanded\"></i>\n </button>\n </td>\n </tr>\n\n <!-- Renderizado recursivo de children -->\n <ng-container *ngIf=\"rowData.children && rowData.expanded\">\n <ng-container *ngFor=\"let childRow of rowData.children; let j = index\">\n <ng-container\n [ngTemplateOutlet]=\"recursiveRowTemplate\"\n [ngTemplateOutletContext]=\"{\n rowData: childRow,\n level: level + 1,\n parentIndex: parentIndex,\n childIndex: j,\n }\"\n ></ng-container>\n </ng-container>\n </ng-container>\n </ng-template>\n\n <!-- Tipos de celda -->\n\n <ng-template #labelTypes let-item=\"item\" let-type=\"type\">\n <ng-container [ngSwitch]=\"item.type\">\n <ng-container *ngSwitchCase=\"'text'\">\n <div class=\"container\">\n <span class=\"table-labels\">\n {{ item.value | translate }}\n </span>\n <span class=\"table-labels\" *ngIf=\"item?.subtext\">\n {{ item.subtext | translate }}\n </span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'date'\">\n <div class=\"date-label\">\n <span>{{ item.value | date: \"dd-MM-yyyy\" }} </span>\n <span>{{ item.value | date: \"hh:mm a\" }} </span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'tag'\">\n <app-dropi-tag\n type=\"secondary\"\n [state]=\"item.typeTag\"\n showIcon=\"false\"\n [text]=\"item.value | translate\"\n >\n </app-dropi-tag>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'carrier'\">\n <div class=\"carrier-label\">\n <img [src]=\"item.value | carrierImageUrl\" alt=\"carrier\" />\n <span>{{ item.value | translate | titlecase }}</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'currency'\">\n <currency class=\"table-labels\" [value]=\"item.value\"></currency>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'currencyColorMode'\">\n <currency\n class=\"table-labels currency-color-mode\"\n [value]=\"item.value\"\n [ngStyle]=\"{ '--label-color-table': item.colorLabel }\"\n ></currency>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'textColorMode'\">\n <span\n [ngStyle]=\"{ '--label-color-table': item.colorLabel }\"\n class=\"table-labels currency-color-mode\"\n >{{ item.value | translate }}</span\n >\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'textIcon'\">\n <div\n class=\"text-icon-label\"\n [ngClass]=\"{ 'justify-center': !item?.value }\"\n >\n <app-icon\n [name]=\"item.icon\"\n width=\"24px\"\n height=\"24px\"\n [color]=\"item?.iconColor || 'Gray-Gray-500'\"\n ></app-icon>\n <span *ngIf=\"item?.value\">{{ item.value | translate }}</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'status'\">\n <div class=\"status-label\">\n <div class=\"status-dot\">\n <div\n [ngClass]=\"\n 'dot dot-' +\n (item.status ? item.status.toLowerCase() : 'unknown')\n \"\n ></div>\n <span class=\"status-text\">{{ item.status | translate }}</span>\n </div>\n <span *ngIf=\"item?.value\" class=\"status-description\">{{\n item.value\n }}</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'textLink'\">\n <div class=\"conteiner-tex-link\">\n <div class=\"text-link-label\">\n <span *ngIf=\"item.value\">{{ item.value | translate }}: </span>\n <a [href]=\"item?.url\" target=\"_blank\">{{ item?.urlText }}</a>\n </div>\n <app-icon\n *ngIf=\"item.icon\"\n [name]=\"item.icon\"\n width=\"18px\"\n height=\"18px\"\n color=\"Info-Info-500\"\n ></app-icon>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'image'\">\n <div class=\"image-label\">\n <div class=\"img-container\">\n <img [src]=\"item.imageUrl\" alt=\"logo\" />\n </div>\n\n <span class=\"Body-M-Medium\">{{ item.value }}</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'country'\">\n <div class=\"flag-container\">\n <app-country-flags\n *ngIf=\"item.flag\"\n [width]=\"24\"\n [height]=\"24\"\n [country]=\"item.flag\"\n [style]=\"'rectangle'\"\n ></app-country-flags>\n\n <span class=\"Body-M-Regular\">{{ item.value }}</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n {{ item.value | translate }}\n </ng-container>\n </ng-container>\n </ng-template>\n\n <ng-container *ngIf=\"loading\">\n <div class=\"loading-container\">\n <app-spinner></app-spinner>\n </div>\n </ng-container>\n</ng-container>\n", styles: ["@charset \"UTF-8\";.cell-container{height:80px}.table-container{border-radius:var(--Border-3);padding:0 var(--Size-4) var(--Size-4) var(--Size-4);background-color:var(--Neutral-White)}.table-container .search-container{margin-block:var(--Size-5);display:flex;flex-direction:column;gap:var(--Size-4)}.table-container .search-container .table-title{padding-block:var(--Size-2)}.table-container .table-wrapper{overflow-x:auto}.table-container .width-actions{width:calc(100% - 104px)}.table-container .width-no-actions{width:100%}.table-container .custom-table{width:auto;min-width:100%;border-collapse:collapse}.table-container .custom-table .headers-container{display:flex;flex-direction:column;align-items:center;gap:var(--Size-1)}.table-container .custom-table .headers-container img{width:24px;height:24px}.table-container .custom-table .headers-container .headers{display:flex;flex-wrap:nowrap;justify-content:space-around}.table-container .custom-table .headers-container .headers span{font-weight:var(--font-weight-bold);color:var(--Gray-Gray-600);font-size:var(--font-size-xs);text-align:center}.table-container .custom-table .headers-container .headers .order-icons{display:flex;flex-direction:column;flex-wrap:nowrap}.table-container .custom-table .headers-container .headers .order-icons app-icon{height:6px;display:flex}.table-container .custom-table th,.table-container .custom-table td{position:relative;font-weight:var(--font-weight-bold);font-size:var(--font-size-xs);color:var(--Gray-Gray-700);padding:.5rem}.table-container .custom-table th:after,.table-container .custom-table td:after{content:\"\";position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--Gray-Gray-100)}.table-container .custom-table td.actions,.table-container .custom-table th.actions{position:absolute;background-color:var(--Neutral-White);right:0;width:120px;display:flex;justify-content:center;align-items:center}.table-container .custom-table td{height:80px;min-width:100px;padding:var(--Size-3);font-weight:var(--font-weight-regular);font-size:var(--font-size-s)}.table-container .custom-table td .action-icon{cursor:pointer}.table-container .custom-table td .cell-content{display:inline-block;width:100%}.table-container .custom-table .short-actions{display:flex;gap:var(--Size-2);align-items:center;justify-content:center}.table-container .custom-table .action-button .actions-menu{position:absolute;top:0;right:80px;padding:var(--Size-2);border-radius:var(--Border-2);background-color:var(--Neutral-White);box-shadow:var(--Shadow-medium);z-index:10}.table-container .custom-table .action-button .actions-menu.fade-in{animation:fadeIn .3s ease-in-out forwards}.table-container .custom-table .action-button .action-item{padding:var(--Size-2);font-size:var(--font-size-xs);color:var(--Gray-Gray-600);height:45px;width:190px;display:flex;gap:var(--Size-4);align-items:center;justify-content:left;cursor:pointer}.table-container .custom-table .action-button .action-item:hover{background-color:var(--Gray-Gray-50)}.table-container .custom-table th{height:55px}.table-container .custom-table th.sortable{-webkit-user-select:none;user-select:none;cursor:pointer}.table-container .custom-table tr.table-row:hover{background-color:var(--Gray-Gray-50);transition:background-color .3s ease}.table-container .custom-table tr.table-row:hover td:last-child{background-color:var(--Gray-Gray-50);transition:background-color .3s ease}.table-container .custom-table .actions-header{width:60px;-webkit-user-select:none;user-select:none}.table-container .custom-table .checkbox-header{padding:var(--Size-3)}.table-container .pagination{margin-top:1rem;display:flex;justify-content:space-between;align-items:center}.table-container .pagination button{padding:.5rem}.table-container .pagination .page-size-selector{display:flex;gap:5px;align-items:baseline}.table-container .pagination .page-size-selector label{font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);color:var(--Gray-Gray-700)}.table-container .pagination .page-size-selector select{width:fit-content;height:29px;border-radius:var(--Border-2);padding:var(--Size-1);border:1px solid var(--Gray-Gray-200);color:var(--Gray-Gray-500);background:var(--Neutral-White)}.table-labels{color:var(--Gray-Gray-600);font-weight:var(--font-weight-regular);font-size:var(--font-size-s);white-space:nowrap}.date-label{display:inline-flex;flex-direction:column}.date-label span{font-weight:var(--font-weight-regular);color:var(--Gray-Gray-600);white-space:nowrap}.carrier-label{display:inline-flex;flex-wrap:nowrap;gap:var(--Size-1)}.carrier-label img{width:24px;border-radius:50%;object-fit:cover}.carrier-label span{color:var(--Gray-Gray-600);font-weight:var(--font-weight-regular);font-size:var(--font-size-s)}.text-icon-label{display:inline-flex;flex-wrap:nowrap;gap:var(--Size-2)}.text-icon-label span{color:var(--Gray-Gray-600);font-weight:var(--font-weight-regular);font-size:var(--font-size-s)}.justify-center{justify-content:center}.conteiner-tex-link{display:flex;gap:var(--Border-2)}.low-opacity{opacity:.5}.highlight-column{background:var(--Primary-Primary-50);border:none!important}.text-link-label{display:flex;flex-wrap:nowrap;white-space:nowrap;gap:var(--Size-1)}.text-link-label span{color:var(--Gray-Gray-600);font-weight:var(--font-weight-regular);font-size:var(--font-size-s)}.text-link-label a{color:var(--Info-Info-500);font-weight:var(--font-weight-regular);font-size:var(--font-size-s)}app-icon{display:flex;align-items:flex-start}.image-label{display:inline-flex;flex-direction:column;justify-content:center;align-self:stretch}.image-label .img-container{display:flex;width:24px;padding-bottom:var(--Size-1, 4px);align-items:center;gap:10px}.image-label .img-container img{border-radius:60px;display:flex;height:24px;justify-content:center;align-items:center;flex:1 0 0}.image-label span{overflow:hidden;color:var(--Gray-600, #475066);text-overflow:ellipsis}.container{display:inline-flex;flex-direction:column}.child-arrow-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:.5rem;border-radius:.25rem}.child-arrow-btn .fa-chevron-down{transition:transform .2s}.child-arrow-btn .fa-chevron-down.rotated{transform:rotate(180deg)}.sub-row-container{background-color:var(--light-gray)}.sub-table-container{overflow:hidden;max-height:0;height:auto;font-weight:var(--font-weight-medium);gap:var(--Size-3);font-size:var(--font-size-s);cursor:pointer;opacity:0;padding:0 var(--Size-3) 0 var(--Size-8)}.sub-table-container.expanded{height:200px;opacity:1}.sub-row td:first-child{padding-left:2rem!important}.status-label{display:inline-flex;flex-direction:column;flex-wrap:nowrap;gap:var(--Size-1)}.status-label .status-description{font-weight:var(--font-weight-regular);font-size:var(--font-size-s);color:var(--Gray-Gray-600)}.status-label .status-dot{display:flex;gap:var(--Size-2);flex-wrap:nowrap;align-items:center}.status-label .status-text{font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);color:var(--Gray-Gray-700)}.status-label .dot{width:6px;height:6px;border-radius:50%}.status-label .dot-low{background-color:var(--Success-Success-500)}.status-label .dot-medium{background-color:var(--Warning-Warning-500)}.status-label .dot-high{background-color:var(--Error-Error-500)}.loading-container{height:25%;width:100%;display:flex;align-items:center;justify-content:center}.empty-table{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;flex:1 0 0;align-self:stretch;min-height:400px}.empty-table .message-container{display:flex;width:420px;padding:var(--Size-4, 16px);flex-direction:column;align-items:center;gap:var(--Size-4, 16px)}.empty-table .message-container img{height:60px;width:auto}.empty-table .message-container .message{color:var(--Gray-500, #69738c);text-align:center}.flag-container{display:flex;align-items:center;gap:var(--Size-3)}.currency-color-mode{color:var(--label-color-table, inherit)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.custom-table.has-checkbox th.checkbox-header,.custom-table.has-checkbox td:first-child{width:fit-content;min-width:fit-content;max-width:fit-content;text-align:center;padding:8px!important}.custom-table.has-checkbox th.checkbox-header app-dropi-checkbox,.custom-table.has-checkbox td:first-child app-dropi-checkbox{display:flex;justify-content:center;align-items:center;margin:0 auto}.custom-table:not(.has-checkbox) th,.custom-table:not(.has-checkbox) td{min-width:100px;padding:var(--Size-3)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i1.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "component", type: DropiPaginatorComponent, selector: "app-dropi-paginator", inputs: ["totalPages", "currentPage", "disabled", "isNotTotalPages", "maxVisiblePages"], outputs: ["pageChange"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "width", "height", "color"] }, { kind: "component", type: DropiCheckboxComponent, selector: "app-dropi-checkbox", inputs: ["checked", "disabled"], outputs: ["onChange"] }, { kind: "component", type: CurrencyComponentStub$1, selector: "currency", inputs: ["value"] }, { kind: "pipe", type: CarrierImageUrlStub, name: "carrierImageUrl" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: InputComponent, selector: "app-input", inputs: ["inputProperties", "disabled", "showObligatoryAsterisk", "showPassword", "fixedLabel", "showAsterisk"] }, { kind: "component", type: SpinnerComponentStub, selector: "app-spinner" }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: CountryFlagsComponent, selector: "app-country-flags", inputs: ["country", "width", "height", "style"] }] });
|
|
3646
3675
|
}
|
|
3647
3676
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiTableComponent, decorators: [{
|
|
3648
3677
|
type: Component,
|
|
@@ -4343,7 +4372,7 @@ class CardProductComponent {
|
|
|
4343
4372
|
return this.generateMixedStockDivs();
|
|
4344
4373
|
}
|
|
4345
4374
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardProductComponent, deps: [{ token: "SettingsService" }, { token: "ProductstService" }, { token: "OrderManualService" }, { token: "Router" }], target: i0.ɵɵFactoryTarget.Component });
|
|
4346
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CardProductComponent, isStandalone: true, selector: "dropi-card-product", inputs: { product: "product", state: "state", aS: "aS", bettaTester: "bettaTester" }, outputs: { onAddToCart: "onAddToCart", onProductClick: "onProductClick", changeFavorite: "changeFavorite" }, host: { listeners: { "window:resize": "onResize($event)" } }, usesOnChanges: true, ngImport: i0, template: "<div [class]=\"getRandomCardClass()\" [style]=\"getCardStyles()\" (click)=\"getProductDetails()\">\n <app-beta-tag *ngIf=\"bettaTester\"></app-beta-tag>\n <!-- Contenedor de imagen con altura fija de 214px como en Figma -->\n <div [class]=\"getRandomImageContainerClass()\" [style]=\"getImageContainerStyles()\">\n <div [class]=\"getRandomImageClass()\" [style]=\"getImageStyles()\">\n <!-- Imagen del producto con manejo de errores -->\n <img\n [src]=\"imageUrl\"\n [alt]=\"product?.name || 'Product Image'\"\n (error)=\"onError($event)\"\n [ngClass]=\"{ 'error-img': imageError }\"\n style=\"width: 100%; height: 100%; object-fit: cover; border-radius: 8px\"\n />\n\n <!-- Tags superpuestos en la esquina superior izquierda -->\n <div\n [class]=\"getRandomTagsClass()\"\n [style]=\"getTagsContainerStyles()\"\n *ngIf=\"productTags?.length > 0\"\n >\n <div [class]=\"getRandomTagsRowClass()\" [style]=\"getTagsRowStyles()\">\n <app-dropi-tag\n *ngFor=\"let tag of productTags.slice(0, 2)\"\n [type]=\"tag?.type\"\n [state]=\"tag?.state\"\n [showIcon]=\"tag?.showIcon\"\n [icon]=\"tag?.icon\"\n [text]=\"tag?.text\"\n >\n </app-dropi-tag>\n </div>\n </div>\n\n <!-- Bot\u00F3n de favorito superpuesto en la esquina inferior derecha -->\n <div\n [class]=\"getRandomFavoriteButtonClass()\"\n [ngClass]=\"{ 'favorite-button': true, 'favorite-active': product?.favorite }\"\n [style]=\"getFavoriteButtonStyles()\"\n (click)=\"handleFavoriteToggle(); $event.stopPropagation()\"\n >\n <app-icon\n [name]=\"product?.favorite ? 'Heart-solid' : 'Heart'\"\n width=\"18px\"\n height=\"18px\"\n [color]=\"product?.favorite ? '#fff' : '#858ea6'\"\n [style]=\"{ display: 'flex', 'align-items': 'center', 'justify-content': 'center' }\"\n >\n </app-icon>\n </div>\n </div>\n </div>\n\n <!-- Informaci\u00F3n del producto -->\n <div [class]=\"getRandomProductInfoClass()\" [style]=\"getProductInfoStyles()\">\n <!-- Header con categor\u00EDa y stock -->\n <div [class]=\"getRandomProductHeaderClass()\" [style]=\"getProductHeaderStyles()\">\n <dropi-ilustration-icon\n *ngIf=\"product?.supplier?.icon\"\n [style]=\"getRandomProviderCategoryStyles()\"\n [type]=\"'insignia'\"\n [stateInsignia]=\"product?.supplier?.icon\"\n [tagProduct]=\"true\"\n ></dropi-ilustration-icon>\n\n <span\n [class]=\"getRandomCategoryClass()\"\n [style]=\"getCategoryStyles()\"\n *ngIf=\"product?.categories && product?.categories.length > 0\"\n >{{ product?.categories[0]?.name | adjustName }}</span\n >\n\n <div [class]=\"getRandomStockInfoClass()\" [style]=\"getStockInfoStyles()\">\n <span [class]=\"getRandomStockLabelClass()\" [style]=\"getStockLabelStyles()\">{{ \"stock\" | translate }}:</span>\n\n <!-- Stocks mezclados aleatoriamente (real + falsos) -->\n <span\n *ngFor=\"let stockItem of getMixedStockDivs()\"\n [class]=\"stockItem.class\"\n [style]=\"stockItem.isReal ? getStockValueStyles() : getFakeStockStyles()\"\n >\n {{ stockItem.value }}\n </span>\n\n <span\n *ngIf=\"product?.private_user_stock && product?.private_user_stock > 0\"\n class=\"stock-private-user\"\n [style]=\"{\n 'font-weight': '500',\n padding: '0px 6px',\n 'margin-left': '6px',\n 'border-radius': '4px',\n background: 'var(--Success-Success-50, #e7f8f3)',\n color: 'var(--Success-Success-500, #0abb87)',\n 'text-align': 'center'\n }\"\n >\n {{ product?.private_user_stock }}\n </span>\n </div>\n </div>\n\n <!-- Nombre del producto -->\n <h3 [class]=\"getRandomProductNameClass()\" [style]=\"getProductNameStyles()\">\n {{ product?.name | adjustName }}\n </h3>\n\n <!-- Proveedor -->\n <div [class]=\"getRandomSupplierInfoClass()\" [style]=\"getSupplierInfoStyles()\">\n <span [class]=\"getRandomSupplierLabelClass()\" [style]=\"getSupplierLabelStyles()\"\n >{{ \"supplier\" | translate }}:</span\n >\n <span\n [class]=\"getRandomSupplierNameClass()\"\n [style]=\"getSupplierNameStyles()\"\n (click)=\"getProvidersDetails(); $event.stopPropagation()\"\n >{{ product?.supplier?.name | adjustName }}</span\n >\n </div>\n\n <!-- Precios -->\n <div [class]=\"getRandomPriceContainerClass()\" [style]=\"getPriceContainerStyles()\">\n <div [class]=\"getRandomPriceItemClass()\" [style]=\"getPriceItemStyles()\">\n <span [class]=\"getRandomPriceLabelClass()\" [style]=\"getPriceLabelStyles()\"\n >{{ \"supplier price\" | translate }}</span\n >\n\n <!-- Precios de proveedor mezclados aleatoriamente (real + falsos) -->\n <currency\n *ngFor=\"let priceItem of getMixedSupplierPriceDivs()\"\n [class]=\"priceItem.class\"\n [style]=\"priceItem.isReal ? getPriceValueStyles() : getFakePriceStyles()\"\n [value]=\"priceItem.value\"\n >\n </currency>\n </div>\n <div [class]=\"getRandomPriceItemClass()\" [style]=\"getPriceItemStyles()\">\n <span [class]=\"getRandomPriceLabelClass()\" [style]=\"getPriceLabelStyles()\"\n >{{ \"suggested price\" | translate }}</span\n >\n\n <!-- Precios sugeridos mezclados aleatoriamente (real + falsos) -->\n <currency\n *ngFor=\"let priceItem of getMixedSuggestedPriceDivs()\"\n [class]=\"priceItem.class\"\n [style]=\"priceItem.isReal ? getPriceValueStyles() : getFakePriceStyles()\"\n [value]=\"priceItem.value\"\n >\n </currency>\n </div>\n </div>\n </div>\n\n <!-- Separador horizontal -->\n <div [class]=\"getRandomSeparatorClass()\" [style]=\"getSeparatorStyles()\"></div>\n\n <!-- Bot\u00F3n de acci\u00F3n principal -->\n <div\n [class]=\"getRandomActionButtonClass()\"\n [style]=\"getActionButtonStyles()\"\n (click)=\"handleAddToCart(); $event.stopPropagation()\"\n >\n <app-icon\n name=\"Shopping-cart-arrow-rigth\"\n width=\"20px\"\n height=\"20px\"\n color=\"#f49a3d\"\n [style]=\"{ display: 'flex', 'align-items': 'center', 'justify-content': 'center' }\"\n ></app-icon>\n <span [class]=\"getRandomButtonTextClass()\" [style]=\"getButtonTextStyles()\"\n >{{ \"send to client\" | translate }}</span\n >\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "width", "height", "color"] }, { kind: "component", type: CurrencyComponentStub, selector: "currency", inputs: ["value", "class", "style"] }, { kind: "pipe", type: AdjustNamePipeStub, name: "adjustName" }, { kind: "component", type: BetaTagComponentStub, selector: "app-beta-tag" }, { kind: "component", type: DropiIlustrationIconComponent, selector: "dropi-ilustration-icon", inputs: ["type", "state", "stateInsignia", "tagProduct"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2
|
|
4375
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CardProductComponent, isStandalone: true, selector: "dropi-card-product", inputs: { product: "product", state: "state", aS: "aS", bettaTester: "bettaTester" }, outputs: { onAddToCart: "onAddToCart", onProductClick: "onProductClick", changeFavorite: "changeFavorite" }, host: { listeners: { "window:resize": "onResize($event)" } }, usesOnChanges: true, ngImport: i0, template: "<div [class]=\"getRandomCardClass()\" [style]=\"getCardStyles()\" (click)=\"getProductDetails()\">\n <app-beta-tag *ngIf=\"bettaTester\"></app-beta-tag>\n <!-- Contenedor de imagen con altura fija de 214px como en Figma -->\n <div [class]=\"getRandomImageContainerClass()\" [style]=\"getImageContainerStyles()\">\n <div [class]=\"getRandomImageClass()\" [style]=\"getImageStyles()\">\n <!-- Imagen del producto con manejo de errores -->\n <img\n [src]=\"imageUrl\"\n [alt]=\"product?.name || 'Product Image'\"\n (error)=\"onError($event)\"\n [ngClass]=\"{ 'error-img': imageError }\"\n style=\"width: 100%; height: 100%; object-fit: cover; border-radius: 8px\"\n />\n\n <!-- Tags superpuestos en la esquina superior izquierda -->\n <div\n [class]=\"getRandomTagsClass()\"\n [style]=\"getTagsContainerStyles()\"\n *ngIf=\"productTags?.length > 0\"\n >\n <div [class]=\"getRandomTagsRowClass()\" [style]=\"getTagsRowStyles()\">\n <app-dropi-tag\n *ngFor=\"let tag of productTags.slice(0, 2)\"\n [type]=\"tag?.type\"\n [state]=\"tag?.state\"\n [showIcon]=\"tag?.showIcon\"\n [icon]=\"tag?.icon\"\n [text]=\"tag?.text\"\n >\n </app-dropi-tag>\n </div>\n </div>\n\n <!-- Bot\u00F3n de favorito superpuesto en la esquina inferior derecha -->\n <div\n [class]=\"getRandomFavoriteButtonClass()\"\n [ngClass]=\"{ 'favorite-button': true, 'favorite-active': product?.favorite }\"\n [style]=\"getFavoriteButtonStyles()\"\n (click)=\"handleFavoriteToggle(); $event.stopPropagation()\"\n >\n <app-icon\n [name]=\"product?.favorite ? 'Heart-solid' : 'Heart'\"\n width=\"18px\"\n height=\"18px\"\n [color]=\"product?.favorite ? '#fff' : '#858ea6'\"\n [style]=\"{ display: 'flex', 'align-items': 'center', 'justify-content': 'center' }\"\n >\n </app-icon>\n </div>\n </div>\n </div>\n\n <!-- Informaci\u00F3n del producto -->\n <div [class]=\"getRandomProductInfoClass()\" [style]=\"getProductInfoStyles()\">\n <!-- Header con categor\u00EDa y stock -->\n <div [class]=\"getRandomProductHeaderClass()\" [style]=\"getProductHeaderStyles()\">\n <dropi-ilustration-icon\n *ngIf=\"product?.supplier?.icon\"\n [style]=\"getRandomProviderCategoryStyles()\"\n [type]=\"'insignia'\"\n [stateInsignia]=\"product?.supplier?.icon\"\n [tagProduct]=\"true\"\n ></dropi-ilustration-icon>\n\n <span\n [class]=\"getRandomCategoryClass()\"\n [style]=\"getCategoryStyles()\"\n *ngIf=\"product?.categories && product?.categories.length > 0\"\n >{{ product?.categories[0]?.name | adjustName }}</span\n >\n\n <div [class]=\"getRandomStockInfoClass()\" [style]=\"getStockInfoStyles()\">\n <span [class]=\"getRandomStockLabelClass()\" [style]=\"getStockLabelStyles()\">{{ \"stock\" | translate }}:</span>\n\n <!-- Stocks mezclados aleatoriamente (real + falsos) -->\n <span\n *ngFor=\"let stockItem of getMixedStockDivs()\"\n [class]=\"stockItem.class\"\n [style]=\"stockItem.isReal ? getStockValueStyles() : getFakeStockStyles()\"\n >\n {{ stockItem.value }}\n </span>\n\n <span\n *ngIf=\"product?.private_user_stock && product?.private_user_stock > 0\"\n class=\"stock-private-user\"\n [style]=\"{\n 'font-weight': '500',\n padding: '0px 6px',\n 'margin-left': '6px',\n 'border-radius': '4px',\n background: 'var(--Success-Success-50, #e7f8f3)',\n color: 'var(--Success-Success-500, #0abb87)',\n 'text-align': 'center'\n }\"\n >\n {{ product?.private_user_stock }}\n </span>\n </div>\n </div>\n\n <!-- Nombre del producto -->\n <h3 [class]=\"getRandomProductNameClass()\" [style]=\"getProductNameStyles()\">\n {{ product?.name | adjustName }}\n </h3>\n\n <!-- Proveedor -->\n <div [class]=\"getRandomSupplierInfoClass()\" [style]=\"getSupplierInfoStyles()\">\n <span [class]=\"getRandomSupplierLabelClass()\" [style]=\"getSupplierLabelStyles()\"\n >{{ \"supplier\" | translate }}:</span\n >\n <span\n [class]=\"getRandomSupplierNameClass()\"\n [style]=\"getSupplierNameStyles()\"\n (click)=\"getProvidersDetails(); $event.stopPropagation()\"\n >{{ product?.supplier?.name | adjustName }}</span\n >\n </div>\n\n <!-- Precios -->\n <div [class]=\"getRandomPriceContainerClass()\" [style]=\"getPriceContainerStyles()\">\n <div [class]=\"getRandomPriceItemClass()\" [style]=\"getPriceItemStyles()\">\n <span [class]=\"getRandomPriceLabelClass()\" [style]=\"getPriceLabelStyles()\"\n >{{ \"supplier price\" | translate }}</span\n >\n\n <!-- Precios de proveedor mezclados aleatoriamente (real + falsos) -->\n <currency\n *ngFor=\"let priceItem of getMixedSupplierPriceDivs()\"\n [class]=\"priceItem.class\"\n [style]=\"priceItem.isReal ? getPriceValueStyles() : getFakePriceStyles()\"\n [value]=\"priceItem.value\"\n >\n </currency>\n </div>\n <div [class]=\"getRandomPriceItemClass()\" [style]=\"getPriceItemStyles()\">\n <span [class]=\"getRandomPriceLabelClass()\" [style]=\"getPriceLabelStyles()\"\n >{{ \"suggested price\" | translate }}</span\n >\n\n <!-- Precios sugeridos mezclados aleatoriamente (real + falsos) -->\n <currency\n *ngFor=\"let priceItem of getMixedSuggestedPriceDivs()\"\n [class]=\"priceItem.class\"\n [style]=\"priceItem.isReal ? getPriceValueStyles() : getFakePriceStyles()\"\n [value]=\"priceItem.value\"\n >\n </currency>\n </div>\n </div>\n </div>\n\n <!-- Separador horizontal -->\n <div [class]=\"getRandomSeparatorClass()\" [style]=\"getSeparatorStyles()\"></div>\n\n <!-- Bot\u00F3n de acci\u00F3n principal -->\n <div\n [class]=\"getRandomActionButtonClass()\"\n [style]=\"getActionButtonStyles()\"\n (click)=\"handleAddToCart(); $event.stopPropagation()\"\n >\n <app-icon\n name=\"Shopping-cart-arrow-rigth\"\n width=\"20px\"\n height=\"20px\"\n color=\"#f49a3d\"\n [style]=\"{ display: 'flex', 'align-items': 'center', 'justify-content': 'center' }\"\n ></app-icon>\n <span [class]=\"getRandomButtonTextClass()\" [style]=\"getButtonTextStyles()\"\n >{{ \"send to client\" | translate }}</span\n >\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "width", "height", "color"] }, { kind: "component", type: CurrencyComponentStub, selector: "currency", inputs: ["value", "class", "style"] }, { kind: "pipe", type: AdjustNamePipeStub, name: "adjustName" }, { kind: "component", type: BetaTagComponentStub, selector: "app-beta-tag" }, { kind: "component", type: DropiIlustrationIconComponent, selector: "dropi-ilustration-icon", inputs: ["type", "state", "stateInsignia", "tagProduct"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
|
|
4347
4376
|
}
|
|
4348
4377
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardProductComponent, decorators: [{
|
|
4349
4378
|
type: Component,
|
|
@@ -4669,7 +4698,7 @@ class ColorPickerComponent {
|
|
|
4669
4698
|
this.onHexInputChange();
|
|
4670
4699
|
}
|
|
4671
4700
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColorPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4672
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ColorPickerComponent, isStandalone: true, selector: "app-color-picker", inputs: { currentColor: "currentColor", position: "position" }, outputs: { colorChange: "colorChange" }, host: { listeners: { "document:mousemove": "onMouseMove($event)", "document:mouseup": "onMouseUp()", "document:click": "handleClickOutside($event)" } }, viewQueries: [{ propertyName: "colorCanvas", first: true, predicate: ["colorCanvas"], descendants: true }, { propertyName: "hueCanvas", first: true, predicate: ["hueCanvas"], descendants: true }, { propertyName: "opacityCanvas", first: true, predicate: ["opacityCanvas"], descendants: true }, { propertyName: "colorPicker", first: true, predicate: ["colorPicker"], descendants: true }], ngImport: i0, template: "<div class=\"general-container\" #colorPicker>\n <div class=\"main-input-container\">\n <div class=\"overlay\" (click)=\"showEditor()\"></div>\n <div class=\"line-color-preview\">\n <div class=\"color-preview\" [style.background]=\"currentColor\"></div>\n </div>\n <div class=\"color-info\">\n <input type=\"text\" class=\"color-input\" [ngModel]=\"currentColor\" maxlength=\"9\" />\n </div>\n </div>\n\n <div class=\"color-picker-container position-{{position}}\" [ngClass]=\"{ show: showEdit }\">\n <div class=\"main-color-canvas-container\">\n <canvas #colorCanvas width=\"256\" height=\"150\" (mousedown)=\"onColorMouseDown($event)\"></canvas>\n <div\n class=\"color-selector-pointer\"\n [style.left]=\"(saturation / 100) * 256 + 'px'\"\n [style.top]=\"((100 - value) / 100) * 150 + 'px'\"\n ></div>\n </div>\n\n <div class=\"slider-container\">\n <div class=\"slider-group\">\n <div class=\"hue-slider-container\">\n <canvas #hueCanvas width=\"256\" height=\"20\" (mousedown)=\"onHueMouseDown($event)\"></canvas>\n <div class=\"slider-pointer\" [style.left]=\"(hue / 360) * 234 + 'px'\"></div>\n </div>\n </div>\n\n <div class=\"slider-group\">\n <div class=\"opacity-slider-container\">\n <canvas\n #opacityCanvas\n width=\"256\"\n height=\"20\"\n (mousedown)=\"onOpacityMouseDown($event)\"\n ></canvas>\n <div class=\"slider-pointer\" [style.left]=\"(opacity / 100) * 234 + 'px'\"></div>\n </div>\n </div>\n\n <div class=\"color-info\">\n <div class=\"color-label\">HEX</div>\n <input\n type=\"text\"\n class=\"color-input\"\n [(ngModel)]=\"color\"\n (ngModelChange)=\"onHexInputChange()\"\n maxlength=\"9\"\n />\n </div>\n </div>\n </div>\n</div>\n", styles: [".general-container{position:relative;width:fit-content}.main-input-container{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:var(--Size-3);position:relative;width:fit-content}.main-input-container .overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;cursor:pointer}.line-color-preview{width:40px;height:40px;border-radius:50%;border:1px solid var(--Gray-Gray-200);display:flex;justify-content:center;align-items:center;padding:5px}.line-color-preview .color-preview{width:100%;height:100%;border-radius:50%;border:1px solid var(--Gray-Gray-200)}.position-right{top:0;left:250px}.position-left{top:0;right:200px}.position-top{bottom:55px}.position-bottom{top:55px}.position-bottom:before{transform:rotate(90deg);left:50%;top:-15px}.position-right:before{left:-6px;top:10px}.position-top:before{transform:rotate(270deg);left:50%;bottom:-15px}.position-left:before{transform:rotate(180deg);right:-9px}.color-picker-container:before{content:\"\";position:absolute;width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:10px solid var(--Neutral-White);z-index:1}.color-picker-container{width:280px;padding:var(--Size-4);background:var(--Neutral-White);border-radius:var(--Size-2);box-shadow:var(--Shadow-large);position:absolute;z-index:100;transform-origin:top left;opacity:0;transition:transform .2s ease-out,opacity .2s ease-out;pointer-events:none}.color-picker-container .main-color-canvas-container{position:relative;margin-bottom:var(--Size-4);border:1px solid var(--Gray-Gray-200);border-radius:var(--Size-1);display:flex;justify-self:center;align-items:center}.color-picker-container .main-color-canvas-container canvas{display:block;border-radius:var(--Size-1)}.color-picker-container .main-color-canvas-container .color-selector-pointer{position:absolute;width:var(--Size-3);height:var(--Size-3);border:2px solid var(--Neutral-White);border-radius:50%;transform:translate(-6px,-6px);pointer-events:none}.color-picker-container .slider-container{display:flex;flex-direction:column;gap:var(--Size-3)}.color-picker-container .slider-container .slider-group{display:flex;flex-direction:column;gap:var(--Size-1)}.color-picker-container .slider-container .slider-group label{font-size:var(--font-size-xs);color:var(--Gray-Gray-500);font-weight:700}.color-picker-container .slider-container .slider-group .hue-slider-container,.color-picker-container .slider-container .slider-group .opacity-slider-container{position:relative;height:var(--Size-3);border-radius:var(--Size-4);overflow:hidden}.color-picker-container .slider-container .slider-group .hue-slider-container canvas,.color-picker-container .slider-container .slider-group .opacity-slider-container canvas{display:block;width:100%;height:100%}.color-picker-container .slider-container .slider-group .hue-slider-container .slider-pointer,.color-picker-container .slider-container .slider-group .opacity-slider-container .slider-pointer{position:absolute;top:0;height:var(--Size-3);width:var(--Size-3);background:transparent;border:2px solid var(--Neutral-White);border-radius:50%;pointer-events:none}.color-picker-container.show{transform:scale(1);opacity:1;pointer-events:auto}.color-info .color-label{font-size:var(--font-size-xs);color:var(--Gray-Gray-500);font-weight:700;text-transform:uppercase;margin-bottom:var(--Size-2)}.color-info .color-input{border:1px solid #ddd;border-radius:var(--Size-1);padding:6px 8px;font-size:var(--font-size-s);width:100%;font-family:monospace;text-transform:uppercase}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
4701
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ColorPickerComponent, isStandalone: true, selector: "app-color-picker", inputs: { currentColor: "currentColor", position: "position" }, outputs: { colorChange: "colorChange" }, host: { listeners: { "document:mousemove": "onMouseMove($event)", "document:mouseup": "onMouseUp()", "document:click": "handleClickOutside($event)" } }, viewQueries: [{ propertyName: "colorCanvas", first: true, predicate: ["colorCanvas"], descendants: true }, { propertyName: "hueCanvas", first: true, predicate: ["hueCanvas"], descendants: true }, { propertyName: "opacityCanvas", first: true, predicate: ["opacityCanvas"], descendants: true }, { propertyName: "colorPicker", first: true, predicate: ["colorPicker"], descendants: true }], ngImport: i0, template: "<div class=\"general-container\" #colorPicker>\n <div class=\"main-input-container\">\n <div class=\"overlay\" (click)=\"showEditor()\"></div>\n <div class=\"line-color-preview\">\n <div class=\"color-preview\" [style.background]=\"currentColor\"></div>\n </div>\n <div class=\"color-info\">\n <input type=\"text\" class=\"color-input\" [ngModel]=\"currentColor\" maxlength=\"9\" />\n </div>\n </div>\n\n <div class=\"color-picker-container position-{{position}}\" [ngClass]=\"{ show: showEdit }\">\n <div class=\"main-color-canvas-container\">\n <canvas #colorCanvas width=\"256\" height=\"150\" (mousedown)=\"onColorMouseDown($event)\"></canvas>\n <div\n class=\"color-selector-pointer\"\n [style.left]=\"(saturation / 100) * 256 + 'px'\"\n [style.top]=\"((100 - value) / 100) * 150 + 'px'\"\n ></div>\n </div>\n\n <div class=\"slider-container\">\n <div class=\"slider-group\">\n <div class=\"hue-slider-container\">\n <canvas #hueCanvas width=\"256\" height=\"20\" (mousedown)=\"onHueMouseDown($event)\"></canvas>\n <div class=\"slider-pointer\" [style.left]=\"(hue / 360) * 234 + 'px'\"></div>\n </div>\n </div>\n\n <div class=\"slider-group\">\n <div class=\"opacity-slider-container\">\n <canvas\n #opacityCanvas\n width=\"256\"\n height=\"20\"\n (mousedown)=\"onOpacityMouseDown($event)\"\n ></canvas>\n <div class=\"slider-pointer\" [style.left]=\"(opacity / 100) * 234 + 'px'\"></div>\n </div>\n </div>\n\n <div class=\"color-info\">\n <div class=\"color-label\">HEX</div>\n <input\n type=\"text\"\n class=\"color-input\"\n [(ngModel)]=\"color\"\n (ngModelChange)=\"onHexInputChange()\"\n maxlength=\"9\"\n />\n </div>\n </div>\n </div>\n</div>\n", styles: [".general-container{position:relative;width:fit-content}.main-input-container{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:var(--Size-3);position:relative;width:fit-content}.main-input-container .overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;cursor:pointer}.line-color-preview{width:40px;height:40px;border-radius:50%;border:1px solid var(--Gray-Gray-200);display:flex;justify-content:center;align-items:center;padding:5px}.line-color-preview .color-preview{width:100%;height:100%;border-radius:50%;border:1px solid var(--Gray-Gray-200)}.position-right{top:0;left:250px}.position-left{top:0;right:200px}.position-top{bottom:55px}.position-bottom{top:55px}.position-bottom:before{transform:rotate(90deg);left:50%;top:-15px}.position-right:before{left:-6px;top:10px}.position-top:before{transform:rotate(270deg);left:50%;bottom:-15px}.position-left:before{transform:rotate(180deg);right:-9px}.color-picker-container:before{content:\"\";position:absolute;width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:10px solid var(--Neutral-White);z-index:1}.color-picker-container{width:280px;padding:var(--Size-4);background:var(--Neutral-White);border-radius:var(--Size-2);box-shadow:var(--Shadow-large);position:absolute;z-index:100;transform-origin:top left;opacity:0;transition:transform .2s ease-out,opacity .2s ease-out;pointer-events:none}.color-picker-container .main-color-canvas-container{position:relative;margin-bottom:var(--Size-4);border:1px solid var(--Gray-Gray-200);border-radius:var(--Size-1);display:flex;justify-self:center;align-items:center}.color-picker-container .main-color-canvas-container canvas{display:block;border-radius:var(--Size-1)}.color-picker-container .main-color-canvas-container .color-selector-pointer{position:absolute;width:var(--Size-3);height:var(--Size-3);border:2px solid var(--Neutral-White);border-radius:50%;transform:translate(-6px,-6px);pointer-events:none}.color-picker-container .slider-container{display:flex;flex-direction:column;gap:var(--Size-3)}.color-picker-container .slider-container .slider-group{display:flex;flex-direction:column;gap:var(--Size-1)}.color-picker-container .slider-container .slider-group label{font-size:var(--font-size-xs);color:var(--Gray-Gray-500);font-weight:700}.color-picker-container .slider-container .slider-group .hue-slider-container,.color-picker-container .slider-container .slider-group .opacity-slider-container{position:relative;height:var(--Size-3);border-radius:var(--Size-4);overflow:hidden}.color-picker-container .slider-container .slider-group .hue-slider-container canvas,.color-picker-container .slider-container .slider-group .opacity-slider-container canvas{display:block;width:100%;height:100%}.color-picker-container .slider-container .slider-group .hue-slider-container .slider-pointer,.color-picker-container .slider-container .slider-group .opacity-slider-container .slider-pointer{position:absolute;top:0;height:var(--Size-3);width:var(--Size-3);background:transparent;border:2px solid var(--Neutral-White);border-radius:50%;pointer-events:none}.color-picker-container.show{transform:scale(1);opacity:1;pointer-events:auto}.color-info .color-label{font-size:var(--font-size-xs);color:var(--Gray-Gray-500);font-weight:700;text-transform:uppercase;margin-bottom:var(--Size-2)}.color-info .color-input{border:1px solid #ddd;border-radius:var(--Size-1);padding:6px 8px;font-size:var(--font-size-s);width:100%;font-family:monospace;text-transform:uppercase}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
4673
4702
|
}
|
|
4674
4703
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColorPickerComponent, decorators: [{
|
|
4675
4704
|
type: Component,
|
|
@@ -4747,7 +4776,7 @@ class EmptyStateComponent {
|
|
|
4747
4776
|
this.buttonClickEvent.emit();
|
|
4748
4777
|
}
|
|
4749
4778
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EmptyStateComponent, deps: [{ token: "SettingsService" }], target: i0.ɵɵFactoryTarget.Component });
|
|
4750
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: EmptyStateComponent, isStandalone: true, selector: "app-empty-state", inputs: { buttonText: "buttonText", description: "description", buttonSeverity: "buttonSeverity", title: "title", dropiIcon: "dropiIcon" }, outputs: { buttonClickEvent: "buttonClickEvent" }, ngImport: i0, template: "<div class=\"container\">\n <div class=\"empty-container\">\n <!-- <img\n class=\"empty-dropi-icon\"\n *ngIf=\"brandName === 'dropi'\"\n src=\"\\assets\\utils\\logo-dropi-img-loader.png\"\n alt=\"\"\n /> -->\n <dropi-ilustration-icon class=\"empty-dropi-icon\" *ngIf=\"brandName === 'dropi'\" [type]=\"'dropi' \" [state]=\"dropiIcon\"\n ></dropi-ilustration-icon>\n <div class=\"icon-container\" *ngIf=\"brandName !== 'dropi'\">\n <app-icon name=\"Warning-circle\" width=\"24px\" color=\"Gray-Gray-500\"></app-icon>\n </div>\n <div class=\"text-container\">\n <div *ngIf=\"title !== ''\" class=\"empty-title Body-L-Medium\">\n {{ title | translate }}\n </div>\n <div class=\"description-container\">\n <div class=\"description Body-M-Regular\">{{ description | translate }}</div>\n </div>\n </div>\n\n <dropi-button\n *ngIf=\"buttonText !== ''\"\n [text]=\"buttonText | translate\"\n [severity]=\"buttonSeverity\"\n (onClick)=\"buttonClick()\"\n ></dropi-button>\n </div>\n</div>\n", styles: [".description{color:var(--Gray-500, #69738c);text-align:center;max-width:400px;align-self:stretch;width:100%}.icon-container{display:flex;width:48px;height:48px;flex-direction:column;justify-content:center;align-items:center;gap:8px;border-radius:var(--Size-7, 40px);background:var(--GrayGray-50, #f7f8fa)}.empty-dropi-icon{height:60px;flex-shrink:0;width:60px;filter:brightness(0) saturate(100%) invert(73%) sepia(9%) saturate(503%) hue-rotate(187deg) brightness(91%) contrast(88%)}.empty-container{display:flex;width:420px;padding:var(--Size-4, 16px);flex-direction:column;align-items:center;gap:var(--Size-4, 16px)}.container{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.description-container{width:100%;display:flex;align-items:center;justify-content:center}.text-container{display:flex;flex-direction:column;align-items:center;gap:var(--Size-2, 8px);align-self:stretch}.empty-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;align-self:stretch;overflow:hidden;color:var(--Gray-Gray-700, #32394d);text-align:center;text-overflow:ellipsis}@media screen and (max-width: 600px){.description{max-width:calc(100vw - 32px);width:100%}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "width", "height", "color"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2
|
|
4779
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: EmptyStateComponent, isStandalone: true, selector: "app-empty-state", inputs: { buttonText: "buttonText", description: "description", buttonSeverity: "buttonSeverity", title: "title", dropiIcon: "dropiIcon" }, outputs: { buttonClickEvent: "buttonClickEvent" }, ngImport: i0, template: "<div class=\"container\">\n <div class=\"empty-container\">\n <!-- <img\n class=\"empty-dropi-icon\"\n *ngIf=\"brandName === 'dropi'\"\n src=\"\\assets\\utils\\logo-dropi-img-loader.png\"\n alt=\"\"\n /> -->\n <dropi-ilustration-icon class=\"empty-dropi-icon\" *ngIf=\"brandName === 'dropi'\" [type]=\"'dropi' \" [state]=\"dropiIcon\"\n ></dropi-ilustration-icon>\n <div class=\"icon-container\" *ngIf=\"brandName !== 'dropi'\">\n <app-icon name=\"Warning-circle\" width=\"24px\" color=\"Gray-Gray-500\"></app-icon>\n </div>\n <div class=\"text-container\">\n <div *ngIf=\"title !== ''\" class=\"empty-title Body-L-Medium\">\n {{ title | translate }}\n </div>\n <div class=\"description-container\">\n <div class=\"description Body-M-Regular\">{{ description | translate }}</div>\n </div>\n </div>\n\n <dropi-button\n *ngIf=\"buttonText !== ''\"\n [text]=\"buttonText | translate\"\n [severity]=\"buttonSeverity\"\n (onClick)=\"buttonClick()\"\n ></dropi-button>\n </div>\n</div>\n", styles: [".description{color:var(--Gray-500, #69738c);text-align:center;max-width:400px;align-self:stretch;width:100%}.icon-container{display:flex;width:48px;height:48px;flex-direction:column;justify-content:center;align-items:center;gap:8px;border-radius:var(--Size-7, 40px);background:var(--GrayGray-50, #f7f8fa)}.empty-dropi-icon{height:60px;flex-shrink:0;width:60px;filter:brightness(0) saturate(100%) invert(73%) sepia(9%) saturate(503%) hue-rotate(187deg) brightness(91%) contrast(88%)}.empty-container{display:flex;width:420px;padding:var(--Size-4, 16px);flex-direction:column;align-items:center;gap:var(--Size-4, 16px)}.container{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.description-container{width:100%;display:flex;align-items:center;justify-content:center}.text-container{display:flex;flex-direction:column;align-items:center;gap:var(--Size-2, 8px);align-self:stretch}.empty-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;align-self:stretch;overflow:hidden;color:var(--Gray-Gray-700, #32394d);text-align:center;text-overflow:ellipsis}@media screen and (max-width: 600px){.description{max-width:calc(100vw - 32px);width:100%}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "width", "height", "color"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: DropiIlustrationIconComponent, selector: "dropi-ilustration-icon", inputs: ["type", "state", "stateInsignia", "tagProduct"] }] });
|
|
4751
4780
|
}
|
|
4752
4781
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EmptyStateComponent, decorators: [{
|
|
4753
4782
|
type: Component,
|
|
@@ -4843,7 +4872,7 @@ class DropZoneComponent {
|
|
|
4843
4872
|
this.addFiles.emit(files);
|
|
4844
4873
|
}
|
|
4845
4874
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropZoneComponent, deps: [{ token: "UploadFileService" }, { token: "CompressImagesService" }], target: i0.ɵɵFactoryTarget.Component });
|
|
4846
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropZoneComponent, isStandalone: true, selector: "app-drop-zone", inputs: { multiple: "multiple", accept: "accept", maxFiles: "maxFiles", maxFileSizeMB: "maxFileSizeMB", title: "title", label: "label", viewDragAndDrop: "viewDragAndDrop", compress: "compress", maxHeight: "maxHeight", maxWidth: "maxWidth", textButton: "textButton", textFileUpload: "textFileUpload" }, outputs: { addFiles: "addFiles" }, ngImport: i0, template: "<div\n class=\"file-upload\"\n (drop)=\"onDrop($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n>\n <div *ngIf=\"!isNotStore\" class=\"file-upload__zone\" [class.drag-over]=\"dragOver\">\n <svg\n *ngIf=\"size === 'default'\"\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M0 20C0 8.95431 8.95431 0 20 0C31.0457 0 40 8.95431 40 20C40 31.0457 31.0457 40 20 40C8.95431 40 0 31.0457 0 20Z\"\n fill=\"#FEF8F1\"\n />\n <g clip-path=\"url(#clip0_183_10598)\">\n <path\n d=\"M19.3379 13.7187L19.3332 24.0107C19.3332 24.1875 19.4035 24.357 19.5285 24.4821C19.6535 24.6071 19.8231 24.6773 19.9999 24.6773C20.1767 24.6773 20.3463 24.6071 20.4713 24.4821C20.5963 24.357 20.6666 24.1875 20.6666 24.0107L20.6712 13.73L22.6126 15.672C22.7376 15.797 22.9071 15.8672 23.0839 15.8672C23.2607 15.8672 23.4302 15.797 23.5552 15.672C23.6802 15.547 23.7504 15.3774 23.7504 15.2007C23.7504 15.0239 23.6802 14.8543 23.5552 14.7293L21.4145 12.586C21.2288 12.4001 21.0083 12.2527 20.7655 12.1521C20.5228 12.0515 20.2626 11.9998 19.9999 11.9998C19.7371 11.9998 19.477 12.0515 19.2342 12.1521C18.9915 12.2527 18.771 12.4001 18.5852 12.586L16.4445 14.7273C16.3196 14.8523 16.2494 15.0219 16.2494 15.1987C16.2494 15.3754 16.3196 15.545 16.4445 15.67C16.5696 15.795 16.7391 15.8652 16.9159 15.8652C17.0927 15.8652 17.2622 15.795 17.3872 15.67L19.3379 13.7187Z\"\n fill=\"#F49A3D\"\n />\n <path\n d=\"M26.6667 23.3329V25.9996C26.6667 26.1764 26.5964 26.346 26.4714 26.471C26.3464 26.596 26.1768 26.6663 26 26.6663H14C13.8232 26.6663 13.6536 26.596 13.5286 26.471C13.4036 26.346 13.3333 26.1764 13.3333 25.9996V23.3329C13.3333 23.1561 13.2631 22.9865 13.1381 22.8615C13.013 22.7365 12.8435 22.6663 12.6667 22.6663C12.4899 22.6663 12.3203 22.7365 12.1953 22.8615C12.0702 22.9865 12 23.1561 12 23.3329V25.9996C12 26.53 12.2107 27.0387 12.5858 27.4138C12.9609 27.7889 13.4696 27.9996 14 27.9996H26C26.5304 27.9996 27.0391 27.7889 27.4142 27.4138C27.7893 27.0387 28 26.53 28 25.9996V23.3329C28 23.1561 27.9298 22.9865 27.8047 22.8615C27.6797 22.7365 27.5101 22.6663 27.3333 22.6663C27.1565 22.6663 26.987 22.7365 26.8619 22.8615C26.7369 22.9865 26.6667 23.1561 26.6667 23.3329Z\"\n fill=\"#F49A3D\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_183_10598\">\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(12 12)\" />\n </clipPath>\n </defs>\n </svg>\n <div class=\"info\">\n <div [ngClass]=\"{ 'size-small-upload': size === 'small' }\">\n <div class=\"title\">{{ textFileUpload | translate }}</div>\n <dropi-button\n *ngIf=\"size !== 'default'\"\n (onClick)=\"fileInput.click()\"\n [text]=\"textButton\"\n size=\"small\"\n ></dropi-button>\n </div>\n\n <div *ngIf=\"size === 'default'\">\n <div class=\"description\">\n {{ ('Supported formats' | translate) + ': ' }} {{ accept.join(', ') }}\n </div>\n <div class=\"description\">\n {{ ('Maximum size' | translate) + ': ' }} {{ maxFileSizeMB }}MB\n </div>\n </div>\n\n <div *ngIf=\"size !== 'default'\">\n <div class=\"description\">\n {{ ('Supported formats' | translate) + ': ' }} {{ accept.join(', ') }}.\n {{ ('Maximum size' | translate) + ': ' }} {{ maxFileSizeMB }}MB\n </div>\n <div class=\"description\"></div>\n </div>\n </div>\n\n <dropi-button\n *ngIf=\"size == 'default'\"\n (onClick)=\"fileInput.click()\"\n [text]=\"textButton\"\n size=\"small\"\n ></dropi-button>\n <input\n #fileInput\n type=\"file\"\n [attr.multiple]=\"multiple ? '' : null\"\n [attr.accept]=\"acceptedMimeTypes?.join(',')\"\n (change)=\"onFileChange($event)\"\n hidden\n />\n </div>\n\n <div class=\"container-buttons-file\" *ngIf=\"isNotStore\">\n <dropi-button\n *ngIf=\"uploadStatus == 'idle' || uploadStatus == 'error' || uploadStatus == 'loading'\"\n [state]=\"disabled ? 'disabled' : stateButton\"\n preIcon=\"File-upload\"\n (onClick)=\"fileInput.click()\"\n [text]=\"textButton | translate\"\n ></dropi-button>\n <div *ngIf=\"uploadStatus == 'success'\" class=\"button-mock\">\n {{ fileCharged }}\n <div class=\"\">\n <app-icon\n (click)=\"clearFile()\"\n class=\"colse-circle-mock\"\n name=\"Close-small\"\n width=\"12px\"\n height=\"12px\"\n color=\"Primary-Primary-500\"\n ></app-icon>\n </div>\n </div>\n <input\n #fileInput\n type=\"file\"\n [attr.multiple]=\"multiple ? '' : null\"\n [attr.accept]=\"acceptedMimeTypes?.join(',')\"\n (change)=\"onFileChange($event)\"\n hidden\n />\n </div>\n</div>\n", styles: [".file-upload{display:flex;width:100%;flex-direction:column;justify-content:center;align-items:center;gap:var(--Size-3, 12px);background:var(--White, #fff)}.file-upload__zone{display:flex;padding:var(--Size-5);flex-direction:column;justify-content:center;align-items:center;gap:var(--Size-6);align-self:stretch;border-radius:var(--Border-2, 8px);border:1px dashed var(--Gray-Gray-200);background:var(--White);text-align:center;transition:border-color .3s ease}.file-upload__zone.drag-over{border:1px dashed var(--Primary-Primary-500, #f49a3d);background:var(--Primary-Primary-50, #fef8f1)}.file-upload__zone .info{display:flex;flex-direction:column;align-items:center;gap:var(--Size-2);align-self:stretch}.file-upload__zone .info .title{color:var(--Gray-Gray-700);text-align:center;text-overflow:ellipsis;font-size:var(--font-size-m);font-weight:500;line-height:150%}.file-upload__zone .info .description{color:var(--GrayGray-600, #475066);text-align:center;font-size:var(--font-size-s);font-style:normal;font-weight:400;line-height:150%}.file-upload__zone .size-small-upload{gap:var(--Size-3);display:flex;flex-direction:row!important}.file-upload .container-buttons-file{position:relative;display:flex;flex-direction:column}.file-upload .container-buttons-file span{position:absolute;top:50px}.file-upload .container-buttons-file .button-mock{padding:10px;border:1px solid var(--Primary-Primary-500);border-radius:8px;color:var(--Primary-Primary-500);display:flex;align-items:center;font-size:14px;gap:.5rem}.file-upload .container-buttons-file .button-mock .colse-circle-mock{cursor:pointer;border:1px solid var(--Primary-Primary-500);display:flex;justify-content:center;align-items:center;border-radius:50%;width:14px;height:14px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "width", "height", "color"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2
|
|
4875
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropZoneComponent, isStandalone: true, selector: "app-drop-zone", inputs: { multiple: "multiple", accept: "accept", maxFiles: "maxFiles", maxFileSizeMB: "maxFileSizeMB", title: "title", label: "label", viewDragAndDrop: "viewDragAndDrop", compress: "compress", maxHeight: "maxHeight", maxWidth: "maxWidth", textButton: "textButton", textFileUpload: "textFileUpload" }, outputs: { addFiles: "addFiles" }, ngImport: i0, template: "<div\n class=\"file-upload\"\n (drop)=\"onDrop($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n>\n <div *ngIf=\"!isNotStore\" class=\"file-upload__zone\" [class.drag-over]=\"dragOver\">\n <svg\n *ngIf=\"size === 'default'\"\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M0 20C0 8.95431 8.95431 0 20 0C31.0457 0 40 8.95431 40 20C40 31.0457 31.0457 40 20 40C8.95431 40 0 31.0457 0 20Z\"\n fill=\"#FEF8F1\"\n />\n <g clip-path=\"url(#clip0_183_10598)\">\n <path\n d=\"M19.3379 13.7187L19.3332 24.0107C19.3332 24.1875 19.4035 24.357 19.5285 24.4821C19.6535 24.6071 19.8231 24.6773 19.9999 24.6773C20.1767 24.6773 20.3463 24.6071 20.4713 24.4821C20.5963 24.357 20.6666 24.1875 20.6666 24.0107L20.6712 13.73L22.6126 15.672C22.7376 15.797 22.9071 15.8672 23.0839 15.8672C23.2607 15.8672 23.4302 15.797 23.5552 15.672C23.6802 15.547 23.7504 15.3774 23.7504 15.2007C23.7504 15.0239 23.6802 14.8543 23.5552 14.7293L21.4145 12.586C21.2288 12.4001 21.0083 12.2527 20.7655 12.1521C20.5228 12.0515 20.2626 11.9998 19.9999 11.9998C19.7371 11.9998 19.477 12.0515 19.2342 12.1521C18.9915 12.2527 18.771 12.4001 18.5852 12.586L16.4445 14.7273C16.3196 14.8523 16.2494 15.0219 16.2494 15.1987C16.2494 15.3754 16.3196 15.545 16.4445 15.67C16.5696 15.795 16.7391 15.8652 16.9159 15.8652C17.0927 15.8652 17.2622 15.795 17.3872 15.67L19.3379 13.7187Z\"\n fill=\"#F49A3D\"\n />\n <path\n d=\"M26.6667 23.3329V25.9996C26.6667 26.1764 26.5964 26.346 26.4714 26.471C26.3464 26.596 26.1768 26.6663 26 26.6663H14C13.8232 26.6663 13.6536 26.596 13.5286 26.471C13.4036 26.346 13.3333 26.1764 13.3333 25.9996V23.3329C13.3333 23.1561 13.2631 22.9865 13.1381 22.8615C13.013 22.7365 12.8435 22.6663 12.6667 22.6663C12.4899 22.6663 12.3203 22.7365 12.1953 22.8615C12.0702 22.9865 12 23.1561 12 23.3329V25.9996C12 26.53 12.2107 27.0387 12.5858 27.4138C12.9609 27.7889 13.4696 27.9996 14 27.9996H26C26.5304 27.9996 27.0391 27.7889 27.4142 27.4138C27.7893 27.0387 28 26.53 28 25.9996V23.3329C28 23.1561 27.9298 22.9865 27.8047 22.8615C27.6797 22.7365 27.5101 22.6663 27.3333 22.6663C27.1565 22.6663 26.987 22.7365 26.8619 22.8615C26.7369 22.9865 26.6667 23.1561 26.6667 23.3329Z\"\n fill=\"#F49A3D\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_183_10598\">\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(12 12)\" />\n </clipPath>\n </defs>\n </svg>\n <div class=\"info\">\n <div [ngClass]=\"{ 'size-small-upload': size === 'small' }\">\n <div class=\"title\">{{ textFileUpload | translate }}</div>\n <dropi-button\n *ngIf=\"size !== 'default'\"\n (onClick)=\"fileInput.click()\"\n [text]=\"textButton\"\n size=\"small\"\n ></dropi-button>\n </div>\n\n <div *ngIf=\"size === 'default'\">\n <div class=\"description\">\n {{ ('Supported formats' | translate) + ': ' }} {{ accept.join(', ') }}\n </div>\n <div class=\"description\">\n {{ ('Maximum size' | translate) + ': ' }} {{ maxFileSizeMB }}MB\n </div>\n </div>\n\n <div *ngIf=\"size !== 'default'\">\n <div class=\"description\">\n {{ ('Supported formats' | translate) + ': ' }} {{ accept.join(', ') }}.\n {{ ('Maximum size' | translate) + ': ' }} {{ maxFileSizeMB }}MB\n </div>\n <div class=\"description\"></div>\n </div>\n </div>\n\n <dropi-button\n *ngIf=\"size == 'default'\"\n (onClick)=\"fileInput.click()\"\n [text]=\"textButton\"\n size=\"small\"\n ></dropi-button>\n <input\n #fileInput\n type=\"file\"\n [attr.multiple]=\"multiple ? '' : null\"\n [attr.accept]=\"acceptedMimeTypes?.join(',')\"\n (change)=\"onFileChange($event)\"\n hidden\n />\n </div>\n\n <div class=\"container-buttons-file\" *ngIf=\"isNotStore\">\n <dropi-button\n *ngIf=\"uploadStatus == 'idle' || uploadStatus == 'error' || uploadStatus == 'loading'\"\n [state]=\"disabled ? 'disabled' : stateButton\"\n preIcon=\"File-upload\"\n (onClick)=\"fileInput.click()\"\n [text]=\"textButton | translate\"\n ></dropi-button>\n <div *ngIf=\"uploadStatus == 'success'\" class=\"button-mock\">\n {{ fileCharged }}\n <div class=\"\">\n <app-icon\n (click)=\"clearFile()\"\n class=\"colse-circle-mock\"\n name=\"Close-small\"\n width=\"12px\"\n height=\"12px\"\n color=\"Primary-Primary-500\"\n ></app-icon>\n </div>\n </div>\n <input\n #fileInput\n type=\"file\"\n [attr.multiple]=\"multiple ? '' : null\"\n [attr.accept]=\"acceptedMimeTypes?.join(',')\"\n (change)=\"onFileChange($event)\"\n hidden\n />\n </div>\n</div>\n", styles: [".file-upload{display:flex;width:100%;flex-direction:column;justify-content:center;align-items:center;gap:var(--Size-3, 12px);background:var(--White, #fff)}.file-upload__zone{display:flex;padding:var(--Size-5);flex-direction:column;justify-content:center;align-items:center;gap:var(--Size-6);align-self:stretch;border-radius:var(--Border-2, 8px);border:1px dashed var(--Gray-Gray-200);background:var(--White);text-align:center;transition:border-color .3s ease}.file-upload__zone.drag-over{border:1px dashed var(--Primary-Primary-500, #f49a3d);background:var(--Primary-Primary-50, #fef8f1)}.file-upload__zone .info{display:flex;flex-direction:column;align-items:center;gap:var(--Size-2);align-self:stretch}.file-upload__zone .info .title{color:var(--Gray-Gray-700);text-align:center;text-overflow:ellipsis;font-size:var(--font-size-m);font-weight:500;line-height:150%}.file-upload__zone .info .description{color:var(--GrayGray-600, #475066);text-align:center;font-size:var(--font-size-s);font-style:normal;font-weight:400;line-height:150%}.file-upload__zone .size-small-upload{gap:var(--Size-3);display:flex;flex-direction:row!important}.file-upload .container-buttons-file{position:relative;display:flex;flex-direction:column}.file-upload .container-buttons-file span{position:absolute;top:50px}.file-upload .container-buttons-file .button-mock{padding:10px;border:1px solid var(--Primary-Primary-500);border-radius:8px;color:var(--Primary-Primary-500);display:flex;align-items:center;font-size:14px;gap:.5rem}.file-upload .container-buttons-file .button-mock .colse-circle-mock{cursor:pointer;border:1px solid var(--Primary-Primary-500);display:flex;justify-content:center;align-items:center;border-radius:50%;width:14px;height:14px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "width", "height", "color"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
|
|
4847
4876
|
}
|
|
4848
4877
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropZoneComponent, decorators: [{
|
|
4849
4878
|
type: Component,
|
|
@@ -4905,7 +4934,7 @@ class CardViewComponent {
|
|
|
4905
4934
|
}
|
|
4906
4935
|
}
|
|
4907
4936
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardViewComponent, deps: [{ token: "ImageOverlayService" }], target: i0.ɵɵFactoryTarget.Component });
|
|
4908
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CardViewComponent, isStandalone: true, selector: "app-card-view", inputs: { fileItem: "fileItem", onlyView: "onlyView" }, outputs: { action: "action" }, ngImport: i0, template: "<div class=\"file-card\" [ngClass]=\"[fileItem.state, getFileTypeClass(fileItem.file)]\">\n <ng-container\n *ngIf=\"fileItem.previewUrl && !fileItem.previewUrl.includes('.pdf'); else iconTemplate\"\n >\n <div class=\"preview-wrapper\">\n <img\n [ngClass]=\"fileItem.state\"\n class=\"preview\"\n [src]=\"fileItem.previewUrl || './assets/utils/template-no-image.png'\"\n alt=\"fileItem.previewUrl\"\n />\n\n <ng-container *ngIf=\"fileItem.state === 'complete'\">\n <div class=\"overlay-icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n >\n <g clip-path=\"url(#clip0_5064_216)\">\n <path\n d=\"M11.1594 2.2155L4.24992 9.1245C4.20347 9.17114 4.14826 9.20815 4.08747 9.2334C4.02668 9.25865 3.9615 9.27165 3.89567 9.27165C3.82985 9.27165 3.76467 9.25865 3.70388 9.2334C3.64308 9.20815 3.58788 9.17114 3.54142 9.1245L0.869423 6.45C0.822969 6.40337 0.767762 6.36636 0.70697 6.34111C0.646179 6.31586 0.581 6.30286 0.515173 6.30286C0.449346 6.30286 0.384167 6.31586 0.323376 6.34111C0.262585 6.36636 0.207378 6.40337 0.160923 6.45C0.114285 6.49646 0.0772787 6.55167 0.0520278 6.61246C0.026777 6.67325 0.0137787 6.73843 0.0137787 6.80425C0.0137787 6.87008 0.026777 6.93526 0.0520278 6.99605C0.0772787 7.05684 0.114285 7.11205 0.160923 7.1585L2.83392 9.831C3.1159 10.1125 3.49802 10.2705 3.89642 10.2705C4.29482 10.2705 4.67695 10.1125 4.95892 9.831L11.8679 2.9235C11.9145 2.87706 11.9514 2.82188 11.9766 2.76114C12.0018 2.70039 12.0148 2.63527 12.0148 2.5695C12.0148 2.50374 12.0018 2.43862 11.9766 2.37787C11.9514 2.31713 11.9145 2.26195 11.8679 2.2155C11.8215 2.16887 11.7663 2.13186 11.7055 2.10661C11.6447 2.08136 11.5795 2.06836 11.5137 2.06836C11.4478 2.06836 11.3827 2.08136 11.3219 2.10661C11.2611 2.13186 11.2059 2.16887 11.1594 2.2155Z\"\n fill=\"#0ABB87\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_5064_216\">\n <rect width=\"12\" height=\"12\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n </div>\n </ng-container>\n </div>\n </ng-container>\n\n <!--iconos de documento-->\n <ng-template #iconTemplate>\n <div class=\"file-icon\">\n <ng-container>\n <svg\n *ngIf=\"viewType('pdf')\"\n class=\"icon-pdf\"\n width=\"34\"\n height=\"34\"\n viewBox=\"0 0 34 34\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M0 8C0 3.58172 3.58172 0 8 0H26C30.4183 0 34 3.58172 34 8V26C34 30.4183 30.4183 34 26 34H8C3.58172 34 0 30.4183 0 26V8Z\"\n fill=\"#FEF0F0\"\n />\n <g clip-path=\"url(#clip0_3287_1674)\">\n <path\n d=\"M24.1252 11.1167L21.2168 8.20833C20.1168 7.10833 18.6502 6.5 17.0918 6.5H13.3335C11.0335 6.5 9.16684 8.36667 9.16684 10.6667V22.3333C9.16684 24.6333 11.0335 26.5 13.3335 26.5H21.6668C23.9668 26.5 25.8335 24.6333 25.8335 22.3333V15.2417C25.8335 13.6833 25.2252 12.2167 24.1252 11.1167ZM22.9502 12.2917C23.2168 12.5583 23.4418 12.85 23.6252 13.1667H20.0085C19.5502 13.1667 19.1752 12.7917 19.1752 12.3333V8.71667C19.4918 8.9 19.7835 9.125 20.0502 9.39167L22.9585 12.3L22.9502 12.2917ZM24.1668 22.3333C24.1668 23.7083 23.0418 24.8333 21.6668 24.8333H13.3335C11.9585 24.8333 10.8335 23.7083 10.8335 22.3333V10.6667C10.8335 9.29167 11.9585 8.16667 13.3335 8.16667H17.0918C17.2252 8.16667 17.3668 8.16667 17.5002 8.18333V12.3333C17.5002 13.7083 18.6252 14.8333 20.0002 14.8333H24.1502C24.1668 14.9667 24.1668 15.1 24.1668 15.2417V22.3333ZM13.4085 17.3333H12.5002C12.0418 17.3333 11.6668 17.7083 11.6668 18.1667V21.8667C11.6668 22.1583 11.9002 22.3833 12.1835 22.3833C12.4668 22.3833 12.7002 22.15 12.7002 21.8667V20.85H13.4002C14.3835 20.85 15.1835 20.0583 15.1835 19.0917C15.1835 18.125 14.3835 17.3333 13.4002 17.3333H13.4085ZM13.4085 19.8083H12.7168V18.375H13.4168C13.8168 18.375 14.1585 18.7 14.1585 19.0917C14.1585 19.4833 13.8168 19.8083 13.4168 19.8083H13.4085ZM23.3502 17.8583C23.3502 18.15 23.1168 18.375 22.8335 18.375H21.4252V19.325H22.4585C22.7502 19.325 22.9752 19.5583 22.9752 19.8417C22.9752 20.125 22.7418 20.3583 22.4585 20.3583H21.4252V21.8583C21.4252 22.15 21.1918 22.375 20.9085 22.375C20.6252 22.375 20.3918 22.1417 20.3918 21.8583V17.85C20.3918 17.5583 20.6252 17.3333 20.9085 17.3333H22.8335C23.1252 17.3333 23.3502 17.5667 23.3502 17.85V17.8583ZM17.5752 17.3417H16.6668C16.2085 17.3417 15.8335 17.7167 15.8335 18.175V21.875C15.8335 22.1667 16.0668 22.3417 16.3502 22.3417C16.6335 22.3417 17.5668 22.3417 17.5668 22.3417C18.5502 22.3417 19.3502 21.55 19.3502 20.5833V19.1C19.3502 18.1333 18.5502 17.3417 17.5668 17.3417H17.5752ZM18.3168 20.5833C18.3168 20.975 17.9752 21.3 17.5752 21.3H16.8835V18.3833H17.5835C17.9835 18.3833 18.3252 18.7083 18.3252 19.1V20.5833H18.3168Z\"\n fill=\"#DE6061\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_3287_1674\">\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(7.5 6.5)\" />\n </clipPath>\n </defs>\n </svg>\n <svg\n *ngIf=\"viewType('default')\"\n class=\"icon-default\"\n width=\"34\"\n height=\"34\"\n viewBox=\"0 0 34 34\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M0 8C0 3.58172 3.58172 0 8 0H26C30.4183 0 34 3.58172 34 8V26C34 30.4183 30.4183 34 26 34H8C3.58172 34 0 30.4183 0 26V8Z\"\n fill=\"#EEF6FE\"\n />\n <g clip-path=\"url(#clip0_3287_1708)\">\n <path\n d=\"M21.1668 18.6667C21.1668 18.8877 21.079 19.0997 20.9227 19.2559C20.7664 19.4122 20.5545 19.5 20.3335 19.5H13.6668C13.4458 19.5 13.2338 19.4122 13.0775 19.2559C12.9213 19.0997 12.8335 18.8877 12.8335 18.6667C12.8335 18.4457 12.9213 18.2337 13.0775 18.0774C13.2338 17.9211 13.4458 17.8334 13.6668 17.8334H20.3335C20.5545 17.8334 20.7664 17.9211 20.9227 18.0774C21.079 18.2337 21.1668 18.4457 21.1668 18.6667ZM17.8335 21.1667H13.6668C13.4458 21.1667 13.2338 21.2545 13.0775 21.4108C12.9213 21.567 12.8335 21.779 12.8335 22C12.8335 22.221 12.9213 22.433 13.0775 22.5893C13.2338 22.7456 13.4458 22.8334 13.6668 22.8334H17.8335C18.0545 22.8334 18.2664 22.7456 18.4227 22.5893C18.579 22.433 18.6668 22.221 18.6668 22C18.6668 21.779 18.579 21.567 18.4227 21.4108C18.2664 21.2545 18.0545 21.1667 17.8335 21.1667ZM25.3335 15.7375V22.8334C25.3321 23.938 24.8927 24.9971 24.1116 25.7782C23.3305 26.5593 22.2715 26.9987 21.1668 27H12.8335C11.7288 26.9987 10.6698 26.5593 9.88864 25.7782C9.10753 24.9971 8.66812 23.938 8.66679 22.8334V11.1667C8.66812 10.062 9.10753 9.00298 9.88864 8.22187C10.6698 7.44075 11.7288 7.00134 12.8335 7.00002H16.596C17.3623 6.99805 18.1214 7.14801 18.8295 7.44124C19.5375 7.73446 20.1804 8.16513 20.721 8.70835L23.6243 11.6134C24.1678 12.1536 24.5988 12.7962 24.8921 13.5042C25.1855 14.2121 25.3355 14.9712 25.3335 15.7375ZM19.5426 9.88669C19.2804 9.63265 18.9859 9.41412 18.6668 9.23669V12.8334C18.6668 13.0544 18.7546 13.2663 18.9109 13.4226C19.0672 13.5789 19.2791 13.6667 19.5001 13.6667H23.0968C22.9193 13.3477 22.7004 13.0535 22.446 12.7917L19.5426 9.88669ZM23.6668 15.7375C23.6668 15.6 23.6401 15.4684 23.6276 15.3334H19.5001C18.8371 15.3334 18.2012 15.07 17.7324 14.6011C17.2635 14.1323 17.0001 13.4964 17.0001 12.8334V8.70585C16.8651 8.69335 16.7326 8.66669 16.596 8.66669H12.8335C12.1704 8.66669 11.5345 8.93008 11.0657 9.39892C10.5969 9.86776 10.3335 10.5036 10.3335 11.1667V22.8334C10.3335 23.4964 10.5969 24.1323 11.0657 24.6011C11.5345 25.07 12.1704 25.3334 12.8335 25.3334H21.1668C21.8298 25.3334 22.4657 25.07 22.9346 24.6011C23.4034 24.1323 23.6668 23.4964 23.6668 22.8334V15.7375Z\"\n fill=\"#4996DB\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_3287_1708\">\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(7 7)\" />\n </clipPath>\n </defs>\n </svg>\n </ng-container>\n </div>\n </ng-template>\n <div class=\"info-container\" *ngIf=\"fileItem.state !== 'confirm-delete'\">\n <div class=\"file-name\">\n {{ fileItem?.file?.name ?? fileItem?.previewUrl?.split('/').pop() }}\n </div>\n <div class=\"progress-bar-container\" *ngIf=\"fileItem.state === 'uploading'\">\n <div class=\"progress-bar\" [style.width.%]=\"fileItem.progress\"></div>\n </div>\n </div>\n\n <!--Botones de eliminar y ver-->\n\n <div\n class=\"preview-image\"\n *ngIf=\"fileItem.state !== 'confirm-delete' \"\n (click)=\"openPreviewImage()\"\n >\n <app-icon name=\"Eye\" width=\"20px\" height=\"20px\" color=\"Gray-Gray-600\" />\n </div>\n <!-- <div\n class=\"preview-image\"\n *ngIf=\"fileItem.state !== 'confirm-delete' && fileItem.fileType !== 'image'\"\n (click)=\"downloadFile()\"\n >\n <app-icon name=\"Download\" width=\"20px\" height=\"20px\" color=\"Gray-Gray-600\" />\n </div> -->\n\n <div (click)=\"onSendClick('delete')\" *ngIf=\"fileItem.state !== 'confirm-delete' && !onlyView\" class=\"delete\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M16.25 4.44453H14.0972C13.936 3.66078 13.5096 2.95657 12.8897 2.45058C12.2699 1.94459 11.4946 1.66776 10.6944 1.66675H9.30554C8.5054 1.66776 7.73007 1.94459 7.11023 2.45058C6.49039 2.95657 6.06394 3.66078 5.90276 4.44453H3.74999C3.56581 4.44453 3.38917 4.51769 3.25894 4.64792C3.12871 4.77816 3.05554 4.95479 3.05554 5.13897C3.05554 5.32315 3.12871 5.49978 3.25894 5.63002C3.38917 5.76025 3.56581 5.83341 3.74999 5.83341H4.44443V14.8612C4.44553 15.7817 4.81171 16.6643 5.46264 17.3152C6.11357 17.9661 6.9961 18.3323 7.91665 18.3334H12.0833C13.0039 18.3323 13.8864 17.9661 14.5373 17.3152C15.1883 16.6643 15.5544 15.7817 15.5555 14.8612V5.83341H16.25C16.4342 5.83341 16.6108 5.76025 16.741 5.63002C16.8713 5.49978 16.9444 5.32315 16.9444 5.13897C16.9444 4.95479 16.8713 4.77816 16.741 4.64792C16.6108 4.51769 16.4342 4.44453 16.25 4.44453ZM9.30554 3.05564H10.6944C11.1252 3.05616 11.5452 3.18993 11.8969 3.43858C12.2487 3.68724 12.5149 4.03862 12.659 4.44453H7.34096C7.48511 4.03862 7.75131 3.68724 8.10303 3.43858C8.45476 3.18993 8.8748 3.05616 9.30554 3.05564ZM14.1667 14.8612C14.1667 15.4137 13.9472 15.9436 13.5565 16.3343C13.1658 16.725 12.6359 16.9445 12.0833 16.9445H7.91665C7.36412 16.9445 6.83421 16.725 6.44351 16.3343C6.05281 15.9436 5.83332 15.4137 5.83332 14.8612V5.83341H14.1667V14.8612Z\"\n fill=\"#DE6061\"\n />\n <path\n d=\"M8.61115 14.1663C8.79533 14.1663 8.97197 14.0931 9.1022 13.9629C9.23243 13.8327 9.3056 13.656 9.3056 13.4719V9.30521C9.3056 9.12103 9.23243 8.94439 9.1022 8.81416C8.97197 8.68393 8.79533 8.61076 8.61115 8.61076C8.42698 8.61076 8.25034 8.68393 8.12011 8.81416C7.98988 8.94439 7.91671 9.12103 7.91671 9.30521V13.4719C7.91671 13.656 7.98988 13.8327 8.12011 13.9629C8.25034 14.0931 8.42698 14.1663 8.61115 14.1663Z\"\n fill=\"#DE6061\"\n />\n <path\n d=\"M11.3888 14.1663C11.573 14.1663 11.7497 14.0931 11.8799 13.9629C12.0101 13.8327 12.0833 13.656 12.0833 13.4719V9.30521C12.0833 9.12103 12.0101 8.94439 11.8799 8.81416C11.7497 8.68393 11.573 8.61076 11.3888 8.61076C11.2047 8.61076 11.028 8.68393 10.8978 8.81416C10.7676 8.94439 10.6944 9.12103 10.6944 9.30521V13.4719C10.6944 13.656 10.7676 13.8327 10.8978 13.9629C11.028 14.0931 11.2047 14.1663 11.3888 14.1663Z\"\n fill=\"#DE6061\"\n />\n </svg>\n </div>\n\n <!--mensaje de eliminar-->\n <div class=\"delete-confirm\" *ngIf=\"fileItem.state === 'confirm-delete'\">\n <span class=\"message\">{{\n (fileItem.previewUrl ? 'delete image' : 'delete file') | translate\n }}</span>\n <div class=\"actions\">\n <dropi-button size=\"small\" text=\"S\u00ED\" (onClick)=\"onSendClick('confirm-delete')\"></dropi-button>\n <dropi-button\n text=\"No\"\n size=\"small\"\n (onClick)=\"onSendClick('cancel-delete')\"\n severity=\"secondary\"\n ></dropi-button>\n </div>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.file-card{display:flex;padding:var(--Size-4, 16px);align-items:center;gap:var(--Size-3, 12px);align-self:stretch;border-radius:var(--Border-2);border:1px solid var(--Gray-Gray-100);background:var(--White, #FFF)}.file-card .preview-wrapper{width:34px;height:34px;position:relative;display:inline-block;border-radius:var(--Border-2);overflow:hidden}.file-card .preview-wrapper .preview{width:100%;height:100%;object-fit:cover;flex-shrink:0}.file-card .preview-wrapper .preview.uploading{filter:blur(2px)}.file-card .preview-wrapper .overlay-icon{width:16px;height:16px;padding:4px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;display:flex;justify-content:center;align-items:center;flex-shrink:0;border-radius:var(--Border-3, 12px);background:var(--White, #fff)}.file-card .info-container{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--Size-2);flex:1 0 0}.file-card .info-container .file-name{overflow:hidden;color:var(--Gray-Gray-600);text-overflow:ellipsis;font-size:12px;font-style:normal;font-weight:400;line-height:150%;white-space:nowrap;max-width:300px}.file-card .info-container .progress-bar-container{width:100%;height:4px;background-color:#f0f0f0;border-radius:4px;overflow:hidden}.file-card .info-container .progress-bar{height:100%;border-radius:4.5px;background:var(--Primary-Primary-500);transition:width .3s ease}.file-card .delete,.file-card .preview-image{display:inline-block;transition:transform .3s ease;border-radius:var(--Border-2)}.file-card .delete:hover,.file-card .preview-image:hover{cursor:pointer;transform:scale(1.1)}.file-card .delete-confirm{color:var(--Gray-Gray-600);font-size:var(--font-size-xs);font-style:normal;font-weight:500;line-height:150%;display:flex;justify-content:space-between;align-items:center;align-self:stretch;flex:1 0 0}.file-card .delete-confirm .actions{display:flex;align-items:flex-start;gap:var(--Size-2, 8px)}@media (max-width: 600px){.file-card .info-container .file-name{max-width:100px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "width", "height", "color"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] });
|
|
4937
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CardViewComponent, isStandalone: true, selector: "app-card-view", inputs: { fileItem: "fileItem", onlyView: "onlyView" }, outputs: { action: "action" }, ngImport: i0, template: "<div class=\"file-card\" [ngClass]=\"[fileItem.state, getFileTypeClass(fileItem.file)]\">\n <ng-container\n *ngIf=\"fileItem.previewUrl && !fileItem.previewUrl.includes('.pdf'); else iconTemplate\"\n >\n <div class=\"preview-wrapper\">\n <img\n [ngClass]=\"fileItem.state\"\n class=\"preview\"\n [src]=\"fileItem.previewUrl || './assets/utils/template-no-image.png'\"\n alt=\"fileItem.previewUrl\"\n />\n\n <ng-container *ngIf=\"fileItem.state === 'complete'\">\n <div class=\"overlay-icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n >\n <g clip-path=\"url(#clip0_5064_216)\">\n <path\n d=\"M11.1594 2.2155L4.24992 9.1245C4.20347 9.17114 4.14826 9.20815 4.08747 9.2334C4.02668 9.25865 3.9615 9.27165 3.89567 9.27165C3.82985 9.27165 3.76467 9.25865 3.70388 9.2334C3.64308 9.20815 3.58788 9.17114 3.54142 9.1245L0.869423 6.45C0.822969 6.40337 0.767762 6.36636 0.70697 6.34111C0.646179 6.31586 0.581 6.30286 0.515173 6.30286C0.449346 6.30286 0.384167 6.31586 0.323376 6.34111C0.262585 6.36636 0.207378 6.40337 0.160923 6.45C0.114285 6.49646 0.0772787 6.55167 0.0520278 6.61246C0.026777 6.67325 0.0137787 6.73843 0.0137787 6.80425C0.0137787 6.87008 0.026777 6.93526 0.0520278 6.99605C0.0772787 7.05684 0.114285 7.11205 0.160923 7.1585L2.83392 9.831C3.1159 10.1125 3.49802 10.2705 3.89642 10.2705C4.29482 10.2705 4.67695 10.1125 4.95892 9.831L11.8679 2.9235C11.9145 2.87706 11.9514 2.82188 11.9766 2.76114C12.0018 2.70039 12.0148 2.63527 12.0148 2.5695C12.0148 2.50374 12.0018 2.43862 11.9766 2.37787C11.9514 2.31713 11.9145 2.26195 11.8679 2.2155C11.8215 2.16887 11.7663 2.13186 11.7055 2.10661C11.6447 2.08136 11.5795 2.06836 11.5137 2.06836C11.4478 2.06836 11.3827 2.08136 11.3219 2.10661C11.2611 2.13186 11.2059 2.16887 11.1594 2.2155Z\"\n fill=\"#0ABB87\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_5064_216\">\n <rect width=\"12\" height=\"12\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n </div>\n </ng-container>\n </div>\n </ng-container>\n\n <!--iconos de documento-->\n <ng-template #iconTemplate>\n <div class=\"file-icon\">\n <ng-container>\n <svg\n *ngIf=\"viewType('pdf')\"\n class=\"icon-pdf\"\n width=\"34\"\n height=\"34\"\n viewBox=\"0 0 34 34\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M0 8C0 3.58172 3.58172 0 8 0H26C30.4183 0 34 3.58172 34 8V26C34 30.4183 30.4183 34 26 34H8C3.58172 34 0 30.4183 0 26V8Z\"\n fill=\"#FEF0F0\"\n />\n <g clip-path=\"url(#clip0_3287_1674)\">\n <path\n d=\"M24.1252 11.1167L21.2168 8.20833C20.1168 7.10833 18.6502 6.5 17.0918 6.5H13.3335C11.0335 6.5 9.16684 8.36667 9.16684 10.6667V22.3333C9.16684 24.6333 11.0335 26.5 13.3335 26.5H21.6668C23.9668 26.5 25.8335 24.6333 25.8335 22.3333V15.2417C25.8335 13.6833 25.2252 12.2167 24.1252 11.1167ZM22.9502 12.2917C23.2168 12.5583 23.4418 12.85 23.6252 13.1667H20.0085C19.5502 13.1667 19.1752 12.7917 19.1752 12.3333V8.71667C19.4918 8.9 19.7835 9.125 20.0502 9.39167L22.9585 12.3L22.9502 12.2917ZM24.1668 22.3333C24.1668 23.7083 23.0418 24.8333 21.6668 24.8333H13.3335C11.9585 24.8333 10.8335 23.7083 10.8335 22.3333V10.6667C10.8335 9.29167 11.9585 8.16667 13.3335 8.16667H17.0918C17.2252 8.16667 17.3668 8.16667 17.5002 8.18333V12.3333C17.5002 13.7083 18.6252 14.8333 20.0002 14.8333H24.1502C24.1668 14.9667 24.1668 15.1 24.1668 15.2417V22.3333ZM13.4085 17.3333H12.5002C12.0418 17.3333 11.6668 17.7083 11.6668 18.1667V21.8667C11.6668 22.1583 11.9002 22.3833 12.1835 22.3833C12.4668 22.3833 12.7002 22.15 12.7002 21.8667V20.85H13.4002C14.3835 20.85 15.1835 20.0583 15.1835 19.0917C15.1835 18.125 14.3835 17.3333 13.4002 17.3333H13.4085ZM13.4085 19.8083H12.7168V18.375H13.4168C13.8168 18.375 14.1585 18.7 14.1585 19.0917C14.1585 19.4833 13.8168 19.8083 13.4168 19.8083H13.4085ZM23.3502 17.8583C23.3502 18.15 23.1168 18.375 22.8335 18.375H21.4252V19.325H22.4585C22.7502 19.325 22.9752 19.5583 22.9752 19.8417C22.9752 20.125 22.7418 20.3583 22.4585 20.3583H21.4252V21.8583C21.4252 22.15 21.1918 22.375 20.9085 22.375C20.6252 22.375 20.3918 22.1417 20.3918 21.8583V17.85C20.3918 17.5583 20.6252 17.3333 20.9085 17.3333H22.8335C23.1252 17.3333 23.3502 17.5667 23.3502 17.85V17.8583ZM17.5752 17.3417H16.6668C16.2085 17.3417 15.8335 17.7167 15.8335 18.175V21.875C15.8335 22.1667 16.0668 22.3417 16.3502 22.3417C16.6335 22.3417 17.5668 22.3417 17.5668 22.3417C18.5502 22.3417 19.3502 21.55 19.3502 20.5833V19.1C19.3502 18.1333 18.5502 17.3417 17.5668 17.3417H17.5752ZM18.3168 20.5833C18.3168 20.975 17.9752 21.3 17.5752 21.3H16.8835V18.3833H17.5835C17.9835 18.3833 18.3252 18.7083 18.3252 19.1V20.5833H18.3168Z\"\n fill=\"#DE6061\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_3287_1674\">\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(7.5 6.5)\" />\n </clipPath>\n </defs>\n </svg>\n <svg\n *ngIf=\"viewType('default')\"\n class=\"icon-default\"\n width=\"34\"\n height=\"34\"\n viewBox=\"0 0 34 34\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M0 8C0 3.58172 3.58172 0 8 0H26C30.4183 0 34 3.58172 34 8V26C34 30.4183 30.4183 34 26 34H8C3.58172 34 0 30.4183 0 26V8Z\"\n fill=\"#EEF6FE\"\n />\n <g clip-path=\"url(#clip0_3287_1708)\">\n <path\n d=\"M21.1668 18.6667C21.1668 18.8877 21.079 19.0997 20.9227 19.2559C20.7664 19.4122 20.5545 19.5 20.3335 19.5H13.6668C13.4458 19.5 13.2338 19.4122 13.0775 19.2559C12.9213 19.0997 12.8335 18.8877 12.8335 18.6667C12.8335 18.4457 12.9213 18.2337 13.0775 18.0774C13.2338 17.9211 13.4458 17.8334 13.6668 17.8334H20.3335C20.5545 17.8334 20.7664 17.9211 20.9227 18.0774C21.079 18.2337 21.1668 18.4457 21.1668 18.6667ZM17.8335 21.1667H13.6668C13.4458 21.1667 13.2338 21.2545 13.0775 21.4108C12.9213 21.567 12.8335 21.779 12.8335 22C12.8335 22.221 12.9213 22.433 13.0775 22.5893C13.2338 22.7456 13.4458 22.8334 13.6668 22.8334H17.8335C18.0545 22.8334 18.2664 22.7456 18.4227 22.5893C18.579 22.433 18.6668 22.221 18.6668 22C18.6668 21.779 18.579 21.567 18.4227 21.4108C18.2664 21.2545 18.0545 21.1667 17.8335 21.1667ZM25.3335 15.7375V22.8334C25.3321 23.938 24.8927 24.9971 24.1116 25.7782C23.3305 26.5593 22.2715 26.9987 21.1668 27H12.8335C11.7288 26.9987 10.6698 26.5593 9.88864 25.7782C9.10753 24.9971 8.66812 23.938 8.66679 22.8334V11.1667C8.66812 10.062 9.10753 9.00298 9.88864 8.22187C10.6698 7.44075 11.7288 7.00134 12.8335 7.00002H16.596C17.3623 6.99805 18.1214 7.14801 18.8295 7.44124C19.5375 7.73446 20.1804 8.16513 20.721 8.70835L23.6243 11.6134C24.1678 12.1536 24.5988 12.7962 24.8921 13.5042C25.1855 14.2121 25.3355 14.9712 25.3335 15.7375ZM19.5426 9.88669C19.2804 9.63265 18.9859 9.41412 18.6668 9.23669V12.8334C18.6668 13.0544 18.7546 13.2663 18.9109 13.4226C19.0672 13.5789 19.2791 13.6667 19.5001 13.6667H23.0968C22.9193 13.3477 22.7004 13.0535 22.446 12.7917L19.5426 9.88669ZM23.6668 15.7375C23.6668 15.6 23.6401 15.4684 23.6276 15.3334H19.5001C18.8371 15.3334 18.2012 15.07 17.7324 14.6011C17.2635 14.1323 17.0001 13.4964 17.0001 12.8334V8.70585C16.8651 8.69335 16.7326 8.66669 16.596 8.66669H12.8335C12.1704 8.66669 11.5345 8.93008 11.0657 9.39892C10.5969 9.86776 10.3335 10.5036 10.3335 11.1667V22.8334C10.3335 23.4964 10.5969 24.1323 11.0657 24.6011C11.5345 25.07 12.1704 25.3334 12.8335 25.3334H21.1668C21.8298 25.3334 22.4657 25.07 22.9346 24.6011C23.4034 24.1323 23.6668 23.4964 23.6668 22.8334V15.7375Z\"\n fill=\"#4996DB\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_3287_1708\">\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(7 7)\" />\n </clipPath>\n </defs>\n </svg>\n </ng-container>\n </div>\n </ng-template>\n <div class=\"info-container\" *ngIf=\"fileItem.state !== 'confirm-delete'\">\n <div class=\"file-name\">\n {{ fileItem?.file?.name ?? fileItem?.previewUrl?.split('/').pop() }}\n </div>\n <div class=\"progress-bar-container\" *ngIf=\"fileItem.state === 'uploading'\">\n <div class=\"progress-bar\" [style.width.%]=\"fileItem.progress\"></div>\n </div>\n </div>\n\n <!--Botones de eliminar y ver-->\n\n <div\n class=\"preview-image\"\n *ngIf=\"fileItem.state !== 'confirm-delete' \"\n (click)=\"openPreviewImage()\"\n >\n <app-icon name=\"Eye\" width=\"20px\" height=\"20px\" color=\"Gray-Gray-600\" />\n </div>\n <!-- <div\n class=\"preview-image\"\n *ngIf=\"fileItem.state !== 'confirm-delete' && fileItem.fileType !== 'image'\"\n (click)=\"downloadFile()\"\n >\n <app-icon name=\"Download\" width=\"20px\" height=\"20px\" color=\"Gray-Gray-600\" />\n </div> -->\n\n <div (click)=\"onSendClick('delete')\" *ngIf=\"fileItem.state !== 'confirm-delete' && !onlyView\" class=\"delete\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M16.25 4.44453H14.0972C13.936 3.66078 13.5096 2.95657 12.8897 2.45058C12.2699 1.94459 11.4946 1.66776 10.6944 1.66675H9.30554C8.5054 1.66776 7.73007 1.94459 7.11023 2.45058C6.49039 2.95657 6.06394 3.66078 5.90276 4.44453H3.74999C3.56581 4.44453 3.38917 4.51769 3.25894 4.64792C3.12871 4.77816 3.05554 4.95479 3.05554 5.13897C3.05554 5.32315 3.12871 5.49978 3.25894 5.63002C3.38917 5.76025 3.56581 5.83341 3.74999 5.83341H4.44443V14.8612C4.44553 15.7817 4.81171 16.6643 5.46264 17.3152C6.11357 17.9661 6.9961 18.3323 7.91665 18.3334H12.0833C13.0039 18.3323 13.8864 17.9661 14.5373 17.3152C15.1883 16.6643 15.5544 15.7817 15.5555 14.8612V5.83341H16.25C16.4342 5.83341 16.6108 5.76025 16.741 5.63002C16.8713 5.49978 16.9444 5.32315 16.9444 5.13897C16.9444 4.95479 16.8713 4.77816 16.741 4.64792C16.6108 4.51769 16.4342 4.44453 16.25 4.44453ZM9.30554 3.05564H10.6944C11.1252 3.05616 11.5452 3.18993 11.8969 3.43858C12.2487 3.68724 12.5149 4.03862 12.659 4.44453H7.34096C7.48511 4.03862 7.75131 3.68724 8.10303 3.43858C8.45476 3.18993 8.8748 3.05616 9.30554 3.05564ZM14.1667 14.8612C14.1667 15.4137 13.9472 15.9436 13.5565 16.3343C13.1658 16.725 12.6359 16.9445 12.0833 16.9445H7.91665C7.36412 16.9445 6.83421 16.725 6.44351 16.3343C6.05281 15.9436 5.83332 15.4137 5.83332 14.8612V5.83341H14.1667V14.8612Z\"\n fill=\"#DE6061\"\n />\n <path\n d=\"M8.61115 14.1663C8.79533 14.1663 8.97197 14.0931 9.1022 13.9629C9.23243 13.8327 9.3056 13.656 9.3056 13.4719V9.30521C9.3056 9.12103 9.23243 8.94439 9.1022 8.81416C8.97197 8.68393 8.79533 8.61076 8.61115 8.61076C8.42698 8.61076 8.25034 8.68393 8.12011 8.81416C7.98988 8.94439 7.91671 9.12103 7.91671 9.30521V13.4719C7.91671 13.656 7.98988 13.8327 8.12011 13.9629C8.25034 14.0931 8.42698 14.1663 8.61115 14.1663Z\"\n fill=\"#DE6061\"\n />\n <path\n d=\"M11.3888 14.1663C11.573 14.1663 11.7497 14.0931 11.8799 13.9629C12.0101 13.8327 12.0833 13.656 12.0833 13.4719V9.30521C12.0833 9.12103 12.0101 8.94439 11.8799 8.81416C11.7497 8.68393 11.573 8.61076 11.3888 8.61076C11.2047 8.61076 11.028 8.68393 10.8978 8.81416C10.7676 8.94439 10.6944 9.12103 10.6944 9.30521V13.4719C10.6944 13.656 10.7676 13.8327 10.8978 13.9629C11.028 14.0931 11.2047 14.1663 11.3888 14.1663Z\"\n fill=\"#DE6061\"\n />\n </svg>\n </div>\n\n <!--mensaje de eliminar-->\n <div class=\"delete-confirm\" *ngIf=\"fileItem.state === 'confirm-delete'\">\n <span class=\"message\">{{\n (fileItem.previewUrl ? 'delete image' : 'delete file') | translate\n }}</span>\n <div class=\"actions\">\n <dropi-button size=\"small\" text=\"S\u00ED\" (onClick)=\"onSendClick('confirm-delete')\"></dropi-button>\n <dropi-button\n text=\"No\"\n size=\"small\"\n (onClick)=\"onSendClick('cancel-delete')\"\n severity=\"secondary\"\n ></dropi-button>\n </div>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.file-card{display:flex;padding:var(--Size-4, 16px);align-items:center;gap:var(--Size-3, 12px);align-self:stretch;border-radius:var(--Border-2);border:1px solid var(--Gray-Gray-100);background:var(--White, #FFF)}.file-card .preview-wrapper{width:34px;height:34px;position:relative;display:inline-block;border-radius:var(--Border-2);overflow:hidden}.file-card .preview-wrapper .preview{width:100%;height:100%;object-fit:cover;flex-shrink:0}.file-card .preview-wrapper .preview.uploading{filter:blur(2px)}.file-card .preview-wrapper .overlay-icon{width:16px;height:16px;padding:4px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;display:flex;justify-content:center;align-items:center;flex-shrink:0;border-radius:var(--Border-3, 12px);background:var(--White, #fff)}.file-card .info-container{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--Size-2);flex:1 0 0}.file-card .info-container .file-name{overflow:hidden;color:var(--Gray-Gray-600);text-overflow:ellipsis;font-size:12px;font-style:normal;font-weight:400;line-height:150%;white-space:nowrap;max-width:300px}.file-card .info-container .progress-bar-container{width:100%;height:4px;background-color:#f0f0f0;border-radius:4px;overflow:hidden}.file-card .info-container .progress-bar{height:100%;border-radius:4.5px;background:var(--Primary-Primary-500);transition:width .3s ease}.file-card .delete,.file-card .preview-image{display:inline-block;transition:transform .3s ease;border-radius:var(--Border-2)}.file-card .delete:hover,.file-card .preview-image:hover{cursor:pointer;transform:scale(1.1)}.file-card .delete-confirm{color:var(--Gray-Gray-600);font-size:var(--font-size-xs);font-style:normal;font-weight:500;line-height:150%;display:flex;justify-content:space-between;align-items:center;align-self:stretch;flex:1 0 0}.file-card .delete-confirm .actions{display:flex;align-items:flex-start;gap:var(--Size-2, 8px)}@media (max-width: 600px){.file-card .info-container .file-name{max-width:100px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "width", "height", "color"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
|
|
4909
4938
|
}
|
|
4910
4939
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardViewComponent, decorators: [{
|
|
4911
4940
|
type: Component,
|
|
@@ -5012,7 +5041,7 @@ class FileListComponent {
|
|
|
5012
5041
|
this.uploadFileService?.triggerInput();
|
|
5013
5042
|
}
|
|
5014
5043
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FileListComponent, deps: [{ token: "UploadFileService" }], target: i0.ɵɵFactoryTarget.Component });
|
|
5015
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FileListComponent, isStandalone: true, selector: "app-file-list", inputs: { files: "files", onlyView: "onlyView", previewType: "previewType", maxFiles: "maxFiles", addButton: "addButton" }, outputs: { action: "action" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"files-container\">\n <div class=\"grid-list\">\n <ng-container *ngIf=\"!viewImageToDelete\">\n <app-grid-view\n *ngFor=\"let fileItem of gridFiles\"\n [fileItem]=\"fileItem\"\n (action)=\"onChildGridAction($event)\"\n ></app-grid-view>\n </ng-container>\n\n <app-card-view\n *ngIf=\"viewImageToDelete\"\n style=\"width: 100%\"\n [fileItem]=\"imageTodelete\"\n [onlyView]=\"onlyView\"\n (action)=\"onDeleteCardAction($event)\"\n ></app-card-view>\n <div\n (click)=\"addImage()\"\n *ngIf=\"(gridFiles.length != 0 || (previewType == 'grid' && addButton)) && gridFiles.length < maxFiles && !viewImageToDelete\"\n class=\"add-img\"\n >\n <div class=\"icon\">\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9.77774 6.4444H7.55551V4.22218C7.55551 4.07484 7.49698 3.93353 7.3928 3.82934C7.28861 3.72516 7.1473 3.66663 6.99996 3.66663C6.85262 3.66663 6.71131 3.72516 6.60712 3.82934C6.50294 3.93353 6.4444 4.07484 6.4444 4.22218V6.4444H4.22218C4.07484 6.4444 3.93353 6.50294 3.82934 6.60712C3.72516 6.71131 3.66663 6.85262 3.66663 6.99996C3.66663 7.1473 3.72516 7.28861 3.82934 7.3928C3.93353 7.49698 4.07484 7.55551 4.22218 7.55551H6.4444V9.77774C6.4444 9.92508 6.50294 10.0664 6.60712 10.1706C6.71131 10.2748 6.85262 10.3333 6.99996 10.3333C7.1473 10.3333 7.28861 10.2748 7.3928 10.1706C7.49698 10.0664 7.55551 9.92508 7.55551 9.77774V7.55551H9.77774C9.92508 7.55551 10.0664 7.49698 10.1706 7.3928C10.2748 7.28861 10.3333 7.1473 10.3333 6.99996C10.3333 6.85262 10.2748 6.71131 10.1706 6.60712C10.0664 6.50294 9.92508 6.4444 9.77774 6.4444Z\"\n fill=\"#32394D\"\n />\n </svg>\n </div>\n <div class=\"text\">\n {{ 'add' | translate }}\n </div>\n </div>\n </div>\n <div class=\"card-list\">\n <app-card-view\n *ngFor=\"let fileItem of cardFiles\"\n style=\"width: 100%\"\n [fileItem]=\"fileItem\"\n [onlyView]=\"onlyView\"\n (action)=\"onChildAction($event)\"\n ></app-card-view>\n </div>\n</div>\n", styles: [".grid-list{display:flex;align-items:flex-start;gap:var(--Size-5, 24px);align-self:stretch;flex-wrap:wrap}.files-container{display:flex;flex-direction:column;gap:var(--Size-3)}.card-list{display:flex;flex-direction:column;align-items:flex-start;gap:var(--Size-3);align-self:stretch;width:100%}.add-img{display:flex;height:88px;width:88px;flex-direction:column;justify-content:center;align-items:center;gap:var(--Size-1, 4px);align-self:stretch;border-radius:var(--Border-2, 8px);background:var(--Gray-Gray-50, #f7f8fa)}.add-img:hover{cursor:pointer;transform:scale(1.1)}.add-img .icon{display:flex;width:24px;height:24px;padding:4px;justify-content:center;align-items:center;flex-shrink:0;border-radius:var(--Border-3, 12px);background:var(--Gray-Gray-100, #e6eaf2)}.add-img .text{color:var(--Gray-600, #475066);text-align:center;font-size:12px;font-style:normal;font-weight:400;line-height:150%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CardViewComponent, selector: "app-card-view", inputs: ["fileItem", "onlyView"], outputs: ["action"] }, { kind: "component", type: GridViewComponent, selector: "app-grid-view", inputs: ["fileItem"], outputs: ["action"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2
|
|
5044
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FileListComponent, isStandalone: true, selector: "app-file-list", inputs: { files: "files", onlyView: "onlyView", previewType: "previewType", maxFiles: "maxFiles", addButton: "addButton" }, outputs: { action: "action" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"files-container\">\n <div class=\"grid-list\">\n <ng-container *ngIf=\"!viewImageToDelete\">\n <app-grid-view\n *ngFor=\"let fileItem of gridFiles\"\n [fileItem]=\"fileItem\"\n (action)=\"onChildGridAction($event)\"\n ></app-grid-view>\n </ng-container>\n\n <app-card-view\n *ngIf=\"viewImageToDelete\"\n style=\"width: 100%\"\n [fileItem]=\"imageTodelete\"\n [onlyView]=\"onlyView\"\n (action)=\"onDeleteCardAction($event)\"\n ></app-card-view>\n <div\n (click)=\"addImage()\"\n *ngIf=\"(gridFiles.length != 0 || (previewType == 'grid' && addButton)) && gridFiles.length < maxFiles && !viewImageToDelete\"\n class=\"add-img\"\n >\n <div class=\"icon\">\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9.77774 6.4444H7.55551V4.22218C7.55551 4.07484 7.49698 3.93353 7.3928 3.82934C7.28861 3.72516 7.1473 3.66663 6.99996 3.66663C6.85262 3.66663 6.71131 3.72516 6.60712 3.82934C6.50294 3.93353 6.4444 4.07484 6.4444 4.22218V6.4444H4.22218C4.07484 6.4444 3.93353 6.50294 3.82934 6.60712C3.72516 6.71131 3.66663 6.85262 3.66663 6.99996C3.66663 7.1473 3.72516 7.28861 3.82934 7.3928C3.93353 7.49698 4.07484 7.55551 4.22218 7.55551H6.4444V9.77774C6.4444 9.92508 6.50294 10.0664 6.60712 10.1706C6.71131 10.2748 6.85262 10.3333 6.99996 10.3333C7.1473 10.3333 7.28861 10.2748 7.3928 10.1706C7.49698 10.0664 7.55551 9.92508 7.55551 9.77774V7.55551H9.77774C9.92508 7.55551 10.0664 7.49698 10.1706 7.3928C10.2748 7.28861 10.3333 7.1473 10.3333 6.99996C10.3333 6.85262 10.2748 6.71131 10.1706 6.60712C10.0664 6.50294 9.92508 6.4444 9.77774 6.4444Z\"\n fill=\"#32394D\"\n />\n </svg>\n </div>\n <div class=\"text\">\n {{ 'add' | translate }}\n </div>\n </div>\n </div>\n <div class=\"card-list\">\n <app-card-view\n *ngFor=\"let fileItem of cardFiles\"\n style=\"width: 100%\"\n [fileItem]=\"fileItem\"\n [onlyView]=\"onlyView\"\n (action)=\"onChildAction($event)\"\n ></app-card-view>\n </div>\n</div>\n", styles: [".grid-list{display:flex;align-items:flex-start;gap:var(--Size-5, 24px);align-self:stretch;flex-wrap:wrap}.files-container{display:flex;flex-direction:column;gap:var(--Size-3)}.card-list{display:flex;flex-direction:column;align-items:flex-start;gap:var(--Size-3);align-self:stretch;width:100%}.add-img{display:flex;height:88px;width:88px;flex-direction:column;justify-content:center;align-items:center;gap:var(--Size-1, 4px);align-self:stretch;border-radius:var(--Border-2, 8px);background:var(--Gray-Gray-50, #f7f8fa)}.add-img:hover{cursor:pointer;transform:scale(1.1)}.add-img .icon{display:flex;width:24px;height:24px;padding:4px;justify-content:center;align-items:center;flex-shrink:0;border-radius:var(--Border-3, 12px);background:var(--Gray-Gray-100, #e6eaf2)}.add-img .text{color:var(--Gray-600, #475066);text-align:center;font-size:12px;font-style:normal;font-weight:400;line-height:150%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CardViewComponent, selector: "app-card-view", inputs: ["fileItem", "onlyView"], outputs: ["action"] }, { kind: "component", type: GridViewComponent, selector: "app-grid-view", inputs: ["fileItem"], outputs: ["action"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
|
|
5016
5045
|
}
|
|
5017
5046
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FileListComponent, decorators: [{
|
|
5018
5047
|
type: Component,
|
|
@@ -5076,7 +5105,7 @@ class DropiFileUploadComponent {
|
|
|
5076
5105
|
// Implementación básica para build
|
|
5077
5106
|
}
|
|
5078
5107
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiFileUploadComponent, deps: [{ token: NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
5079
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiFileUploadComponent, isStandalone: true, selector: "app-dropi-file-upload", inputs: { params: "params" }, outputs: { uploadedUrlsChange: "uploadedUrlsChange" }, ngImport: i0, template: "<div class=\"upload-container\">\n <!--Encabezado -->\n <div class=\"upload-header\">\n <div class=\"title text\">{{ params.title | translate }}</div>\n <div class=\"label text\">{{ params.label | translate }}</div>\n </div>\n\n <app-alert\n *ngIf=\"error\"\n [message]=\"errorMessage | translate\"\n type=\"default\"\n state=\"error\"\n [dismissable]=\"true\"\n [showButton]=\"false\"\n (onClose)=\"error = false\"\n ></app-alert>\n <!--Zona de arrastre -->\n <app-drop-zone\n *ngIf=\"selectedFiles.length < params.maxFiles\"\n [hidden]=\"params.previewType === 'grid' && (!params.viewDragAndDrop || selectedFiles.length > 0)\"\n [accept]=\"params.accept\"\n [multiple]=\"params.multiple\"\n [compress]=\"params.compress\"\n [maxHeight]=\"params.maxHeight\"\n [maxWidth]=\"params.maxWidth\"\n [maxFileSizeMB]=\"params.maxFileSizeMB\"\n [textButton]=\"params.textButton || 'Seleccionar Imagen'\"\n [textFileUpload]=\"params.textDropZone || 'Drop or upload an image here'\"\n (addFiles)=\"onFilesAdded($event)\"\n ></app-drop-zone>\n\n\n <!--Listado de archivos -->\n <app-file-list\n [onlyView]=\"params.onlyView\"\n [maxFiles]=\"params.maxFiles\"\n [files]=\"selectedFiles\"\n (action)=\"onFileAction($event)\"\n [previewType]=\"params.previewType\"\n [addButton]=\"!params.viewDragAndDrop\"\n ></app-file-list>\n</div>\n", styles: [".upload-container{display:flex;flex-direction:column;gap:var(--Size-3, 12px);width:100%;margin:var(--Size-3, 12px)}.upload-header{gap:var(--Size-1);display:flex;flex-direction:column;align-items:flex-start;align-self:stretch}.upload-header .text{color:var(--Gray-Gray-600, #475066);font-size:var(--font-size-xs);font-style:normal;line-height:150%}.upload-header .title{font-weight:500}.upload-header .label{font-weight:400}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2
|
|
5108
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiFileUploadComponent, isStandalone: true, selector: "app-dropi-file-upload", inputs: { params: "params" }, outputs: { uploadedUrlsChange: "uploadedUrlsChange" }, ngImport: i0, template: "<div class=\"upload-container\">\n <!--Encabezado -->\n <div class=\"upload-header\">\n <div class=\"title text\">{{ params.title | translate }}</div>\n <div class=\"label text\">{{ params.label | translate }}</div>\n </div>\n\n <app-alert\n *ngIf=\"error\"\n [message]=\"errorMessage | translate\"\n type=\"default\"\n state=\"error\"\n [dismissable]=\"true\"\n [showButton]=\"false\"\n (onClose)=\"error = false\"\n ></app-alert>\n <!--Zona de arrastre -->\n <app-drop-zone\n *ngIf=\"selectedFiles.length < params.maxFiles\"\n [hidden]=\"params.previewType === 'grid' && (!params.viewDragAndDrop || selectedFiles.length > 0)\"\n [accept]=\"params.accept\"\n [multiple]=\"params.multiple\"\n [compress]=\"params.compress\"\n [maxHeight]=\"params.maxHeight\"\n [maxWidth]=\"params.maxWidth\"\n [maxFileSizeMB]=\"params.maxFileSizeMB\"\n [textButton]=\"params.textButton || 'Seleccionar Imagen'\"\n [textFileUpload]=\"params.textDropZone || 'Drop or upload an image here'\"\n (addFiles)=\"onFilesAdded($event)\"\n ></app-drop-zone>\n\n\n <!--Listado de archivos -->\n <app-file-list\n [onlyView]=\"params.onlyView\"\n [maxFiles]=\"params.maxFiles\"\n [files]=\"selectedFiles\"\n (action)=\"onFileAction($event)\"\n [previewType]=\"params.previewType\"\n [addButton]=\"!params.viewDragAndDrop\"\n ></app-file-list>\n</div>\n", styles: [".upload-container{display:flex;flex-direction:column;gap:var(--Size-3, 12px);width:100%;margin:var(--Size-3, 12px)}.upload-header{gap:var(--Size-1);display:flex;flex-direction:column;align-items:flex-start;align-self:stretch}.upload-header .text{color:var(--Gray-Gray-600, #475066);font-size:var(--font-size-xs);font-style:normal;line-height:150%}.upload-header .title{font-weight:500}.upload-header .label{font-weight:400}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: DropZoneComponent, selector: "app-drop-zone", inputs: ["multiple", "accept", "maxFiles", "maxFileSizeMB", "title", "label", "viewDragAndDrop", "compress", "maxHeight", "maxWidth", "textButton", "textFileUpload"], outputs: ["addFiles"] }, { kind: "component", type: FileListComponent, selector: "app-file-list", inputs: ["files", "onlyView", "previewType", "maxFiles", "addButton"], outputs: ["action"] }] });
|
|
5080
5109
|
}
|
|
5081
5110
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiFileUploadComponent, decorators: [{
|
|
5082
5111
|
type: Component,
|
|
@@ -5486,7 +5515,7 @@ class DropiCountrySelectorComponent {
|
|
|
5486
5515
|
this.filteredCountries = this.countries;
|
|
5487
5516
|
}
|
|
5488
5517
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiCountrySelectorComponent, deps: [{ token: ElementRef }, { token: ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
5489
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiCountrySelectorComponent, isStandalone: true, selector: "app-dropi-country-selector", inputs: { selectProperties: "selectProperties", disabled: "disabled", formControl: "formControl", currentSelection: "currentSelection", searchTerm: "searchTerm" }, outputs: { onChangeSelect: "onChangeSelect" }, host: { listeners: { "document:click": "closeDropdown($event)" } }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }], ngImport: i0, template: "<div class=\"custom-select\">\n <label *ngIf=\"selectProperties?.label\">\n {{ selectProperties.label | translate }}\n <span *ngIf=\"selectProperties?.showObligatory\">*</span>\n </label>\n <button\n type=\"button\"\n class=\"select-button\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'select-completed': !!selectedOption,\n 'select-invalid': hasError\n }\"\n (click)=\"showOptions()\"\n >\n <div>\n <ng-container *ngIf=\"selectedOption; else placeholder\">\n <img\n style=\"border-radius: 16px\"\n [src]=\"'https://flagsapi.com/' + selectedOption.code + '/shiny/24.png'\"\n />\n {{ selectedOption.name }}\n </ng-container>\n\n <ng-template #placeholder>\n {{ selectProperties.placeholder }}\n </ng-template>\n </div>\n\n <app-icon\n [name]=\"isExpanded ? 'Dropdown-up' : 'Dropdown-down'\"\n width=\"20px\"\n height=\"20px\"\n color=\"Gray-Gray-500\"\n ></app-icon>\n </button>\n\n <ul class=\"select-dropdown\" [ngClass]=\"isExpanded ? 'expanded-select' : 'collapsed-select'\">\n <li>\n <input\n #searchInput\n type=\"text\"\n [(ngModel)]=\"searchTerm\"\n (input)=\"filterCountries()\"\n class=\"country-search\"\n placeholder=\"{{ 'Search country' | translate }}\"\n />\n </li>\n <li *ngFor=\"let country of filteredCountries\">\n <button class=\"option\" (click)=\"selectOption(country)\" type=\"button\">\n <img\n style=\"border-radius: 16px\"\n [src]=\"'https://flagsapi.com/' + country.code + '/shiny/24.png'\"\n />\n {{ country.name }}\n </button>\n </li>\n </ul>\n</div>\n", styles: [".custom-select{position:relative;width:100%}.custom-select label{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--Gray-Gray-600)}.custom-select label span{color:var(--Error-Error-500)}.select-button{width:100%;height:40px;padding:.47rem .75rem;padding-right:7px;border:1px solid var(--Gray-Gray-200);border-radius:var(--Border-2);background:var(--Neutral-White);color:var(--Gray-Gray-500);font-size:var(--font-size-s);display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer}.select-dropdown{position:absolute;width:100%;overflow:hidden;list-style:none;padding:0;margin:4px 0 0;border:1px solid transparent;border-radius:var(--Border-2);overflow-y:scroll;z-index:100}.option{width:100%;height:45px;border-radius:var(--Border-2);padding-top:var(--Size-3);padding-right:var(--Size-4);padding-bottom:var(--Size-3);padding-left:var(--Size-4);border:none;background:transparent;text-align:left;color:var(--Gray-Gray-600);font-size:var(--font-size-s);cursor:pointer}.option:hover{background:var(--Gray-Gray-50)}.expanded-select{max-height:250px;background:var(--Neutral-White);box-shadow:var(--Shadow-medium);transition:max-height .2s ease-in}.collapsed-select{max-height:0;background:transparent;box-shadow:none;transition:max-height .2s ease-out,background .6s ease-out,box-shadow .6s ease-out}.select-button:focus{border-color:var(--Info-Info-500)!important}.select-button:disabled,.option:disabled{border-color:var(--Gray-Gray-200);color:var(--Gray-Gray-400);background-color:var(--Gray-Gray-50);cursor:unset}.select-completed{border-color:var(--Gray-Gray-400);color:var(--Gray-Gray-600);background:var(--Neutral-White)}.select-invalid{border-color:var(--Error-Error-500)!important}.select-helper{display:flex;gap:4px;align-items:baseline}.select-helper span{display:block;margin-top:8px;color:var(--Gray-Gray-600);font-size:var(--font-size-xs)}.invalid-color{color:var(--Error-Error-500)!important}.country-search{width:100%;padding:6px 10px;border:none;border-bottom:1px solid #ccc;outline:none;font-size:14px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2
|
|
5518
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiCountrySelectorComponent, isStandalone: true, selector: "app-dropi-country-selector", inputs: { selectProperties: "selectProperties", disabled: "disabled", formControl: "formControl", currentSelection: "currentSelection", searchTerm: "searchTerm" }, outputs: { onChangeSelect: "onChangeSelect" }, host: { listeners: { "document:click": "closeDropdown($event)" } }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }], ngImport: i0, template: "<div class=\"custom-select\">\n <label *ngIf=\"selectProperties?.label\">\n {{ selectProperties.label | translate }}\n <span *ngIf=\"selectProperties?.showObligatory\">*</span>\n </label>\n <button\n type=\"button\"\n class=\"select-button\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'select-completed': !!selectedOption,\n 'select-invalid': hasError\n }\"\n (click)=\"showOptions()\"\n >\n <div>\n <ng-container *ngIf=\"selectedOption; else placeholder\">\n <img\n style=\"border-radius: 16px\"\n [src]=\"'https://flagsapi.com/' + selectedOption.code + '/shiny/24.png'\"\n />\n {{ selectedOption.name }}\n </ng-container>\n\n <ng-template #placeholder>\n {{ selectProperties.placeholder }}\n </ng-template>\n </div>\n\n <app-icon\n [name]=\"isExpanded ? 'Dropdown-up' : 'Dropdown-down'\"\n width=\"20px\"\n height=\"20px\"\n color=\"Gray-Gray-500\"\n ></app-icon>\n </button>\n\n <ul class=\"select-dropdown\" [ngClass]=\"isExpanded ? 'expanded-select' : 'collapsed-select'\">\n <li>\n <input\n #searchInput\n type=\"text\"\n [(ngModel)]=\"searchTerm\"\n (input)=\"filterCountries()\"\n class=\"country-search\"\n placeholder=\"{{ 'Search country' | translate }}\"\n />\n </li>\n <li *ngFor=\"let country of filteredCountries\">\n <button class=\"option\" (click)=\"selectOption(country)\" type=\"button\">\n <img\n style=\"border-radius: 16px\"\n [src]=\"'https://flagsapi.com/' + country.code + '/shiny/24.png'\"\n />\n {{ country.name }}\n </button>\n </li>\n </ul>\n</div>\n", styles: [".custom-select{position:relative;width:100%}.custom-select label{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--Gray-Gray-600)}.custom-select label span{color:var(--Error-Error-500)}.select-button{width:100%;height:40px;padding:.47rem .75rem;padding-right:7px;border:1px solid var(--Gray-Gray-200);border-radius:var(--Border-2);background:var(--Neutral-White);color:var(--Gray-Gray-500);font-size:var(--font-size-s);display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer}.select-dropdown{position:absolute;width:100%;overflow:hidden;list-style:none;padding:0;margin:4px 0 0;border:1px solid transparent;border-radius:var(--Border-2);overflow-y:scroll;z-index:100}.option{width:100%;height:45px;border-radius:var(--Border-2);padding-top:var(--Size-3);padding-right:var(--Size-4);padding-bottom:var(--Size-3);padding-left:var(--Size-4);border:none;background:transparent;text-align:left;color:var(--Gray-Gray-600);font-size:var(--font-size-s);cursor:pointer}.option:hover{background:var(--Gray-Gray-50)}.expanded-select{max-height:250px;background:var(--Neutral-White);box-shadow:var(--Shadow-medium);transition:max-height .2s ease-in}.collapsed-select{max-height:0;background:transparent;box-shadow:none;transition:max-height .2s ease-out,background .6s ease-out,box-shadow .6s ease-out}.select-button:focus{border-color:var(--Info-Info-500)!important}.select-button:disabled,.option:disabled{border-color:var(--Gray-Gray-200);color:var(--Gray-Gray-400);background-color:var(--Gray-Gray-50);cursor:unset}.select-completed{border-color:var(--Gray-Gray-400);color:var(--Gray-Gray-600);background:var(--Neutral-White)}.select-invalid{border-color:var(--Error-Error-500)!important}.select-helper{display:flex;gap:4px;align-items:baseline}.select-helper span{display:block;margin-top:8px;color:var(--Gray-Gray-600);font-size:var(--font-size-xs)}.invalid-color{color:var(--Error-Error-500)!important}.country-search{width:100%;padding:6px 10px;border:none;border-bottom:1px solid #ccc;outline:none;font-size:14px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "width", "height", "color"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }] });
|
|
5490
5519
|
}
|
|
5491
5520
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiCountrySelectorComponent, decorators: [{
|
|
5492
5521
|
type: Component,
|
|
@@ -5652,7 +5681,7 @@ class SidebarComponent {
|
|
|
5652
5681
|
}
|
|
5653
5682
|
}
|
|
5654
5683
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SidebarComponent, deps: [{ token: "Router" }], target: i0.ɵɵFactoryTarget.Component });
|
|
5655
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SidebarComponent, isStandalone: true, selector: "app-sidebar", inputs: { sideBarProperties: "sideBarProperties" }, outputs: { onIndexChanged: "onIndexChanged" }, ngImport: i0, template: "<div class=\"main-sidebar-container\">\n <ng-container *ngFor=\"let item of sideBarProperties\">\n <div\n class=\"sidebar-option\"\n [ngClass]=\"item.active ? 'sidebar-active-option' : 'sidebar-default-option'\"\n (click)=\"onItemClick(item)\"\n >\n <app-icon\n [name]=\"item.icon\"\n width=\"20px\"\n height=\"20px\"\n [color]=\"item.active ? 'Primary-Primary-500' : 'Gray-Gray-500'\"\n ></app-icon>\n <span>{{ item.text | translate }}</span>\n <app-icon\n *ngIf=\"item.subItems && item.subItems.length > 0\"\n class=\"arrow\"\n [ngClass]=\"{\n 'arrow-expanded': item.expandedMenu\n }\"\n name=\"Dropdown-down\"\n width=\"20px\"\n height=\"20px\"\n [color]=\"item.active ? 'Primary-Primary-500' : 'Gray-Gray-500'\"\n ></app-icon>\n </div>\n <ng-container *ngIf=\"item.subItems && item.subItems.length > 0\">\n <div\n class=\"sidebar-sub-item\"\n *ngFor=\"let subOption of item.subItems\"\n (click)=\"onSubItemClick(subOption)\"\n [ngClass]=\"{\n 'sidebar-expanded': item.expandedMenu,\n 'sidebar-sub-item-default': !subOption.active,\n 'sidebar-sub-item-active': subOption.active\n }\"\n >\n {{ subOption.text | translate }}\n </div>\n </ng-container>\n </ng-container>\n</div>\n", styles: [".main-sidebar-container{margin-top:20px}.sidebar-option{height:45px;display:flex;align-items:center;position:relative;font-weight:var(--font-weight-medium);gap:var(--Size-3);padding:var(--Size-3);font-size:var(--font-size-s);border-radius:var(--Border-1);min-width:147px;cursor:pointer}.sidebar-option .arrow{position:absolute;right:17px;transition:transform .3s ease}.sidebar-option .arrow-expanded{transform:rotate(180deg)}.sidebar-default-option{color:var(--Gray-Gray-500)}.sidebar-active-option{color:var(--Primary-Primary-500);background-color:#fef8f1}.sidebar-sub-item{overflow:hidden;max-height:0;height:auto;font-weight:var(--font-weight-medium);gap:var(--Size-3);font-size:var(--font-size-s);cursor:pointer;opacity:0;padding:0 var(--Size-3) 0 var(--Size-8);transition:max-height .3s ease-out,opacity .3s ease-out,padding .3s ease-out}.sidebar-sub-item.sidebar-expanded{max-height:200px;opacity:1;padding:var(--Size-3) var(--Size-3) var(--Size-3) var(--Size-8)}.sidebar-sub-item-default{color:var(--Gray-Gray-500)}.sidebar-sub-item-active{color:var(--Primary-Primary-500)}.space-between{justify-content:space-between}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "width", "height", "color"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2
|
|
5684
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SidebarComponent, isStandalone: true, selector: "app-sidebar", inputs: { sideBarProperties: "sideBarProperties" }, outputs: { onIndexChanged: "onIndexChanged" }, ngImport: i0, template: "<div class=\"main-sidebar-container\">\n <ng-container *ngFor=\"let item of sideBarProperties\">\n <div\n class=\"sidebar-option\"\n [ngClass]=\"item.active ? 'sidebar-active-option' : 'sidebar-default-option'\"\n (click)=\"onItemClick(item)\"\n >\n <app-icon\n [name]=\"item.icon\"\n width=\"20px\"\n height=\"20px\"\n [color]=\"item.active ? 'Primary-Primary-500' : 'Gray-Gray-500'\"\n ></app-icon>\n <span>{{ item.text | translate }}</span>\n <app-icon\n *ngIf=\"item.subItems && item.subItems.length > 0\"\n class=\"arrow\"\n [ngClass]=\"{\n 'arrow-expanded': item.expandedMenu\n }\"\n name=\"Dropdown-down\"\n width=\"20px\"\n height=\"20px\"\n [color]=\"item.active ? 'Primary-Primary-500' : 'Gray-Gray-500'\"\n ></app-icon>\n </div>\n <ng-container *ngIf=\"item.subItems && item.subItems.length > 0\">\n <div\n class=\"sidebar-sub-item\"\n *ngFor=\"let subOption of item.subItems\"\n (click)=\"onSubItemClick(subOption)\"\n [ngClass]=\"{\n 'sidebar-expanded': item.expandedMenu,\n 'sidebar-sub-item-default': !subOption.active,\n 'sidebar-sub-item-active': subOption.active\n }\"\n >\n {{ subOption.text | translate }}\n </div>\n </ng-container>\n </ng-container>\n</div>\n", styles: [".main-sidebar-container{margin-top:20px}.sidebar-option{height:45px;display:flex;align-items:center;position:relative;font-weight:var(--font-weight-medium);gap:var(--Size-3);padding:var(--Size-3);font-size:var(--font-size-s);border-radius:var(--Border-1);min-width:147px;cursor:pointer}.sidebar-option .arrow{position:absolute;right:17px;transition:transform .3s ease}.sidebar-option .arrow-expanded{transform:rotate(180deg)}.sidebar-default-option{color:var(--Gray-Gray-500)}.sidebar-active-option{color:var(--Primary-Primary-500);background-color:#fef8f1}.sidebar-sub-item{overflow:hidden;max-height:0;height:auto;font-weight:var(--font-weight-medium);gap:var(--Size-3);font-size:var(--font-size-s);cursor:pointer;opacity:0;padding:0 var(--Size-3) 0 var(--Size-8);transition:max-height .3s ease-out,opacity .3s ease-out,padding .3s ease-out}.sidebar-sub-item.sidebar-expanded{max-height:200px;opacity:1;padding:var(--Size-3) var(--Size-3) var(--Size-3) var(--Size-8)}.sidebar-sub-item-default{color:var(--Gray-Gray-500)}.sidebar-sub-item-active{color:var(--Primary-Primary-500)}.space-between{justify-content:space-between}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "width", "height", "color"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
|
|
5656
5685
|
}
|
|
5657
5686
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SidebarComponent, decorators: [{
|
|
5658
5687
|
type: Component,
|