carriera-intern 1.1.103 → 1.1.105
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/carriera-intern.mjs +761 -891
- package/fesm2022/carriera-intern.mjs.map +1 -1
- package/index.d.ts +128 -222
- package/package.json +1 -1
- package/src/styles/custompickers.scss +5 -3
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import * as i1 from '@angular/forms';
|
|
2
2
|
import { Validators, FormsModule, FormControl, ReactiveFormsModule, NgControl, FormGroup } from '@angular/forms';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { Pipe, input, output, signal, effect, Optional, Self, Component, HostListener, Directive, EventEmitter, Output, Input, computed, ViewChild, Injectable, inject, Inject, forwardRef, ViewContainerRef,
|
|
4
|
+
import { Pipe, input, output, signal, effect, Optional, Self, Component, HostListener, Directive, EventEmitter, Output, Input, computed, ViewChild, Injectable, inject, DestroyRef, viewChild, afterRenderEffect, ChangeDetectionStrategy, Inject, forwardRef, ViewContainerRef, Injector, ElementRef, Renderer2, NgZone, ChangeDetectorRef } from '@angular/core';
|
|
5
5
|
import * as i2 from '@ng-bootstrap/ng-bootstrap';
|
|
6
6
|
import { NgbPopover, NgbTooltipModule, NgbDropdownModule, NgbTooltip, NgbPopoverModule, NgbModule } from '@ng-bootstrap/ng-bootstrap';
|
|
7
7
|
import * as i1$2 from 'angular-svg-icon';
|
|
8
8
|
import { SvgIconComponent, AngularSvgIconModule } from 'angular-svg-icon';
|
|
9
|
-
import * as
|
|
9
|
+
import * as i1$1 from '@angular/common';
|
|
10
10
|
import { NgTemplateOutlet, CommonModule } from '@angular/common';
|
|
11
11
|
import { base64ToFile, ImageCropperComponent } from 'ngx-image-cropper';
|
|
12
12
|
import { LottieComponent } from 'ngx-lottie';
|
|
13
13
|
import * as pdfjsLib from 'pdfjs-dist/legacy/build/pdf.mjs';
|
|
14
|
-
import * as i1$1 from '@angular/platform-browser';
|
|
15
14
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
16
15
|
import moment from 'moment';
|
|
17
16
|
import { Subject, takeUntil, distinctUntilChanged as distinctUntilChanged$1, tap, filter, debounceTime, switchMap, of, catchError } from 'rxjs';
|
|
@@ -4391,7 +4390,7 @@ class DocumentPreviewComponent {
|
|
|
4391
4390
|
//Components
|
|
4392
4391
|
SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "svgClass", "class", "viewBox", "svgAriaLabel", "onSVGLoaded", "svgStyle"] }, { kind: "component", type: InputComponent, selector: "cai-input", inputs: ["id", "config", "options", "preselectedOptions", "isLoading", "hideValidation", "showNoResults", "preselectedUnit", "unassignedCount", "forceInvalidStyling"], outputs: ["onBlur", "onFocused", "onReset", "onValueChange", "onOptionAdded", "onAdd", "onSelectionChange", "onSelectedObject", "onSelectedGroup", "onClear", "onAutofill", "onScrolledToBottom", "onScrolledToBottomGroup", "onSearch", "onValueAdded", "onRemove", "onHoverRemove"] }, { kind: "ngmodule", type:
|
|
4393
4392
|
//Forms
|
|
4394
|
-
ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type:
|
|
4393
|
+
ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type:
|
|
4395
4394
|
//Bootstrap
|
|
4396
4395
|
NgbPopoverModule }, { kind: "directive", type: i2.NgbPopover, selector: "[ngbPopover]", inputs: ["animation", "autoClose", "ngbPopover", "popoverTitle", "placement", "popperOptions", "triggers", "positionTarget", "container", "disablePopover", "popoverClass", "popoverContext", "openDelay", "closeDelay"], outputs: ["shown", "hidden"], exportAs: ["ngbPopover"] }, { kind: "ngmodule", type: NgbTooltipModule }, { kind: "directive", type: i2.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "pipe", type:
|
|
4397
4396
|
//Pipes
|
|
@@ -4439,6 +4438,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
4439
4438
|
type: Output
|
|
4440
4439
|
}], file: [{ type: i0.Input, args: [{ isSignal: true, alias: "file", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: true }] }], onDelete: [{ type: i0.Output, args: ["onDelete"] }], onDownload: [{ type: i0.Output, args: ["onDownload"] }], onTagChange: [{ type: i0.Output, args: ["onTagChange"] }] } });
|
|
4441
4440
|
|
|
4441
|
+
const DEFAULT_CROP_ZOOM = 5.8;
|
|
4442
|
+
|
|
4442
4443
|
var DualDropTarget;
|
|
4443
4444
|
(function (DualDropTarget) {
|
|
4444
4445
|
DualDropTarget["LEFT"] = "left";
|
|
@@ -4460,6 +4461,25 @@ const DEFAULT_DUAL_DROP_ZONES = {
|
|
|
4460
4461
|
},
|
|
4461
4462
|
};
|
|
4462
4463
|
|
|
4464
|
+
var DropZoneVariant;
|
|
4465
|
+
(function (DropZoneVariant) {
|
|
4466
|
+
DropZoneVariant["DOCUMENT"] = "document";
|
|
4467
|
+
DropZoneVariant["VIDEO"] = "video";
|
|
4468
|
+
DropZoneVariant["PROFILE"] = "profile";
|
|
4469
|
+
DropZoneVariant["COVER"] = "cover";
|
|
4470
|
+
DropZoneVariant["LOGO"] = "logo";
|
|
4471
|
+
})(DropZoneVariant || (DropZoneVariant = {}));
|
|
4472
|
+
|
|
4473
|
+
const IMAGE_PREVIEW_VARIANTS = new Set([
|
|
4474
|
+
DropZoneVariant.PROFILE,
|
|
4475
|
+
DropZoneVariant.COVER,
|
|
4476
|
+
DropZoneVariant.LOGO,
|
|
4477
|
+
]);
|
|
4478
|
+
const DOCS_OR_VIDEO_VARIANTS = new Set([
|
|
4479
|
+
DropZoneVariant.DOCUMENT,
|
|
4480
|
+
DropZoneVariant.VIDEO,
|
|
4481
|
+
]);
|
|
4482
|
+
|
|
4463
4483
|
const DUAL_DROP_TARGETS = [
|
|
4464
4484
|
DualDropTarget.LEFT,
|
|
4465
4485
|
DualDropTarget.RIGHT,
|
|
@@ -4642,15 +4662,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
4642
4662
|
}]
|
|
4643
4663
|
}] });
|
|
4644
4664
|
|
|
4645
|
-
var DropZoneVariant;
|
|
4646
|
-
(function (DropZoneVariant) {
|
|
4647
|
-
DropZoneVariant["DOCUMENT"] = "document";
|
|
4648
|
-
DropZoneVariant["VIDEO"] = "video";
|
|
4649
|
-
DropZoneVariant["PROFILE"] = "profile";
|
|
4650
|
-
DropZoneVariant["COVER"] = "cover";
|
|
4651
|
-
DropZoneVariant["LOGO"] = "logo";
|
|
4652
|
-
})(DropZoneVariant || (DropZoneVariant = {}));
|
|
4653
|
-
|
|
4654
4665
|
class DragModeAnimationPipe {
|
|
4655
4666
|
animationPaths = {
|
|
4656
4667
|
[DropZoneVariant.DOCUMENT]: '/assets/carriera-intern/animations/animation-document-update.json',
|
|
@@ -4830,176 +4841,187 @@ class DropZoneSnapbackHelper {
|
|
|
4830
4841
|
* selected files in a carousel.
|
|
4831
4842
|
*/
|
|
4832
4843
|
class DropZoneComponent {
|
|
4833
|
-
|
|
4844
|
+
// Injectables
|
|
4845
|
+
documentService = inject(DocumentService);
|
|
4846
|
+
destroyRef = inject(DestroyRef);
|
|
4847
|
+
// View Queries
|
|
4848
|
+
containerRef = viewChild('containerRef', ...(ngDevMode ? [{ debugName: "containerRef" }] : []));
|
|
4849
|
+
cropper = viewChild('cropper', ...(ngDevMode ? [{ debugName: "cropper" }] : []));
|
|
4850
|
+
docsViewport = viewChild('docsViewport', ...(ngDevMode ? [{ debugName: "docsViewport" }] : []));
|
|
4851
|
+
dropZoneContainer = viewChild('dropZoneContainer', ...(ngDevMode ? [{ debugName: "dropZoneContainer" }] : []));
|
|
4852
|
+
inputRange = viewChild('inputRange', ...(ngDevMode ? [{ debugName: "inputRange" }] : []));
|
|
4853
|
+
inputRef = viewChild('inputRef', ...(ngDevMode ? [{ debugName: "inputRef" }] : []));
|
|
4854
|
+
// Inputs
|
|
4855
|
+
avatarColor = input('Blue', ...(ngDevMode ? [{ debugName: "avatarColor" }] : []));
|
|
4856
|
+
crop = input(false, ...(ngDevMode ? [{ debugName: "crop" }] : []));
|
|
4857
|
+
deletedFileIds = input([], ...(ngDevMode ? [{ debugName: "deletedFileIds" }] : []));
|
|
4858
|
+
documentsDropZoneOpen = input(false, ...(ngDevMode ? [{ debugName: "documentsDropZoneOpen" }] : []));
|
|
4859
|
+
documentTags = input([], ...(ngDevMode ? [{ debugName: "documentTags" }] : []));
|
|
4860
|
+
dualDropZones = input(DEFAULT_DUAL_DROP_ZONES, ...(ngDevMode ? [{ debugName: "dualDropZones" }] : []));
|
|
4861
|
+
excludedFileTypes = input([], ...(ngDevMode ? [{ debugName: "excludedFileTypes" }] : []));
|
|
4862
|
+
files = input(null, ...(ngDevMode ? [{ debugName: "files" }] : []));
|
|
4863
|
+
fileTypes = input([
|
|
4864
|
+
'pdf',
|
|
4865
|
+
'png',
|
|
4866
|
+
'jpg',
|
|
4867
|
+
'jpeg',
|
|
4868
|
+
'gif',
|
|
4869
|
+
'avi',
|
|
4870
|
+
'mov',
|
|
4871
|
+
'mp4',
|
|
4872
|
+
], ...(ngDevMode ? [{ debugName: "fileTypes" }] : []));
|
|
4873
|
+
isCoverDetails = input(false, ...(ngDevMode ? [{ debugName: "isCoverDetails" }] : []));
|
|
4874
|
+
isDetailsSlider = input(false, ...(ngDevMode ? [{ debugName: "isDetailsSlider" }] : []));
|
|
4875
|
+
isDocumentsMode = input(false, ...(ngDevMode ? [{ debugName: "isDocumentsMode" }] : []));
|
|
4876
|
+
isDrawerMode = input(false, ...(ngDevMode ? [{ debugName: "isDrawerMode" }] : []));
|
|
4877
|
+
isDualDropZone = input(false, ...(ngDevMode ? [{ debugName: "isDualDropZone" }] : []));
|
|
4878
|
+
maxCountFiles = input(1, ...(ngDevMode ? [{ debugName: "maxCountFiles" }] : []));
|
|
4879
|
+
maxFileSize = input(100, ...(ngDevMode ? [{ debugName: "maxFileSize" }] : [])); //MB
|
|
4880
|
+
parentForm = input(null, ...(ngDevMode ? [{ debugName: "parentForm" }] : []));
|
|
4881
|
+
rounded = input(false, ...(ngDevMode ? [{ debugName: "rounded" }] : []));
|
|
4882
|
+
searchText = input(null, ...(ngDevMode ? [{ debugName: "searchText" }] : []));
|
|
4883
|
+
size = input(...(ngDevMode ? [undefined, { debugName: "size" }] : []));
|
|
4884
|
+
variant = input(DropZoneVariant.DOCUMENT, ...(ngDevMode ? [{ debugName: "variant" }] : []));
|
|
4885
|
+
// Outputs
|
|
4886
|
+
onCropPendingChange = output();
|
|
4887
|
+
onDeletedFileIds = output();
|
|
4888
|
+
onDocsChange = output();
|
|
4889
|
+
onDocumentDropZoneOpenChange = output();
|
|
4890
|
+
onDocumentFileNameChange = output();
|
|
4891
|
+
onDocumentPreviewClick = output();
|
|
4892
|
+
onDualDropChange = output();
|
|
4834
4893
|
// Signals
|
|
4835
|
-
zoomValue = signal(5.8, ...(ngDevMode ? [{ debugName: "zoomValue" }] : []));
|
|
4836
|
-
smallView = signal(false, ...(ngDevMode ? [{ debugName: "smallView" }] : []));
|
|
4837
|
-
cropHeight = signal(0, ...(ngDevMode ? [{ debugName: "cropHeight" }] : []));
|
|
4838
|
-
cropWidth = signal(0, ...(ngDevMode ? [{ debugName: "cropWidth" }] : []));
|
|
4839
|
-
showCropper = signal(false, ...(ngDevMode ? [{ debugName: "showCropper" }] : []));
|
|
4840
|
-
isCropperReady = signal(false, ...(ngDevMode ? [{ debugName: "isCropperReady" }] : []));
|
|
4841
4894
|
deletedDocs = signal([], ...(ngDevMode ? [{ debugName: "deletedDocs" }] : []));
|
|
4842
|
-
|
|
4843
|
-
onDragover = signal(false, ...(ngDevMode ? [{ debugName: "onDragover" }] : []));
|
|
4895
|
+
drawerViewportWidth = signal(0, ...(ngDevMode ? [{ debugName: "drawerViewportWidth" }] : []));
|
|
4844
4896
|
activeDualTarget = signal(null, ...(ngDevMode ? [{ debugName: "activeDualTarget" }] : []));
|
|
4897
|
+
carouselIndex = signal(0, ...(ngDevMode ? [{ debugName: "carouselIndex" }] : []));
|
|
4898
|
+
coverUrl = signal('', ...(ngDevMode ? [{ debugName: "coverUrl" }] : []));
|
|
4899
|
+
dragMode = signal(false, ...(ngDevMode ? [{ debugName: "dragMode" }] : []));
|
|
4900
|
+
dropzoneDimensionsLock = signal({
|
|
4901
|
+
width: 0,
|
|
4902
|
+
height: 0,
|
|
4903
|
+
}, ...(ngDevMode ? [{ debugName: "dropzoneDimensionsLock" }] : []));
|
|
4904
|
+
imageChangedEvent = signal(null, ...(ngDevMode ? [{ debugName: "imageChangedEvent" }] : []));
|
|
4845
4905
|
invalidFileSize = signal(false, ...(ngDevMode ? [{ debugName: "invalidFileSize" }] : []));
|
|
4906
|
+
isCropperReady = signal(false, ...(ngDevMode ? [{ debugName: "isCropperReady" }] : []));
|
|
4846
4907
|
isLoadingSkeleton = signal(true, ...(ngDevMode ? [{ debugName: "isLoadingSkeleton" }] : []));
|
|
4847
|
-
|
|
4908
|
+
isSnapbackAnimating = signal(false, ...(ngDevMode ? [{ debugName: "isSnapbackAnimating" }] : []));
|
|
4848
4909
|
maxCountReached = signal(false, ...(ngDevMode ? [{ debugName: "maxCountReached" }] : []));
|
|
4849
|
-
carouselIndex = signal(0, ...(ngDevMode ? [{ debugName: "carouselIndex" }] : []));
|
|
4850
4910
|
maxDetailsAspectRatio = signal(null, ...(ngDevMode ? [{ debugName: "maxDetailsAspectRatio" }] : []));
|
|
4851
|
-
|
|
4852
|
-
|
|
4853
|
-
|
|
4854
|
-
|
|
4855
|
-
|
|
4856
|
-
|
|
4857
|
-
|
|
4858
|
-
}), ...(ngDevMode ? [{ debugName: "driver" }] : []));
|
|
4859
|
-
transform = {
|
|
4860
|
-
scale: this.zoomValue(),
|
|
4911
|
+
onDragover = signal(false, ...(ngDevMode ? [{ debugName: "onDragover" }] : []));
|
|
4912
|
+
profileUrl = signal('', ...(ngDevMode ? [{ debugName: "profileUrl" }] : []));
|
|
4913
|
+
showCropper = signal(false, ...(ngDevMode ? [{ debugName: "showCropper" }] : []));
|
|
4914
|
+
skeletonCount = signal(0, ...(ngDevMode ? [{ debugName: "skeletonCount" }] : []));
|
|
4915
|
+
smallView = signal(false, ...(ngDevMode ? [{ debugName: "smallView" }] : []));
|
|
4916
|
+
transform = signal({
|
|
4917
|
+
scale: DEFAULT_CROP_ZOOM,
|
|
4861
4918
|
translateH: 0,
|
|
4862
4919
|
translateV: 0,
|
|
4863
4920
|
translateUnit: 'px',
|
|
4864
|
-
};
|
|
4865
|
-
|
|
4866
|
-
|
|
4867
|
-
|
|
4868
|
-
|
|
4869
|
-
|
|
4921
|
+
}, ...(ngDevMode ? [{ debugName: "transform" }] : []));
|
|
4922
|
+
unsupported = signal(false, ...(ngDevMode ? [{ debugName: "unsupported" }] : []));
|
|
4923
|
+
zoomValue = signal(DEFAULT_CROP_ZOOM, ...(ngDevMode ? [{ debugName: "zoomValue" }] : []));
|
|
4924
|
+
docs = signal([], ...(ngDevMode ? [{ debugName: "docs" }] : []));
|
|
4925
|
+
logoUrl = signal('', ...(ngDevMode ? [{ debugName: "logoUrl" }] : []));
|
|
4926
|
+
// Cropper State
|
|
4870
4927
|
cropperPreviewUrl = null;
|
|
4928
|
+
cropperResultFile = null;
|
|
4929
|
+
// State
|
|
4930
|
+
dropZoneSizeLockState = DropZoneSizeLockHelper.createState();
|
|
4871
4931
|
snapbackState = DropZoneSnapbackHelper.createState();
|
|
4872
|
-
|
|
4873
|
-
|
|
4932
|
+
drawerEl = null;
|
|
4933
|
+
drawerRo = null;
|
|
4874
4934
|
dualDropRect = null;
|
|
4935
|
+
dualLottieAnimations = {};
|
|
4936
|
+
lottieAnimation = null;
|
|
4875
4937
|
temporaryImageFile = null;
|
|
4876
|
-
|
|
4877
|
-
dropzoneDimensionsLock = signal({
|
|
4878
|
-
width: 0,
|
|
4879
|
-
height: 0,
|
|
4880
|
-
}, ...(ngDevMode ? [{ debugName: "dropzoneDimensionsLock" }] : []));
|
|
4881
|
-
dropZoneSizeLockState = DropZoneSizeLockHelper.createState();
|
|
4882
|
-
containerRefEl = null;
|
|
4883
|
-
drawerRo = null;
|
|
4884
|
-
drawerEl = null;
|
|
4885
|
-
// Inputs
|
|
4886
|
-
crop = input(false, ...(ngDevMode ? [{ debugName: "crop" }] : []));
|
|
4887
|
-
size = input(...(ngDevMode ? [undefined, { debugName: "size" }] : []));
|
|
4888
|
-
rounded = input(false, ...(ngDevMode ? [{ debugName: "rounded" }] : []));
|
|
4889
|
-
deletedFileIds = input([], ...(ngDevMode ? [{ debugName: "deletedFileIds" }] : []));
|
|
4890
|
-
maxCountFiles = input(1, ...(ngDevMode ? [{ debugName: "maxCountFiles" }] : []));
|
|
4891
|
-
isDetailsSlider = input(false, ...(ngDevMode ? [{ debugName: "isDetailsSlider" }] : []));
|
|
4892
|
-
isDrawerMode = input(false, ...(ngDevMode ? [{ debugName: "isDrawerMode" }] : []));
|
|
4893
|
-
isCoverDetails = input(false, ...(ngDevMode ? [{ debugName: "isCoverDetails" }] : []));
|
|
4894
|
-
maxFileSize = input(100, ...(ngDevMode ? [{ debugName: "maxFileSize" }] : [])); //MB
|
|
4895
|
-
isDocumentsMode = input(false, ...(ngDevMode ? [{ debugName: "isDocumentsMode" }] : []));
|
|
4896
|
-
documentsDropZoneOpen = input(false, ...(ngDevMode ? [{ debugName: "documentsDropZoneOpen" }] : []));
|
|
4897
|
-
searchText = input(null, ...(ngDevMode ? [{ debugName: "searchText" }] : []));
|
|
4898
|
-
avatarColor = input('Blue', ...(ngDevMode ? [{ debugName: "avatarColor" }] : []));
|
|
4899
|
-
isDualDropZone = input(false, ...(ngDevMode ? [{ debugName: "isDualDropZone" }] : []));
|
|
4900
|
-
dualDropZones = input(DEFAULT_DUAL_DROP_ZONES, ...(ngDevMode ? [{ debugName: "dualDropZones" }] : []));
|
|
4901
|
-
files = null;
|
|
4902
|
-
//enums
|
|
4938
|
+
// Enums
|
|
4903
4939
|
dropZoneVariant = DropZoneVariant;
|
|
4904
4940
|
dualDropTarget = DualDropTarget;
|
|
4941
|
+
// Constants
|
|
4905
4942
|
dualTargets = DUAL_DROP_TARGETS;
|
|
4906
|
-
|
|
4907
|
-
//outputs
|
|
4908
|
-
onDeletedFileIds = new EventEmitter();
|
|
4909
|
-
onDocsChange = new EventEmitter();
|
|
4910
|
-
onDocumentPreviewClick = new EventEmitter();
|
|
4911
|
-
onDocumentFileNameChange = new EventEmitter();
|
|
4912
|
-
onCropPendingChange = new EventEmitter();
|
|
4913
|
-
onDocumentDropZoneOpenChange = new EventEmitter();
|
|
4914
|
-
onDualDropChange = output();
|
|
4915
|
-
//views
|
|
4916
|
-
cropper;
|
|
4917
|
-
inputRange;
|
|
4918
|
-
set containerElementRef(ref) {
|
|
4919
|
-
this.containerRefEl = ref?.nativeElement ?? null;
|
|
4920
|
-
this.syncDropZoneSizeLock();
|
|
4921
|
-
}
|
|
4922
|
-
dropZoneContainer;
|
|
4923
|
-
docsViewport;
|
|
4924
|
-
//variables
|
|
4925
|
-
coverUrl = '';
|
|
4926
|
-
profileUrl = '';
|
|
4927
|
-
logoUrl = '';
|
|
4928
|
-
categoryTag = null;
|
|
4943
|
+
// Variables
|
|
4929
4944
|
docsRatios = new Map();
|
|
4945
|
+
categoryTag = null;
|
|
4930
4946
|
clientFileId = 0;
|
|
4931
|
-
//
|
|
4932
|
-
|
|
4933
|
-
|
|
4934
|
-
|
|
4935
|
-
|
|
4936
|
-
|
|
4937
|
-
|
|
4938
|
-
|
|
4939
|
-
|
|
4940
|
-
|
|
4941
|
-
|
|
4942
|
-
|
|
4943
|
-
|
|
4944
|
-
|
|
4945
|
-
|
|
4946
|
-
|
|
4947
|
-
|
|
4948
|
-
|
|
4949
|
-
|
|
4950
|
-
|
|
4951
|
-
|
|
4952
|
-
|
|
4953
|
-
|
|
4954
|
-
|
|
4955
|
-
|
|
4956
|
-
|
|
4957
|
-
|
|
4958
|
-
|
|
4959
|
-
|
|
4960
|
-
|
|
4961
|
-
|
|
4962
|
-
|
|
4963
|
-
|
|
4964
|
-
|
|
4965
|
-
|
|
4966
|
-
|
|
4967
|
-
|
|
4968
|
-
|
|
4969
|
-
|
|
4970
|
-
|
|
4971
|
-
|
|
4972
|
-
|
|
4973
|
-
|
|
4974
|
-
|
|
4975
|
-
|
|
4976
|
-
|
|
4977
|
-
|
|
4978
|
-
|
|
4979
|
-
|
|
4980
|
-
|
|
4981
|
-
|
|
4982
|
-
|
|
4983
|
-
|
|
4984
|
-
|
|
4985
|
-
|
|
4947
|
+
// Computed Signals
|
|
4948
|
+
cropDimensions = computed(() => {
|
|
4949
|
+
const rounded = this.rounded();
|
|
4950
|
+
const map = {
|
|
4951
|
+
[DropZoneVariant.PROFILE]: { width: rounded ? 178 : 160, height: 178 },
|
|
4952
|
+
[DropZoneVariant.LOGO]: { width: 628, height: 214 },
|
|
4953
|
+
[DropZoneVariant.COVER]: { width: 267, height: 178 },
|
|
4954
|
+
};
|
|
4955
|
+
return map[this.variant()] ?? { width: 0, height: 0 };
|
|
4956
|
+
}, ...(ngDevMode ? [{ debugName: "cropDimensions" }] : []));
|
|
4957
|
+
driver = computed(() => ({
|
|
4958
|
+
id: 0,
|
|
4959
|
+
firstName: '',
|
|
4960
|
+
lastName: '',
|
|
4961
|
+
avatarFile: null,
|
|
4962
|
+
avatarColor: this.avatarColor(),
|
|
4963
|
+
}), ...(ngDevMode ? [{ debugName: "driver" }] : []));
|
|
4964
|
+
isDualDragActive = computed(() => this.isDualDropZone() && this.dragMode(), ...(ngDevMode ? [{ debugName: "isDualDragActive" }] : []));
|
|
4965
|
+
supportedFileTypes = computed(() => this.fileTypes().filter((type) => !this.excludedFileTypes().includes(type)), ...(ngDevMode ? [{ debugName: "supportedFileTypes" }] : []));
|
|
4966
|
+
skeletonItems = computed(() => Array.from({ length: this.skeletonCount() }), ...(ngDevMode ? [{ debugName: "skeletonItems" }] : []));
|
|
4967
|
+
carouselTransform = computed(() => {
|
|
4968
|
+
if (this.isDocumentsMode())
|
|
4969
|
+
return 'translateX(0)';
|
|
4970
|
+
if (this.isDetailsSlider())
|
|
4971
|
+
return `translateX(${this.carouselIndex() * -100}%)`;
|
|
4972
|
+
if (this.isDrawerMode()) {
|
|
4973
|
+
const cardWidthWithGap = 198; // 194px width + 4px gap
|
|
4974
|
+
const containerWidth = this.drawerViewportWidth();
|
|
4975
|
+
const contentWidth = this.docs().length * cardWidthWithGap;
|
|
4976
|
+
if (containerWidth <= 0 || contentWidth <= containerWidth)
|
|
4977
|
+
return 'translateX(0)';
|
|
4978
|
+
const maxTranslate = containerWidth - contentWidth;
|
|
4979
|
+
const desiredTranslate = cardWidthWithGap * this.carouselIndex() * -1;
|
|
4980
|
+
return `translateX(${Math.max(desiredTranslate, maxTranslate)}px)`;
|
|
4981
|
+
}
|
|
4982
|
+
const gap = this.size() === '480px' ? 6 : 8;
|
|
4983
|
+
return `translateX(${(148 + gap) * this.carouselIndex() * -1}px)`;
|
|
4984
|
+
}, ...(ngDevMode ? [{ debugName: "carouselTransform" }] : []));
|
|
4985
|
+
cropWidth = computed(() => this.cropDimensions().width, ...(ngDevMode ? [{ debugName: "cropWidth" }] : []));
|
|
4986
|
+
cropHeight = computed(() => this.cropDimensions().height, ...(ngDevMode ? [{ debugName: "cropHeight" }] : []));
|
|
4987
|
+
cropAspectRatio = computed(() => {
|
|
4988
|
+
const width = this.cropWidth();
|
|
4989
|
+
const height = this.cropHeight();
|
|
4990
|
+
return width && height ? width / height : 1;
|
|
4991
|
+
}, ...(ngDevMode ? [{ debugName: "cropAspectRatio" }] : []));
|
|
4992
|
+
carouselVisibleCount = computed(() => {
|
|
4993
|
+
if (this.isDetailsSlider())
|
|
4994
|
+
return 1;
|
|
4995
|
+
if (this.isDrawerMode()) {
|
|
4996
|
+
const width = this.drawerViewportWidth();
|
|
4997
|
+
return width <= 0 ? 1 : Math.max(1, Math.floor((width + 4) / 198));
|
|
4998
|
+
}
|
|
4999
|
+
return this.size() === '480px' ? 2 : 3;
|
|
5000
|
+
}, ...(ngDevMode ? [{ debugName: "carouselVisibleCount" }] : []));
|
|
5001
|
+
isCarouselAtEnd = computed(() => {
|
|
5002
|
+
const maxIndex = Math.max(0, this.docs().length - this.carouselVisibleCount());
|
|
5003
|
+
return this.carouselIndex() >= maxIndex;
|
|
5004
|
+
}, ...(ngDevMode ? [{ debugName: "isCarouselAtEnd" }] : []));
|
|
5005
|
+
constructor() {
|
|
5006
|
+
this.destroyRef.onDestroy(() => {
|
|
5007
|
+
this.clearCropperPreviewUrl();
|
|
5008
|
+
DropZoneSnapbackHelper.destroy(this.snapbackState);
|
|
5009
|
+
this.clearDrawerRo();
|
|
5010
|
+
DropZoneSizeLockHelper.destroy(this.dropZoneSizeLockState);
|
|
5011
|
+
});
|
|
5012
|
+
effect(() => {
|
|
5013
|
+
const newFiles = this.files();
|
|
4986
5014
|
if (newFiles?.length) {
|
|
4987
5015
|
this.populateDocs(newFiles);
|
|
4988
5016
|
}
|
|
4989
|
-
}
|
|
4990
|
-
|
|
4991
|
-
|
|
4992
|
-
|
|
4993
|
-
|
|
4994
|
-
this.clearDrawerRo();
|
|
4995
|
-
DropZoneSizeLockHelper.destroy(this.dropZoneSizeLockState);
|
|
4996
|
-
}
|
|
4997
|
-
ngAfterViewChecked() {
|
|
4998
|
-
this.setDrawerRo();
|
|
4999
|
-
this.syncDropZoneSizeLock();
|
|
5017
|
+
});
|
|
5018
|
+
afterRenderEffect(() => {
|
|
5019
|
+
this.setDrawerRo();
|
|
5020
|
+
this.syncDropZoneSizeLock();
|
|
5021
|
+
});
|
|
5000
5022
|
}
|
|
5001
5023
|
syncDropZoneSizeLock() {
|
|
5002
|
-
DropZoneSizeLockHelper.watch(this.dropZoneSizeLockState, this.isDrawerMode() ? null : this.
|
|
5024
|
+
DropZoneSizeLockHelper.watch(this.dropZoneSizeLockState, this.isDrawerMode() ? null : (this.containerRef()?.nativeElement ?? null), (size) => this.dropzoneDimensionsLock.set(size));
|
|
5003
5025
|
}
|
|
5004
5026
|
clampDrawerIndex() {
|
|
5005
5027
|
const maxStart = Math.max(0, this.docs().length - this.carouselVisibleCount());
|
|
@@ -5012,7 +5034,7 @@ class DropZoneComponent {
|
|
|
5012
5034
|
this.drawerEl = null;
|
|
5013
5035
|
return;
|
|
5014
5036
|
}
|
|
5015
|
-
const el = this.docsViewport?.nativeElement;
|
|
5037
|
+
const el = this.docsViewport()?.nativeElement;
|
|
5016
5038
|
if (!el) {
|
|
5017
5039
|
this.drawerEl = null;
|
|
5018
5040
|
return;
|
|
@@ -5022,7 +5044,7 @@ class DropZoneComponent {
|
|
|
5022
5044
|
this.drawerViewportWidth.set(el.getBoundingClientRect().width);
|
|
5023
5045
|
this.clampDrawerIndex();
|
|
5024
5046
|
this.drawerRo = new ResizeObserver(() => {
|
|
5025
|
-
this.drawerViewportWidth.set(this.docsViewport.nativeElement.getBoundingClientRect().width);
|
|
5047
|
+
this.drawerViewportWidth.set(this.docsViewport().nativeElement.getBoundingClientRect().width);
|
|
5026
5048
|
this.clampDrawerIndex();
|
|
5027
5049
|
});
|
|
5028
5050
|
this.drawerRo.observe(el);
|
|
@@ -5038,20 +5060,14 @@ class DropZoneComponent {
|
|
|
5038
5060
|
emitDocs() {
|
|
5039
5061
|
this.onDocsChange.emit(this.docs());
|
|
5040
5062
|
}
|
|
5041
|
-
|
|
5042
|
-
|
|
5043
|
-
this.dualLottieAnimations[dualTarget] = animation;
|
|
5044
|
-
animation.goToAndStop(0, true);
|
|
5045
|
-
return;
|
|
5046
|
-
}
|
|
5047
|
-
this.lottieAnimation = animation;
|
|
5048
|
-
this.lottieAnimation.goToAndStop(0, true);
|
|
5063
|
+
isImagePreviewVariant() {
|
|
5064
|
+
return IMAGE_PREVIEW_VARIANTS.has(this.variant());
|
|
5049
5065
|
}
|
|
5050
|
-
|
|
5051
|
-
|
|
5052
|
-
|
|
5053
|
-
|
|
5054
|
-
|
|
5066
|
+
isDocsOrVideoVariant() {
|
|
5067
|
+
return DOCS_OR_VIDEO_VARIANTS.has(this.variant());
|
|
5068
|
+
}
|
|
5069
|
+
playLottieAnimation(animation, forward, options = {}) {
|
|
5070
|
+
const speed = forward ? 1 : 4;
|
|
5055
5071
|
const endFrame = Math.max(0, Math.floor((animation.totalFrames ?? 1) - 1));
|
|
5056
5072
|
const currentFrame = Math.round(Math.min(Math.max(animation.currentFrame ?? 0, 0), endFrame));
|
|
5057
5073
|
if (forward) {
|
|
@@ -5063,10 +5079,26 @@ class DropZoneComponent {
|
|
|
5063
5079
|
animation.goToAndStop(0, true);
|
|
5064
5080
|
return;
|
|
5065
5081
|
}
|
|
5066
|
-
const speed = forward ? 1 : 4;
|
|
5067
5082
|
animation.setDirection(forward ? 1 : -1);
|
|
5068
5083
|
animation.setSpeed(speed);
|
|
5069
|
-
|
|
5084
|
+
const startFrame = forward
|
|
5085
|
+
? options.resumeFromCurrent
|
|
5086
|
+
? currentFrame
|
|
5087
|
+
: 0
|
|
5088
|
+
: options.rewindToEnd
|
|
5089
|
+
? endFrame
|
|
5090
|
+
: currentFrame || endFrame;
|
|
5091
|
+
animation.goToAndPlay(startFrame, true);
|
|
5092
|
+
}
|
|
5093
|
+
playDualDropAnimation(target, forward = true) {
|
|
5094
|
+
const animation = this.dualLottieAnimations[target];
|
|
5095
|
+
if (!animation) {
|
|
5096
|
+
return;
|
|
5097
|
+
}
|
|
5098
|
+
this.playLottieAnimation(animation, forward, {
|
|
5099
|
+
resumeFromCurrent: true,
|
|
5100
|
+
rewindToEnd: true,
|
|
5101
|
+
});
|
|
5070
5102
|
}
|
|
5071
5103
|
setActiveDualTarget(target) {
|
|
5072
5104
|
const previous = this.activeDualTarget();
|
|
@@ -5082,7 +5114,7 @@ class DropZoneComponent {
|
|
|
5082
5114
|
this.activeDualTarget.set(target);
|
|
5083
5115
|
}
|
|
5084
5116
|
updateDualTargetFromPointer(event) {
|
|
5085
|
-
const container = this.dropZoneContainer?.nativeElement;
|
|
5117
|
+
const container = this.dropZoneContainer()?.nativeElement;
|
|
5086
5118
|
if (!container) {
|
|
5087
5119
|
return;
|
|
5088
5120
|
}
|
|
@@ -5096,12 +5128,7 @@ class DropZoneComponent {
|
|
|
5096
5128
|
if (!this.lottieAnimation) {
|
|
5097
5129
|
return;
|
|
5098
5130
|
}
|
|
5099
|
-
|
|
5100
|
-
const endFrame = Math.max(0, this.lottieAnimation.totalFrames ?? 0);
|
|
5101
|
-
const currentFrame = Math.round(Math.min(Math.max(this.lottieAnimation.currentFrame ?? 0, 0), endFrame));
|
|
5102
|
-
this.lottieAnimation.setDirection(forward ? 1 : -1);
|
|
5103
|
-
this.lottieAnimation.setSpeed(speed);
|
|
5104
|
-
this.lottieAnimation.goToAndPlay(forward ? 0 : currentFrame || endFrame, true);
|
|
5131
|
+
this.playLottieAnimation(this.lottieAnimation, forward);
|
|
5105
5132
|
}
|
|
5106
5133
|
stopDropAnimation() {
|
|
5107
5134
|
if (this.isDualDropZone()) {
|
|
@@ -5143,10 +5170,10 @@ class DropZoneComponent {
|
|
|
5143
5170
|
const fileExtension = fileResp.fileName?.split('.').pop()?.toLowerCase() || 'pdf';
|
|
5144
5171
|
let previewUrl = fileResp?.url || '';
|
|
5145
5172
|
let pageCount;
|
|
5146
|
-
const file = await
|
|
5147
|
-
const supportedBase64 =
|
|
5173
|
+
const file = await DropZoneDocumentsHelper.fetchFileAsFile(fileResp);
|
|
5174
|
+
const supportedBase64 = this.isImagePreviewVariant();
|
|
5148
5175
|
const base64Url = supportedBase64 && file
|
|
5149
|
-
? await
|
|
5176
|
+
? await DropZoneDocumentsHelper.fileToBase64(file)
|
|
5150
5177
|
: null;
|
|
5151
5178
|
if (fileExtension === 'pdf' && file) {
|
|
5152
5179
|
try {
|
|
@@ -5198,121 +5225,53 @@ class DropZoneComponent {
|
|
|
5198
5225
|
return;
|
|
5199
5226
|
const min = Number(input.min);
|
|
5200
5227
|
const max = Number(input.max);
|
|
5201
|
-
|
|
5202
|
-
value = ((this.zoomValue() - min) / (max - min)) * 100;
|
|
5228
|
+
const value = ((this.zoomValue() - min) / (max - min)) * 100;
|
|
5203
5229
|
input.style.setProperty('--range-progress', `${value}%`);
|
|
5204
5230
|
}
|
|
5205
|
-
|
|
5206
|
-
|
|
5207
|
-
|
|
5208
|
-
|
|
5209
|
-
|
|
5210
|
-
|
|
5211
|
-
|
|
5212
|
-
|
|
5213
|
-
|
|
5214
|
-
|
|
5215
|
-
|
|
5216
|
-
|
|
5217
|
-
|
|
5218
|
-
|
|
5219
|
-
|
|
5220
|
-
break;
|
|
5221
|
-
case 'logo':
|
|
5222
|
-
width = 628;
|
|
5223
|
-
height = 214;
|
|
5224
|
-
break;
|
|
5225
|
-
case 'cover':
|
|
5226
|
-
width = 267;
|
|
5227
|
-
height = 178;
|
|
5228
|
-
break;
|
|
5231
|
+
resetCropTransform() {
|
|
5232
|
+
this.zoomValue.set(DEFAULT_CROP_ZOOM);
|
|
5233
|
+
this.transform.set({
|
|
5234
|
+
scale: DEFAULT_CROP_ZOOM,
|
|
5235
|
+
translateH: 0,
|
|
5236
|
+
translateV: 0,
|
|
5237
|
+
translateUnit: 'px',
|
|
5238
|
+
});
|
|
5239
|
+
}
|
|
5240
|
+
applyClampedTransform(transform, inputTranslateH, inputTranslateV) {
|
|
5241
|
+
const clampedTransform = DropZoneSnapbackHelper.clampTransform(transform, this.getClampOptions());
|
|
5242
|
+
const didSnapback = DropZoneSnapbackHelper.didSnapback(clampedTransform, inputTranslateH, inputTranslateV);
|
|
5243
|
+
this.transform.set(clampedTransform);
|
|
5244
|
+
if (didSnapback) {
|
|
5245
|
+
DropZoneSnapbackHelper.triggerAnimation(this.snapbackState, (value) => this.isSnapbackAnimating.set(value));
|
|
5229
5246
|
}
|
|
5230
|
-
this.
|
|
5231
|
-
this.cropHeight.set(height);
|
|
5247
|
+
this.zoomValue.set(clampedTransform.scale ?? this.zoomValue());
|
|
5232
5248
|
}
|
|
5233
5249
|
setImagePreviewUrl(previewUrl) {
|
|
5234
5250
|
if (!previewUrl)
|
|
5235
5251
|
return;
|
|
5236
5252
|
switch (this.variant()) {
|
|
5237
5253
|
case this.dropZoneVariant.PROFILE: {
|
|
5238
|
-
this.profileUrl
|
|
5254
|
+
this.profileUrl.set(previewUrl);
|
|
5239
5255
|
break;
|
|
5240
5256
|
}
|
|
5241
5257
|
case this.dropZoneVariant.COVER: {
|
|
5242
|
-
this.coverUrl
|
|
5258
|
+
this.coverUrl.set(previewUrl);
|
|
5243
5259
|
if (this.size() === '480px') {
|
|
5244
5260
|
this.smallView.set(true);
|
|
5245
5261
|
}
|
|
5246
5262
|
break;
|
|
5247
5263
|
}
|
|
5248
5264
|
case this.dropZoneVariant.LOGO: {
|
|
5249
|
-
this.logoUrl
|
|
5265
|
+
this.logoUrl.set(previewUrl);
|
|
5250
5266
|
break;
|
|
5251
5267
|
}
|
|
5252
5268
|
default:
|
|
5253
5269
|
break;
|
|
5254
5270
|
}
|
|
5255
5271
|
}
|
|
5256
|
-
|
|
5257
|
-
|
|
5258
|
-
|
|
5259
|
-
return width && height ? width / height : 1;
|
|
5260
|
-
}
|
|
5261
|
-
onZoomChange(event) {
|
|
5262
|
-
const input = event.target;
|
|
5263
|
-
const zoom = Number(input.value);
|
|
5264
|
-
const currentTranslateH = this.transform.translateH ?? 0;
|
|
5265
|
-
const currentTranslateV = this.transform.translateV ?? 0;
|
|
5266
|
-
const clampedTransform = DropZoneSnapbackHelper.clampTransform({
|
|
5267
|
-
...this.transform,
|
|
5268
|
-
scale: zoom,
|
|
5269
|
-
}, this.getClampOptions());
|
|
5270
|
-
const didSnapback = DropZoneSnapbackHelper.didSnapback(clampedTransform, currentTranslateH, currentTranslateV);
|
|
5271
|
-
this.transform = clampedTransform;
|
|
5272
|
-
if (didSnapback) {
|
|
5273
|
-
DropZoneSnapbackHelper.triggerAnimation(this.snapbackState, (value) => this.isSnapbackAnimating.set(value));
|
|
5274
|
-
}
|
|
5275
|
-
this.zoomValue.set(clampedTransform.scale ?? zoom);
|
|
5276
|
-
this.updateRangeBackground(event.target);
|
|
5277
|
-
}
|
|
5278
|
-
fileChangeEvent(event) {
|
|
5279
|
-
this.imageChangedEvent = event;
|
|
5280
|
-
this.isCropperReady.set(false);
|
|
5281
|
-
const target = event.target;
|
|
5282
|
-
const file = target.files?.[0];
|
|
5283
|
-
this.zoomValue.set(5.8);
|
|
5284
|
-
this.transform = {
|
|
5285
|
-
scale: this.zoomValue(),
|
|
5286
|
-
translateH: 0,
|
|
5287
|
-
translateV: 0,
|
|
5288
|
-
translateUnit: 'px',
|
|
5289
|
-
};
|
|
5290
|
-
const fileExtension = file?.name.split('.').pop()?.toLowerCase();
|
|
5291
|
-
const isSupportedImage = file &&
|
|
5292
|
-
file.type.startsWith('image/') &&
|
|
5293
|
-
fileExtension &&
|
|
5294
|
-
this.supportedFileTypes().includes(fileExtension);
|
|
5295
|
-
if (isSupportedImage && this.crop()) {
|
|
5296
|
-
this.setInvalid();
|
|
5297
|
-
this.showCropper.set(true);
|
|
5298
|
-
}
|
|
5299
|
-
else {
|
|
5300
|
-
this.showCropper.set(false);
|
|
5301
|
-
}
|
|
5302
|
-
this.zoomValue.set(5.8);
|
|
5303
|
-
}
|
|
5304
|
-
imageCropped(event) {
|
|
5305
|
-
if (event.base64) {
|
|
5306
|
-
const blob = base64ToFile(event.base64);
|
|
5307
|
-
this.setCropperFile(this.createFileFromBlob(blob));
|
|
5308
|
-
}
|
|
5309
|
-
else if (event.objectUrl) {
|
|
5310
|
-
this.setCropperFileFromObjectUrl(event.objectUrl);
|
|
5311
|
-
}
|
|
5312
|
-
}
|
|
5313
|
-
setCropperFile(file) {
|
|
5314
|
-
this.cropperResultFile = file;
|
|
5315
|
-
this.updateCropperPreviewUrl(URL.createObjectURL(file));
|
|
5272
|
+
setCropperFile(file) {
|
|
5273
|
+
this.cropperResultFile = file;
|
|
5274
|
+
this.updateCropperPreviewUrl(URL.createObjectURL(file));
|
|
5316
5275
|
}
|
|
5317
5276
|
createFileFromBlob(blob) {
|
|
5318
5277
|
const name = this.temporaryImageFile?.fileName ?? 'cropped-image.png';
|
|
@@ -5336,239 +5295,200 @@ class DropZoneComponent {
|
|
|
5336
5295
|
URL.revokeObjectURL(this.cropperPreviewUrl);
|
|
5337
5296
|
}
|
|
5338
5297
|
this.cropperPreviewUrl = url;
|
|
5339
|
-
this.croppedImage = this.sanitizer.bypassSecurityTrustUrl(url);
|
|
5340
5298
|
}
|
|
5341
5299
|
clearCropperPreviewUrl() {
|
|
5342
5300
|
if (this.cropperPreviewUrl) {
|
|
5343
5301
|
URL.revokeObjectURL(this.cropperPreviewUrl);
|
|
5344
5302
|
this.cropperPreviewUrl = null;
|
|
5345
|
-
this.croppedImage = null;
|
|
5346
5303
|
}
|
|
5347
5304
|
}
|
|
5348
|
-
|
|
5349
|
-
|
|
5350
|
-
|
|
5351
|
-
|
|
5352
|
-
|
|
5353
|
-
cropperReady() {
|
|
5354
|
-
this.isCropperReady.set(true);
|
|
5355
|
-
if (this.inputRange?.nativeElement) {
|
|
5356
|
-
this.updateRangeBackground(this.inputRange.nativeElement);
|
|
5357
|
-
}
|
|
5305
|
+
isFileDragEvent(event) {
|
|
5306
|
+
const dataTransferTypes = event.dataTransfer?.types;
|
|
5307
|
+
if (!dataTransferTypes)
|
|
5308
|
+
return false;
|
|
5309
|
+
return Array.from(dataTransferTypes).includes('Files');
|
|
5358
5310
|
}
|
|
5359
|
-
|
|
5360
|
-
|
|
5311
|
+
resetDragState() {
|
|
5312
|
+
this.dragMode.set(false);
|
|
5313
|
+
this.onDragover.set(false);
|
|
5314
|
+
this.activeDualTarget.set(null);
|
|
5315
|
+
this.dualDropRect = null;
|
|
5316
|
+
this.stopDropAnimation();
|
|
5361
5317
|
}
|
|
5362
|
-
|
|
5363
|
-
const
|
|
5364
|
-
|
|
5365
|
-
|
|
5366
|
-
const didSnapback = DropZoneSnapbackHelper.didSnapback(clampedTransform, inputTranslateH, inputTranslateV);
|
|
5367
|
-
this.transform = clampedTransform;
|
|
5368
|
-
if (didSnapback) {
|
|
5369
|
-
DropZoneSnapbackHelper.triggerAnimation(this.snapbackState, (value) => this.isSnapbackAnimating.set(value));
|
|
5318
|
+
setInputDisabled(disabled) {
|
|
5319
|
+
const input = this.inputRef()?.nativeElement;
|
|
5320
|
+
if (input) {
|
|
5321
|
+
input.disabled = disabled;
|
|
5370
5322
|
}
|
|
5371
|
-
this.zoomValue.set(clampedTransform.scale ?? this.zoomValue());
|
|
5372
|
-
}
|
|
5373
|
-
cancelCrop() {
|
|
5374
|
-
this.temporaryImageFile = null;
|
|
5375
|
-
this.cropperResultFile = null;
|
|
5376
|
-
this.clearInvalid();
|
|
5377
|
-
this.isCropperReady.set(false);
|
|
5378
|
-
this.showCropper.set(false);
|
|
5379
|
-
this.onCropPendingChange.emit(false);
|
|
5380
5323
|
}
|
|
5381
|
-
|
|
5382
|
-
|
|
5383
|
-
|
|
5384
|
-
|
|
5385
|
-
|
|
5386
|
-
|
|
5387
|
-
|
|
5388
|
-
|
|
5389
|
-
|
|
5390
|
-
|
|
5391
|
-
|
|
5392
|
-
|
|
5393
|
-
this.
|
|
5324
|
+
async processFiles(files, dropTarget) {
|
|
5325
|
+
const resolvedDropTarget = dropTarget ?? null;
|
|
5326
|
+
this.unsupported.set(false);
|
|
5327
|
+
this.invalidFileSize.set(false);
|
|
5328
|
+
this.setInputDisabled(false);
|
|
5329
|
+
this.maxCountReached.set(false);
|
|
5330
|
+
const fileArray = Array.from(files);
|
|
5331
|
+
const maxSizeBytes = this.maxFileSize() * 1024 * 1024;
|
|
5332
|
+
const supportedTypes = this.supportedFileTypes();
|
|
5333
|
+
const isDocsOrVideo = this.isDocsOrVideoVariant();
|
|
5334
|
+
const existingNames = new Set(this.docs().map((d) => d.fileName));
|
|
5335
|
+
if (isDocsOrVideo && this.docs().length >= this.maxCountFiles()) {
|
|
5336
|
+
this.setInputDisabled(true);
|
|
5337
|
+
this.maxCountReached.set(true);
|
|
5394
5338
|
return;
|
|
5395
5339
|
}
|
|
5396
|
-
const
|
|
5397
|
-
|
|
5398
|
-
|
|
5399
|
-
|
|
5400
|
-
if (
|
|
5401
|
-
|
|
5402
|
-
|
|
5340
|
+
const toProcess = [];
|
|
5341
|
+
let totalDocsCount = this.docs().length;
|
|
5342
|
+
for (const file of fileArray) {
|
|
5343
|
+
const fileExtension = file.name.split('.').pop()?.toLowerCase();
|
|
5344
|
+
if (!fileExtension ||
|
|
5345
|
+
!supportedTypes.includes(fileExtension)) {
|
|
5346
|
+
this.unsupported.set(true);
|
|
5347
|
+
continue;
|
|
5403
5348
|
}
|
|
5404
|
-
|
|
5405
|
-
|
|
5406
|
-
|
|
5407
|
-
this.showCropper.set(false);
|
|
5408
|
-
this.isCropperReady.set(false);
|
|
5409
|
-
if (!initial)
|
|
5410
|
-
this.emitDocs();
|
|
5411
|
-
if (previewUrl) {
|
|
5412
|
-
this.clearCropperPreviewUrl();
|
|
5349
|
+
if (file.size > maxSizeBytes) {
|
|
5350
|
+
this.invalidFileSize.set(true);
|
|
5351
|
+
return;
|
|
5413
5352
|
}
|
|
5414
|
-
this.
|
|
5415
|
-
|
|
5416
|
-
this.onCropPendingChange.emit(false);
|
|
5417
|
-
return;
|
|
5418
|
-
}
|
|
5419
|
-
const lastIndex = this.docs().length - 1;
|
|
5420
|
-
if (lastIndex >= 0 && this.cropperResultFile) {
|
|
5421
|
-
const updatedDocs = [...this.docs()];
|
|
5422
|
-
const lastDoc = { ...updatedDocs[lastIndex] };
|
|
5423
|
-
lastDoc.imagePreviewUrl = previewUrl;
|
|
5424
|
-
lastDoc.file = this.cropperResultFile;
|
|
5425
|
-
if (['profile', 'cover', 'logo'].includes(this.variant())) {
|
|
5426
|
-
lastDoc.base64Url = await this.DropZoneDocumentsHelper.fileToBase64(this.cropperResultFile);
|
|
5353
|
+
if (isDocsOrVideo && totalDocsCount >= this.maxCountFiles()) {
|
|
5354
|
+
break;
|
|
5427
5355
|
}
|
|
5428
|
-
|
|
5429
|
-
|
|
5430
|
-
|
|
5431
|
-
|
|
5432
|
-
|
|
5433
|
-
|
|
5434
|
-
this.cropDimensions();
|
|
5435
|
-
if (!initial)
|
|
5436
|
-
this.emitDocs();
|
|
5437
|
-
this.isCropperReady.set(false);
|
|
5438
|
-
if (previewUrl) {
|
|
5439
|
-
this.clearCropperPreviewUrl();
|
|
5440
|
-
}
|
|
5441
|
-
this.cropperResultFile = null;
|
|
5442
|
-
}
|
|
5443
|
-
/**
|
|
5444
|
-
* A computed signal that derives the list of currently supported file extensions.
|
|
5445
|
-
* It filters the base `fileTypes` array, removing any extensions present
|
|
5446
|
-
* in the `excludedFileTypes` input.
|
|
5447
|
-
*/
|
|
5448
|
-
supportedFileTypes = computed(() => {
|
|
5449
|
-
const excluded = this.excludedFileTypes();
|
|
5450
|
-
const types = this.fileTypes();
|
|
5451
|
-
if (!excluded || excluded.length === 0) {
|
|
5452
|
-
return types;
|
|
5453
|
-
}
|
|
5454
|
-
return types.filter((type) => !excluded.includes(type));
|
|
5455
|
-
}, ...(ngDevMode ? [{ debugName: "supportedFileTypes" }] : []));
|
|
5456
|
-
/**
|
|
5457
|
-
* A signal that holds an array of `AppFile` objects representing the files
|
|
5458
|
-
* that have been selected or dropped by the user.
|
|
5459
|
-
*/
|
|
5460
|
-
docs = signal([], ...(ngDevMode ? [{ debugName: "docs" }] : []));
|
|
5461
|
-
/**
|
|
5462
|
-
* A signal that acts as a boolean flag. It is set to `true` when the user
|
|
5463
|
-
* attempts to upload a file with an unsupported extension.
|
|
5464
|
-
*/
|
|
5465
|
-
unsupported = signal(false, ...(ngDevMode ? [{ debugName: "unsupported" }] : []));
|
|
5466
|
-
/**
|
|
5467
|
-
* Handles the 'change' event from the hidden file input. It extracts the
|
|
5468
|
-
* selected files and passes them to the `processFiles` method.
|
|
5469
|
-
* @param event The `Event` object from the file input element.
|
|
5470
|
-
*/
|
|
5471
|
-
onInput(event) {
|
|
5472
|
-
const target = event.target;
|
|
5473
|
-
const files = target.files;
|
|
5474
|
-
this.processFiles(files);
|
|
5475
|
-
}
|
|
5476
|
-
onDrop(event) {
|
|
5477
|
-
if (this.isDualDragActive()) {
|
|
5478
|
-
return;
|
|
5356
|
+
if (isDocsOrVideo && existingNames.has(file.name)) {
|
|
5357
|
+
return;
|
|
5358
|
+
}
|
|
5359
|
+
existingNames.add(file.name);
|
|
5360
|
+
toProcess.push(file);
|
|
5361
|
+
totalDocsCount++;
|
|
5479
5362
|
}
|
|
5480
|
-
|
|
5481
|
-
this.resetDragState();
|
|
5482
|
-
const dropZone = this.dropZoneContainer?.nativeElement;
|
|
5483
|
-
const isInDropArea = dropZone?.contains(event.target) ||
|
|
5484
|
-
(this.dragMode() &&
|
|
5485
|
-
dropZone?.parentElement?.contains(event.target));
|
|
5486
|
-
if (!isInDropArea || this.unsupported())
|
|
5363
|
+
if (toProcess.length === 0) {
|
|
5487
5364
|
return;
|
|
5488
|
-
const files = event.dataTransfer?.files;
|
|
5489
|
-
if (files && files.length > 0) {
|
|
5490
|
-
this.processFiles(files);
|
|
5491
5365
|
}
|
|
5492
|
-
|
|
5493
|
-
|
|
5494
|
-
|
|
5495
|
-
|
|
5496
|
-
|
|
5497
|
-
|
|
5498
|
-
|
|
5366
|
+
// Parallel
|
|
5367
|
+
const processedFiles = await Promise.all(toProcess.map(async (file) => {
|
|
5368
|
+
const fileId = this.clientFileId++;
|
|
5369
|
+
const fileExtension = file.name.split('.').pop()?.toLowerCase() || '';
|
|
5370
|
+
let pageCount;
|
|
5371
|
+
const supportedBase64 = this.isImagePreviewVariant();
|
|
5372
|
+
const base64Url = supportedBase64 && file
|
|
5373
|
+
? await DropZoneDocumentsHelper.fileToBase64(file)
|
|
5374
|
+
: null;
|
|
5375
|
+
try {
|
|
5376
|
+
const [thumbnail, pages] = await Promise.all([
|
|
5377
|
+
this.documentService.generateThumbnail(file),
|
|
5378
|
+
fileExtension === 'pdf'
|
|
5379
|
+
? this.documentService.getPdfPageCount(file)
|
|
5380
|
+
: Promise.resolve(undefined),
|
|
5381
|
+
]);
|
|
5382
|
+
pageCount = pages;
|
|
5383
|
+
return {
|
|
5384
|
+
fileId,
|
|
5385
|
+
fileName: file.name,
|
|
5386
|
+
baseName: file.name.split('.').slice(0, -1).join('.'),
|
|
5387
|
+
type: fileExtension,
|
|
5388
|
+
size: file.size,
|
|
5389
|
+
imagePreviewUrl: thumbnail,
|
|
5390
|
+
file: file,
|
|
5391
|
+
pageCount,
|
|
5392
|
+
tags: [],
|
|
5393
|
+
tagChanged: false,
|
|
5394
|
+
fileNameChanged: false,
|
|
5395
|
+
categoryTag: null,
|
|
5396
|
+
base64Url,
|
|
5397
|
+
dropTarget: resolvedDropTarget,
|
|
5398
|
+
};
|
|
5399
|
+
}
|
|
5400
|
+
catch (error) {
|
|
5401
|
+
console.error(`Failed processing ${file.name}:`, error);
|
|
5402
|
+
return null;
|
|
5403
|
+
}
|
|
5404
|
+
}));
|
|
5405
|
+
const valid = processedFiles.filter(Boolean);
|
|
5406
|
+
if (valid.length === 0)
|
|
5499
5407
|
return;
|
|
5408
|
+
const isDualLeftDrop = this.isDualDropZone() && resolvedDropTarget === DualDropTarget.LEFT;
|
|
5409
|
+
if (this.isImagePreviewVariant()) {
|
|
5410
|
+
this.temporaryImageFile = valid[0];
|
|
5411
|
+
this.docs.set([this.temporaryImageFile]);
|
|
5500
5412
|
}
|
|
5501
|
-
|
|
5502
|
-
|
|
5503
|
-
return;
|
|
5504
|
-
const relatedTarget = event.target;
|
|
5505
|
-
if (this.dropZoneContainer?.nativeElement?.contains(relatedTarget)) {
|
|
5506
|
-
this.onDragover.set(true);
|
|
5413
|
+
else if (!isDualLeftDrop) {
|
|
5414
|
+
this.docs.update((docs) => [...docs, ...valid]);
|
|
5507
5415
|
}
|
|
5508
|
-
|
|
5509
|
-
|
|
5416
|
+
this.isLoadingSkeleton.set(false);
|
|
5417
|
+
const isSupportedImage = valid[0].file?.type.startsWith('image/') &&
|
|
5418
|
+
valid[0].type &&
|
|
5419
|
+
supportedTypes.includes(valid[0].type);
|
|
5420
|
+
if (isSupportedImage && this.crop()) {
|
|
5421
|
+
const dataTransfer = new DataTransfer();
|
|
5422
|
+
dataTransfer.items.add(valid[0].file);
|
|
5423
|
+
const inputEl = this.inputRef().nativeElement;
|
|
5424
|
+
inputEl.files = dataTransfer.files;
|
|
5425
|
+
const syntheticEvent = {
|
|
5426
|
+
target: inputEl,
|
|
5427
|
+
};
|
|
5428
|
+
this.imageChangedEvent.set(syntheticEvent);
|
|
5429
|
+
this.isCropperReady.set(false);
|
|
5430
|
+
this.resetCropTransform();
|
|
5431
|
+
this.setInvalid();
|
|
5432
|
+
this.showCropper.set(true);
|
|
5510
5433
|
}
|
|
5511
|
-
|
|
5512
|
-
|
|
5513
|
-
|
|
5514
|
-
|
|
5515
|
-
|
|
5516
|
-
|
|
5517
|
-
!this.dropZoneContainer?.nativeElement?.contains(relatedTarget)) {
|
|
5518
|
-
this.setActiveDualTarget(null);
|
|
5434
|
+
if (!this.crop()) {
|
|
5435
|
+
if (resolvedDropTarget && this.isDualDropZone()) {
|
|
5436
|
+
this.onDualDropChange.emit({
|
|
5437
|
+
target: resolvedDropTarget,
|
|
5438
|
+
files: valid,
|
|
5439
|
+
});
|
|
5519
5440
|
}
|
|
5520
|
-
|
|
5521
|
-
|
|
5522
|
-
|
|
5523
|
-
|
|
5524
|
-
if (!relatedTarget ||
|
|
5525
|
-
!this.dropZoneContainer?.nativeElement?.contains(relatedTarget)) {
|
|
5526
|
-
this.onDragover.set(false);
|
|
5527
|
-
this.lottieAnimation?.stop();
|
|
5528
|
-
this.playDropAnimation(false);
|
|
5441
|
+
if (!isDualLeftDrop) {
|
|
5442
|
+
this.emitDocs();
|
|
5443
|
+
}
|
|
5444
|
+
this.resetInput();
|
|
5529
5445
|
}
|
|
5530
|
-
|
|
5531
|
-
|
|
5446
|
+
const total = this.docs().length;
|
|
5447
|
+
if (!this.isDocumentsMode()) {
|
|
5448
|
+
const visibleCount = this.carouselVisibleCount();
|
|
5449
|
+
const maxStartIndex = Math.max(0, total - visibleCount);
|
|
5450
|
+
this.carouselIndex.set(total > visibleCount ? maxStartIndex : 0);
|
|
5532
5451
|
}
|
|
5533
|
-
|
|
5534
|
-
|
|
5535
|
-
|
|
5536
|
-
|
|
5537
|
-
if (!dropZone ||
|
|
5538
|
-
this.unsupported() ||
|
|
5539
|
-
(relatedTarget && dropZone.contains(relatedTarget)))
|
|
5540
|
-
return;
|
|
5541
|
-
event.preventDefault();
|
|
5542
|
-
this.dragMode.set(true);
|
|
5543
|
-
this.onDragover.set(false);
|
|
5544
|
-
if (!this.isDualDropZone()) {
|
|
5545
|
-
this.playDropAnimation(true);
|
|
5452
|
+
if (total === this.maxCountFiles() &&
|
|
5453
|
+
this.variant() === this.dropZoneVariant.DOCUMENT) {
|
|
5454
|
+
this.setInputDisabled(true);
|
|
5455
|
+
this.maxCountReached.set(true);
|
|
5546
5456
|
}
|
|
5547
5457
|
}
|
|
5548
|
-
|
|
5549
|
-
|
|
5550
|
-
|
|
5551
|
-
|
|
5552
|
-
|
|
5553
|
-
|
|
5554
|
-
|
|
5555
|
-
|
|
5556
|
-
|
|
5557
|
-
|
|
5558
|
-
|
|
5458
|
+
setInvalid() {
|
|
5459
|
+
this.parentForm()?.setErrors({ childInvalid: true });
|
|
5460
|
+
this.onCropPendingChange.emit(true);
|
|
5461
|
+
}
|
|
5462
|
+
resetInput() {
|
|
5463
|
+
this.inputRef().nativeElement.value = '';
|
|
5464
|
+
}
|
|
5465
|
+
clearInvalid() {
|
|
5466
|
+
const { childInvalid, ...rest } = this.parentForm()?.errors ?? {};
|
|
5467
|
+
const next = Object.keys(rest).length ? rest : null;
|
|
5468
|
+
this.parentForm()?.setErrors(next);
|
|
5469
|
+
this.parentForm()?.updateValueAndValidity({
|
|
5470
|
+
emitEvent: true,
|
|
5471
|
+
onlySelf: true,
|
|
5472
|
+
});
|
|
5473
|
+
// Clear the input value to allow the same file to be selected again
|
|
5474
|
+
if (this.inputRef()?.nativeElement) {
|
|
5475
|
+
this.resetInput();
|
|
5559
5476
|
}
|
|
5560
|
-
void this.processFiles(files, target).finally(() => this.resetDragState());
|
|
5561
5477
|
}
|
|
5562
|
-
|
|
5563
|
-
const
|
|
5564
|
-
|
|
5565
|
-
|
|
5566
|
-
|
|
5478
|
+
getClampOptions() {
|
|
5479
|
+
const sourceImage = this.cropper()?.sourceImage?.nativeElement;
|
|
5480
|
+
return {
|
|
5481
|
+
zoomValue: this.zoomValue(),
|
|
5482
|
+
cropWidth: this.cropWidth(),
|
|
5483
|
+
cropHeight: this.cropHeight(),
|
|
5484
|
+
imageWidth: sourceImage?.clientWidth ?? 0,
|
|
5485
|
+
imageHeight: sourceImage?.clientHeight ?? 0,
|
|
5486
|
+
};
|
|
5567
5487
|
}
|
|
5568
5488
|
onDocumentDragEnter(event) {
|
|
5569
5489
|
const isDocumentsClosed = this.isDocumentsMode() && !this.documentsDropZoneOpen();
|
|
5570
5490
|
const isUnsupported = this.unsupported();
|
|
5571
|
-
const hasLogoAndSingleSlotFilled = this.variant() === this.dropZoneVariant.LOGO && !!this.logoUrl;
|
|
5491
|
+
const hasLogoAndSingleSlotFilled = this.variant() === this.dropZoneVariant.LOGO && !!this.logoUrl();
|
|
5572
5492
|
const maxDocumentsReached = this.docs().length === this.maxCountFiles() &&
|
|
5573
5493
|
this.variant() === this.dropZoneVariant.DOCUMENT;
|
|
5574
5494
|
if (isDocumentsClosed ||
|
|
@@ -5580,7 +5500,7 @@ class DropZoneComponent {
|
|
|
5580
5500
|
this.onDragover.set(false);
|
|
5581
5501
|
}
|
|
5582
5502
|
onDocumentDragOver(event) {
|
|
5583
|
-
const dropZone = this.dropZoneContainer?.nativeElement;
|
|
5503
|
+
const dropZone = this.dropZoneContainer()?.nativeElement;
|
|
5584
5504
|
const targetInDropZone = !!dropZone?.contains(event.target);
|
|
5585
5505
|
const targetInDropZoneParent = !!dropZone?.parentElement?.contains(event.target);
|
|
5586
5506
|
const isFileDrag = this.isFileDragEvent(event);
|
|
@@ -5616,7 +5536,7 @@ class DropZoneComponent {
|
|
|
5616
5536
|
if (this.isDocumentsMode() && !this.documentsDropZoneOpen()) {
|
|
5617
5537
|
return;
|
|
5618
5538
|
}
|
|
5619
|
-
const dropZone = this.dropZoneContainer?.nativeElement;
|
|
5539
|
+
const dropZone = this.dropZoneContainer()?.nativeElement;
|
|
5620
5540
|
if (dropZone?.contains(event.target)) {
|
|
5621
5541
|
if (this.isDualDropZone() &&
|
|
5622
5542
|
event.target instanceof Element &&
|
|
@@ -5648,183 +5568,227 @@ class DropZoneComponent {
|
|
|
5648
5568
|
}
|
|
5649
5569
|
this.resetDragState();
|
|
5650
5570
|
}
|
|
5651
|
-
|
|
5652
|
-
|
|
5653
|
-
|
|
5654
|
-
|
|
5655
|
-
|
|
5656
|
-
this.onDragover.set(false);
|
|
5657
|
-
this.activeDualTarget.set(null);
|
|
5658
|
-
this.dualDropRect = null;
|
|
5659
|
-
this.stopDropAnimation();
|
|
5660
|
-
}
|
|
5661
|
-
setInputDisabled(disabled) {
|
|
5662
|
-
const input = this.inputRef?.nativeElement;
|
|
5663
|
-
if (input) {
|
|
5664
|
-
input.disabled = disabled;
|
|
5665
|
-
}
|
|
5666
|
-
}
|
|
5667
|
-
skeletonItems = computed(() => Array.from({ length: this.skeletonCount() }), ...(ngDevMode ? [{ debugName: "skeletonItems" }] : []));
|
|
5668
|
-
/**
|
|
5669
|
-
* Asynchronously processes a list of files. For each file, it validates
|
|
5670
|
-
* the extension against `supportedFileTypes`. If valid, it generates a
|
|
5671
|
-
* thumbnail, counts pages for PDFs, creates an `AppFile` object, and adds
|
|
5672
|
-
* it to the `docs` signal. If any file is unsupported, the `unsupported`
|
|
5673
|
-
* flag is set.
|
|
5674
|
-
* @param files The `FileList` object to be processed.
|
|
5675
|
-
*/
|
|
5676
|
-
async processFiles(files, dropTarget) {
|
|
5677
|
-
const resolvedDropTarget = dropTarget ?? null;
|
|
5678
|
-
this.unsupported.set(false);
|
|
5679
|
-
this.invalidFileSize.set(false);
|
|
5680
|
-
this.setInputDisabled(false);
|
|
5681
|
-
this.maxCountReached.set(false);
|
|
5682
|
-
const fileArray = Array.from(files);
|
|
5683
|
-
const maxSizeBytes = this.maxFileSize() * 1024 * 1024;
|
|
5684
|
-
const supportedTypes = this.supportedFileTypes();
|
|
5685
|
-
const isDocsOrVideo = this.variant() === this.dropZoneVariant.DOCUMENT ||
|
|
5686
|
-
this.variant() === this.dropZoneVariant.VIDEO;
|
|
5687
|
-
const existingNames = new Set(this.docs().map((d) => d.fileName));
|
|
5688
|
-
if ((this.variant() === this.dropZoneVariant.DOCUMENT ||
|
|
5689
|
-
this.variant() === this.dropZoneVariant.VIDEO) &&
|
|
5690
|
-
this.docs().length >= this.maxCountFiles()) {
|
|
5691
|
-
this.setInputDisabled(true);
|
|
5692
|
-
this.maxCountReached.set(true);
|
|
5571
|
+
async submitCrop(initial = false) {
|
|
5572
|
+
if (!this.cropperResultFile) {
|
|
5573
|
+
this.clearInvalid();
|
|
5574
|
+
this.showCropper.set(false);
|
|
5575
|
+
this.isCropperReady.set(false);
|
|
5693
5576
|
return;
|
|
5694
5577
|
}
|
|
5695
|
-
const
|
|
5696
|
-
|
|
5697
|
-
|
|
5698
|
-
|
|
5699
|
-
if (
|
|
5700
|
-
|
|
5701
|
-
|
|
5702
|
-
continue;
|
|
5578
|
+
const previewUrl = URL.createObjectURL(this.cropperResultFile);
|
|
5579
|
+
if (this.temporaryImageFile) {
|
|
5580
|
+
this.temporaryImageFile.file = this.cropperResultFile;
|
|
5581
|
+
this.temporaryImageFile.imagePreviewUrl = previewUrl;
|
|
5582
|
+
if (this.isImagePreviewVariant()) {
|
|
5583
|
+
this.temporaryImageFile.base64Url =
|
|
5584
|
+
await DropZoneDocumentsHelper.fileToBase64(this.cropperResultFile);
|
|
5703
5585
|
}
|
|
5704
|
-
|
|
5705
|
-
|
|
5706
|
-
|
|
5586
|
+
this.docs.set([this.temporaryImageFile]);
|
|
5587
|
+
this.setImagePreviewUrl(previewUrl);
|
|
5588
|
+
this.clearInvalid();
|
|
5589
|
+
this.showCropper.set(false);
|
|
5590
|
+
this.isCropperReady.set(false);
|
|
5591
|
+
if (!initial)
|
|
5592
|
+
this.emitDocs();
|
|
5593
|
+
if (previewUrl) {
|
|
5594
|
+
this.clearCropperPreviewUrl();
|
|
5707
5595
|
}
|
|
5708
|
-
|
|
5709
|
-
|
|
5596
|
+
this.temporaryImageFile = null;
|
|
5597
|
+
this.cropperResultFile = null;
|
|
5598
|
+
this.onCropPendingChange.emit(false);
|
|
5599
|
+
return;
|
|
5600
|
+
}
|
|
5601
|
+
const lastIndex = this.docs().length - 1;
|
|
5602
|
+
if (lastIndex >= 0 && this.cropperResultFile) {
|
|
5603
|
+
const updatedDocs = [...this.docs()];
|
|
5604
|
+
const lastDoc = { ...updatedDocs[lastIndex] };
|
|
5605
|
+
lastDoc.imagePreviewUrl = previewUrl;
|
|
5606
|
+
lastDoc.file = this.cropperResultFile;
|
|
5607
|
+
if (this.isImagePreviewVariant()) {
|
|
5608
|
+
lastDoc.base64Url = await DropZoneDocumentsHelper.fileToBase64(this.cropperResultFile);
|
|
5710
5609
|
}
|
|
5711
|
-
|
|
5610
|
+
updatedDocs[lastIndex] = lastDoc;
|
|
5611
|
+
this.docs.set(updatedDocs);
|
|
5612
|
+
this.clearInvalid();
|
|
5613
|
+
this.showCropper.set(false);
|
|
5614
|
+
}
|
|
5615
|
+
this.setImagePreviewUrl(previewUrl);
|
|
5616
|
+
if (!initial)
|
|
5617
|
+
this.emitDocs();
|
|
5618
|
+
this.isCropperReady.set(false);
|
|
5619
|
+
if (previewUrl) {
|
|
5620
|
+
this.clearCropperPreviewUrl();
|
|
5621
|
+
}
|
|
5622
|
+
this.cropperResultFile = null;
|
|
5623
|
+
}
|
|
5624
|
+
animationCreated(animation, dualTarget) {
|
|
5625
|
+
if (dualTarget) {
|
|
5626
|
+
this.dualLottieAnimations[dualTarget] = animation;
|
|
5627
|
+
animation.goToAndStop(0, true);
|
|
5628
|
+
return;
|
|
5629
|
+
}
|
|
5630
|
+
this.lottieAnimation = animation;
|
|
5631
|
+
this.lottieAnimation.goToAndStop(0, true);
|
|
5632
|
+
}
|
|
5633
|
+
onZoomChange(event) {
|
|
5634
|
+
const input = event.target;
|
|
5635
|
+
const zoom = Number(input.value);
|
|
5636
|
+
const currentTranslateH = this.transform().translateH ?? 0;
|
|
5637
|
+
const currentTranslateV = this.transform().translateV ?? 0;
|
|
5638
|
+
this.applyClampedTransform({ ...this.transform(), scale: zoom }, currentTranslateH, currentTranslateV);
|
|
5639
|
+
this.updateRangeBackground(input);
|
|
5640
|
+
}
|
|
5641
|
+
fileChangeEvent(event) {
|
|
5642
|
+
this.imageChangedEvent.set(event);
|
|
5643
|
+
this.isCropperReady.set(false);
|
|
5644
|
+
const target = event.target;
|
|
5645
|
+
const file = target.files?.[0];
|
|
5646
|
+
this.resetCropTransform();
|
|
5647
|
+
const fileExtension = file?.name.split('.').pop()?.toLowerCase();
|
|
5648
|
+
const isSupportedImage = file &&
|
|
5649
|
+
file.type.startsWith('image/') &&
|
|
5650
|
+
fileExtension &&
|
|
5651
|
+
this.supportedFileTypes().includes(fileExtension);
|
|
5652
|
+
if (isSupportedImage && this.crop()) {
|
|
5653
|
+
this.setInvalid();
|
|
5654
|
+
this.showCropper.set(true);
|
|
5655
|
+
}
|
|
5656
|
+
else {
|
|
5657
|
+
this.showCropper.set(false);
|
|
5658
|
+
}
|
|
5659
|
+
}
|
|
5660
|
+
imageCropped(event) {
|
|
5661
|
+
if (event.base64) {
|
|
5662
|
+
const blob = base64ToFile(event.base64);
|
|
5663
|
+
this.setCropperFile(this.createFileFromBlob(blob));
|
|
5664
|
+
}
|
|
5665
|
+
else if (event.objectUrl) {
|
|
5666
|
+
this.setCropperFileFromObjectUrl(event.objectUrl);
|
|
5667
|
+
}
|
|
5668
|
+
}
|
|
5669
|
+
imageLoaded(image) {
|
|
5670
|
+
this.transform.set(DropZoneSnapbackHelper.clampTransform(this.transform(), this.getClampOptions()));
|
|
5671
|
+
}
|
|
5672
|
+
cropperReady() {
|
|
5673
|
+
this.isCropperReady.set(true);
|
|
5674
|
+
const inputRangeEl = this.inputRange()?.nativeElement;
|
|
5675
|
+
if (inputRangeEl) {
|
|
5676
|
+
this.updateRangeBackground(inputRangeEl);
|
|
5677
|
+
}
|
|
5678
|
+
}
|
|
5679
|
+
loadImageFailed() {
|
|
5680
|
+
// show message
|
|
5681
|
+
}
|
|
5682
|
+
onTransformChange(event) {
|
|
5683
|
+
this.applyClampedTransform(event, event?.translateH ?? 0, event?.translateV ?? 0);
|
|
5684
|
+
}
|
|
5685
|
+
cancelCrop() {
|
|
5686
|
+
this.temporaryImageFile = null;
|
|
5687
|
+
this.cropperResultFile = null;
|
|
5688
|
+
this.clearInvalid();
|
|
5689
|
+
this.isCropperReady.set(false);
|
|
5690
|
+
this.showCropper.set(false);
|
|
5691
|
+
this.onCropPendingChange.emit(false);
|
|
5692
|
+
}
|
|
5693
|
+
onDocAspectRatioChange(e) {
|
|
5694
|
+
this.docsRatios.set(e.fileId, e.ratio);
|
|
5695
|
+
const values = [...this.docsRatios.values()];
|
|
5696
|
+
if (!values.length)
|
|
5697
|
+
return;
|
|
5698
|
+
const minRatio = Math.min(...values);
|
|
5699
|
+
this.maxDetailsAspectRatio.set(minRatio);
|
|
5700
|
+
}
|
|
5701
|
+
onInput(event) {
|
|
5702
|
+
const target = event.target;
|
|
5703
|
+
const files = target.files;
|
|
5704
|
+
this.processFiles(files);
|
|
5705
|
+
}
|
|
5706
|
+
onDrop(event) {
|
|
5707
|
+
if (this.isDualDragActive()) {
|
|
5708
|
+
return;
|
|
5709
|
+
}
|
|
5710
|
+
event.preventDefault();
|
|
5711
|
+
this.resetDragState();
|
|
5712
|
+
const dropZone = this.dropZoneContainer()?.nativeElement;
|
|
5713
|
+
const isInDropArea = dropZone?.contains(event.target) ||
|
|
5714
|
+
(this.dragMode() &&
|
|
5715
|
+
dropZone?.parentElement?.contains(event.target));
|
|
5716
|
+
if (!isInDropArea || this.unsupported())
|
|
5717
|
+
return;
|
|
5718
|
+
const files = event.dataTransfer?.files;
|
|
5719
|
+
if (files && files.length > 0) {
|
|
5720
|
+
this.processFiles(files);
|
|
5721
|
+
}
|
|
5722
|
+
}
|
|
5723
|
+
onDragOver(event) {
|
|
5724
|
+
if (this.isDualDragActive()) {
|
|
5725
|
+
event.preventDefault();
|
|
5726
|
+
if (this.unsupported())
|
|
5712
5727
|
return;
|
|
5713
|
-
|
|
5714
|
-
|
|
5715
|
-
toProcess.push(file);
|
|
5716
|
-
totalDocsCount++;
|
|
5728
|
+
this.updateDualTargetFromPointer(event);
|
|
5729
|
+
return;
|
|
5717
5730
|
}
|
|
5718
|
-
|
|
5731
|
+
event.preventDefault();
|
|
5732
|
+
if (this.unsupported())
|
|
5719
5733
|
return;
|
|
5734
|
+
const relatedTarget = event.target;
|
|
5735
|
+
if (this.dropZoneContainer()?.nativeElement?.contains(relatedTarget)) {
|
|
5736
|
+
this.onDragover.set(true);
|
|
5720
5737
|
}
|
|
5721
|
-
|
|
5722
|
-
|
|
5723
|
-
|
|
5724
|
-
|
|
5725
|
-
|
|
5726
|
-
|
|
5727
|
-
|
|
5728
|
-
|
|
5729
|
-
|
|
5730
|
-
|
|
5731
|
-
|
|
5732
|
-
this.documentService.generateThumbnail(file),
|
|
5733
|
-
fileExtension === 'pdf'
|
|
5734
|
-
? this.documentService.getPdfPageCount(file)
|
|
5735
|
-
: Promise.resolve(undefined),
|
|
5736
|
-
]);
|
|
5737
|
-
pageCount = pages;
|
|
5738
|
-
return {
|
|
5739
|
-
fileId,
|
|
5740
|
-
fileName: file.name,
|
|
5741
|
-
baseName: file.name.split('.').slice(0, -1).join('.'),
|
|
5742
|
-
type: fileExtension,
|
|
5743
|
-
size: file.size,
|
|
5744
|
-
imagePreviewUrl: thumbnail,
|
|
5745
|
-
file: file,
|
|
5746
|
-
pageCount,
|
|
5747
|
-
tags: [],
|
|
5748
|
-
tagChanged: false,
|
|
5749
|
-
fileNameChanged: false,
|
|
5750
|
-
categoryTag: null,
|
|
5751
|
-
base64Url,
|
|
5752
|
-
dropTarget: resolvedDropTarget,
|
|
5753
|
-
};
|
|
5754
|
-
}
|
|
5755
|
-
catch (error) {
|
|
5756
|
-
console.error(`Failed processing ${file.name}:`, error);
|
|
5757
|
-
return null;
|
|
5738
|
+
else {
|
|
5739
|
+
this.onDragover.set(false);
|
|
5740
|
+
}
|
|
5741
|
+
}
|
|
5742
|
+
onDragLeave(event) {
|
|
5743
|
+
if (this.isDualDragActive()) {
|
|
5744
|
+
event.preventDefault();
|
|
5745
|
+
const relatedTarget = event.relatedTarget;
|
|
5746
|
+
if (!relatedTarget ||
|
|
5747
|
+
!this.dropZoneContainer()?.nativeElement?.contains(relatedTarget)) {
|
|
5748
|
+
this.setActiveDualTarget(null);
|
|
5758
5749
|
}
|
|
5759
|
-
}));
|
|
5760
|
-
const valid = processedFiles.filter(Boolean);
|
|
5761
|
-
if (valid.length === 0)
|
|
5762
5750
|
return;
|
|
5763
|
-
const isDualLeftDrop = this.isDualDropZone() && resolvedDropTarget === DualDropTarget.LEFT;
|
|
5764
|
-
if (['profile', 'cover', 'logo'].includes(this.variant())) {
|
|
5765
|
-
this.temporaryImageFile = valid[0];
|
|
5766
|
-
this.docs.set([this.temporaryImageFile]);
|
|
5767
5751
|
}
|
|
5768
|
-
|
|
5769
|
-
|
|
5752
|
+
event.preventDefault();
|
|
5753
|
+
const relatedTarget = event.relatedTarget;
|
|
5754
|
+
if (!relatedTarget ||
|
|
5755
|
+
!this.dropZoneContainer()?.nativeElement?.contains(relatedTarget)) {
|
|
5756
|
+
this.onDragover.set(false);
|
|
5757
|
+
this.lottieAnimation?.stop();
|
|
5758
|
+
this.playDropAnimation(false);
|
|
5770
5759
|
}
|
|
5771
|
-
|
|
5772
|
-
|
|
5773
|
-
valid[0].type &&
|
|
5774
|
-
supportedTypes.includes(valid[0].type);
|
|
5775
|
-
if (isSupportedImage && this.crop()) {
|
|
5776
|
-
const dataTransfer = new DataTransfer();
|
|
5777
|
-
dataTransfer.items.add(valid[0].file);
|
|
5778
|
-
this.inputRef.nativeElement.files = dataTransfer.files;
|
|
5779
|
-
const syntheticEvent = {
|
|
5780
|
-
target: this.inputRef.nativeElement,
|
|
5781
|
-
};
|
|
5782
|
-
this.imageChangedEvent = syntheticEvent;
|
|
5783
|
-
this.isCropperReady.set(false);
|
|
5784
|
-
this.zoomValue.set(5.8);
|
|
5785
|
-
this.transform = {
|
|
5786
|
-
scale: this.zoomValue(),
|
|
5787
|
-
translateH: 0,
|
|
5788
|
-
translateV: 0,
|
|
5789
|
-
translateUnit: 'px',
|
|
5790
|
-
};
|
|
5791
|
-
this.setInvalid();
|
|
5792
|
-
this.showCropper.set(true);
|
|
5760
|
+
else {
|
|
5761
|
+
this.onDragover.set(true);
|
|
5793
5762
|
}
|
|
5794
|
-
|
|
5795
|
-
|
|
5796
|
-
|
|
5797
|
-
|
|
5798
|
-
|
|
5799
|
-
|
|
5800
|
-
|
|
5801
|
-
|
|
5802
|
-
|
|
5803
|
-
|
|
5804
|
-
|
|
5763
|
+
}
|
|
5764
|
+
onDragEnter(event) {
|
|
5765
|
+
const dropZone = this.dropZoneContainer()?.nativeElement;
|
|
5766
|
+
const relatedTarget = event.relatedTarget;
|
|
5767
|
+
if (!dropZone ||
|
|
5768
|
+
this.unsupported() ||
|
|
5769
|
+
(relatedTarget && dropZone.contains(relatedTarget)))
|
|
5770
|
+
return;
|
|
5771
|
+
event.preventDefault();
|
|
5772
|
+
this.dragMode.set(true);
|
|
5773
|
+
this.onDragover.set(false);
|
|
5774
|
+
if (!this.isDualDropZone()) {
|
|
5775
|
+
this.playDropAnimation(true);
|
|
5805
5776
|
}
|
|
5806
|
-
|
|
5807
|
-
|
|
5808
|
-
|
|
5809
|
-
|
|
5810
|
-
|
|
5811
|
-
|
|
5812
|
-
|
|
5813
|
-
else {
|
|
5814
|
-
this.carouselIndex.set(0);
|
|
5815
|
-
}
|
|
5777
|
+
}
|
|
5778
|
+
onDualDrop(event, target) {
|
|
5779
|
+
event.preventDefault();
|
|
5780
|
+
event.stopPropagation();
|
|
5781
|
+
if (this.unsupported()) {
|
|
5782
|
+
this.resetDragState();
|
|
5783
|
+
return;
|
|
5816
5784
|
}
|
|
5817
|
-
|
|
5818
|
-
|
|
5819
|
-
this.
|
|
5820
|
-
|
|
5785
|
+
const files = event.dataTransfer?.files;
|
|
5786
|
+
if (!files?.length) {
|
|
5787
|
+
this.resetDragState();
|
|
5788
|
+
return;
|
|
5821
5789
|
}
|
|
5790
|
+
void this.processFiles(files, target).finally(() => this.resetDragState());
|
|
5822
5791
|
}
|
|
5823
|
-
/**
|
|
5824
|
-
* Handles the download action for a specific file.
|
|
5825
|
-
* Note: This is a placeholder and currently only logs the file name.
|
|
5826
|
-
* @param fileName The name of the file to be downloaded.
|
|
5827
|
-
*/
|
|
5828
5792
|
handleDownload(fileName) {
|
|
5829
5793
|
const fileToDownload = this.docs().find((doc) => doc.fileName === fileName);
|
|
5830
5794
|
if (!fileToDownload || !fileToDownload.file) {
|
|
@@ -5841,32 +5805,59 @@ class DropZoneComponent {
|
|
|
5841
5805
|
document.body.removeChild(a);
|
|
5842
5806
|
URL.revokeObjectURL(url);
|
|
5843
5807
|
}
|
|
5844
|
-
/**
|
|
5845
|
-
* A ViewChild reference to the native `<input type='file'>` element.
|
|
5846
|
-
* Used to programmatically trigger the file selection dialog.
|
|
5847
|
-
*/
|
|
5848
|
-
inputRef;
|
|
5849
|
-
/**
|
|
5850
|
-
* Resets the component's state after an unsupported file type error
|
|
5851
|
-
* by setting the `unsupported` signal to `false`.
|
|
5852
|
-
*/
|
|
5853
5808
|
cancel() {
|
|
5854
5809
|
this.unsupported.set(false);
|
|
5855
5810
|
this.invalidFileSize.set(false);
|
|
5856
5811
|
this.resetInput();
|
|
5857
5812
|
}
|
|
5858
|
-
/**
|
|
5859
|
-
* Programmatically triggers a click on the hidden file input element,
|
|
5860
|
-
* which opens the system's file selection dialog.
|
|
5861
|
-
*/
|
|
5862
5813
|
handleClickToAdd() {
|
|
5863
|
-
this.inputRef.nativeElement.click();
|
|
5814
|
+
this.inputRef().nativeElement.click();
|
|
5815
|
+
}
|
|
5816
|
+
carouselLeft() {
|
|
5817
|
+
this.carouselIndex.update((i) => Math.max(0, i - 1));
|
|
5818
|
+
}
|
|
5819
|
+
carouselRight() {
|
|
5820
|
+
const maxIndex = Math.max(0, this.docs().length - this.carouselVisibleCount());
|
|
5821
|
+
this.carouselIndex.update((i) => Math.min(maxIndex, i + 1));
|
|
5822
|
+
}
|
|
5823
|
+
handleTagChange(event) {
|
|
5824
|
+
this.docs.update((docs) => docs.map((doc) => doc.fileName === event.fileName
|
|
5825
|
+
? {
|
|
5826
|
+
...doc,
|
|
5827
|
+
tags: event.tag?.tagId ? [event.tag.tagId] : [],
|
|
5828
|
+
tagChanged: true,
|
|
5829
|
+
}
|
|
5830
|
+
: doc));
|
|
5831
|
+
this.emitDocs();
|
|
5832
|
+
}
|
|
5833
|
+
handleFileNameChange(event) {
|
|
5834
|
+
this.docs.update((docs) => docs.map((doc) => {
|
|
5835
|
+
if (doc.fileId !== event.fileId) {
|
|
5836
|
+
return doc;
|
|
5837
|
+
}
|
|
5838
|
+
return {
|
|
5839
|
+
...doc,
|
|
5840
|
+
fileName: event.newFileName,
|
|
5841
|
+
baseName: event.newFileName.split('.').slice(0, -1).join('.') ||
|
|
5842
|
+
event.newFileName,
|
|
5843
|
+
file: new File([doc.file], event.newFileName, {
|
|
5844
|
+
type: doc.file?.type,
|
|
5845
|
+
lastModified: Date.now(),
|
|
5846
|
+
}),
|
|
5847
|
+
fileNameChanged: true,
|
|
5848
|
+
};
|
|
5849
|
+
}));
|
|
5850
|
+
this.emitDocs();
|
|
5851
|
+
this.onDocumentFileNameChange.emit(event);
|
|
5852
|
+
}
|
|
5853
|
+
handleDocumentPreviewClick(event) {
|
|
5854
|
+
this.onDocumentPreviewClick.emit({ fileId: event.fileId });
|
|
5855
|
+
}
|
|
5856
|
+
onCancel(event) {
|
|
5857
|
+
event.preventDefault();
|
|
5858
|
+
event.stopPropagation();
|
|
5859
|
+
this.onDocumentDropZoneOpenChange.emit(false);
|
|
5864
5860
|
}
|
|
5865
|
-
/**
|
|
5866
|
-
* Deletes a file from the preview list. It filters the `docs` array to
|
|
5867
|
-
* remove the specified file and adjusts the carousel position.
|
|
5868
|
-
* @param fileName The name of the file to be deleted.
|
|
5869
|
-
*/
|
|
5870
5861
|
handleDelete(fileName) {
|
|
5871
5862
|
this.carouselLeft();
|
|
5872
5863
|
const fileIdToDelete = this.docs().find((doc) => doc.fileName === fileName)?.fileId;
|
|
@@ -5880,162 +5871,41 @@ class DropZoneComponent {
|
|
|
5880
5871
|
this.unsupported.set(false);
|
|
5881
5872
|
}
|
|
5882
5873
|
if (this.docs().length < this.maxCountFiles()) {
|
|
5883
|
-
this.inputRef.nativeElement.disabled = false;
|
|
5874
|
+
this.inputRef().nativeElement.disabled = false;
|
|
5884
5875
|
this.maxCountReached.set(false);
|
|
5885
5876
|
}
|
|
5886
5877
|
if (this.variant() === this.dropZoneVariant.COVER) {
|
|
5887
|
-
this.coverUrl
|
|
5878
|
+
this.coverUrl.set('');
|
|
5888
5879
|
this.smallView.set(false);
|
|
5889
5880
|
}
|
|
5890
5881
|
if (this.variant() === this.dropZoneVariant.PROFILE) {
|
|
5891
|
-
this.profileUrl
|
|
5882
|
+
this.profileUrl.set('');
|
|
5892
5883
|
}
|
|
5893
5884
|
if (this.variant() === this.dropZoneVariant.LOGO) {
|
|
5894
|
-
this.logoUrl
|
|
5895
|
-
}
|
|
5896
|
-
this.inputRef.nativeElement.value = '';
|
|
5897
|
-
}
|
|
5898
|
-
// Carousel logic
|
|
5899
|
-
/**
|
|
5900
|
-
* A computed signal that calculates the CSS `translateX` value for the
|
|
5901
|
-
* carousel container. This creates the sliding effect based on the
|
|
5902
|
-
* `carouselIndex`.
|
|
5903
|
-
*/
|
|
5904
|
-
carouselTransform = computed(() => {
|
|
5905
|
-
if (this.isDocumentsMode()) {
|
|
5906
|
-
return 'translateX(0)';
|
|
5885
|
+
this.logoUrl.set('');
|
|
5907
5886
|
}
|
|
5908
|
-
|
|
5909
|
-
const offset = this.carouselIndex() * -100;
|
|
5910
|
-
return `translateX(${offset}%)`;
|
|
5911
|
-
}
|
|
5912
|
-
if (this.isDrawerMode()) {
|
|
5913
|
-
const cardWidthWithGap = 194 + 4; // 194px width + 4px gap
|
|
5914
|
-
const containerWidth = this.drawerViewportWidth();
|
|
5915
|
-
const contentWidth = this.docs().length * cardWidthWithGap;
|
|
5916
|
-
if (containerWidth <= 0 || contentWidth <= containerWidth) {
|
|
5917
|
-
return 'translateX(0)';
|
|
5918
|
-
}
|
|
5919
|
-
const step = cardWidthWithGap;
|
|
5920
|
-
const desiredTranslate = step * this.carouselIndex() * -1;
|
|
5921
|
-
const maxTranslate = containerWidth - contentWidth;
|
|
5922
|
-
const clampedTranslate = Math.max(desiredTranslate, maxTranslate);
|
|
5923
|
-
return `translateX(${clampedTranslate}px)`;
|
|
5924
|
-
}
|
|
5925
|
-
const gap = this.size() === '480px' ? 6 : 8;
|
|
5926
|
-
const offset = (148 + gap) * this.carouselIndex() * -1;
|
|
5927
|
-
return `translateX(${offset}px)`;
|
|
5928
|
-
}, ...(ngDevMode ? [{ debugName: "carouselTransform" }] : []));
|
|
5929
|
-
/**
|
|
5930
|
-
* Navigates the carousel one step to the left by decrementing the
|
|
5931
|
-
* `carouselIndex`. The index will not go below 0.
|
|
5932
|
-
*/
|
|
5933
|
-
carouselLeft() {
|
|
5934
|
-
this.carouselIndex.update((i) => Math.max(0, i - 1));
|
|
5935
|
-
}
|
|
5936
|
-
/**
|
|
5937
|
-
* Navigates the carousel one step to the right by incrementing the
|
|
5938
|
-
* `carouselIndex`. The index will not exceed the maximum possible value
|
|
5939
|
-
* based on the number of documents.
|
|
5940
|
-
*/
|
|
5941
|
-
carouselRight() {
|
|
5942
|
-
const visibleCount = this.carouselVisibleCount();
|
|
5943
|
-
const maxIndex = Math.max(0, this.docs().length - visibleCount);
|
|
5944
|
-
this.carouselIndex.update((i) => Math.min(maxIndex, i + 1));
|
|
5945
|
-
}
|
|
5946
|
-
carouselVisibleCount() {
|
|
5947
|
-
if (this.isDetailsSlider())
|
|
5948
|
-
return 1;
|
|
5949
|
-
if (this.isDrawerMode()) {
|
|
5950
|
-
const width = this.drawerViewportWidth();
|
|
5951
|
-
return width <= 0 ? 1 : Math.max(1, Math.floor((width + 4) / 198));
|
|
5952
|
-
}
|
|
5953
|
-
return this.size() === '480px' ? 2 : 3;
|
|
5954
|
-
}
|
|
5955
|
-
isCarouselAtEnd() {
|
|
5956
|
-
const maxIndex = Math.max(0, this.docs().length - this.carouselVisibleCount());
|
|
5957
|
-
return this.carouselIndex() >= maxIndex;
|
|
5958
|
-
}
|
|
5959
|
-
handleTagChange(event) {
|
|
5960
|
-
this.docs().forEach((doc) => {
|
|
5961
|
-
if (doc.fileName === event.fileName) {
|
|
5962
|
-
doc.tags = event?.tag?.tagId ? [event?.tag?.tagId] : [];
|
|
5963
|
-
doc.tagChanged = true;
|
|
5964
|
-
}
|
|
5965
|
-
});
|
|
5966
|
-
this.emitDocs();
|
|
5967
|
-
}
|
|
5968
|
-
handleFileNameChange(event) {
|
|
5969
|
-
this.docs().forEach((doc) => {
|
|
5970
|
-
if (doc.fileId === event.fileId) {
|
|
5971
|
-
doc.fileName = event.newFileName;
|
|
5972
|
-
doc.baseName =
|
|
5973
|
-
event.newFileName.split('.').slice(0, -1).join('.') ||
|
|
5974
|
-
event.newFileName;
|
|
5975
|
-
const file = new File([doc.file], event.newFileName, {
|
|
5976
|
-
type: doc.file?.type,
|
|
5977
|
-
lastModified: Date.now(),
|
|
5978
|
-
});
|
|
5979
|
-
doc.file = file;
|
|
5980
|
-
doc.fileNameChanged = true;
|
|
5981
|
-
}
|
|
5982
|
-
});
|
|
5983
|
-
this.emitDocs();
|
|
5984
|
-
this.onDocumentFileNameChange.emit(event);
|
|
5985
|
-
}
|
|
5986
|
-
setInvalid() {
|
|
5987
|
-
this.parentForm()?.setErrors({ childInvalid: true });
|
|
5988
|
-
this.onCropPendingChange.emit(true);
|
|
5989
|
-
}
|
|
5990
|
-
resetInput() {
|
|
5991
|
-
this.inputRef.nativeElement.value = '';
|
|
5992
|
-
}
|
|
5993
|
-
clearInvalid() {
|
|
5994
|
-
const { childInvalid, ...rest } = this.parentForm()?.errors ?? {};
|
|
5995
|
-
const next = Object.keys(rest).length ? rest : null;
|
|
5996
|
-
this.parentForm()?.setErrors(next);
|
|
5997
|
-
this.parentForm()?.updateValueAndValidity({
|
|
5998
|
-
emitEvent: true,
|
|
5999
|
-
onlySelf: true,
|
|
6000
|
-
});
|
|
6001
|
-
// Clear the input value to allow the same file to be selected again
|
|
6002
|
-
if (this.inputRef?.nativeElement) {
|
|
6003
|
-
this.resetInput();
|
|
6004
|
-
}
|
|
6005
|
-
}
|
|
6006
|
-
handleDocumentPreviewClick(event) {
|
|
6007
|
-
this.onDocumentPreviewClick.emit({ fileId: event.fileId });
|
|
5887
|
+
this.inputRef().nativeElement.value = '';
|
|
6008
5888
|
}
|
|
6009
5889
|
downloadAllFiles() {
|
|
6010
|
-
|
|
6011
|
-
}
|
|
6012
|
-
getClampOptions() {
|
|
6013
|
-
const sourceImage = this.cropper?.sourceImage?.nativeElement;
|
|
6014
|
-
return {
|
|
6015
|
-
zoomValue: this.zoomValue(),
|
|
6016
|
-
cropWidth: this.cropWidth(),
|
|
6017
|
-
cropHeight: this.cropHeight(),
|
|
6018
|
-
imageWidth: sourceImage?.clientWidth ?? 0,
|
|
6019
|
-
imageHeight: sourceImage?.clientHeight ?? 0,
|
|
6020
|
-
};
|
|
6021
|
-
}
|
|
6022
|
-
onCancel(event) {
|
|
6023
|
-
event.preventDefault();
|
|
6024
|
-
event.stopPropagation();
|
|
6025
|
-
this.onDocumentDropZoneOpenChange.emit(false);
|
|
5890
|
+
DropZoneDocumentsHelper.onDownloadAllFiles(this.docs());
|
|
6026
5891
|
}
|
|
6027
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DropZoneComponent, deps: [
|
|
6028
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: DropZoneComponent, isStandalone: true, selector: "cai-drop-zone", inputs: { crop: { classPropertyName: "crop", publicName: "crop", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null }, deletedFileIds: { classPropertyName: "deletedFileIds", publicName: "deletedFileIds", isSignal: true, isRequired: false, transformFunction: null }, maxCountFiles: { classPropertyName: "maxCountFiles", publicName: "maxCountFiles", isSignal: true, isRequired: false, transformFunction: null }, isDetailsSlider: { classPropertyName: "isDetailsSlider", publicName: "isDetailsSlider", isSignal: true, isRequired: false, transformFunction: null }, isDrawerMode: { classPropertyName: "isDrawerMode", publicName: "isDrawerMode", isSignal: true, isRequired: false, transformFunction: null }, isCoverDetails: { classPropertyName: "isCoverDetails", publicName: "isCoverDetails", isSignal: true, isRequired: false, transformFunction: null }, maxFileSize: { classPropertyName: "maxFileSize", publicName: "maxFileSize", isSignal: true, isRequired: false, transformFunction: null }, isDocumentsMode: { classPropertyName: "isDocumentsMode", publicName: "isDocumentsMode", isSignal: true, isRequired: false, transformFunction: null }, documentsDropZoneOpen: { classPropertyName: "documentsDropZoneOpen", publicName: "documentsDropZoneOpen", isSignal: true, isRequired: false, transformFunction: null }, searchText: { classPropertyName: "searchText", publicName: "searchText", isSignal: true, isRequired: false, transformFunction: null }, avatarColor: { classPropertyName: "avatarColor", publicName: "avatarColor", isSignal: true, isRequired: false, transformFunction: null }, isDualDropZone: { classPropertyName: "isDualDropZone", publicName: "isDualDropZone", isSignal: true, isRequired: false, transformFunction: null }, dualDropZones: { classPropertyName: "dualDropZones", publicName: "dualDropZones", isSignal: true, isRequired: false, transformFunction: null }, files: { classPropertyName: "files", publicName: "files", isSignal: false, isRequired: false, transformFunction: null }, parentForm: { classPropertyName: "parentForm", publicName: "parentForm", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, documentTags: { classPropertyName: "documentTags", publicName: "documentTags", isSignal: true, isRequired: false, transformFunction: null }, excludedFileTypes: { classPropertyName: "excludedFileTypes", publicName: "excludedFileTypes", isSignal: true, isRequired: false, transformFunction: null }, fileTypes: { classPropertyName: "fileTypes", publicName: "fileTypes", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onDeletedFileIds: "onDeletedFileIds", onDocsChange: "onDocsChange", onDocumentPreviewClick: "onDocumentPreviewClick", onDocumentFileNameChange: "onDocumentFileNameChange", onCropPendingChange: "onCropPendingChange", onDocumentDropZoneOpenChange: "onDocumentDropZoneOpenChange", onDualDropChange: "onDualDropChange" }, host: { listeners: { "document:dragenter": "onDocumentDragEnter($event)", "document:dragover": "onDocumentDragOver($event)", "document:dragleave": "onWindowDragLeave($event)", "document:drop": "onDocumentDrop($event)" } }, providers: [], viewQueries: [{ propertyName: "cropper", first: true, predicate: ["cropper"], descendants: true }, { propertyName: "inputRange", first: true, predicate: ["inputRange"], descendants: true }, { propertyName: "containerElementRef", first: true, predicate: ["containerRef"], descendants: true }, { propertyName: "dropZoneContainer", first: true, predicate: ["dropZoneContainer"], descendants: true }, { propertyName: "docsViewport", first: true, predicate: ["docsViewport"], descendants: true }, { propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "@let docCount = docs().length; @let cropFile = crop() === true;\n@let showCrop = showCropper() === true;\n@let documentVariant = variant() === dropZoneVariant.DOCUMENT;\n@let videoVariant = variant() === dropZoneVariant.VIDEO;\n@let profileVariant = variant() === dropZoneVariant.PROFILE;\n@let coverVariant = variant() === dropZoneVariant.COVER;\n@let logoVariant = variant() === dropZoneVariant.LOGO;\n@let roundedBorder = rounded() === true; @let coverPreview = coverUrl !== \"\";\n@let profilePreview = profileUrl !== \"\"; @let logoPreview = !!logoUrl;\n@let smallSize = size() === \"480px\";\n@let countFiles = this.maxCountFiles();\n@let largeSize = size() === \"640px\";\n\n@if (isDocumentsMode() && documentsDropZoneOpen() && dragMode()) {\n <div class=\"documents-drag-overlay\"></div>\n}\n\n@if (dragMode() && !isDrawerMode()) {\n <div\n class=\"drop-zone-dimensions-lock\"\n [style.--drag-lock-width.px]=\"dropzoneDimensionsLock().width\"\n [style.--drag-lock-height.px]=\"dropzoneDimensionsLock().height\"\n ></div>\n}\n\n<div\n #containerRef\n class=\"container\"\n [class]=\"{\n 'picture-container': profileVariant || coverVariant,\n smallContainer: smallSize,\n largeContainer: largeSize,\n dragMode: dragMode() && !isDocumentsMode(),\n dragModeDocuments: dragMode() && isDocumentsMode(),\n 'dual-drop-mode': isDualDragActive(),\n 'dual-drop-focus-left':\n isDualDragActive() && activeDualTarget() === dualDropTarget.LEFT,\n 'dual-drop-focus-right':\n isDualDragActive() && activeDualTarget() === dualDropTarget.RIGHT,\n onDragover: onDragover(),\n logoVar: logoVariant,\n hasCropper: isCropperReady(),\n 'is-details-slider': isDetailsSlider(),\n 'is-drawer-mode': isDrawerMode(),\n isCoverDetails: isCoverDetails(),\n 'is-documents-mode': isDocumentsMode(),\n }\"\n>\n @if (coverVariant && coverPreview) {\n <div class=\"cover-container\">\n <img [src]=\"coverUrl\" class=\"cover-image\" draggable=\"false\" />\n </div>\n }\n @if (profileVariant) {\n @if (!profilePreview) {\n <div class=\"avatar\">\n <cai-avatar\n [driver]=\"driver()\"\n [size]=\"160\"\n [rounded]=\"rounded()\"\n ></cai-avatar>\n </div>\n } @else {\n <div class=\"profile-container\">\n <img\n [class]=\"rounded() ? 'profile-rounded-image' : 'profile-square-image'\"\n [src]=\"profileUrl\"\n draggable=\"false\"\n />\n </div>\n }\n }\n @if (logoVariant && logoPreview) {\n <div class=\"logo-container\" [class.has-logo]=\"!!logoUrl\">\n <img class=\"logo-image\" [src]=\"logoUrl\" draggable=\"false\" />\n </div>\n }\n <!--Image Cropper-->\n @if (cropFile && showCrop) {\n @if (!isCropperReady()) {\n <div class=\"cropper-loader\">\n <div class=\"spinner\"></div>\n </div>\n }\n <div class=\"cropper-overlay\">\n <image-cropper\n #cropper\n class=\"img-cropper\"\n [output]=\"'base64'\"\n [class.logoBorder]=\"logoVariant\"\n [class.snapback-animate]=\"isSnapbackAnimating()\"\n [roundCropper]=\"roundedBorder ? true : false\"\n [hideResizeSquares]=\"true\"\n [allowMoveImage]=\"true\"\n [transform]=\"transform\"\n (transformChange)=\"onTransformChange($event)\"\n format=\"png\"\n [aspectRatio]=\"ratioHelper()\"\n [resizeToWidth]=\"cropWidth()\"\n [resizeToHeight]=\"cropHeight()\"\n [containWithinAspectRatio]=\"true\"\n [imageChangedEvent]=\"imageChangedEvent\"\n (imageCropped)=\"imageCropped($event)\"\n (imageLoaded)=\"imageLoaded($event)\"\n (cropperReady)=\"cropperReady()\"\n (loadImageFailed)=\"loadImageFailed()\"\n ></image-cropper>\n @if (isCropperReady()) {\n <div class=\"lower-part\">\n <div class=\"range\">\n <input\n #inputRange\n type=\"range\"\n class=\"custom-range\"\n min=\"1\"\n max=\"10\"\n step=\"0.1\"\n [value]=\"zoomValue()\"\n (input)=\"onZoomChange($event)\"\n />\n </div>\n <div class=\"cropper-buttons\">\n <button class=\"cancel-button\" (click)=\"cancelCrop()\">Cancel</button>\n <button class=\"submit-button\" (click)=\"submitCrop()\">Crop</button>\n </div>\n </div>\n }\n </div>\n }\n <!-- Drop Zone -->\n @if (!isDocumentsMode() || documentsDropZoneOpen()) {\n <div\n #dropZoneContainer\n class=\"drop-zone-container\"\n [class.has-logo]=\"logoVariant && !!logoUrl\"\n (drop)=\"onDrop($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragenter)=\"onDragEnter($event)\"\n (dragleave)=\"onDragLeave($event)\"\n [class]=\"{\n 'more-docs': docCount >= 3 && largeSize,\n 'small-more-docs': docCount >= 2 && smallSize,\n 'max-reached-drop-design':\n (countFiles <= this.docs().length || maxCountReached()) &&\n documentVariant,\n 'max-reached-more-doc':\n (countFiles <= this.docs().length || maxCountReached()) &&\n documentVariant,\n 'max-reached-more-video':\n (countFiles <= this.docs().length || maxCountReached()) &&\n videoVariant,\n 'invalid-file-size': invalidFileSize(),\n unsupported: unsupported() || invalidFileSize(),\n smallView: this.smallView() && !dragMode(),\n }\"\n >\n <!-- Drop Zone -->\n @if (isDualDragActive()) {\n @for (target of dualTargets; track target) {\n @let panel = dualDropZones()[target];\n <div\n class=\"drop-zone dual-drop-zone-panel\"\n [class.dual-drop-zone-left]=\"target === dualDropTarget.LEFT\"\n [class.dual-drop-zone-right]=\"target === dualDropTarget.RIGHT\"\n [class.active]=\"activeDualTarget() === target\"\n (drop)=\"onDualDrop($event, target)\"\n >\n @if (panel.title) {\n <div class=\"dual-drop-zone-title\">{{ panel.title }}</div>\n }\n <div class=\"drag-icons-container\">\n @if (isDocumentsMode()) {\n <svg-icon\n name=\"cai-drop-zone-focus\"\n class=\"illustration drag-icon-document\"\n ></svg-icon>\n } @else {\n <ng-lottie\n [options]=\"{\n path:\n (target === dualDropTarget.LEFT\n ? dropZoneVariant.PROFILE\n : variant()) | dropZoneAnimation,\n loop: false,\n autoplay: false,\n }\"\n (animationCreated)=\"animationCreated($event, target)\"\n ></ng-lottie>\n }\n </div>\n <div class=\"drop-zone-focus-text\">\n <div class=\"heading\">\n {{\n activeDualTarget() === target\n ? panel.dropLabel\n : panel.dragLabel\n }}\n </div>\n <div class=\"description\">{{ panel.description }}</div>\n </div>\n </div>\n }\n } @else {\n <div class=\"drop-zone\" (click)=\"handleClickToAdd()\">\n @if (dragMode()) {\n <div class=\"drag-icons-container\">\n @if (isDocumentsMode()) {\n <svg-icon\n name=\"cai-drop-zone-focus\"\n class=\"illustration drag-icon-document\"\n ></svg-icon>\n } @else {\n <!-- Animation -->\n <ng-lottie\n [options]=\"{\n path: variant() | dropZoneAnimation,\n loop: false,\n autoplay: false,\n }\"\n (animationCreated)=\"animationCreated($event)\"\n ></ng-lottie>\n }\n </div>\n <div class=\"drop-zone-focus-text\">\n @if (isDocumentsMode()) {\n <p class=\"heading\">DRAG FILES HERE</p>\n } @else if (documentVariant || videoVariant) {\n <p class=\"heading\">\n {{ onDragover() ? \"DROP FILES HERE\" : \"DRAG FILES HERE\" }}\n </p>\n } @else {\n <p class=\"heading\">\n {{ onDragover() ? \"DROP IMAGE HERE\" : \"DRAG IMAGE HERE\" }}\n </p>\n }\n </div>\n } @else {\n @let svgIcon = variant() | dropZoneAnimation: true;\n <svg-icon [name]=\"svgIcon\" class=\"illustration\"></svg-icon>\n @if (\n (countFiles <= this.docs().length || maxCountReached()) &&\n documentVariant\n ) {\n <div class=\"drop-zone-text\">\n <p class=\"heading\">\n <span class=\"line\">MAX COUNT</span>\n <span class=\"line\">REACHED</span>\n </p>\n <p class=\"subtext\">\n <span class=\"line\">{{ countFiles }} FILES </span>\n <span class=\"line\">IMPORTED</span>\n </p>\n </div>\n } @else {\n <div class=\"drop-zone-text\">\n <p class=\"heading\">\n @if (documentVariant || videoVariant) {\n DRAG FILES\n @if (docCount < 1 || isDocumentsMode()) {\n <span>HERE</span>\n }\n } @else if (profileVariant && roundedBorder) {\n DRAG IMAGE\n } @else {\n DRAG IMAGE HERE\n }\n </p>\n @if (!coverPreview && !profilePreview) {\n <p class=\"subtext\">OR CLICK TO ADD</p>\n }\n @if (coverPreview || profilePreview) {\n <p class=\"subtext\">OR CLICK TO REPLACE</p>\n }\n @if (videoVariant) {\n <p class=\"video-subtext\">\n max file size {{ maxFileSize() }}mb\n </p>\n }\n </div>\n @if (isDocumentsMode()) {\n <button\n class=\"cancel-button-documents\"\n ngbTooltip=\"Cancel\"\n [placement]=\"'bottom'\"\n container=\"body\"\n triggers=\"mouseenter:mouseleave\"\n tooltipClass=\"tooltip tooltip-m-b-2\"\n >\n <svg-icon\n name=\"cai-cancel\"\n class=\"cancel-icon\"\n (click)=\"onCancel($event)\"\n ></svg-icon>\n </button>\n }\n }\n }\n </div>\n }\n\n <input\n type=\"file\"\n aria-hidden=\"true\"\n multiple\n class=\"drop-zone-input\"\n #inputRef\n (input)=\"onInput($event)\"\n (change)=\"fileChangeEvent($event)\"\n />\n\n <!-- Drop Zone Error -->\n <div class=\"drop-zone-error\">\n @if (invalidFileSize()) {\n <div class=\"drop-zone-text\">\n <p class=\"heading invalid\">INVALID FILE SIZE</p>\n <p class=\"subtext\">MAX {{ maxFileSize() }} MB</p>\n </div>\n } @else {\n <div class=\"drop-zone-text\">\n <p class=\"heading invalid\">INVALID FILE TYPE</p>\n <p class=\"subtext\">SUPPORTED FORMATS</p>\n </div>\n <div class=\"file-types\">\n @for (type of supportedFileTypes(); track $index) {\n <p\n class=\"badge\"\n [class]=\"{\n pdf: type === 'pdf',\n video: ['avi', 'mp4', 'mov'].includes(type),\n image: ['jpg', 'png', 'jpeg', 'gif'].includes(type),\n }\"\n >\n {{ type }}\n </p>\n }\n </div>\n }\n <button class=\"cancel-button\">\n <svg-icon\n name=\"cai-cancel\"\n class=\"cancel-icon\"\n (click)=\"cancel()\"\n ></svg-icon>\n </button>\n </div>\n </div>\n }\n @if (isLoadingSkeleton() && skeletonCount() > 0) {\n <ng-container *ngTemplateOutlet=\"skeletonTemplate\"></ng-container>\n } @else {\n <!-- Carousel -->\n @if (docCount > 0 && (documentVariant || videoVariant)) {\n <div #docsViewport class=\"docs\">\n <div\n class=\"doc-container\"\n [class.documents-container-grid]=\"isDocumentsMode()\"\n [style.transform]=\"isDocumentsMode() ? '' : carouselTransform()\"\n [style.--carousel-index]=\"isDocumentsMode() ? null : carouselIndex()\"\n >\n @for (doc of docs(); track doc.fileId) {\n <cai-document-preview\n [class.doc-visible]=\"\n isDetailsSlider() && $index === carouselIndex()\n \"\n [class.doc-hidden]=\"\n isDetailsSlider() && $index !== carouselIndex()\n \"\n class=\"doc\"\n [file]=\"doc\"\n [tags]=\"documentTags()\"\n [searchText]=\"searchText()\"\n [cdlDetailsMode]=\"isDetailsSlider()\"\n [multipleDetailsDocs]=\"isDetailsSlider() && docCount > 1\"\n [maxAspectRatio]=\"\n isDetailsSlider() && docCount > 1\n ? maxDetailsAspectRatio()\n : null\n \"\n [drawerMode]=\"isDrawerMode()\"\n [isCoverDetails]=\"isCoverDetails()\"\n [viewMode]=\"isDocumentsMode() ? 'large' : 'small'\"\n (onDelete)=\"handleDelete($event)\"\n (onDownload)=\"handleDownload($event)\"\n (onTagChange)=\"handleTagChange($event)\"\n (onFileNameChange)=\"handleFileNameChange($event)\"\n (onDocumentPreviewClick)=\"handleDocumentPreviewClick($event)\"\n (aspectRatioChange)=\"onDocAspectRatioChange($event)\"\n ></cai-document-preview>\n }\n </div>\n @if (docCount >= 3 || (isDetailsSlider() && docCount > 1)) {\n <button\n class=\"carousel-button carousel-left\"\n type=\"button\"\n (click)=\"carouselLeft()\"\n [disabled]=\"carouselIndex() === 0\"\n [style.opacity]=\"carouselIndex() === 0 ? '0' : '1'\"\n >\n <svg-icon name=\"cai-arrow-secondary-left\" class=\"arrow\"></svg-icon>\n </button>\n <button\n class=\"carousel-button carousel-right\"\n type=\"button\"\n (click)=\"carouselRight()\"\n [disabled]=\"isCarouselAtEnd()\"\n [style.opacity]=\"isCarouselAtEnd() ? '0' : '1'\"\n >\n <svg-icon name=\"cai-arrow-secondary-right\" class=\"arrow\"></svg-icon>\n </button>\n }\n @if (isDetailsSlider() && docCount > 1) {\n <div class=\"sliders\">\n @for (doc of docs(); track $index) {\n <div\n class=\"slider-item\"\n (click)=\"carouselIndex.set($index)\"\n [class.active]=\"$index === carouselIndex()\"\n ></div>\n }\n </div>\n }\n </div>\n }\n }\n</div>\n\n<!-- Skeleton Template -->\n\n<ng-template #skeletonTemplate>\n <div\n class=\"skeleton-container\"\n [ngClass]=\"{\n 'documents-container-grid': isDocumentsMode(),\n 'drawer-position': isDrawerMode(),\n }\"\n >\n @for (item of skeletonItems(); track $index) {\n <div class=\"skeleton-item\">\n <div class=\"skeleton-bar\"></div>\n </div>\n }\n </div>\n</ng-template>\n", styles: [".container.is-documents-mode{width:100%!important;max-width:100%!important}.container.is-documents-mode .drop-zone-container .drop-zone{width:100%!important}.documents-drag-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0003;z-index:10}.is-documents-mode{display:flex;flex-direction:column;gap:0!important;width:100%!important;height:100%!important}.is-documents-mode .drop-zone-container{display:flex;margin-bottom:4px;background-color:#f7f7f7;z-index:20}.is-documents-mode .drop-zone-container .drop-zone{width:100%;height:120px!important;background-color:transparent;outline-color:#dadada;transition:background-color .2s ease-in-out}.is-documents-mode .drop-zone-container .drop-zone:hover{background-color:#fff!important}.is-documents-mode .drop-zone-container .drop-zone .illustration{width:80px;height:80px}.is-documents-mode .drop-zone-container .drop-zone .drop-zone-text .heading{padding-bottom:0}.is-documents-mode .drop-zone-container .drop-zone .cancel-button-documents{z-index:1000;position:absolute;top:4px;right:4px;width:26px;height:26px;background-color:transparent;padding:4px}.is-documents-mode .drop-zone-container .drop-zone .cancel-button-documents .cancel-icon{width:18px;height:18px;color:#919191}.is-documents-mode .drop-zone-container .drop-zone .cancel-button-documents:hover .cancel-icon{color:#424242}.is-documents-mode .skeleton-container .skeleton-item{width:100%;height:auto;aspect-ratio:1/1;max-width:100%;min-width:302px;min-height:302px;position:relative;border-radius:3px;background-color:#fff}.is-documents-mode .skeleton-container .skeleton-item .skeleton-bar{position:absolute;bottom:8px;left:8px;right:8px;width:auto;height:26px;background-color:#91919133;animation:skeleton-pulse 1s ease-in-out infinite alternate;border-radius:2px}.is-documents-mode .docs{width:100%!important;position:static!important;overflow:visible!important}.is-documents-mode .docs .doc-container .doc{height:auto!important}.is-documents-mode .docs .carousel-button{display:none}.is-documents-mode .doc-container.documents-container-grid,.is-documents-mode .skeleton-container.documents-container-grid{display:grid;width:100%;grid-template-columns:repeat(auto-fill,minmax(302px,1fr));gap:4px;justify-items:stretch;align-items:start}@media(min-width:801px)and (max-width:1001px){.is-documents-mode .doc-container.documents-container-grid,.is-documents-mode .skeleton-container.documents-container-grid{grid-template-columns:repeat(2,minmax(302px,1fr))}}@media(min-width:1002px)and (max-width:1307px){.is-documents-mode .doc-container.documents-container-grid,.is-documents-mode .skeleton-container.documents-container-grid{grid-template-columns:repeat(3,minmax(302px,1fr))}}@media(min-width:1308px)and (max-width:1613px){.is-documents-mode .doc-container.documents-container-grid,.is-documents-mode .skeleton-container.documents-container-grid{grid-template-columns:repeat(4,minmax(302px,1fr))}}@media(min-width:1614px)and (max-width:1920px){.is-documents-mode .doc-container.documents-container-grid,.is-documents-mode .skeleton-container.documents-container-grid{grid-template-columns:repeat(5,minmax(302px,1fr))}}@media(min-width:1921px)and (max-width:2227px){.is-documents-mode .doc-container.documents-container-grid,.is-documents-mode .skeleton-container.documents-container-grid{grid-template-columns:repeat(6,minmax(302px,1fr))}}@media(min-width:2228px){.is-documents-mode .doc-container.documents-container-grid,.is-documents-mode .skeleton-container.documents-container-grid{grid-template-columns:repeat(auto-fit,minmax(302px,1fr))}}@keyframes skeleton-pulse{0%{background-color:#91919133}to{background-color:#91919120}}.cropper-overlay{display:flex;justify-content:center;flex-direction:column;background-color:#fff;align-items:center;z-index:2000;gap:4px;opacity:1;top:0;left:0;position:absolute;width:100%;height:100%}.cropper-overlay .img-cropper{width:100%;height:178px;padding:0}.cropper-overlay .img-cropper.snapback-animate ::ng-deep .ngx-ic-source-image{transition:transform .22s cubic-bezier(.22,1,.36,1)}.cropper-overlay .lower-part{display:flex;place-items:center;align-items:center;margin-left:3px;margin-right:3px;width:100%;gap:12px}.cropper-overlay .lower-part .range{width:100%;height:22px;display:flex;align-items:center}.cropper-overlay .lower-part .range input[type=range]{width:100%}.cropper-overlay .lower-part .range input[type=range]{-webkit-appearance:none;appearance:none;border-radius:2px;--range-active-color: #6692f1;--range-progress: 50%;background:transparent;cursor:pointer}.cropper-overlay .lower-part .cropper-buttons{display:flex;justify-content:start;gap:6px}.cropper-overlay .lower-part .cropper-buttons .cancel-button,.cropper-overlay .lower-part .cropper-buttons .submit-button{padding:4px;width:80px;font-size:14px;border-radius:2px;text-transform:uppercase;line-height:14px;font-weight:700;font-size:11px;cursor:pointer}.cropper-overlay .lower-part .cropper-buttons .cancel-button{background-color:#eee;color:#6c6c6c;transition:background-color .3s ease-in-out,color .3s ease-in-out}.cropper-overlay .lower-part .cropper-buttons .cancel-button:hover{background-color:#424242;color:#fff}.cropper-overlay .lower-part .cropper-buttons .cancel-button:active{background-color:#1d1d1d;color:#fff}.cropper-overlay .lower-part .cropper-buttons .submit-button{background-color:#3b73ed;color:#fff;transition:background-color .3s ease-in-out,color .3s ease-in-out}.cropper-overlay .lower-part .cropper-buttons .submit-button:hover{background-color:#0b49d1;color:#fff}.cropper-overlay .lower-part .cropper-buttons .submit-button:active{background-color:#00179e;color:#fff}.cropper-loader{position:absolute;z-index:1100;display:flex;justify-content:center;align-items:center;background-color:#fff;width:100%;height:100%}.cropper-loader .spinner{width:48px;height:48px;border:5px solid rgba(145,145,145,.2);border-top:5px solid #3b73ed;border-radius:50%;animation:spin 1s linear infinite}.hasCropper{height:204px!important;position:relative}input[type=range]:hover{--range-active-color: $color-blue-500}input[type=range]:active{--range-active-color: $color-blue-700}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;margin-top:-7px;background-color:#fff;height:20px;width:30px;box-shadow:0 0 4px #00000026;background-image:url(/assets/carriera-intern/icons/interaction/cai-thumb.svg);background-repeat:no-repeat;background-position:center;background-size:14px 18px;border-radius:2px;transition:background-color .3s ease-in-out}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--range-active-color) 0%,var(--range-active-color) var(--range-progress),#eeeeee var(--range-progress),#eeeeee 100%);height:6px;transition:background .3s ease-in-out}input[type=range]:hover::-webkit-slider-runnable-track{background:linear-gradient(to right,#3b73ed 0%,#3b73ed var(--range-progress),#eeeeee var(--range-progress),#eeeeee 100%)}input[type=range]:active::-webkit-slider-runnable-track{background:linear-gradient(to right,#0b49d1 0%,#0b49d1 var(--range-progress),#eeeeee var(--range-progress),#eeeeee 100%)}input[type=range]:hover::-webkit-slider-thumb{cursor:grab}input[type=range]:active::-webkit-slider-thumb{background-image:url(/assets/carriera-intern/icons/interaction/cai-thumb-active.svg);cursor:grabbing}@keyframes spin{to{transform:rotate(360deg)}}p{margin-bottom:0}svg-icon{display:flex;align-items:center;justify-content:center}button{border:none!important;outline:none!important}.illustration{width:100px;height:100px}.container{display:flex;gap:6px;position:relative;padding-left:0!important;padding-right:0!important;margin:0!important}.container.picture-container{gap:8px}.container.smallContainer{width:456px!important}.container.largeContainer{width:616px!important}.docs{flex-shrink:0;height:100%;overflow:hidden;position:relative;border-radius:2px}.smallContainer .docs{max-width:302px!important}.smallContainer .docs .doc-container{display:flex;gap:6px;transition:transform .2s ease-out}.largeContainer .docs{max-width:460px!important}.largeContainer .docs .doc-container{display:flex;gap:8px;transition:transform .2s ease-out}.carousel-button{position:absolute;top:50%;transform:translateY(-50%);border:none;outline:none;width:24px;height:32px;background-color:#ffffffb2;border-radius:2px;box-shadow:0 0 5px #0000004d;cursor:pointer;display:grid;place-items:center;padding:0}.drop-zone-input{display:none}.carousel-left{left:4px}.carousel-right{right:4px}.arrow{width:18px;height:18px;color:#0000004d}.doc{flex:0 0 148px;height:178px;display:flex;background-color:#eee;border-radius:2px}.drop-zone-container{position:relative;flex:1 0 auto}.drop-zone{display:flex;justify-content:center;align-items:center;flex-direction:row;outline:4px dashed #eeeeee;border-radius:2px;padding:35px 0;margin:4px;gap:10px;cursor:pointer;transition:background-color .2s ease-in-out}.drop-zone:hover{background-color:#eee}.drop-zone-text{-webkit-user-select:none;user-select:none;text-align:center}.drop-zone-text .heading{color:#424242;font-size:14px;line-height:18px;font-weight:700;padding-bottom:4px}.drop-zone-text .heading .line{display:block;width:fit-content;margin:0 auto}.drop-zone-text .invalid{color:#df3c3c}.drop-zone-text .subtext{color:#424242;font-size:11px;line-height:14px;font-weight:600}.drop-zone-text .subtext .line{display:block;width:fit-content;margin:0 auto}.drop-zone-text .video-subtext{margin-top:4px;color:#919191;font-size:11px;line-height:14px;font-weight:500}.smallView{width:173px!important}.smallView .drop-zone{flex-direction:column!important;padding:20px 0;width:173px;height:170px}.smallView .drop-zone .drop-zone-text .heading{line-height:18px;padding-bottom:0!important}.smallView .drop-zone .drop-zone-text .subtext{line-height:14px;margin-bottom:0!important}.smallView .illustration{width:80px;height:80px}.text-white-50{color:#fff}.text-white-100{color:#f7f7f7}.text-white-200{color:#eee}.text-white-300{color:#e5e5e5}.text-white-500{color:#dadada}.text-white-500\\/20{color:#dadada33}.text-white-500\\/40{color:#dadada66}.text-white-500\\/70{color:#dadadab3}.text-white-700{color:#ccc}.text-black-50{color:#aaa}.text-black-100{color:#919191}.text-black-200{color:#6c6c6c}.text-black-300{color:#424242}.text-black-500{color:#2f2f2f}.text-black-500\\/20{color:#2f2f2f33}.text-black-500\\/40{color:#2f2f2f66}.text-black-500\\/70{color:#2f2f2fb3}.text-black-700{color:#1d1d1d}.text-blue-50{color:#e9effd}.text-blue-100{color:#bed0f9}.text-blue-200{color:#92b1f5}.text-blue-300{color:#6692f1}.text-blue-500{color:#3b73ed}.text-blue-500\\/20{color:#3b73ed33}.text-blue-500\\/40{color:#3b73ed66}.text-blue-500\\/70{color:#3b73edb3}.text-blue-700{color:#0b49d1}.text-blue-900{color:#00179e}.text-red-50{color:#fbe9e9}.text-red-100{color:#f4bebe}.text-red-200{color:#ed9292}.text-red-300{color:#e66767}.text-red-500{color:#df3c3c}.text-red-500\\/20{color:#df3c3c33}.text-red-500\\/40{color:#df3c3c66}.text-red-500\\/70{color:#df3c3cb3}.text-red-700{color:#c20c0c}.text-green-50{color:#e7f4f3}.text-green-100{color:#b6dfdb}.text-green-200{color:#86c9c3}.text-green-300{color:#56b4ac}.text-green-500{color:#259f94}.text-green-500\\/20{color:#259f9433}.text-green-500\\/40{color:#259f9466}.text-green-500\\/70{color:#259f94b3}.text-green-700{color:#007a6e}.text-yellow-50{color:#fef4e8}.text-yellow-100{color:#fddeb9}.text-yellow-200{color:#fbc88b}.text-yellow-300{color:#fab15c}.text-yellow-500{color:#f89b2e}.text-yellow-500\\/20{color:#f89b2e33}.text-yellow-500\\/40{color:#f89b2e66}.text-yellow-500\\/70{color:#f89b2eb3}.text-yellow-700{color:#de7700}.text-purple-50{color:#f4ebfd}.text-purple-100{color:#dfc2f9}.text-purple-200{color:#c999f4}.text-purple-300{color:#b370f0}.text-purple-500{color:#9e47ec}.text-purple-500\\/20{color:#9e47ec33}.text-purple-500\\/40{color:#9e47ec66}.text-purple-500\\/70{color:#9e47ecb3}.text-purple-700{color:#7919d0}.text-orange-50{color:#ffefea}.text-orange-100{color:#ffcfc0}.text-orange-200{color:#ffb097}.text-orange-300{color:#ff906d}.text-orange-500{color:#ff7043}.text-orange-500\\/20{color:#ff704333}.text-orange-500\\/40{color:#ff704366}.text-orange-500\\/70{color:#ff7043b3}.text-orange-700{color:#e54715}.text-azure-50{color:#e5f7fc}.text-azure-100{color:#b2e6f7}.text-azure-200{color:#80d6f1}.text-azure-300{color:#4dc5eb}.text-azure-500{color:#1ab5e6}.text-azure-500\\/20{color:#1ab5e633}.text-azure-500\\/40{color:#1ab5e666}.text-azure-500\\/70{color:#1ab5e6b3}.text-azure-700{color:#0093c9}.text-gold-50{color:#faf3e6}.text-gold-100{color:#efdcb4}.text-gold-200{color:#e4c481}.text-gold-300{color:#daad4f}.text-gold-500{color:#cf961d}.text-gold-500\\/20{color:#cf961d33}.text-gold-500\\/40{color:#cf961d66}.text-gold-500\\/70{color:#cf961db3}.text-gold-700{color:#b07000}.text-brown-50{color:#f1ede9}.text-brown-100{color:#d6c9bd}.text-brown-200{color:#bca691}.text-brown-300{color:#a08266}.text-brown-500{color:#865e3a}.text-brown-500\\/20{color:#865e3a33}.text-brown-500\\/40{color:#865e3a66}.text-brown-500\\/70{color:#865e3ab3}.text-brown-700{color:#5f330a}.text-navy-50{color:#e7e7fa}.text-navy-100{color:#b7b6f1}.text-navy-200{color:#8785e8}.text-navy-300{color:#5755df}.text-navy-500{color:#2724d6}.text-navy-500\\/20{color:#2724d633}.text-navy-500\\/40{color:#2724d666}.text-navy-500\\/70{color:#2724d6b3}.text-navy-700{color:#0000b8}.text-lime-50{color:#ecf6e7}.text-lime-100{color:#c5e3b6}.text-lime-200{color:#9ed186}.text-lime-300{color:#77bf56}.text-lime-500{color:#50ac25}.text-lime-500\\/20{color:#50ac2533}.text-lime-500\\/40{color:#50ac2566}.text-lime-500\\/70{color:#50ac25b3}.text-lime-700{color:#238900}.text-magenta-50{color:#fbe9f1}.text-magenta-100{color:#f4bed6}.text-magenta-200{color:#ed93bb}.text-magenta-300{color:#e668a0}.text-magenta-500{color:#df3d85}.text-magenta-500\\/20{color:#df3d8533}.text-magenta-500\\/40{color:#df3d8566}.text-magenta-500\\/70{color:#df3d85b3}.text-magenta-700{color:#c10d5d}.bg-white-50{background-color:#fff}.bg-white-100{background-color:#f7f7f7}.bg-white-200{background-color:#eee}.bg-white-300{background-color:#e5e5e5}.bg-white-500{background-color:#dadada}.bg-white-500\\/20{background-color:#dadada33}.bg-white-500\\/40{background-color:#dadada66}.bg-white-500\\/70{background-color:#dadadab3}.bg-white-700{background-color:#ccc}.bg-black-50{background-color:#aaa}.bg-black-100{background-color:#919191}.bg-black-200{background-color:#6c6c6c}.bg-black-300{background-color:#424242}.bg-black-500{background-color:#2f2f2f}.bg-black-500\\/20{background-color:#2f2f2f33}.bg-black-500\\/40{background-color:#2f2f2f66}.bg-black-500\\/70{background-color:#2f2f2fb3}.bg-black-700{background-color:#1d1d1d}.bg-blue-50{background-color:#e9effd}.bg-blue-100{background-color:#bed0f9}.bg-blue-200{background-color:#92b1f5}.bg-blue-300{background-color:#6692f1}.bg-blue-500{background-color:#3b73ed}.bg-blue-500\\/20{background-color:#3b73ed33}.bg-blue-500\\/40{background-color:#3b73ed66}.bg-blue-500\\/70{background-color:#3b73edb3}.bg-blue-700{background-color:#0b49d1}.bg-blue-900{background-color:#00179e}.bg-red-50{background-color:#fbe9e9}.bg-red-100{background-color:#f4bebe}.bg-red-200{background-color:#ed9292}.bg-red-300{background-color:#e66767}.bg-red-500{background-color:#df3c3c}.bg-red-500\\/20{background-color:#df3c3c33}.bg-red-500\\/40{background-color:#df3c3c66}.bg-red-500\\/70{background-color:#df3c3cb3}.bg-red-700{background-color:#c20c0c}.bg-green-50{background-color:#e7f4f3}.bg-green-100{background-color:#b6dfdb}.bg-green-200{background-color:#86c9c3}.bg-green-300{background-color:#56b4ac}.bg-green-500{background-color:#259f94}.bg-green-500\\/20{background-color:#259f9433}.bg-green-500\\/40{background-color:#259f9466}.bg-green-500\\/70{background-color:#259f94b3}.bg-green-700{background-color:#007a6e}.bg-yellow-50{background-color:#fef4e8}.bg-yellow-100{background-color:#fddeb9}.bg-yellow-200{background-color:#fbc88b}.bg-yellow-300{background-color:#fab15c}.bg-yellow-500{background-color:#f89b2e}.bg-yellow-500\\/20{background-color:#f89b2e33}.bg-yellow-500\\/40{background-color:#f89b2e66}.bg-yellow-500\\/70{background-color:#f89b2eb3}.bg-yellow-700{background-color:#de7700}.bg-purple-50{background-color:#f4ebfd}.bg-purple-100{background-color:#dfc2f9}.bg-purple-200{background-color:#c999f4}.bg-purple-300{background-color:#b370f0}.bg-purple-500{background-color:#9e47ec}.bg-purple-500\\/20{background-color:#9e47ec33}.bg-purple-500\\/40{background-color:#9e47ec66}.bg-purple-500\\/70{background-color:#9e47ecb3}.bg-purple-700{background-color:#7919d0}.bg-orange-50{background-color:#ffefea}.bg-orange-100{background-color:#ffcfc0}.bg-orange-200{background-color:#ffb097}.bg-orange-300{background-color:#ff906d}.bg-orange-500{background-color:#ff7043}.bg-orange-500\\/20{background-color:#ff704333}.bg-orange-500\\/40{background-color:#ff704366}.bg-orange-500\\/70{background-color:#ff7043b3}.bg-orange-700{background-color:#e54715}.bg-azure-50{background-color:#e5f7fc}.bg-azure-100{background-color:#b2e6f7}.bg-azure-200{background-color:#80d6f1}.bg-azure-300{background-color:#4dc5eb}.bg-azure-500{background-color:#1ab5e6}.bg-azure-500\\/20{background-color:#1ab5e633}.bg-azure-500\\/40{background-color:#1ab5e666}.bg-azure-500\\/70{background-color:#1ab5e6b3}.bg-azure-700{background-color:#0093c9}.bg-gold-50{background-color:#faf3e6}.bg-gold-100{background-color:#efdcb4}.bg-gold-200{background-color:#e4c481}.bg-gold-300{background-color:#daad4f}.bg-gold-500{background-color:#cf961d}.bg-gold-500\\/20{background-color:#cf961d33}.bg-gold-500\\/40{background-color:#cf961d66}.bg-gold-500\\/70{background-color:#cf961db3}.bg-gold-700{background-color:#b07000}.bg-brown-50{background-color:#f1ede9}.bg-brown-100{background-color:#d6c9bd}.bg-brown-200{background-color:#bca691}.bg-brown-300{background-color:#a08266}.bg-brown-500{background-color:#865e3a}.bg-brown-500\\/20{background-color:#865e3a33}.bg-brown-500\\/40{background-color:#865e3a66}.bg-brown-500\\/70{background-color:#865e3ab3}.bg-brown-700{background-color:#5f330a}.bg-navy-50{background-color:#e7e7fa}.bg-navy-100{background-color:#b7b6f1}.bg-navy-200{background-color:#8785e8}.bg-navy-300{background-color:#5755df}.bg-navy-500{background-color:#2724d6}.bg-navy-500\\/20{background-color:#2724d633}.bg-navy-500\\/40{background-color:#2724d666}.bg-navy-500\\/70{background-color:#2724d6b3}.bg-navy-700{background-color:#0000b8}.bg-lime-50{background-color:#ecf6e7}.bg-lime-100{background-color:#c5e3b6}.bg-lime-200{background-color:#9ed186}.bg-lime-300{background-color:#77bf56}.bg-lime-500{background-color:#50ac25}.bg-lime-500\\/20{background-color:#50ac2533}.bg-lime-500\\/40{background-color:#50ac2566}.bg-lime-500\\/70{background-color:#50ac25b3}.bg-lime-700{background-color:#238900}.bg-magenta-50{background-color:#fbe9f1}.bg-magenta-100{background-color:#f4bed6}.bg-magenta-200{background-color:#ed93bb}.bg-magenta-300{background-color:#e668a0}.bg-magenta-500{background-color:#df3d85}.bg-magenta-500\\/20{background-color:#df3d8533}.bg-magenta-500\\/40{background-color:#df3d8566}.bg-magenta-500\\/70{background-color:#df3d85b3}.bg-magenta-700{background-color:#c10d5d}.border-white-50{border-color:#fff}.border-white-100{border-color:#f7f7f7}.border-white-200{border-color:#eee}.border-white-300{border-color:#e5e5e5}.border-white-500{border-color:#dadada}.border-white-500\\/20{border-color:#dadada33}.border-white-500\\/40{border-color:#dadada66}.border-white-500\\/70{border-color:#dadadab3}.border-white-700{border-color:#ccc}.border-black-50{border-color:#aaa}.border-black-100{border-color:#919191}.border-black-200{border-color:#6c6c6c}.border-black-300{border-color:#424242}.border-black-500{border-color:#2f2f2f}.border-black-500\\/20{border-color:#2f2f2f33}.border-black-500\\/40{border-color:#2f2f2f66}.border-black-500\\/70{border-color:#2f2f2fb3}.border-black-700{border-color:#1d1d1d}.border-blue-50{border-color:#e9effd}.border-blue-100{border-color:#bed0f9}.border-blue-200{border-color:#92b1f5}.border-blue-300{border-color:#6692f1}.border-blue-500{border-color:#3b73ed}.border-blue-500\\/20{border-color:#3b73ed33}.border-blue-500\\/40{border-color:#3b73ed66}.border-blue-500\\/70{border-color:#3b73edb3}.border-blue-700{border-color:#0b49d1}.border-blue-900{border-color:#00179e}.border-red-50{border-color:#fbe9e9}.border-red-100{border-color:#f4bebe}.border-red-200{border-color:#ed9292}.border-red-300{border-color:#e66767}.border-red-500{border-color:#df3c3c}.border-red-500\\/20{border-color:#df3c3c33}.border-red-500\\/40{border-color:#df3c3c66}.border-red-500\\/70{border-color:#df3c3cb3}.border-red-700{border-color:#c20c0c}.border-green-50{border-color:#e7f4f3}.border-green-100{border-color:#b6dfdb}.border-green-200{border-color:#86c9c3}.border-green-300{border-color:#56b4ac}.border-green-500{border-color:#259f94}.border-green-500\\/20{border-color:#259f9433}.border-green-500\\/40{border-color:#259f9466}.border-green-500\\/70{border-color:#259f94b3}.border-green-700{border-color:#007a6e}.border-yellow-50{border-color:#fef4e8}.border-yellow-100{border-color:#fddeb9}.border-yellow-200{border-color:#fbc88b}.border-yellow-300{border-color:#fab15c}.border-yellow-500{border-color:#f89b2e}.border-yellow-500\\/20{border-color:#f89b2e33}.border-yellow-500\\/40{border-color:#f89b2e66}.border-yellow-500\\/70{border-color:#f89b2eb3}.border-yellow-700{border-color:#de7700}.border-purple-50{border-color:#f4ebfd}.border-purple-100{border-color:#dfc2f9}.border-purple-200{border-color:#c999f4}.border-purple-300{border-color:#b370f0}.border-purple-500{border-color:#9e47ec}.border-purple-500\\/20{border-color:#9e47ec33}.border-purple-500\\/40{border-color:#9e47ec66}.border-purple-500\\/70{border-color:#9e47ecb3}.border-purple-700{border-color:#7919d0}.border-orange-50{border-color:#ffefea}.border-orange-100{border-color:#ffcfc0}.border-orange-200{border-color:#ffb097}.border-orange-300{border-color:#ff906d}.border-orange-500{border-color:#ff7043}.border-orange-500\\/20{border-color:#ff704333}.border-orange-500\\/40{border-color:#ff704366}.border-orange-500\\/70{border-color:#ff7043b3}.border-orange-700{border-color:#e54715}.border-azure-50{border-color:#e5f7fc}.border-azure-100{border-color:#b2e6f7}.border-azure-200{border-color:#80d6f1}.border-azure-300{border-color:#4dc5eb}.border-azure-500{border-color:#1ab5e6}.border-azure-500\\/20{border-color:#1ab5e633}.border-azure-500\\/40{border-color:#1ab5e666}.border-azure-500\\/70{border-color:#1ab5e6b3}.border-azure-700{border-color:#0093c9}.border-gold-50{border-color:#faf3e6}.border-gold-100{border-color:#efdcb4}.border-gold-200{border-color:#e4c481}.border-gold-300{border-color:#daad4f}.border-gold-500{border-color:#cf961d}.border-gold-500\\/20{border-color:#cf961d33}.border-gold-500\\/40{border-color:#cf961d66}.border-gold-500\\/70{border-color:#cf961db3}.border-gold-700{border-color:#b07000}.border-brown-50{border-color:#f1ede9}.border-brown-100{border-color:#d6c9bd}.border-brown-200{border-color:#bca691}.border-brown-300{border-color:#a08266}.border-brown-500{border-color:#865e3a}.border-brown-500\\/20{border-color:#865e3a33}.border-brown-500\\/40{border-color:#865e3a66}.border-brown-500\\/70{border-color:#865e3ab3}.border-brown-700{border-color:#5f330a}.border-navy-50{border-color:#e7e7fa}.border-navy-100{border-color:#b7b6f1}.border-navy-200{border-color:#8785e8}.border-navy-300{border-color:#5755df}.border-navy-500{border-color:#2724d6}.border-navy-500\\/20{border-color:#2724d633}.border-navy-500\\/40{border-color:#2724d666}.border-navy-500\\/70{border-color:#2724d6b3}.border-navy-700{border-color:#0000b8}.border-lime-50{border-color:#ecf6e7}.border-lime-100{border-color:#c5e3b6}.border-lime-200{border-color:#9ed186}.border-lime-300{border-color:#77bf56}.border-lime-500{border-color:#50ac25}.border-lime-500\\/20{border-color:#50ac2533}.border-lime-500\\/40{border-color:#50ac2566}.border-lime-500\\/70{border-color:#50ac25b3}.border-lime-700{border-color:#238900}.border-magenta-50{border-color:#fbe9f1}.border-magenta-100{border-color:#f4bed6}.border-magenta-200{border-color:#ed93bb}.border-magenta-300{border-color:#e668a0}.border-magenta-500{border-color:#df3d85}.border-magenta-500\\/20{border-color:#df3d8533}.border-magenta-500\\/40{border-color:#df3d8566}.border-magenta-500\\/70{border-color:#df3d85b3}.border-magenta-700{border-color:#c10d5d}.fill-white-50{fill:#fff}.fill-white-100{fill:#f7f7f7}.fill-white-200{fill:#eee}.fill-white-300{fill:#e5e5e5}.fill-white-500{fill:#dadada}.fill-white-500\\/20{fill:#dadada33}.fill-white-500\\/40{fill:#dadada66}.fill-white-500\\/70{fill:#dadadab3}.fill-white-700{fill:#ccc}.fill-black-50{fill:#aaa}.fill-black-100{fill:#919191}.fill-black-200{fill:#6c6c6c}.fill-black-300{fill:#424242}.fill-black-500{fill:#2f2f2f}.fill-black-500\\/20{fill:#2f2f2f33}.fill-black-500\\/40{fill:#2f2f2f66}.fill-black-500\\/70{fill:#2f2f2fb3}.fill-black-700{fill:#1d1d1d}.fill-blue-50{fill:#e9effd}.fill-blue-100{fill:#bed0f9}.fill-blue-200{fill:#92b1f5}.fill-blue-300{fill:#6692f1}.fill-blue-500{fill:#3b73ed}.fill-blue-500\\/20{fill:#3b73ed33}.fill-blue-500\\/40{fill:#3b73ed66}.fill-blue-500\\/70{fill:#3b73edb3}.fill-blue-700{fill:#0b49d1}.fill-blue-900{fill:#00179e}.fill-red-50{fill:#fbe9e9}.fill-red-100{fill:#f4bebe}.fill-red-200{fill:#ed9292}.fill-red-300{fill:#e66767}.fill-red-500{fill:#df3c3c}.fill-red-500\\/20{fill:#df3c3c33}.fill-red-500\\/40{fill:#df3c3c66}.fill-red-500\\/70{fill:#df3c3cb3}.fill-red-700{fill:#c20c0c}.fill-green-50{fill:#e7f4f3}.fill-green-100{fill:#b6dfdb}.fill-green-200{fill:#86c9c3}.fill-green-300{fill:#56b4ac}.fill-green-500{fill:#259f94}.fill-green-500\\/20{fill:#259f9433}.fill-green-500\\/40{fill:#259f9466}.fill-green-500\\/70{fill:#259f94b3}.fill-green-700{fill:#007a6e}.fill-yellow-50{fill:#fef4e8}.fill-yellow-100{fill:#fddeb9}.fill-yellow-200{fill:#fbc88b}.fill-yellow-300{fill:#fab15c}.fill-yellow-500{fill:#f89b2e}.fill-yellow-500\\/20{fill:#f89b2e33}.fill-yellow-500\\/40{fill:#f89b2e66}.fill-yellow-500\\/70{fill:#f89b2eb3}.fill-yellow-700{fill:#de7700}.fill-purple-50{fill:#f4ebfd}.fill-purple-100{fill:#dfc2f9}.fill-purple-200{fill:#c999f4}.fill-purple-300{fill:#b370f0}.fill-purple-500{fill:#9e47ec}.fill-purple-500\\/20{fill:#9e47ec33}.fill-purple-500\\/40{fill:#9e47ec66}.fill-purple-500\\/70{fill:#9e47ecb3}.fill-purple-700{fill:#7919d0}.fill-orange-50{fill:#ffefea}.fill-orange-100{fill:#ffcfc0}.fill-orange-200{fill:#ffb097}.fill-orange-300{fill:#ff906d}.fill-orange-500{fill:#ff7043}.fill-orange-500\\/20{fill:#ff704333}.fill-orange-500\\/40{fill:#ff704366}.fill-orange-500\\/70{fill:#ff7043b3}.fill-orange-700{fill:#e54715}.fill-azure-50{fill:#e5f7fc}.fill-azure-100{fill:#b2e6f7}.fill-azure-200{fill:#80d6f1}.fill-azure-300{fill:#4dc5eb}.fill-azure-500{fill:#1ab5e6}.fill-azure-500\\/20{fill:#1ab5e633}.fill-azure-500\\/40{fill:#1ab5e666}.fill-azure-500\\/70{fill:#1ab5e6b3}.fill-azure-700{fill:#0093c9}.fill-gold-50{fill:#faf3e6}.fill-gold-100{fill:#efdcb4}.fill-gold-200{fill:#e4c481}.fill-gold-300{fill:#daad4f}.fill-gold-500{fill:#cf961d}.fill-gold-500\\/20{fill:#cf961d33}.fill-gold-500\\/40{fill:#cf961d66}.fill-gold-500\\/70{fill:#cf961db3}.fill-gold-700{fill:#b07000}.fill-brown-50{fill:#f1ede9}.fill-brown-100{fill:#d6c9bd}.fill-brown-200{fill:#bca691}.fill-brown-300{fill:#a08266}.fill-brown-500{fill:#865e3a}.fill-brown-500\\/20{fill:#865e3a33}.fill-brown-500\\/40{fill:#865e3a66}.fill-brown-500\\/70{fill:#865e3ab3}.fill-brown-700{fill:#5f330a}.fill-navy-50{fill:#e7e7fa}.fill-navy-100{fill:#b7b6f1}.fill-navy-200{fill:#8785e8}.fill-navy-300{fill:#5755df}.fill-navy-500{fill:#2724d6}.fill-navy-500\\/20{fill:#2724d633}.fill-navy-500\\/40{fill:#2724d666}.fill-navy-500\\/70{fill:#2724d6b3}.fill-navy-700{fill:#0000b8}.fill-lime-50{fill:#ecf6e7}.fill-lime-100{fill:#c5e3b6}.fill-lime-200{fill:#9ed186}.fill-lime-300{fill:#77bf56}.fill-lime-500{fill:#50ac25}.fill-lime-500\\/20{fill:#50ac2533}.fill-lime-500\\/40{fill:#50ac2566}.fill-lime-500\\/70{fill:#50ac25b3}.fill-lime-700{fill:#238900}.fill-magenta-50{fill:#fbe9f1}.fill-magenta-100{fill:#f4bed6}.fill-magenta-200{fill:#ed93bb}.fill-magenta-300{fill:#e668a0}.fill-magenta-500{fill:#df3d85}.fill-magenta-500\\/20{fill:#df3d8533}.fill-magenta-500\\/40{fill:#df3d8566}.fill-magenta-500\\/70{fill:#df3d85b3}.fill-magenta-700{fill:#c10d5d}.stroke-white-50{stroke:#fff}.stroke-white-100{stroke:#f7f7f7}.stroke-white-200{stroke:#eee}.stroke-white-300{stroke:#e5e5e5}.stroke-white-500{stroke:#dadada}.stroke-white-500\\/20{stroke:#dadada33}.stroke-white-500\\/40{stroke:#dadada66}.stroke-white-500\\/70{stroke:#dadadab3}.stroke-white-700{stroke:#ccc}.stroke-black-50{stroke:#aaa}.stroke-black-100{stroke:#919191}.stroke-black-200{stroke:#6c6c6c}.stroke-black-300{stroke:#424242}.stroke-black-500{stroke:#2f2f2f}.stroke-black-500\\/20{stroke:#2f2f2f33}.stroke-black-500\\/40{stroke:#2f2f2f66}.stroke-black-500\\/70{stroke:#2f2f2fb3}.stroke-black-700{stroke:#1d1d1d}.stroke-blue-50{stroke:#e9effd}.stroke-blue-100{stroke:#bed0f9}.stroke-blue-200{stroke:#92b1f5}.stroke-blue-300{stroke:#6692f1}.stroke-blue-500{stroke:#3b73ed}.stroke-blue-500\\/20{stroke:#3b73ed33}.stroke-blue-500\\/40{stroke:#3b73ed66}.stroke-blue-500\\/70{stroke:#3b73edb3}.stroke-blue-700{stroke:#0b49d1}.stroke-blue-900{stroke:#00179e}.stroke-red-50{stroke:#fbe9e9}.stroke-red-100{stroke:#f4bebe}.stroke-red-200{stroke:#ed9292}.stroke-red-300{stroke:#e66767}.stroke-red-500{stroke:#df3c3c}.stroke-red-500\\/20{stroke:#df3c3c33}.stroke-red-500\\/40{stroke:#df3c3c66}.stroke-red-500\\/70{stroke:#df3c3cb3}.stroke-red-700{stroke:#c20c0c}.stroke-green-50{stroke:#e7f4f3}.stroke-green-100{stroke:#b6dfdb}.stroke-green-200{stroke:#86c9c3}.stroke-green-300{stroke:#56b4ac}.stroke-green-500{stroke:#259f94}.stroke-green-500\\/20{stroke:#259f9433}.stroke-green-500\\/40{stroke:#259f9466}.stroke-green-500\\/70{stroke:#259f94b3}.stroke-green-700{stroke:#007a6e}.stroke-yellow-50{stroke:#fef4e8}.stroke-yellow-100{stroke:#fddeb9}.stroke-yellow-200{stroke:#fbc88b}.stroke-yellow-300{stroke:#fab15c}.stroke-yellow-500{stroke:#f89b2e}.stroke-yellow-500\\/20{stroke:#f89b2e33}.stroke-yellow-500\\/40{stroke:#f89b2e66}.stroke-yellow-500\\/70{stroke:#f89b2eb3}.stroke-yellow-700{stroke:#de7700}.stroke-purple-50{stroke:#f4ebfd}.stroke-purple-100{stroke:#dfc2f9}.stroke-purple-200{stroke:#c999f4}.stroke-purple-300{stroke:#b370f0}.stroke-purple-500{stroke:#9e47ec}.stroke-purple-500\\/20{stroke:#9e47ec33}.stroke-purple-500\\/40{stroke:#9e47ec66}.stroke-purple-500\\/70{stroke:#9e47ecb3}.stroke-purple-700{stroke:#7919d0}.stroke-orange-50{stroke:#ffefea}.stroke-orange-100{stroke:#ffcfc0}.stroke-orange-200{stroke:#ffb097}.stroke-orange-300{stroke:#ff906d}.stroke-orange-500{stroke:#ff7043}.stroke-orange-500\\/20{stroke:#ff704333}.stroke-orange-500\\/40{stroke:#ff704366}.stroke-orange-500\\/70{stroke:#ff7043b3}.stroke-orange-700{stroke:#e54715}.stroke-azure-50{stroke:#e5f7fc}.stroke-azure-100{stroke:#b2e6f7}.stroke-azure-200{stroke:#80d6f1}.stroke-azure-300{stroke:#4dc5eb}.stroke-azure-500{stroke:#1ab5e6}.stroke-azure-500\\/20{stroke:#1ab5e633}.stroke-azure-500\\/40{stroke:#1ab5e666}.stroke-azure-500\\/70{stroke:#1ab5e6b3}.stroke-azure-700{stroke:#0093c9}.stroke-gold-50{stroke:#faf3e6}.stroke-gold-100{stroke:#efdcb4}.stroke-gold-200{stroke:#e4c481}.stroke-gold-300{stroke:#daad4f}.stroke-gold-500{stroke:#cf961d}.stroke-gold-500\\/20{stroke:#cf961d33}.stroke-gold-500\\/40{stroke:#cf961d66}.stroke-gold-500\\/70{stroke:#cf961db3}.stroke-gold-700{stroke:#b07000}.stroke-brown-50{stroke:#f1ede9}.stroke-brown-100{stroke:#d6c9bd}.stroke-brown-200{stroke:#bca691}.stroke-brown-300{stroke:#a08266}.stroke-brown-500{stroke:#865e3a}.stroke-brown-500\\/20{stroke:#865e3a33}.stroke-brown-500\\/40{stroke:#865e3a66}.stroke-brown-500\\/70{stroke:#865e3ab3}.stroke-brown-700{stroke:#5f330a}.stroke-navy-50{stroke:#e7e7fa}.stroke-navy-100{stroke:#b7b6f1}.stroke-navy-200{stroke:#8785e8}.stroke-navy-300{stroke:#5755df}.stroke-navy-500{stroke:#2724d6}.stroke-navy-500\\/20{stroke:#2724d633}.stroke-navy-500\\/40{stroke:#2724d666}.stroke-navy-500\\/70{stroke:#2724d6b3}.stroke-navy-700{stroke:#0000b8}.stroke-lime-50{stroke:#ecf6e7}.stroke-lime-100{stroke:#c5e3b6}.stroke-lime-200{stroke:#9ed186}.stroke-lime-300{stroke:#77bf56}.stroke-lime-500{stroke:#50ac25}.stroke-lime-500\\/20{stroke:#50ac2533}.stroke-lime-500\\/40{stroke:#50ac2566}.stroke-lime-500\\/70{stroke:#50ac25b3}.stroke-lime-700{stroke:#238900}.stroke-magenta-50{stroke:#fbe9f1}.stroke-magenta-100{stroke:#f4bed6}.stroke-magenta-200{stroke:#ed93bb}.stroke-magenta-300{stroke:#e668a0}.stroke-magenta-500{stroke:#df3d85}.stroke-magenta-500\\/20{stroke:#df3d8533}.stroke-magenta-500\\/40{stroke:#df3d8566}.stroke-magenta-500\\/70{stroke:#df3d85b3}.stroke-magenta-700{stroke:#c10d5d}.hover\\:text-white-50:hover{color:#fff}.hover\\:text-white-100:hover{color:#f7f7f7}.hover\\:text-white-200:hover{color:#eee}.hover\\:text-white-300:hover{color:#e5e5e5}.hover\\:text-white-500:hover{color:#dadada}.hover\\:text-white-500:hover\\/20{color:#dadada33}.hover\\:text-white-500:hover\\/40{color:#dadada66}.hover\\:text-white-500:hover\\/70{color:#dadadab3}.hover\\:text-white-700:hover{color:#ccc}.hover\\:text-black-50:hover{color:#aaa}.hover\\:text-black-100:hover{color:#919191}.hover\\:text-black-200:hover{color:#6c6c6c}.hover\\:text-black-300:hover{color:#424242}.hover\\:text-black-500:hover{color:#2f2f2f}.hover\\:text-black-500:hover\\/20{color:#2f2f2f33}.hover\\:text-black-500:hover\\/40{color:#2f2f2f66}.hover\\:text-black-500:hover\\/70{color:#2f2f2fb3}.hover\\:text-black-700:hover{color:#1d1d1d}.hover\\:text-blue-50:hover{color:#e9effd}.hover\\:text-blue-100:hover{color:#bed0f9}.hover\\:text-blue-200:hover{color:#92b1f5}.hover\\:text-blue-300:hover{color:#6692f1}.hover\\:text-blue-500:hover{color:#3b73ed}.hover\\:text-blue-500:hover\\/20{color:#3b73ed33}.hover\\:text-blue-500:hover\\/40{color:#3b73ed66}.hover\\:text-blue-500:hover\\/70{color:#3b73edb3}.hover\\:text-blue-700:hover{color:#0b49d1}.hover\\:text-blue-900:hover{color:#00179e}.hover\\:text-red-50:hover{color:#fbe9e9}.hover\\:text-red-100:hover{color:#f4bebe}.hover\\:text-red-200:hover{color:#ed9292}.hover\\:text-red-300:hover{color:#e66767}.hover\\:text-red-500:hover{color:#df3c3c}.hover\\:text-red-500:hover\\/20{color:#df3c3c33}.hover\\:text-red-500:hover\\/40{color:#df3c3c66}.hover\\:text-red-500:hover\\/70{color:#df3c3cb3}.hover\\:text-red-700:hover{color:#c20c0c}.hover\\:text-green-50:hover{color:#e7f4f3}.hover\\:text-green-100:hover{color:#b6dfdb}.hover\\:text-green-200:hover{color:#86c9c3}.hover\\:text-green-300:hover{color:#56b4ac}.hover\\:text-green-500:hover{color:#259f94}.hover\\:text-green-500:hover\\/20{color:#259f9433}.hover\\:text-green-500:hover\\/40{color:#259f9466}.hover\\:text-green-500:hover\\/70{color:#259f94b3}.hover\\:text-green-700:hover{color:#007a6e}.hover\\:text-yellow-50:hover{color:#fef4e8}.hover\\:text-yellow-100:hover{color:#fddeb9}.hover\\:text-yellow-200:hover{color:#fbc88b}.hover\\:text-yellow-300:hover{color:#fab15c}.hover\\:text-yellow-500:hover{color:#f89b2e}.hover\\:text-yellow-500:hover\\/20{color:#f89b2e33}.hover\\:text-yellow-500:hover\\/40{color:#f89b2e66}.hover\\:text-yellow-500:hover\\/70{color:#f89b2eb3}.hover\\:text-yellow-700:hover{color:#de7700}.hover\\:text-purple-50:hover{color:#f4ebfd}.hover\\:text-purple-100:hover{color:#dfc2f9}.hover\\:text-purple-200:hover{color:#c999f4}.hover\\:text-purple-300:hover{color:#b370f0}.hover\\:text-purple-500:hover{color:#9e47ec}.hover\\:text-purple-500:hover\\/20{color:#9e47ec33}.hover\\:text-purple-500:hover\\/40{color:#9e47ec66}.hover\\:text-purple-500:hover\\/70{color:#9e47ecb3}.hover\\:text-purple-700:hover{color:#7919d0}.hover\\:text-orange-50:hover{color:#ffefea}.hover\\:text-orange-100:hover{color:#ffcfc0}.hover\\:text-orange-200:hover{color:#ffb097}.hover\\:text-orange-300:hover{color:#ff906d}.hover\\:text-orange-500:hover{color:#ff7043}.hover\\:text-orange-500:hover\\/20{color:#ff704333}.hover\\:text-orange-500:hover\\/40{color:#ff704366}.hover\\:text-orange-500:hover\\/70{color:#ff7043b3}.hover\\:text-orange-700:hover{color:#e54715}.hover\\:text-azure-50:hover{color:#e5f7fc}.hover\\:text-azure-100:hover{color:#b2e6f7}.hover\\:text-azure-200:hover{color:#80d6f1}.hover\\:text-azure-300:hover{color:#4dc5eb}.hover\\:text-azure-500:hover{color:#1ab5e6}.hover\\:text-azure-500:hover\\/20{color:#1ab5e633}.hover\\:text-azure-500:hover\\/40{color:#1ab5e666}.hover\\:text-azure-500:hover\\/70{color:#1ab5e6b3}.hover\\:text-azure-700:hover{color:#0093c9}.hover\\:text-gold-50:hover{color:#faf3e6}.hover\\:text-gold-100:hover{color:#efdcb4}.hover\\:text-gold-200:hover{color:#e4c481}.hover\\:text-gold-300:hover{color:#daad4f}.hover\\:text-gold-500:hover{color:#cf961d}.hover\\:text-gold-500:hover\\/20{color:#cf961d33}.hover\\:text-gold-500:hover\\/40{color:#cf961d66}.hover\\:text-gold-500:hover\\/70{color:#cf961db3}.hover\\:text-gold-700:hover{color:#b07000}.hover\\:text-brown-50:hover{color:#f1ede9}.hover\\:text-brown-100:hover{color:#d6c9bd}.hover\\:text-brown-200:hover{color:#bca691}.hover\\:text-brown-300:hover{color:#a08266}.hover\\:text-brown-500:hover{color:#865e3a}.hover\\:text-brown-500:hover\\/20{color:#865e3a33}.hover\\:text-brown-500:hover\\/40{color:#865e3a66}.hover\\:text-brown-500:hover\\/70{color:#865e3ab3}.hover\\:text-brown-700:hover{color:#5f330a}.hover\\:text-navy-50:hover{color:#e7e7fa}.hover\\:text-navy-100:hover{color:#b7b6f1}.hover\\:text-navy-200:hover{color:#8785e8}.hover\\:text-navy-300:hover{color:#5755df}.hover\\:text-navy-500:hover{color:#2724d6}.hover\\:text-navy-500:hover\\/20{color:#2724d633}.hover\\:text-navy-500:hover\\/40{color:#2724d666}.hover\\:text-navy-500:hover\\/70{color:#2724d6b3}.hover\\:text-navy-700:hover{color:#0000b8}.hover\\:text-lime-50:hover{color:#ecf6e7}.hover\\:text-lime-100:hover{color:#c5e3b6}.hover\\:text-lime-200:hover{color:#9ed186}.hover\\:text-lime-300:hover{color:#77bf56}.hover\\:text-lime-500:hover{color:#50ac25}.hover\\:text-lime-500:hover\\/20{color:#50ac2533}.hover\\:text-lime-500:hover\\/40{color:#50ac2566}.hover\\:text-lime-500:hover\\/70{color:#50ac25b3}.hover\\:text-lime-700:hover{color:#238900}.hover\\:text-magenta-50:hover{color:#fbe9f1}.hover\\:text-magenta-100:hover{color:#f4bed6}.hover\\:text-magenta-200:hover{color:#ed93bb}.hover\\:text-magenta-300:hover{color:#e668a0}.hover\\:text-magenta-500:hover{color:#df3d85}.hover\\:text-magenta-500:hover\\/20{color:#df3d8533}.hover\\:text-magenta-500:hover\\/40{color:#df3d8566}.hover\\:text-magenta-500:hover\\/70{color:#df3d85b3}.hover\\:text-magenta-700:hover{color:#c10d5d}.hover\\:bg-white-50:hover{background-color:#fff}.hover\\:bg-white-100:hover{background-color:#f7f7f7}.hover\\:bg-white-200:hover{background-color:#eee}.hover\\:bg-white-300:hover{background-color:#e5e5e5}.hover\\:bg-white-500:hover{background-color:#dadada}.hover\\:bg-white-500:hover\\/20{background-color:#dadada33}.hover\\:bg-white-500:hover\\/40{background-color:#dadada66}.hover\\:bg-white-500:hover\\/70{background-color:#dadadab3}.hover\\:bg-white-700:hover{background-color:#ccc}.hover\\:bg-black-50:hover{background-color:#aaa}.hover\\:bg-black-100:hover{background-color:#919191}.hover\\:bg-black-200:hover{background-color:#6c6c6c}.hover\\:bg-black-300:hover{background-color:#424242}.hover\\:bg-black-500:hover{background-color:#2f2f2f}.hover\\:bg-black-500:hover\\/20{background-color:#2f2f2f33}.hover\\:bg-black-500:hover\\/40{background-color:#2f2f2f66}.hover\\:bg-black-500:hover\\/70{background-color:#2f2f2fb3}.hover\\:bg-black-700:hover{background-color:#1d1d1d}.hover\\:bg-blue-50:hover{background-color:#e9effd}.hover\\:bg-blue-100:hover{background-color:#bed0f9}.hover\\:bg-blue-200:hover{background-color:#92b1f5}.hover\\:bg-blue-300:hover{background-color:#6692f1}.hover\\:bg-blue-500:hover{background-color:#3b73ed}.hover\\:bg-blue-500:hover\\/20{background-color:#3b73ed33}.hover\\:bg-blue-500:hover\\/40{background-color:#3b73ed66}.hover\\:bg-blue-500:hover\\/70{background-color:#3b73edb3}.hover\\:bg-blue-700:hover{background-color:#0b49d1}.hover\\:bg-blue-900:hover{background-color:#00179e}.hover\\:bg-red-50:hover{background-color:#fbe9e9}.hover\\:bg-red-100:hover{background-color:#f4bebe}.hover\\:bg-red-200:hover{background-color:#ed9292}.hover\\:bg-red-300:hover{background-color:#e66767}.hover\\:bg-red-500:hover{background-color:#df3c3c}.hover\\:bg-red-500:hover\\/20{background-color:#df3c3c33}.hover\\:bg-red-500:hover\\/40{background-color:#df3c3c66}.hover\\:bg-red-500:hover\\/70{background-color:#df3c3cb3}.hover\\:bg-red-700:hover{background-color:#c20c0c}.hover\\:bg-green-50:hover{background-color:#e7f4f3}.hover\\:bg-green-100:hover{background-color:#b6dfdb}.hover\\:bg-green-200:hover{background-color:#86c9c3}.hover\\:bg-green-300:hover{background-color:#56b4ac}.hover\\:bg-green-500:hover{background-color:#259f94}.hover\\:bg-green-500:hover\\/20{background-color:#259f9433}.hover\\:bg-green-500:hover\\/40{background-color:#259f9466}.hover\\:bg-green-500:hover\\/70{background-color:#259f94b3}.hover\\:bg-green-700:hover{background-color:#007a6e}.hover\\:bg-yellow-50:hover{background-color:#fef4e8}.hover\\:bg-yellow-100:hover{background-color:#fddeb9}.hover\\:bg-yellow-200:hover{background-color:#fbc88b}.hover\\:bg-yellow-300:hover{background-color:#fab15c}.hover\\:bg-yellow-500:hover{background-color:#f89b2e}.hover\\:bg-yellow-500:hover\\/20{background-color:#f89b2e33}.hover\\:bg-yellow-500:hover\\/40{background-color:#f89b2e66}.hover\\:bg-yellow-500:hover\\/70{background-color:#f89b2eb3}.hover\\:bg-yellow-700:hover{background-color:#de7700}.hover\\:bg-purple-50:hover{background-color:#f4ebfd}.hover\\:bg-purple-100:hover{background-color:#dfc2f9}.hover\\:bg-purple-200:hover{background-color:#c999f4}.hover\\:bg-purple-300:hover{background-color:#b370f0}.hover\\:bg-purple-500:hover{background-color:#9e47ec}.hover\\:bg-purple-500:hover\\/20{background-color:#9e47ec33}.hover\\:bg-purple-500:hover\\/40{background-color:#9e47ec66}.hover\\:bg-purple-500:hover\\/70{background-color:#9e47ecb3}.hover\\:bg-purple-700:hover{background-color:#7919d0}.hover\\:bg-orange-50:hover{background-color:#ffefea}.hover\\:bg-orange-100:hover{background-color:#ffcfc0}.hover\\:bg-orange-200:hover{background-color:#ffb097}.hover\\:bg-orange-300:hover{background-color:#ff906d}.hover\\:bg-orange-500:hover{background-color:#ff7043}.hover\\:bg-orange-500:hover\\/20{background-color:#ff704333}.hover\\:bg-orange-500:hover\\/40{background-color:#ff704366}.hover\\:bg-orange-500:hover\\/70{background-color:#ff7043b3}.hover\\:bg-orange-700:hover{background-color:#e54715}.hover\\:bg-azure-50:hover{background-color:#e5f7fc}.hover\\:bg-azure-100:hover{background-color:#b2e6f7}.hover\\:bg-azure-200:hover{background-color:#80d6f1}.hover\\:bg-azure-300:hover{background-color:#4dc5eb}.hover\\:bg-azure-500:hover{background-color:#1ab5e6}.hover\\:bg-azure-500:hover\\/20{background-color:#1ab5e633}.hover\\:bg-azure-500:hover\\/40{background-color:#1ab5e666}.hover\\:bg-azure-500:hover\\/70{background-color:#1ab5e6b3}.hover\\:bg-azure-700:hover{background-color:#0093c9}.hover\\:bg-gold-50:hover{background-color:#faf3e6}.hover\\:bg-gold-100:hover{background-color:#efdcb4}.hover\\:bg-gold-200:hover{background-color:#e4c481}.hover\\:bg-gold-300:hover{background-color:#daad4f}.hover\\:bg-gold-500:hover{background-color:#cf961d}.hover\\:bg-gold-500:hover\\/20{background-color:#cf961d33}.hover\\:bg-gold-500:hover\\/40{background-color:#cf961d66}.hover\\:bg-gold-500:hover\\/70{background-color:#cf961db3}.hover\\:bg-gold-700:hover{background-color:#b07000}.hover\\:bg-brown-50:hover{background-color:#f1ede9}.hover\\:bg-brown-100:hover{background-color:#d6c9bd}.hover\\:bg-brown-200:hover{background-color:#bca691}.hover\\:bg-brown-300:hover{background-color:#a08266}.hover\\:bg-brown-500:hover{background-color:#865e3a}.hover\\:bg-brown-500:hover\\/20{background-color:#865e3a33}.hover\\:bg-brown-500:hover\\/40{background-color:#865e3a66}.hover\\:bg-brown-500:hover\\/70{background-color:#865e3ab3}.hover\\:bg-brown-700:hover{background-color:#5f330a}.hover\\:bg-navy-50:hover{background-color:#e7e7fa}.hover\\:bg-navy-100:hover{background-color:#b7b6f1}.hover\\:bg-navy-200:hover{background-color:#8785e8}.hover\\:bg-navy-300:hover{background-color:#5755df}.hover\\:bg-navy-500:hover{background-color:#2724d6}.hover\\:bg-navy-500:hover\\/20{background-color:#2724d633}.hover\\:bg-navy-500:hover\\/40{background-color:#2724d666}.hover\\:bg-navy-500:hover\\/70{background-color:#2724d6b3}.hover\\:bg-navy-700:hover{background-color:#0000b8}.hover\\:bg-lime-50:hover{background-color:#ecf6e7}.hover\\:bg-lime-100:hover{background-color:#c5e3b6}.hover\\:bg-lime-200:hover{background-color:#9ed186}.hover\\:bg-lime-300:hover{background-color:#77bf56}.hover\\:bg-lime-500:hover{background-color:#50ac25}.hover\\:bg-lime-500:hover\\/20{background-color:#50ac2533}.hover\\:bg-lime-500:hover\\/40{background-color:#50ac2566}.hover\\:bg-lime-500:hover\\/70{background-color:#50ac25b3}.hover\\:bg-lime-700:hover{background-color:#238900}.hover\\:bg-magenta-50:hover{background-color:#fbe9f1}.hover\\:bg-magenta-100:hover{background-color:#f4bed6}.hover\\:bg-magenta-200:hover{background-color:#ed93bb}.hover\\:bg-magenta-300:hover{background-color:#e668a0}.hover\\:bg-magenta-500:hover{background-color:#df3d85}.hover\\:bg-magenta-500:hover\\/20{background-color:#df3d8533}.hover\\:bg-magenta-500:hover\\/40{background-color:#df3d8566}.hover\\:bg-magenta-500:hover\\/70{background-color:#df3d85b3}.hover\\:bg-magenta-700:hover{background-color:#c10d5d}.focus\\:text-white-50:focus-visible{color:#fff}.focus\\:text-white-100:focus-visible{color:#f7f7f7}.focus\\:text-white-200:focus-visible{color:#eee}.focus\\:text-white-300:focus-visible{color:#e5e5e5}.focus\\:text-white-500:focus-visible{color:#dadada}.focus\\:text-white-500:focus-visible\\/20{color:#dadada33}.focus\\:text-white-500:focus-visible\\/40{color:#dadada66}.focus\\:text-white-500:focus-visible\\/70{color:#dadadab3}.focus\\:text-white-700:focus-visible{color:#ccc}.focus\\:text-black-50:focus-visible{color:#aaa}.focus\\:text-black-100:focus-visible{color:#919191}.focus\\:text-black-200:focus-visible{color:#6c6c6c}.focus\\:text-black-300:focus-visible{color:#424242}.focus\\:text-black-500:focus-visible{color:#2f2f2f}.focus\\:text-black-500:focus-visible\\/20{color:#2f2f2f33}.focus\\:text-black-500:focus-visible\\/40{color:#2f2f2f66}.focus\\:text-black-500:focus-visible\\/70{color:#2f2f2fb3}.focus\\:text-black-700:focus-visible{color:#1d1d1d}.focus\\:text-blue-50:focus-visible{color:#e9effd}.focus\\:text-blue-100:focus-visible{color:#bed0f9}.focus\\:text-blue-200:focus-visible{color:#92b1f5}.focus\\:text-blue-300:focus-visible{color:#6692f1}.focus\\:text-blue-500:focus-visible{color:#3b73ed}.focus\\:text-blue-500:focus-visible\\/20{color:#3b73ed33}.focus\\:text-blue-500:focus-visible\\/40{color:#3b73ed66}.focus\\:text-blue-500:focus-visible\\/70{color:#3b73edb3}.focus\\:text-blue-700:focus-visible{color:#0b49d1}.focus\\:text-blue-900:focus-visible{color:#00179e}.focus\\:text-red-50:focus-visible{color:#fbe9e9}.focus\\:text-red-100:focus-visible{color:#f4bebe}.focus\\:text-red-200:focus-visible{color:#ed9292}.focus\\:text-red-300:focus-visible{color:#e66767}.focus\\:text-red-500:focus-visible{color:#df3c3c}.focus\\:text-red-500:focus-visible\\/20{color:#df3c3c33}.focus\\:text-red-500:focus-visible\\/40{color:#df3c3c66}.focus\\:text-red-500:focus-visible\\/70{color:#df3c3cb3}.focus\\:text-red-700:focus-visible{color:#c20c0c}.focus\\:text-green-50:focus-visible{color:#e7f4f3}.focus\\:text-green-100:focus-visible{color:#b6dfdb}.focus\\:text-green-200:focus-visible{color:#86c9c3}.focus\\:text-green-300:focus-visible{color:#56b4ac}.focus\\:text-green-500:focus-visible{color:#259f94}.focus\\:text-green-500:focus-visible\\/20{color:#259f9433}.focus\\:text-green-500:focus-visible\\/40{color:#259f9466}.focus\\:text-green-500:focus-visible\\/70{color:#259f94b3}.focus\\:text-green-700:focus-visible{color:#007a6e}.focus\\:text-yellow-50:focus-visible{color:#fef4e8}.focus\\:text-yellow-100:focus-visible{color:#fddeb9}.focus\\:text-yellow-200:focus-visible{color:#fbc88b}.focus\\:text-yellow-300:focus-visible{color:#fab15c}.focus\\:text-yellow-500:focus-visible{color:#f89b2e}.focus\\:text-yellow-500:focus-visible\\/20{color:#f89b2e33}.focus\\:text-yellow-500:focus-visible\\/40{color:#f89b2e66}.focus\\:text-yellow-500:focus-visible\\/70{color:#f89b2eb3}.focus\\:text-yellow-700:focus-visible{color:#de7700}.focus\\:text-purple-50:focus-visible{color:#f4ebfd}.focus\\:text-purple-100:focus-visible{color:#dfc2f9}.focus\\:text-purple-200:focus-visible{color:#c999f4}.focus\\:text-purple-300:focus-visible{color:#b370f0}.focus\\:text-purple-500:focus-visible{color:#9e47ec}.focus\\:text-purple-500:focus-visible\\/20{color:#9e47ec33}.focus\\:text-purple-500:focus-visible\\/40{color:#9e47ec66}.focus\\:text-purple-500:focus-visible\\/70{color:#9e47ecb3}.focus\\:text-purple-700:focus-visible{color:#7919d0}.focus\\:text-orange-50:focus-visible{color:#ffefea}.focus\\:text-orange-100:focus-visible{color:#ffcfc0}.focus\\:text-orange-200:focus-visible{color:#ffb097}.focus\\:text-orange-300:focus-visible{color:#ff906d}.focus\\:text-orange-500:focus-visible{color:#ff7043}.focus\\:text-orange-500:focus-visible\\/20{color:#ff704333}.focus\\:text-orange-500:focus-visible\\/40{color:#ff704366}.focus\\:text-orange-500:focus-visible\\/70{color:#ff7043b3}.focus\\:text-orange-700:focus-visible{color:#e54715}.focus\\:text-azure-50:focus-visible{color:#e5f7fc}.focus\\:text-azure-100:focus-visible{color:#b2e6f7}.focus\\:text-azure-200:focus-visible{color:#80d6f1}.focus\\:text-azure-300:focus-visible{color:#4dc5eb}.focus\\:text-azure-500:focus-visible{color:#1ab5e6}.focus\\:text-azure-500:focus-visible\\/20{color:#1ab5e633}.focus\\:text-azure-500:focus-visible\\/40{color:#1ab5e666}.focus\\:text-azure-500:focus-visible\\/70{color:#1ab5e6b3}.focus\\:text-azure-700:focus-visible{color:#0093c9}.focus\\:text-gold-50:focus-visible{color:#faf3e6}.focus\\:text-gold-100:focus-visible{color:#efdcb4}.focus\\:text-gold-200:focus-visible{color:#e4c481}.focus\\:text-gold-300:focus-visible{color:#daad4f}.focus\\:text-gold-500:focus-visible{color:#cf961d}.focus\\:text-gold-500:focus-visible\\/20{color:#cf961d33}.focus\\:text-gold-500:focus-visible\\/40{color:#cf961d66}.focus\\:text-gold-500:focus-visible\\/70{color:#cf961db3}.focus\\:text-gold-700:focus-visible{color:#b07000}.focus\\:text-brown-50:focus-visible{color:#f1ede9}.focus\\:text-brown-100:focus-visible{color:#d6c9bd}.focus\\:text-brown-200:focus-visible{color:#bca691}.focus\\:text-brown-300:focus-visible{color:#a08266}.focus\\:text-brown-500:focus-visible{color:#865e3a}.focus\\:text-brown-500:focus-visible\\/20{color:#865e3a33}.focus\\:text-brown-500:focus-visible\\/40{color:#865e3a66}.focus\\:text-brown-500:focus-visible\\/70{color:#865e3ab3}.focus\\:text-brown-700:focus-visible{color:#5f330a}.focus\\:text-navy-50:focus-visible{color:#e7e7fa}.focus\\:text-navy-100:focus-visible{color:#b7b6f1}.focus\\:text-navy-200:focus-visible{color:#8785e8}.focus\\:text-navy-300:focus-visible{color:#5755df}.focus\\:text-navy-500:focus-visible{color:#2724d6}.focus\\:text-navy-500:focus-visible\\/20{color:#2724d633}.focus\\:text-navy-500:focus-visible\\/40{color:#2724d666}.focus\\:text-navy-500:focus-visible\\/70{color:#2724d6b3}.focus\\:text-navy-700:focus-visible{color:#0000b8}.focus\\:text-lime-50:focus-visible{color:#ecf6e7}.focus\\:text-lime-100:focus-visible{color:#c5e3b6}.focus\\:text-lime-200:focus-visible{color:#9ed186}.focus\\:text-lime-300:focus-visible{color:#77bf56}.focus\\:text-lime-500:focus-visible{color:#50ac25}.focus\\:text-lime-500:focus-visible\\/20{color:#50ac2533}.focus\\:text-lime-500:focus-visible\\/40{color:#50ac2566}.focus\\:text-lime-500:focus-visible\\/70{color:#50ac25b3}.focus\\:text-lime-700:focus-visible{color:#238900}.focus\\:text-magenta-50:focus-visible{color:#fbe9f1}.focus\\:text-magenta-100:focus-visible{color:#f4bed6}.focus\\:text-magenta-200:focus-visible{color:#ed93bb}.focus\\:text-magenta-300:focus-visible{color:#e668a0}.focus\\:text-magenta-500:focus-visible{color:#df3d85}.focus\\:text-magenta-500:focus-visible\\/20{color:#df3d8533}.focus\\:text-magenta-500:focus-visible\\/40{color:#df3d8566}.focus\\:text-magenta-500:focus-visible\\/70{color:#df3d85b3}.focus\\:text-magenta-700:focus-visible{color:#c10d5d}.focus\\:bg-white-50:focus-visible{background-color:#fff}.focus\\:bg-white-100:focus-visible{background-color:#f7f7f7}.focus\\:bg-white-200:focus-visible{background-color:#eee}.focus\\:bg-white-300:focus-visible{background-color:#e5e5e5}.focus\\:bg-white-500:focus-visible{background-color:#dadada}.focus\\:bg-white-500:focus-visible\\/20{background-color:#dadada33}.focus\\:bg-white-500:focus-visible\\/40{background-color:#dadada66}.focus\\:bg-white-500:focus-visible\\/70{background-color:#dadadab3}.focus\\:bg-white-700:focus-visible{background-color:#ccc}.focus\\:bg-black-50:focus-visible{background-color:#aaa}.focus\\:bg-black-100:focus-visible{background-color:#919191}.focus\\:bg-black-200:focus-visible{background-color:#6c6c6c}.focus\\:bg-black-300:focus-visible{background-color:#424242}.focus\\:bg-black-500:focus-visible{background-color:#2f2f2f}.focus\\:bg-black-500:focus-visible\\/20{background-color:#2f2f2f33}.focus\\:bg-black-500:focus-visible\\/40{background-color:#2f2f2f66}.focus\\:bg-black-500:focus-visible\\/70{background-color:#2f2f2fb3}.focus\\:bg-black-700:focus-visible{background-color:#1d1d1d}.focus\\:bg-blue-50:focus-visible{background-color:#e9effd}.focus\\:bg-blue-100:focus-visible{background-color:#bed0f9}.focus\\:bg-blue-200:focus-visible{background-color:#92b1f5}.focus\\:bg-blue-300:focus-visible{background-color:#6692f1}.focus\\:bg-blue-500:focus-visible{background-color:#3b73ed}.focus\\:bg-blue-500:focus-visible\\/20{background-color:#3b73ed33}.focus\\:bg-blue-500:focus-visible\\/40{background-color:#3b73ed66}.focus\\:bg-blue-500:focus-visible\\/70{background-color:#3b73edb3}.focus\\:bg-blue-700:focus-visible{background-color:#0b49d1}.focus\\:bg-blue-900:focus-visible{background-color:#00179e}.focus\\:bg-red-50:focus-visible{background-color:#fbe9e9}.focus\\:bg-red-100:focus-visible{background-color:#f4bebe}.focus\\:bg-red-200:focus-visible{background-color:#ed9292}.focus\\:bg-red-300:focus-visible{background-color:#e66767}.focus\\:bg-red-500:focus-visible{background-color:#df3c3c}.focus\\:bg-red-500:focus-visible\\/20{background-color:#df3c3c33}.focus\\:bg-red-500:focus-visible\\/40{background-color:#df3c3c66}.focus\\:bg-red-500:focus-visible\\/70{background-color:#df3c3cb3}.focus\\:bg-red-700:focus-visible{background-color:#c20c0c}.focus\\:bg-green-50:focus-visible{background-color:#e7f4f3}.focus\\:bg-green-100:focus-visible{background-color:#b6dfdb}.focus\\:bg-green-200:focus-visible{background-color:#86c9c3}.focus\\:bg-green-300:focus-visible{background-color:#56b4ac}.focus\\:bg-green-500:focus-visible{background-color:#259f94}.focus\\:bg-green-500:focus-visible\\/20{background-color:#259f9433}.focus\\:bg-green-500:focus-visible\\/40{background-color:#259f9466}.focus\\:bg-green-500:focus-visible\\/70{background-color:#259f94b3}.focus\\:bg-green-700:focus-visible{background-color:#007a6e}.focus\\:bg-yellow-50:focus-visible{background-color:#fef4e8}.focus\\:bg-yellow-100:focus-visible{background-color:#fddeb9}.focus\\:bg-yellow-200:focus-visible{background-color:#fbc88b}.focus\\:bg-yellow-300:focus-visible{background-color:#fab15c}.focus\\:bg-yellow-500:focus-visible{background-color:#f89b2e}.focus\\:bg-yellow-500:focus-visible\\/20{background-color:#f89b2e33}.focus\\:bg-yellow-500:focus-visible\\/40{background-color:#f89b2e66}.focus\\:bg-yellow-500:focus-visible\\/70{background-color:#f89b2eb3}.focus\\:bg-yellow-700:focus-visible{background-color:#de7700}.focus\\:bg-purple-50:focus-visible{background-color:#f4ebfd}.focus\\:bg-purple-100:focus-visible{background-color:#dfc2f9}.focus\\:bg-purple-200:focus-visible{background-color:#c999f4}.focus\\:bg-purple-300:focus-visible{background-color:#b370f0}.focus\\:bg-purple-500:focus-visible{background-color:#9e47ec}.focus\\:bg-purple-500:focus-visible\\/20{background-color:#9e47ec33}.focus\\:bg-purple-500:focus-visible\\/40{background-color:#9e47ec66}.focus\\:bg-purple-500:focus-visible\\/70{background-color:#9e47ecb3}.focus\\:bg-purple-700:focus-visible{background-color:#7919d0}.focus\\:bg-orange-50:focus-visible{background-color:#ffefea}.focus\\:bg-orange-100:focus-visible{background-color:#ffcfc0}.focus\\:bg-orange-200:focus-visible{background-color:#ffb097}.focus\\:bg-orange-300:focus-visible{background-color:#ff906d}.focus\\:bg-orange-500:focus-visible{background-color:#ff7043}.focus\\:bg-orange-500:focus-visible\\/20{background-color:#ff704333}.focus\\:bg-orange-500:focus-visible\\/40{background-color:#ff704366}.focus\\:bg-orange-500:focus-visible\\/70{background-color:#ff7043b3}.focus\\:bg-orange-700:focus-visible{background-color:#e54715}.focus\\:bg-azure-50:focus-visible{background-color:#e5f7fc}.focus\\:bg-azure-100:focus-visible{background-color:#b2e6f7}.focus\\:bg-azure-200:focus-visible{background-color:#80d6f1}.focus\\:bg-azure-300:focus-visible{background-color:#4dc5eb}.focus\\:bg-azure-500:focus-visible{background-color:#1ab5e6}.focus\\:bg-azure-500:focus-visible\\/20{background-color:#1ab5e633}.focus\\:bg-azure-500:focus-visible\\/40{background-color:#1ab5e666}.focus\\:bg-azure-500:focus-visible\\/70{background-color:#1ab5e6b3}.focus\\:bg-azure-700:focus-visible{background-color:#0093c9}.focus\\:bg-gold-50:focus-visible{background-color:#faf3e6}.focus\\:bg-gold-100:focus-visible{background-color:#efdcb4}.focus\\:bg-gold-200:focus-visible{background-color:#e4c481}.focus\\:bg-gold-300:focus-visible{background-color:#daad4f}.focus\\:bg-gold-500:focus-visible{background-color:#cf961d}.focus\\:bg-gold-500:focus-visible\\/20{background-color:#cf961d33}.focus\\:bg-gold-500:focus-visible\\/40{background-color:#cf961d66}.focus\\:bg-gold-500:focus-visible\\/70{background-color:#cf961db3}.focus\\:bg-gold-700:focus-visible{background-color:#b07000}.focus\\:bg-brown-50:focus-visible{background-color:#f1ede9}.focus\\:bg-brown-100:focus-visible{background-color:#d6c9bd}.focus\\:bg-brown-200:focus-visible{background-color:#bca691}.focus\\:bg-brown-300:focus-visible{background-color:#a08266}.focus\\:bg-brown-500:focus-visible{background-color:#865e3a}.focus\\:bg-brown-500:focus-visible\\/20{background-color:#865e3a33}.focus\\:bg-brown-500:focus-visible\\/40{background-color:#865e3a66}.focus\\:bg-brown-500:focus-visible\\/70{background-color:#865e3ab3}.focus\\:bg-brown-700:focus-visible{background-color:#5f330a}.focus\\:bg-navy-50:focus-visible{background-color:#e7e7fa}.focus\\:bg-navy-100:focus-visible{background-color:#b7b6f1}.focus\\:bg-navy-200:focus-visible{background-color:#8785e8}.focus\\:bg-navy-300:focus-visible{background-color:#5755df}.focus\\:bg-navy-500:focus-visible{background-color:#2724d6}.focus\\:bg-navy-500:focus-visible\\/20{background-color:#2724d633}.focus\\:bg-navy-500:focus-visible\\/40{background-color:#2724d666}.focus\\:bg-navy-500:focus-visible\\/70{background-color:#2724d6b3}.focus\\:bg-navy-700:focus-visible{background-color:#0000b8}.focus\\:bg-lime-50:focus-visible{background-color:#ecf6e7}.focus\\:bg-lime-100:focus-visible{background-color:#c5e3b6}.focus\\:bg-lime-200:focus-visible{background-color:#9ed186}.focus\\:bg-lime-300:focus-visible{background-color:#77bf56}.focus\\:bg-lime-500:focus-visible{background-color:#50ac25}.focus\\:bg-lime-500:focus-visible\\/20{background-color:#50ac2533}.focus\\:bg-lime-500:focus-visible\\/40{background-color:#50ac2566}.focus\\:bg-lime-500:focus-visible\\/70{background-color:#50ac25b3}.focus\\:bg-lime-700:focus-visible{background-color:#238900}.focus\\:bg-magenta-50:focus-visible{background-color:#fbe9f1}.focus\\:bg-magenta-100:focus-visible{background-color:#f4bed6}.focus\\:bg-magenta-200:focus-visible{background-color:#ed93bb}.focus\\:bg-magenta-300:focus-visible{background-color:#e668a0}.focus\\:bg-magenta-500:focus-visible{background-color:#df3d85}.focus\\:bg-magenta-500:focus-visible\\/20{background-color:#df3d8533}.focus\\:bg-magenta-500:focus-visible\\/40{background-color:#df3d8566}.focus\\:bg-magenta-500:focus-visible\\/70{background-color:#df3d85b3}.focus\\:bg-magenta-700:focus-visible{background-color:#c10d5d}.active\\:text-white-50:active{color:#fff}.active\\:text-white-100:active{color:#f7f7f7}.active\\:text-white-200:active{color:#eee}.active\\:text-white-300:active{color:#e5e5e5}.active\\:text-white-500:active{color:#dadada}.active\\:text-white-500:active\\/20{color:#dadada33}.active\\:text-white-500:active\\/40{color:#dadada66}.active\\:text-white-500:active\\/70{color:#dadadab3}.active\\:text-white-700:active{color:#ccc}.active\\:text-black-50:active{color:#aaa}.active\\:text-black-100:active{color:#919191}.active\\:text-black-200:active{color:#6c6c6c}.active\\:text-black-300:active{color:#424242}.active\\:text-black-500:active{color:#2f2f2f}.active\\:text-black-500:active\\/20{color:#2f2f2f33}.active\\:text-black-500:active\\/40{color:#2f2f2f66}.active\\:text-black-500:active\\/70{color:#2f2f2fb3}.active\\:text-black-700:active{color:#1d1d1d}.active\\:text-blue-50:active{color:#e9effd}.active\\:text-blue-100:active{color:#bed0f9}.active\\:text-blue-200:active{color:#92b1f5}.active\\:text-blue-300:active{color:#6692f1}.active\\:text-blue-500:active{color:#3b73ed}.active\\:text-blue-500:active\\/20{color:#3b73ed33}.active\\:text-blue-500:active\\/40{color:#3b73ed66}.active\\:text-blue-500:active\\/70{color:#3b73edb3}.active\\:text-blue-700:active{color:#0b49d1}.active\\:text-blue-900:active{color:#00179e}.active\\:text-red-50:active{color:#fbe9e9}.active\\:text-red-100:active{color:#f4bebe}.active\\:text-red-200:active{color:#ed9292}.active\\:text-red-300:active{color:#e66767}.active\\:text-red-500:active{color:#df3c3c}.active\\:text-red-500:active\\/20{color:#df3c3c33}.active\\:text-red-500:active\\/40{color:#df3c3c66}.active\\:text-red-500:active\\/70{color:#df3c3cb3}.active\\:text-red-700:active{color:#c20c0c}.active\\:text-green-50:active{color:#e7f4f3}.active\\:text-green-100:active{color:#b6dfdb}.active\\:text-green-200:active{color:#86c9c3}.active\\:text-green-300:active{color:#56b4ac}.active\\:text-green-500:active{color:#259f94}.active\\:text-green-500:active\\/20{color:#259f9433}.active\\:text-green-500:active\\/40{color:#259f9466}.active\\:text-green-500:active\\/70{color:#259f94b3}.active\\:text-green-700:active{color:#007a6e}.active\\:text-yellow-50:active{color:#fef4e8}.active\\:text-yellow-100:active{color:#fddeb9}.active\\:text-yellow-200:active{color:#fbc88b}.active\\:text-yellow-300:active{color:#fab15c}.active\\:text-yellow-500:active{color:#f89b2e}.active\\:text-yellow-500:active\\/20{color:#f89b2e33}.active\\:text-yellow-500:active\\/40{color:#f89b2e66}.active\\:text-yellow-500:active\\/70{color:#f89b2eb3}.active\\:text-yellow-700:active{color:#de7700}.active\\:text-purple-50:active{color:#f4ebfd}.active\\:text-purple-100:active{color:#dfc2f9}.active\\:text-purple-200:active{color:#c999f4}.active\\:text-purple-300:active{color:#b370f0}.active\\:text-purple-500:active{color:#9e47ec}.active\\:text-purple-500:active\\/20{color:#9e47ec33}.active\\:text-purple-500:active\\/40{color:#9e47ec66}.active\\:text-purple-500:active\\/70{color:#9e47ecb3}.active\\:text-purple-700:active{color:#7919d0}.active\\:text-orange-50:active{color:#ffefea}.active\\:text-orange-100:active{color:#ffcfc0}.active\\:text-orange-200:active{color:#ffb097}.active\\:text-orange-300:active{color:#ff906d}.active\\:text-orange-500:active{color:#ff7043}.active\\:text-orange-500:active\\/20{color:#ff704333}.active\\:text-orange-500:active\\/40{color:#ff704366}.active\\:text-orange-500:active\\/70{color:#ff7043b3}.active\\:text-orange-700:active{color:#e54715}.active\\:text-azure-50:active{color:#e5f7fc}.active\\:text-azure-100:active{color:#b2e6f7}.active\\:text-azure-200:active{color:#80d6f1}.active\\:text-azure-300:active{color:#4dc5eb}.active\\:text-azure-500:active{color:#1ab5e6}.active\\:text-azure-500:active\\/20{color:#1ab5e633}.active\\:text-azure-500:active\\/40{color:#1ab5e666}.active\\:text-azure-500:active\\/70{color:#1ab5e6b3}.active\\:text-azure-700:active{color:#0093c9}.active\\:text-gold-50:active{color:#faf3e6}.active\\:text-gold-100:active{color:#efdcb4}.active\\:text-gold-200:active{color:#e4c481}.active\\:text-gold-300:active{color:#daad4f}.active\\:text-gold-500:active{color:#cf961d}.active\\:text-gold-500:active\\/20{color:#cf961d33}.active\\:text-gold-500:active\\/40{color:#cf961d66}.active\\:text-gold-500:active\\/70{color:#cf961db3}.active\\:text-gold-700:active{color:#b07000}.active\\:text-brown-50:active{color:#f1ede9}.active\\:text-brown-100:active{color:#d6c9bd}.active\\:text-brown-200:active{color:#bca691}.active\\:text-brown-300:active{color:#a08266}.active\\:text-brown-500:active{color:#865e3a}.active\\:text-brown-500:active\\/20{color:#865e3a33}.active\\:text-brown-500:active\\/40{color:#865e3a66}.active\\:text-brown-500:active\\/70{color:#865e3ab3}.active\\:text-brown-700:active{color:#5f330a}.active\\:text-navy-50:active{color:#e7e7fa}.active\\:text-navy-100:active{color:#b7b6f1}.active\\:text-navy-200:active{color:#8785e8}.active\\:text-navy-300:active{color:#5755df}.active\\:text-navy-500:active{color:#2724d6}.active\\:text-navy-500:active\\/20{color:#2724d633}.active\\:text-navy-500:active\\/40{color:#2724d666}.active\\:text-navy-500:active\\/70{color:#2724d6b3}.active\\:text-navy-700:active{color:#0000b8}.active\\:text-lime-50:active{color:#ecf6e7}.active\\:text-lime-100:active{color:#c5e3b6}.active\\:text-lime-200:active{color:#9ed186}.active\\:text-lime-300:active{color:#77bf56}.active\\:text-lime-500:active{color:#50ac25}.active\\:text-lime-500:active\\/20{color:#50ac2533}.active\\:text-lime-500:active\\/40{color:#50ac2566}.active\\:text-lime-500:active\\/70{color:#50ac25b3}.active\\:text-lime-700:active{color:#238900}.active\\:text-magenta-50:active{color:#fbe9f1}.active\\:text-magenta-100:active{color:#f4bed6}.active\\:text-magenta-200:active{color:#ed93bb}.active\\:text-magenta-300:active{color:#e668a0}.active\\:text-magenta-500:active{color:#df3d85}.active\\:text-magenta-500:active\\/20{color:#df3d8533}.active\\:text-magenta-500:active\\/40{color:#df3d8566}.active\\:text-magenta-500:active\\/70{color:#df3d85b3}.active\\:text-magenta-700:active{color:#c10d5d}.active\\:bg-white-50:active{background-color:#fff}.active\\:bg-white-100:active{background-color:#f7f7f7}.active\\:bg-white-200:active{background-color:#eee}.active\\:bg-white-300:active{background-color:#e5e5e5}.active\\:bg-white-500:active{background-color:#dadada}.active\\:bg-white-500:active\\/20{background-color:#dadada33}.active\\:bg-white-500:active\\/40{background-color:#dadada66}.active\\:bg-white-500:active\\/70{background-color:#dadadab3}.active\\:bg-white-700:active{background-color:#ccc}.active\\:bg-black-50:active{background-color:#aaa}.active\\:bg-black-100:active{background-color:#919191}.active\\:bg-black-200:active{background-color:#6c6c6c}.active\\:bg-black-300:active{background-color:#424242}.active\\:bg-black-500:active{background-color:#2f2f2f}.active\\:bg-black-500:active\\/20{background-color:#2f2f2f33}.active\\:bg-black-500:active\\/40{background-color:#2f2f2f66}.active\\:bg-black-500:active\\/70{background-color:#2f2f2fb3}.active\\:bg-black-700:active{background-color:#1d1d1d}.active\\:bg-blue-50:active{background-color:#e9effd}.active\\:bg-blue-100:active{background-color:#bed0f9}.active\\:bg-blue-200:active{background-color:#92b1f5}.active\\:bg-blue-300:active{background-color:#6692f1}.active\\:bg-blue-500:active{background-color:#3b73ed}.active\\:bg-blue-500:active\\/20{background-color:#3b73ed33}.active\\:bg-blue-500:active\\/40{background-color:#3b73ed66}.active\\:bg-blue-500:active\\/70{background-color:#3b73edb3}.active\\:bg-blue-700:active{background-color:#0b49d1}.active\\:bg-blue-900:active{background-color:#00179e}.active\\:bg-red-50:active{background-color:#fbe9e9}.active\\:bg-red-100:active{background-color:#f4bebe}.active\\:bg-red-200:active{background-color:#ed9292}.active\\:bg-red-300:active{background-color:#e66767}.active\\:bg-red-500:active{background-color:#df3c3c}.active\\:bg-red-500:active\\/20{background-color:#df3c3c33}.active\\:bg-red-500:active\\/40{background-color:#df3c3c66}.active\\:bg-red-500:active\\/70{background-color:#df3c3cb3}.active\\:bg-red-700:active{background-color:#c20c0c}.active\\:bg-green-50:active{background-color:#e7f4f3}.active\\:bg-green-100:active{background-color:#b6dfdb}.active\\:bg-green-200:active{background-color:#86c9c3}.active\\:bg-green-300:active{background-color:#56b4ac}.active\\:bg-green-500:active{background-color:#259f94}.active\\:bg-green-500:active\\/20{background-color:#259f9433}.active\\:bg-green-500:active\\/40{background-color:#259f9466}.active\\:bg-green-500:active\\/70{background-color:#259f94b3}.active\\:bg-green-700:active{background-color:#007a6e}.active\\:bg-yellow-50:active{background-color:#fef4e8}.active\\:bg-yellow-100:active{background-color:#fddeb9}.active\\:bg-yellow-200:active{background-color:#fbc88b}.active\\:bg-yellow-300:active{background-color:#fab15c}.active\\:bg-yellow-500:active{background-color:#f89b2e}.active\\:bg-yellow-500:active\\/20{background-color:#f89b2e33}.active\\:bg-yellow-500:active\\/40{background-color:#f89b2e66}.active\\:bg-yellow-500:active\\/70{background-color:#f89b2eb3}.active\\:bg-yellow-700:active{background-color:#de7700}.active\\:bg-purple-50:active{background-color:#f4ebfd}.active\\:bg-purple-100:active{background-color:#dfc2f9}.active\\:bg-purple-200:active{background-color:#c999f4}.active\\:bg-purple-300:active{background-color:#b370f0}.active\\:bg-purple-500:active{background-color:#9e47ec}.active\\:bg-purple-500:active\\/20{background-color:#9e47ec33}.active\\:bg-purple-500:active\\/40{background-color:#9e47ec66}.active\\:bg-purple-500:active\\/70{background-color:#9e47ecb3}.active\\:bg-purple-700:active{background-color:#7919d0}.active\\:bg-orange-50:active{background-color:#ffefea}.active\\:bg-orange-100:active{background-color:#ffcfc0}.active\\:bg-orange-200:active{background-color:#ffb097}.active\\:bg-orange-300:active{background-color:#ff906d}.active\\:bg-orange-500:active{background-color:#ff7043}.active\\:bg-orange-500:active\\/20{background-color:#ff704333}.active\\:bg-orange-500:active\\/40{background-color:#ff704366}.active\\:bg-orange-500:active\\/70{background-color:#ff7043b3}.active\\:bg-orange-700:active{background-color:#e54715}.active\\:bg-azure-50:active{background-color:#e5f7fc}.active\\:bg-azure-100:active{background-color:#b2e6f7}.active\\:bg-azure-200:active{background-color:#80d6f1}.active\\:bg-azure-300:active{background-color:#4dc5eb}.active\\:bg-azure-500:active{background-color:#1ab5e6}.active\\:bg-azure-500:active\\/20{background-color:#1ab5e633}.active\\:bg-azure-500:active\\/40{background-color:#1ab5e666}.active\\:bg-azure-500:active\\/70{background-color:#1ab5e6b3}.active\\:bg-azure-700:active{background-color:#0093c9}.active\\:bg-gold-50:active{background-color:#faf3e6}.active\\:bg-gold-100:active{background-color:#efdcb4}.active\\:bg-gold-200:active{background-color:#e4c481}.active\\:bg-gold-300:active{background-color:#daad4f}.active\\:bg-gold-500:active{background-color:#cf961d}.active\\:bg-gold-500:active\\/20{background-color:#cf961d33}.active\\:bg-gold-500:active\\/40{background-color:#cf961d66}.active\\:bg-gold-500:active\\/70{background-color:#cf961db3}.active\\:bg-gold-700:active{background-color:#b07000}.active\\:bg-brown-50:active{background-color:#f1ede9}.active\\:bg-brown-100:active{background-color:#d6c9bd}.active\\:bg-brown-200:active{background-color:#bca691}.active\\:bg-brown-300:active{background-color:#a08266}.active\\:bg-brown-500:active{background-color:#865e3a}.active\\:bg-brown-500:active\\/20{background-color:#865e3a33}.active\\:bg-brown-500:active\\/40{background-color:#865e3a66}.active\\:bg-brown-500:active\\/70{background-color:#865e3ab3}.active\\:bg-brown-700:active{background-color:#5f330a}.active\\:bg-navy-50:active{background-color:#e7e7fa}.active\\:bg-navy-100:active{background-color:#b7b6f1}.active\\:bg-navy-200:active{background-color:#8785e8}.active\\:bg-navy-300:active{background-color:#5755df}.active\\:bg-navy-500:active{background-color:#2724d6}.active\\:bg-navy-500:active\\/20{background-color:#2724d633}.active\\:bg-navy-500:active\\/40{background-color:#2724d666}.active\\:bg-navy-500:active\\/70{background-color:#2724d6b3}.active\\:bg-navy-700:active{background-color:#0000b8}.active\\:bg-lime-50:active{background-color:#ecf6e7}.active\\:bg-lime-100:active{background-color:#c5e3b6}.active\\:bg-lime-200:active{background-color:#9ed186}.active\\:bg-lime-300:active{background-color:#77bf56}.active\\:bg-lime-500:active{background-color:#50ac25}.active\\:bg-lime-500:active\\/20{background-color:#50ac2533}.active\\:bg-lime-500:active\\/40{background-color:#50ac2566}.active\\:bg-lime-500:active\\/70{background-color:#50ac25b3}.active\\:bg-lime-700:active{background-color:#238900}.active\\:bg-magenta-50:active{background-color:#fbe9f1}.active\\:bg-magenta-100:active{background-color:#f4bed6}.active\\:bg-magenta-200:active{background-color:#ed93bb}.active\\:bg-magenta-300:active{background-color:#e668a0}.active\\:bg-magenta-500:active{background-color:#df3d85}.active\\:bg-magenta-500:active\\/20{background-color:#df3d8533}.active\\:bg-magenta-500:active\\/40{background-color:#df3d8566}.active\\:bg-magenta-500:active\\/70{background-color:#df3d85b3}.active\\:bg-magenta-700:active{background-color:#c10d5d}.transition{transition:all .2s ease-in-out}.disable-selection,.logo-container .logo-image,.cover-container .cover-image,.profile-rounded-image,.profile-square-image{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none}.drop-zone-container.has-logo{display:none}.largeContainer{position:relative;min-height:178px}.largeContainer .cropper-overlay{width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:1050;gap:4px;opacity:1;position:absolute}.largeContainer .cropper-overlay .img-cropper{height:178px!important}.largeContainer.hasCropper{min-height:212px;position:relative}.logo-container{position:absolute;top:0;left:0;width:616px;height:214px;overflow:hidden}.logo-container .logo-image{width:100%;height:100%;z-index:1000}.logoVar{height:214px}.logoVar.hasCropper{height:240px!important}.logoVar.hasCropper .drop-zone-container{display:none!important}.logoVar .drop-zone-container .drop-zone,.logoVar .drop-zone-container .drop-zone-error{height:204px}.logoVar .cropper-overlay{height:240px!important}.logoVar .cropper-overlay .img-cropper{height:206px!important}.cover-container{width:267px;height:178px}.cover-container .cover-image{width:100%;height:100%;object-fit:cover;display:block}.profile-rounded-image{width:178px;height:178px;object-fit:cover;display:block;border-radius:50%}.profile-square-image{width:160px;height:178px;object-fit:cover;display:block;border-radius:2px}.container.dragMode{position:fixed;position-anchor:--modal-body;left:anchor(left);top:anchor(top);height:anchor-size(--modal-body height)!important;width:anchor-size(--modal-body width)!important;display:flex;justify-content:center;align-items:center;gap:0;background-color:#fff!important}.container.dragMode .avatar,.container.dragMode .profile-container,.container.dragMode .logo-container,.container.dragMode .cover-container,.container.dragMode .docs{display:none}.container.dragMode .drop-zone-container{position:relative;width:100%;height:100%;flex:1 1 100%}.container.dragMode .drop-zone-container .drop-zone{flex-direction:column;height:100%;outline:none!important;margin:0!important;border:4px dashed #cccccc;border-color:#ccc}.container.dragMode .drop-zone-container .drop-zone .illustration,.container.dragMode .drop-zone-container .drop-zone svg{width:200px!important;height:200px!important;pointer-events:none!important}.container.dragMode .drop-zone-container .drop-zone .drag-icons-container{position:relative}.container.dragMode .drop-zone-container .drop-zone .drag-icons-container .drag-icon-document{width:80px!important;height:80px!important}.container.dragMode .drop-zone-container .drop-zone .drag-icons-container .drag-icon-document svg{width:80px!important;height:80px!important}.container.dragMode .drop-zone-container .drop-zone .drag-icons-container ng-lottie{width:200px;height:200px;display:block}.container.dragMode .drop-zone-container .drop-zone .drop-zone-focus-text{margin-top:32px}.container.dragMode .drop-zone-container .drop-zone .drop-zone-focus-text .heading{font-weight:700;font-size:14px;line-height:18px}.container.dragMode:hover .drop-zone{background-color:#fff!important}.container.dragMode.onDragover .drop-zone-container .drop-zone{border-color:#ccc}.container.dragMode.dual-drop-mode .drop-zone-container{--dual-drop-border: 4px;--dual-drop-border-overlap: calc(var(--dual-drop-border) / 2);position:relative;display:block;overflow:hidden}.container.dragMode.dual-drop-mode .drop-zone-container .dual-drop-zone-panel{position:absolute;top:0;bottom:0;margin:0!important;width:calc(50% + var(--dual-drop-border-overlap));opacity:1;transition:width .25s ease,opacity .25s ease,z-index 0s}.container.dragMode.dual-drop-mode .drop-zone-container .dual-drop-zone-panel .dual-drop-zone-title{position:absolute;top:10px;left:8px;margin:0;font-weight:800;font-size:18px;line-height:100%;letter-spacing:0}.container.dragMode.dual-drop-mode .drop-zone-container .dual-drop-zone-left{left:0;z-index:1}.container.dragMode.dual-drop-mode .drop-zone-container .dual-drop-zone-right{right:0;left:auto;z-index:1}.container.dragMode.dual-drop-mode .drop-zone-container .dual-drop-zone-panel .drop-zone-focus-text{text-align:center}.container.dragMode.dual-drop-mode .drop-zone-container .dual-drop-zone-panel .drop-zone-focus-text .description{margin:8px auto 0;max-width:158px;font-weight:400;font-size:11px;line-height:14px;text-align:center}.container.dragMode.dual-drop-mode.dual-drop-focus-left .drop-zone-container .dual-drop-zone-left{width:calc(60% + var(--dual-drop-border-overlap));opacity:1;z-index:2}.container.dragMode.dual-drop-mode.dual-drop-focus-left .drop-zone-container .dual-drop-zone-right{width:calc(40% + var(--dual-drop-border-overlap));opacity:.4;z-index:1}.container.dragMode.dual-drop-mode.dual-drop-focus-right .drop-zone-container .dual-drop-zone-right{width:calc(60% + var(--dual-drop-border-overlap));opacity:1;z-index:2}.container.dragMode.dual-drop-mode.dual-drop-focus-right .drop-zone-container .dual-drop-zone-left{width:calc(40% + var(--dual-drop-border-overlap));opacity:.4;z-index:1}.is-documents-mode .dragMode{height:120px!important}.dragModeDocuments .drop-zone-container .drop-zone{background-color:#fff!important}.dragModeDocuments .drop-zone-container .drop-zone .drop-zone-focus-text .heading{font-weight:700;font-size:14px;line-height:18px}.drop-zone-dimensions-lock{width:var(--drag-lock-width);height:var(--drag-lock-height)}.is-details-slider{width:100%!important;height:100%!important;overflow:hidden}.is-details-slider .sliders{display:flex;align-items:center;justify-content:center;gap:4px;min-height:6px!important;height:auto!important;width:100%!important;margin-bottom:6px!important;margin-top:12px!important;opacity:0;pointer-events:none;transition:opacity .3s ease-in-out}.is-details-slider .sliders .slider-item{width:12px;height:6px;border-radius:2px;background-color:#e5e5e5;transform-origin:center;cursor:pointer!important;transition:width .2s ease-in-out,background-color .2s ease-in-out}.is-details-slider .sliders .slider-item.active{width:20px;background-color:#919191}.is-details-slider .drop-zone-container{display:none!important}.is-details-slider .docs{width:100%!important;position:relative!important;overflow:hidden!important}.is-details-slider .docs .carousel-button{opacity:0!important;pointer-events:none!important;transition:opacity .3s ease-in-out!important}.is-details-slider .docs:hover .carousel-button{opacity:1!important;pointer-events:auto!important}.is-details-slider .docs:hover .carousel-button[disabled]{opacity:0!important;pointer-events:none!important}.is-details-slider .doc-container{display:flex!important;align-items:flex-start!important;height:auto!important;flex-shrink:0!important;gap:0!important;position:relative!important;transition:transform .3s ease-out}.is-details-slider .doc{flex:0 0 100%!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;display:flex!important;justify-content:center!important;background-color:transparent!important;flex-shrink:0!important;position:relative!important}.is-details-slider .doc.doc-hidden{height:0!important;max-height:0!important;min-height:0!important;overflow:hidden!important;opacity:0;pointer-events:none;visibility:hidden;margin:0!important;padding:0!important}.is-details-slider .doc.doc-visible{height:auto!important;opacity:1;visibility:visible}.is-details-slider .carousel-button{position:absolute!important;top:45%!important}.is-details-slider:hover .sliders{opacity:1;pointer-events:auto}.is-drawer-mode{width:100%!important;padding:4px!important;position:absolute!important;max-width:100%!important}.is-drawer-mode .drop-zone-container{display:none!important}.is-drawer-mode .skeleton-container.drawer-position{width:100%!important;position:relative!important;overflow:hidden!important;display:flex;align-items:center;gap:4px}.is-drawer-mode .skeleton-container.drawer-position .skeleton-item{width:194px;height:194px;flex:0 0 194px;border-radius:2px;padding:4px}.is-drawer-mode .skeleton-container.drawer-position .skeleton-item .skeleton-bar{width:100%;height:100%;background-color:#fff}.is-drawer-mode .docs{width:100%!important;position:relative!important;overflow:hidden!important}.is-drawer-mode .docs .doc-container{display:flex;width:auto!important;height:auto!important;gap:4px!important;transition:transform .3s ease-out}.is-drawer-mode .docs .doc-container .doc{width:194px!important;height:194px!important;flex:0 0 194px!important;background-color:transparent!important}.is-drawer-mode .carousel-button.carousel-right{right:4px!important;position:absolute!important}.is-drawer-mode .carousel-button.carousel-left{left:4px!important;position:absolute!important}.isCoverDetails{width:100%!important;height:100%!important}.isCoverDetails .drop-zone-container{display:none!important}.isCoverDetails .docs{width:100%!important}.isCoverDetails .docs .doc{flex:0 0 100%!important;width:100%!important;height:auto!important;display:block!important;background-color:transparent!important}.more-docs{width:148px;flex:0 0 148px}.more-docs .illustration{width:80px;height:80px}.more-docs .drop-zone{padding:22px 0;flex-direction:column}.more-docs .drop-zone-error,.more-docs .drop-zone-error .drop-zone-text{padding:0 12px}.small-more-docs{width:148px!important}.small-more-docs .illustration,.small-more-docs svg{width:80px!important;height:80px!important}.small-more-docs .drop-zone{padding:22px 0!important;flex-direction:column}.unsupported .drop-zone-error{display:flex}.unsupported .drop-zone-text{padding:0 12px}.unsupported .drop-zone-text .heading.invalid{line-height:18px}.unsupported .drop-zone-text .subtext{line-height:14px;margin-bottom:0}.unsupported .cancel-button .cancel-icon{width:18px!important;height:18px!important}.unsupported .cancel-button-documents{display:none}.max-reached,.max-reached-more-doc{opacity:.4;pointer-events:none;cursor:none}.max-reached-more-doc .drop-zone{padding:6px 0!important;height:170px}.max-reached-more-doc .drop-zone-text{padding-left:20px;padding-right:20px}.max-reached-more-video .drop-zone{padding:13px 0!important;flex-direction:column}.invalid-file-size .drop-zone .illustration{display:none!important}.invalid-file-size .drop-zone .drop-zone-text{padding-left:20px;padding-right:20px}.drop-zone-error{position:absolute;inset:0;background-color:#fff;display:none;justify-content:center;align-items:center;flex-direction:column;margin:4px;outline:4px dashed #ed9292;border-radius:2px;padding:52px 12px;gap:12px}.drop-zone-error .cancel-button{cursor:pointer;background-color:transparent;position:absolute;top:2px;right:2px;height:26px;width:26px;padding:0;display:grid;place-items:center;transition:color .2s ease-in-out;color:#919191}.drop-zone-error .cancel-button:hover{color:#424242}.drop-zone-error .file-types{display:flex;align-items:center;gap:2px;text-transform:uppercase;max-width:100%;flex-wrap:wrap;justify-content:center}.drop-zone-error .badge{font-size:11px;font-weight:900;color:#fff;line-height:14px;padding:2px 4px;width:35px;border-radius:1px;margin-bottom:0;text-align:center;background-color:#919191}.drop-zone-error .pdf{background-color:#e66767}.drop-zone-error .video{background-color:#b370f0}.drop-zone-error .image{background-color:#fab15c}\n"], dependencies: [{ kind: "ngmodule", type:
|
|
5892
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DropZoneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5893
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: DropZoneComponent, isStandalone: true, selector: "cai-drop-zone", inputs: { avatarColor: { classPropertyName: "avatarColor", publicName: "avatarColor", isSignal: true, isRequired: false, transformFunction: null }, crop: { classPropertyName: "crop", publicName: "crop", isSignal: true, isRequired: false, transformFunction: null }, deletedFileIds: { classPropertyName: "deletedFileIds", publicName: "deletedFileIds", isSignal: true, isRequired: false, transformFunction: null }, documentsDropZoneOpen: { classPropertyName: "documentsDropZoneOpen", publicName: "documentsDropZoneOpen", isSignal: true, isRequired: false, transformFunction: null }, documentTags: { classPropertyName: "documentTags", publicName: "documentTags", isSignal: true, isRequired: false, transformFunction: null }, dualDropZones: { classPropertyName: "dualDropZones", publicName: "dualDropZones", isSignal: true, isRequired: false, transformFunction: null }, excludedFileTypes: { classPropertyName: "excludedFileTypes", publicName: "excludedFileTypes", isSignal: true, isRequired: false, transformFunction: null }, files: { classPropertyName: "files", publicName: "files", isSignal: true, isRequired: false, transformFunction: null }, fileTypes: { classPropertyName: "fileTypes", publicName: "fileTypes", isSignal: true, isRequired: false, transformFunction: null }, isCoverDetails: { classPropertyName: "isCoverDetails", publicName: "isCoverDetails", isSignal: true, isRequired: false, transformFunction: null }, isDetailsSlider: { classPropertyName: "isDetailsSlider", publicName: "isDetailsSlider", isSignal: true, isRequired: false, transformFunction: null }, isDocumentsMode: { classPropertyName: "isDocumentsMode", publicName: "isDocumentsMode", isSignal: true, isRequired: false, transformFunction: null }, isDrawerMode: { classPropertyName: "isDrawerMode", publicName: "isDrawerMode", isSignal: true, isRequired: false, transformFunction: null }, isDualDropZone: { classPropertyName: "isDualDropZone", publicName: "isDualDropZone", isSignal: true, isRequired: false, transformFunction: null }, maxCountFiles: { classPropertyName: "maxCountFiles", publicName: "maxCountFiles", isSignal: true, isRequired: false, transformFunction: null }, maxFileSize: { classPropertyName: "maxFileSize", publicName: "maxFileSize", isSignal: true, isRequired: false, transformFunction: null }, parentForm: { classPropertyName: "parentForm", publicName: "parentForm", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null }, searchText: { classPropertyName: "searchText", publicName: "searchText", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onCropPendingChange: "onCropPendingChange", onDeletedFileIds: "onDeletedFileIds", onDocsChange: "onDocsChange", onDocumentDropZoneOpenChange: "onDocumentDropZoneOpenChange", onDocumentFileNameChange: "onDocumentFileNameChange", onDocumentPreviewClick: "onDocumentPreviewClick", onDualDropChange: "onDualDropChange" }, host: { listeners: { "document:dragenter": "onDocumentDragEnter($event)", "document:dragover": "onDocumentDragOver($event)", "document:dragleave": "onWindowDragLeave($event)", "document:drop": "onDocumentDrop($event)" } }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["containerRef"], descendants: true, isSignal: true }, { propertyName: "cropper", first: true, predicate: ["cropper"], descendants: true, isSignal: true }, { propertyName: "docsViewport", first: true, predicate: ["docsViewport"], descendants: true, isSignal: true }, { propertyName: "dropZoneContainer", first: true, predicate: ["dropZoneContainer"], descendants: true, isSignal: true }, { propertyName: "inputRange", first: true, predicate: ["inputRange"], descendants: true, isSignal: true }, { propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true, isSignal: true }], ngImport: i0, template: "@let docCount = docs().length; @let cropFile = crop() === true;\n@let showCrop = showCropper() === true;\n@let documentVariant = variant() === dropZoneVariant.DOCUMENT;\n@let videoVariant = variant() === dropZoneVariant.VIDEO;\n@let profileVariant = variant() === dropZoneVariant.PROFILE;\n@let coverVariant = variant() === dropZoneVariant.COVER;\n@let logoVariant = variant() === dropZoneVariant.LOGO;\n@let roundedBorder = rounded() === true; @let coverPreview = coverUrl() !== \"\";\n@let profilePreview = profileUrl() !== \"\"; @let logoPreview = !!logoUrl();\n@let smallSize = size() === \"480px\";\n@let countFiles = this.maxCountFiles();\n@let largeSize = size() === \"640px\";\n\n@if (isDocumentsMode() && documentsDropZoneOpen() && dragMode()) {\n <div class=\"documents-drag-overlay\"></div>\n}\n\n@if (dragMode() && !isDrawerMode()) {\n <div\n class=\"drop-zone-dimensions-lock\"\n [style.--drag-lock-width.px]=\"dropzoneDimensionsLock().width\"\n [style.--drag-lock-height.px]=\"dropzoneDimensionsLock().height\"\n ></div>\n}\n\n<div\n #containerRef\n class=\"container\"\n [class]=\"{\n 'picture-container': profileVariant || coverVariant,\n smallContainer: smallSize,\n largeContainer: largeSize,\n dragMode: dragMode() && !isDocumentsMode(),\n dragModeDocuments: dragMode() && isDocumentsMode(),\n 'dual-drop-mode': isDualDragActive(),\n 'dual-drop-focus-left':\n isDualDragActive() && activeDualTarget() === dualDropTarget.LEFT,\n 'dual-drop-focus-right':\n isDualDragActive() && activeDualTarget() === dualDropTarget.RIGHT,\n onDragover: onDragover(),\n logoVar: logoVariant,\n hasCropper: isCropperReady(),\n 'is-details-slider': isDetailsSlider(),\n 'is-drawer-mode': isDrawerMode(),\n isCoverDetails: isCoverDetails(),\n 'is-documents-mode': isDocumentsMode(),\n }\"\n>\n @if (coverVariant && coverPreview) {\n <div class=\"cover-container\">\n <img [src]=\"coverUrl()\" class=\"cover-image\" draggable=\"false\" />\n </div>\n }\n @if (profileVariant) {\n @if (!profilePreview) {\n <div class=\"avatar\">\n <cai-avatar\n [driver]=\"driver()\"\n [size]=\"160\"\n [rounded]=\"rounded()\"\n ></cai-avatar>\n </div>\n } @else {\n <div class=\"profile-container\">\n <img\n [class]=\"rounded() ? 'profile-rounded-image' : 'profile-square-image'\"\n [src]=\"profileUrl()\"\n draggable=\"false\"\n />\n </div>\n }\n }\n @if (logoVariant && logoPreview) {\n <div class=\"logo-container\" [class.has-logo]=\"!!logoUrl()\">\n <img class=\"logo-image\" [src]=\"logoUrl()\" draggable=\"false\" />\n </div>\n }\n <!--Image Cropper-->\n @if (cropFile && showCrop) {\n @if (!isCropperReady()) {\n <div class=\"cropper-loader\">\n <div class=\"spinner\"></div>\n </div>\n }\n <div class=\"cropper-overlay\">\n <image-cropper\n #cropper\n class=\"img-cropper\"\n [output]=\"'base64'\"\n [class.logoBorder]=\"logoVariant\"\n [class.snapback-animate]=\"isSnapbackAnimating()\"\n [roundCropper]=\"roundedBorder ? true : false\"\n [hideResizeSquares]=\"true\"\n [allowMoveImage]=\"true\"\n [transform]=\"transform()\"\n (transformChange)=\"onTransformChange($event)\"\n format=\"png\"\n [aspectRatio]=\"cropAspectRatio()\"\n [resizeToWidth]=\"cropWidth()\"\n [resizeToHeight]=\"cropHeight()\"\n [containWithinAspectRatio]=\"true\"\n [imageChangedEvent]=\"imageChangedEvent()\"\n (imageCropped)=\"imageCropped($event)\"\n (imageLoaded)=\"imageLoaded($event)\"\n (cropperReady)=\"cropperReady()\"\n (loadImageFailed)=\"loadImageFailed()\"\n ></image-cropper>\n @if (isCropperReady()) {\n <div class=\"lower-part\">\n <div class=\"range\">\n <input\n #inputRange\n type=\"range\"\n class=\"custom-range\"\n min=\"1\"\n max=\"10\"\n step=\"0.1\"\n [value]=\"zoomValue()\"\n (input)=\"onZoomChange($event)\"\n />\n </div>\n <div class=\"cropper-buttons\">\n <button class=\"cancel-button\" (click)=\"cancelCrop()\">Cancel</button>\n <button class=\"submit-button\" (click)=\"submitCrop()\">Crop</button>\n </div>\n </div>\n }\n </div>\n }\n <!-- Drop Zone -->\n @if (!isDocumentsMode() || documentsDropZoneOpen()) {\n <div\n #dropZoneContainer\n class=\"drop-zone-container\"\n [class.has-logo]=\"logoVariant && !!logoUrl()\"\n (drop)=\"onDrop($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragenter)=\"onDragEnter($event)\"\n (dragleave)=\"onDragLeave($event)\"\n [class]=\"{\n 'more-docs': docCount >= 3 && largeSize,\n 'small-more-docs': docCount >= 2 && smallSize,\n 'max-reached-drop-design':\n (countFiles <= this.docs().length || maxCountReached()) &&\n documentVariant,\n 'max-reached-more-doc':\n (countFiles <= this.docs().length || maxCountReached()) &&\n documentVariant,\n 'max-reached-more-video':\n (countFiles <= this.docs().length || maxCountReached()) &&\n videoVariant,\n 'invalid-file-size': invalidFileSize(),\n unsupported: unsupported() || invalidFileSize(),\n smallView: this.smallView() && !dragMode(),\n }\"\n >\n <!-- Drop Zone -->\n @if (isDualDragActive()) {\n @for (target of dualTargets; track target) {\n @let panel = dualDropZones()[target];\n <div\n class=\"drop-zone dual-drop-zone-panel\"\n [class.dual-drop-zone-left]=\"target === dualDropTarget.LEFT\"\n [class.dual-drop-zone-right]=\"target === dualDropTarget.RIGHT\"\n [class.active]=\"activeDualTarget() === target\"\n (drop)=\"onDualDrop($event, target)\"\n >\n @if (panel.title) {\n <div class=\"dual-drop-zone-title\">{{ panel.title }}</div>\n }\n <div class=\"drag-icons-container\">\n @if (isDocumentsMode()) {\n <svg-icon\n name=\"cai-drop-zone-focus\"\n class=\"illustration drag-icon-document\"\n ></svg-icon>\n } @else {\n <ng-lottie\n [options]=\"{\n path:\n (target === dualDropTarget.LEFT\n ? dropZoneVariant.PROFILE\n : variant()\n ) | dropZoneAnimation,\n loop: false,\n autoplay: false,\n }\"\n (animationCreated)=\"animationCreated($event, target)\"\n ></ng-lottie>\n }\n </div>\n <div class=\"drop-zone-focus-text\">\n <div class=\"heading\">\n {{\n activeDualTarget() === target\n ? panel.dropLabel\n : panel.dragLabel\n }}\n </div>\n <div class=\"description\">{{ panel.description }}</div>\n </div>\n </div>\n }\n } @else {\n <div class=\"drop-zone\" (click)=\"handleClickToAdd()\">\n @if (dragMode()) {\n <div class=\"drag-icons-container\">\n @if (isDocumentsMode()) {\n <svg-icon\n name=\"cai-drop-zone-focus\"\n class=\"illustration drag-icon-document\"\n ></svg-icon>\n } @else {\n <!-- Animation -->\n <ng-lottie\n [options]=\"{\n path: variant() | dropZoneAnimation,\n loop: false,\n autoplay: false,\n }\"\n (animationCreated)=\"animationCreated($event)\"\n ></ng-lottie>\n }\n </div>\n <div class=\"drop-zone-focus-text\">\n @if (isDocumentsMode()) {\n <p class=\"heading\">DRAG FILES HERE</p>\n } @else if (documentVariant || videoVariant) {\n <p class=\"heading\">\n {{ onDragover() ? \"DROP FILES HERE\" : \"DRAG FILES HERE\" }}\n </p>\n } @else {\n <p class=\"heading\">\n {{ onDragover() ? \"DROP IMAGE HERE\" : \"DRAG IMAGE HERE\" }}\n </p>\n }\n </div>\n } @else {\n @let svgIcon = variant() | dropZoneAnimation: true;\n <svg-icon [name]=\"svgIcon\" class=\"illustration\"></svg-icon>\n @if (\n (countFiles <= this.docs().length || maxCountReached()) &&\n documentVariant\n ) {\n <div class=\"drop-zone-text\">\n <p class=\"heading\">\n <span class=\"line\">MAX COUNT</span>\n <span class=\"line\">REACHED</span>\n </p>\n <p class=\"subtext\">\n <span class=\"line\">{{ countFiles }} FILES </span>\n <span class=\"line\">IMPORTED</span>\n </p>\n </div>\n } @else {\n <div class=\"drop-zone-text\">\n <p class=\"heading\">\n @if (documentVariant || videoVariant) {\n DRAG FILES\n @if (docCount < 1 || isDocumentsMode()) {\n <span>HERE</span>\n }\n } @else if (profileVariant && roundedBorder) {\n DRAG IMAGE\n } @else {\n DRAG IMAGE HERE\n }\n </p>\n @if (!coverPreview && !profilePreview) {\n <p class=\"subtext\">OR CLICK TO ADD</p>\n }\n @if (coverPreview || profilePreview) {\n <p class=\"subtext\">OR CLICK TO REPLACE</p>\n }\n @if (videoVariant) {\n <p class=\"video-subtext\">\n max file size {{ maxFileSize() }}mb\n </p>\n }\n </div>\n @if (isDocumentsMode()) {\n <button\n class=\"cancel-button-documents\"\n ngbTooltip=\"Cancel\"\n [placement]=\"'bottom'\"\n container=\"body\"\n triggers=\"mouseenter:mouseleave\"\n tooltipClass=\"tooltip tooltip-m-b-2\"\n >\n <svg-icon\n name=\"cai-cancel\"\n class=\"cancel-icon\"\n (click)=\"onCancel($event)\"\n ></svg-icon>\n </button>\n }\n }\n }\n </div>\n }\n\n <input\n type=\"file\"\n aria-hidden=\"true\"\n multiple\n class=\"drop-zone-input\"\n #inputRef\n (input)=\"onInput($event)\"\n (change)=\"fileChangeEvent($event)\"\n />\n\n <!-- Drop Zone Error -->\n <div class=\"drop-zone-error\">\n @if (invalidFileSize()) {\n <div class=\"drop-zone-text\">\n <p class=\"heading invalid\">INVALID FILE SIZE</p>\n <p class=\"subtext\">MAX {{ maxFileSize() }} MB</p>\n </div>\n } @else {\n <div class=\"drop-zone-text\">\n <p class=\"heading invalid\">INVALID FILE TYPE</p>\n <p class=\"subtext\">SUPPORTED FORMATS</p>\n </div>\n <div class=\"file-types\">\n @for (type of supportedFileTypes(); track $index) {\n <p\n class=\"badge\"\n [class]=\"{\n pdf: type === 'pdf',\n video: ['avi', 'mp4', 'mov'].includes(type),\n image: ['jpg', 'png', 'jpeg', 'gif'].includes(type),\n }\"\n >\n {{ type }}\n </p>\n }\n </div>\n }\n <button class=\"cancel-button\">\n <svg-icon\n name=\"cai-cancel\"\n class=\"cancel-icon\"\n (click)=\"cancel()\"\n ></svg-icon>\n </button>\n </div>\n </div>\n }\n @if (isLoadingSkeleton() && skeletonCount() > 0) {\n <ng-container *ngTemplateOutlet=\"skeletonTemplate\"></ng-container>\n } @else {\n <!-- Carousel -->\n @if (docCount > 0 && (documentVariant || videoVariant)) {\n <div #docsViewport class=\"docs\">\n <div\n class=\"doc-container\"\n [class.documents-container-grid]=\"isDocumentsMode()\"\n [style.transform]=\"isDocumentsMode() ? '' : carouselTransform()\"\n [style.--carousel-index]=\"isDocumentsMode() ? null : carouselIndex()\"\n >\n @for (doc of docs(); track doc.fileId) {\n <cai-document-preview\n [class.doc-visible]=\"\n isDetailsSlider() && $index === carouselIndex()\n \"\n [class.doc-hidden]=\"\n isDetailsSlider() && $index !== carouselIndex()\n \"\n class=\"doc\"\n [file]=\"doc\"\n [tags]=\"documentTags()\"\n [searchText]=\"searchText()\"\n [cdlDetailsMode]=\"isDetailsSlider()\"\n [multipleDetailsDocs]=\"isDetailsSlider() && docCount > 1\"\n [maxAspectRatio]=\"\n isDetailsSlider() && docCount > 1\n ? maxDetailsAspectRatio()\n : null\n \"\n [drawerMode]=\"isDrawerMode()\"\n [isCoverDetails]=\"isCoverDetails()\"\n [viewMode]=\"isDocumentsMode() ? 'large' : 'small'\"\n (onDelete)=\"handleDelete($event)\"\n (onDownload)=\"handleDownload($event)\"\n (onTagChange)=\"handleTagChange($event)\"\n (onFileNameChange)=\"handleFileNameChange($event)\"\n (onDocumentPreviewClick)=\"handleDocumentPreviewClick($event)\"\n (aspectRatioChange)=\"onDocAspectRatioChange($event)\"\n ></cai-document-preview>\n }\n </div>\n @if (docCount >= 3 || (isDetailsSlider() && docCount > 1)) {\n <button\n class=\"carousel-button carousel-left\"\n type=\"button\"\n (click)=\"carouselLeft()\"\n [disabled]=\"carouselIndex() === 0\"\n [style.opacity]=\"carouselIndex() === 0 ? '0' : '1'\"\n >\n <svg-icon name=\"cai-arrow-secondary-left\" class=\"arrow\"></svg-icon>\n </button>\n <button\n class=\"carousel-button carousel-right\"\n type=\"button\"\n (click)=\"carouselRight()\"\n [disabled]=\"isCarouselAtEnd()\"\n [style.opacity]=\"isCarouselAtEnd() ? '0' : '1'\"\n >\n <svg-icon name=\"cai-arrow-secondary-right\" class=\"arrow\"></svg-icon>\n </button>\n }\n @if (isDetailsSlider() && docCount > 1) {\n <div class=\"sliders\">\n @for (doc of docs(); track $index) {\n <div\n class=\"slider-item\"\n (click)=\"carouselIndex.set($index)\"\n [class.active]=\"$index === carouselIndex()\"\n ></div>\n }\n </div>\n }\n </div>\n }\n }\n</div>\n\n<!-- Skeleton Template -->\n\n<ng-template #skeletonTemplate>\n <div\n class=\"skeleton-container\"\n [ngClass]=\"{\n 'documents-container-grid': isDocumentsMode(),\n 'drawer-position': isDrawerMode(),\n }\"\n >\n @for (item of skeletonItems(); track $index) {\n <div class=\"skeleton-item\">\n <div class=\"skeleton-bar\"></div>\n </div>\n }\n </div>\n</ng-template>\n", styles: [".container.is-documents-mode{width:100%!important;max-width:100%!important}.container.is-documents-mode .drop-zone-container .drop-zone{width:100%!important}.documents-drag-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0003;z-index:10}.is-documents-mode{display:flex;flex-direction:column;gap:0!important;width:100%!important;height:100%!important}.is-documents-mode .drop-zone-container{display:flex;margin-bottom:4px;background-color:#f7f7f7;z-index:20}.is-documents-mode .drop-zone-container .drop-zone{width:100%;height:120px!important;background-color:transparent;outline-color:#dadada;transition:background-color .2s ease-in-out}.is-documents-mode .drop-zone-container .drop-zone:hover{background-color:#fff!important}.is-documents-mode .drop-zone-container .drop-zone .illustration{width:80px;height:80px}.is-documents-mode .drop-zone-container .drop-zone .drop-zone-text .heading{padding-bottom:0}.is-documents-mode .drop-zone-container .drop-zone .cancel-button-documents{z-index:1000;position:absolute;top:4px;right:4px;width:26px;height:26px;background-color:transparent;padding:4px}.is-documents-mode .drop-zone-container .drop-zone .cancel-button-documents .cancel-icon{width:18px;height:18px;color:#919191}.is-documents-mode .drop-zone-container .drop-zone .cancel-button-documents:hover .cancel-icon{color:#424242}.is-documents-mode .skeleton-container .skeleton-item{width:100%;height:auto;aspect-ratio:1/1;max-width:100%;min-width:302px;min-height:302px;position:relative;border-radius:3px;background-color:#fff}.is-documents-mode .skeleton-container .skeleton-item .skeleton-bar{position:absolute;bottom:8px;left:8px;right:8px;width:auto;height:26px;background-color:#91919133;animation:skeleton-pulse 1s ease-in-out infinite alternate;border-radius:2px}.is-documents-mode .docs{width:100%!important;position:static!important;overflow:visible!important}.is-documents-mode .docs .doc-container .doc{height:auto!important}.is-documents-mode .docs .carousel-button{display:none}.is-documents-mode .doc-container.documents-container-grid,.is-documents-mode .skeleton-container.documents-container-grid{display:grid;width:100%;grid-template-columns:repeat(auto-fill,minmax(302px,1fr));gap:4px;justify-items:stretch;align-items:start}@media(min-width:801px)and (max-width:1001px){.is-documents-mode .doc-container.documents-container-grid,.is-documents-mode .skeleton-container.documents-container-grid{grid-template-columns:repeat(2,minmax(302px,1fr))}}@media(min-width:1002px)and (max-width:1307px){.is-documents-mode .doc-container.documents-container-grid,.is-documents-mode .skeleton-container.documents-container-grid{grid-template-columns:repeat(3,minmax(302px,1fr))}}@media(min-width:1308px)and (max-width:1613px){.is-documents-mode .doc-container.documents-container-grid,.is-documents-mode .skeleton-container.documents-container-grid{grid-template-columns:repeat(4,minmax(302px,1fr))}}@media(min-width:1614px)and (max-width:1920px){.is-documents-mode .doc-container.documents-container-grid,.is-documents-mode .skeleton-container.documents-container-grid{grid-template-columns:repeat(5,minmax(302px,1fr))}}@media(min-width:1921px)and (max-width:2227px){.is-documents-mode .doc-container.documents-container-grid,.is-documents-mode .skeleton-container.documents-container-grid{grid-template-columns:repeat(6,minmax(302px,1fr))}}@media(min-width:2228px){.is-documents-mode .doc-container.documents-container-grid,.is-documents-mode .skeleton-container.documents-container-grid{grid-template-columns:repeat(auto-fit,minmax(302px,1fr))}}@keyframes skeleton-pulse{0%{background-color:#91919133}to{background-color:#91919120}}.cropper-overlay{display:flex;justify-content:center;flex-direction:column;background-color:#fff;align-items:center;z-index:2000;gap:4px;opacity:1;top:0;left:0;position:absolute;width:100%;height:100%}.cropper-overlay .img-cropper{width:100%;height:178px;padding:0}.cropper-overlay .img-cropper.snapback-animate ::ng-deep .ngx-ic-source-image{transition:transform .22s cubic-bezier(.22,1,.36,1)}.cropper-overlay .lower-part{display:flex;place-items:center;align-items:center;margin-left:3px;margin-right:3px;width:100%;gap:12px}.cropper-overlay .lower-part .range{width:100%;height:22px;display:flex;align-items:center}.cropper-overlay .lower-part .range input[type=range]{width:100%}.cropper-overlay .lower-part .range input[type=range]{-webkit-appearance:none;appearance:none;border-radius:2px;--range-active-color: #6692f1;--range-progress: 50%;background:transparent;cursor:pointer}.cropper-overlay .lower-part .cropper-buttons{display:flex;justify-content:start;gap:6px}.cropper-overlay .lower-part .cropper-buttons .cancel-button,.cropper-overlay .lower-part .cropper-buttons .submit-button{padding:4px;width:80px;font-size:14px;border-radius:2px;text-transform:uppercase;line-height:14px;font-weight:700;font-size:11px;cursor:pointer}.cropper-overlay .lower-part .cropper-buttons .cancel-button{background-color:#eee;color:#6c6c6c;transition:background-color .3s ease-in-out,color .3s ease-in-out}.cropper-overlay .lower-part .cropper-buttons .cancel-button:hover{background-color:#424242;color:#fff}.cropper-overlay .lower-part .cropper-buttons .cancel-button:active{background-color:#1d1d1d;color:#fff}.cropper-overlay .lower-part .cropper-buttons .submit-button{background-color:#3b73ed;color:#fff;transition:background-color .3s ease-in-out,color .3s ease-in-out}.cropper-overlay .lower-part .cropper-buttons .submit-button:hover{background-color:#0b49d1;color:#fff}.cropper-overlay .lower-part .cropper-buttons .submit-button:active{background-color:#00179e;color:#fff}.cropper-loader{position:absolute;z-index:1100;display:flex;justify-content:center;align-items:center;background-color:#fff;width:100%;height:100%}.cropper-loader .spinner{width:48px;height:48px;border:5px solid rgba(145,145,145,.2);border-top:5px solid #3b73ed;border-radius:50%;animation:spin 1s linear infinite}.hasCropper{height:204px!important;position:relative}input[type=range]:hover{--range-active-color: $color-blue-500}input[type=range]:active{--range-active-color: $color-blue-700}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;margin-top:-7px;background-color:#fff;height:20px;width:30px;box-shadow:0 0 4px #00000026;background-image:url(/assets/carriera-intern/icons/interaction/cai-thumb.svg);background-repeat:no-repeat;background-position:center;background-size:14px 18px;border-radius:2px;transition:background-color .3s ease-in-out}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--range-active-color) 0%,var(--range-active-color) var(--range-progress),#eeeeee var(--range-progress),#eeeeee 100%);height:6px;transition:background .3s ease-in-out}input[type=range]:hover::-webkit-slider-runnable-track{background:linear-gradient(to right,#3b73ed 0%,#3b73ed var(--range-progress),#eeeeee var(--range-progress),#eeeeee 100%)}input[type=range]:active::-webkit-slider-runnable-track{background:linear-gradient(to right,#0b49d1 0%,#0b49d1 var(--range-progress),#eeeeee var(--range-progress),#eeeeee 100%)}input[type=range]:hover::-webkit-slider-thumb{cursor:grab}input[type=range]:active::-webkit-slider-thumb{background-image:url(/assets/carriera-intern/icons/interaction/cai-thumb-active.svg);cursor:grabbing}@keyframes spin{to{transform:rotate(360deg)}}p{margin-bottom:0}svg-icon{display:flex;align-items:center;justify-content:center}button{border:none!important;outline:none!important}.illustration{width:100px;height:100px}.container{display:flex;gap:6px;position:relative;padding-left:0!important;padding-right:0!important;margin:0!important}.container.picture-container{gap:8px}.container.smallContainer{width:456px!important}.container.largeContainer{width:616px!important}.docs{flex-shrink:0;height:100%;overflow:hidden;position:relative;border-radius:2px}.smallContainer .docs{max-width:302px!important}.smallContainer .docs .doc-container{display:flex;gap:6px;transition:transform .2s ease-out}.largeContainer .docs{max-width:460px!important}.largeContainer .docs .doc-container{display:flex;gap:8px;transition:transform .2s ease-out}.carousel-button{position:absolute;top:50%;transform:translateY(-50%);border:none;outline:none;width:24px;height:32px;background-color:#ffffffb2;border-radius:2px;box-shadow:0 0 5px #0000004d;cursor:pointer;display:grid;place-items:center;padding:0}.drop-zone-input{display:none}.carousel-left{left:4px}.carousel-right{right:4px}.arrow{width:18px;height:18px;color:#0000004d}.doc{flex:0 0 148px;height:178px;display:flex;background-color:#eee;border-radius:2px}.drop-zone-container{position:relative;flex:1 0 auto}.drop-zone{display:flex;justify-content:center;align-items:center;flex-direction:row;outline:4px dashed #eeeeee;border-radius:2px;padding:35px 0;margin:4px;gap:10px;cursor:pointer;transition:background-color .2s ease-in-out}.drop-zone:hover{background-color:#eee}.drop-zone-text{-webkit-user-select:none;user-select:none;text-align:center}.drop-zone-text .heading{color:#424242;font-size:14px;line-height:18px;font-weight:700;padding-bottom:4px}.drop-zone-text .heading .line{display:block;width:fit-content;margin:0 auto}.drop-zone-text .invalid{color:#df3c3c}.drop-zone-text .subtext{color:#424242;font-size:11px;line-height:14px;font-weight:600}.drop-zone-text .subtext .line{display:block;width:fit-content;margin:0 auto}.drop-zone-text .video-subtext{margin-top:4px;color:#919191;font-size:11px;line-height:14px;font-weight:500}.smallView{width:173px!important}.smallView .drop-zone{flex-direction:column!important;padding:20px 0;width:173px;height:170px}.smallView .drop-zone .drop-zone-text .heading{line-height:18px;padding-bottom:0!important}.smallView .drop-zone .drop-zone-text .subtext{line-height:14px;margin-bottom:0!important}.smallView .illustration{width:80px;height:80px}.text-white-50{color:#fff}.text-white-100{color:#f7f7f7}.text-white-200{color:#eee}.text-white-300{color:#e5e5e5}.text-white-500{color:#dadada}.text-white-500\\/20{color:#dadada33}.text-white-500\\/40{color:#dadada66}.text-white-500\\/70{color:#dadadab3}.text-white-700{color:#ccc}.text-black-50{color:#aaa}.text-black-100{color:#919191}.text-black-200{color:#6c6c6c}.text-black-300{color:#424242}.text-black-500{color:#2f2f2f}.text-black-500\\/20{color:#2f2f2f33}.text-black-500\\/40{color:#2f2f2f66}.text-black-500\\/70{color:#2f2f2fb3}.text-black-700{color:#1d1d1d}.text-blue-50{color:#e9effd}.text-blue-100{color:#bed0f9}.text-blue-200{color:#92b1f5}.text-blue-300{color:#6692f1}.text-blue-500{color:#3b73ed}.text-blue-500\\/20{color:#3b73ed33}.text-blue-500\\/40{color:#3b73ed66}.text-blue-500\\/70{color:#3b73edb3}.text-blue-700{color:#0b49d1}.text-blue-900{color:#00179e}.text-red-50{color:#fbe9e9}.text-red-100{color:#f4bebe}.text-red-200{color:#ed9292}.text-red-300{color:#e66767}.text-red-500{color:#df3c3c}.text-red-500\\/20{color:#df3c3c33}.text-red-500\\/40{color:#df3c3c66}.text-red-500\\/70{color:#df3c3cb3}.text-red-700{color:#c20c0c}.text-green-50{color:#e7f4f3}.text-green-100{color:#b6dfdb}.text-green-200{color:#86c9c3}.text-green-300{color:#56b4ac}.text-green-500{color:#259f94}.text-green-500\\/20{color:#259f9433}.text-green-500\\/40{color:#259f9466}.text-green-500\\/70{color:#259f94b3}.text-green-700{color:#007a6e}.text-yellow-50{color:#fef4e8}.text-yellow-100{color:#fddeb9}.text-yellow-200{color:#fbc88b}.text-yellow-300{color:#fab15c}.text-yellow-500{color:#f89b2e}.text-yellow-500\\/20{color:#f89b2e33}.text-yellow-500\\/40{color:#f89b2e66}.text-yellow-500\\/70{color:#f89b2eb3}.text-yellow-700{color:#de7700}.text-purple-50{color:#f4ebfd}.text-purple-100{color:#dfc2f9}.text-purple-200{color:#c999f4}.text-purple-300{color:#b370f0}.text-purple-500{color:#9e47ec}.text-purple-500\\/20{color:#9e47ec33}.text-purple-500\\/40{color:#9e47ec66}.text-purple-500\\/70{color:#9e47ecb3}.text-purple-700{color:#7919d0}.text-orange-50{color:#ffefea}.text-orange-100{color:#ffcfc0}.text-orange-200{color:#ffb097}.text-orange-300{color:#ff906d}.text-orange-500{color:#ff7043}.text-orange-500\\/20{color:#ff704333}.text-orange-500\\/40{color:#ff704366}.text-orange-500\\/70{color:#ff7043b3}.text-orange-700{color:#e54715}.text-azure-50{color:#e5f7fc}.text-azure-100{color:#b2e6f7}.text-azure-200{color:#80d6f1}.text-azure-300{color:#4dc5eb}.text-azure-500{color:#1ab5e6}.text-azure-500\\/20{color:#1ab5e633}.text-azure-500\\/40{color:#1ab5e666}.text-azure-500\\/70{color:#1ab5e6b3}.text-azure-700{color:#0093c9}.text-gold-50{color:#faf3e6}.text-gold-100{color:#efdcb4}.text-gold-200{color:#e4c481}.text-gold-300{color:#daad4f}.text-gold-500{color:#cf961d}.text-gold-500\\/20{color:#cf961d33}.text-gold-500\\/40{color:#cf961d66}.text-gold-500\\/70{color:#cf961db3}.text-gold-700{color:#b07000}.text-brown-50{color:#f1ede9}.text-brown-100{color:#d6c9bd}.text-brown-200{color:#bca691}.text-brown-300{color:#a08266}.text-brown-500{color:#865e3a}.text-brown-500\\/20{color:#865e3a33}.text-brown-500\\/40{color:#865e3a66}.text-brown-500\\/70{color:#865e3ab3}.text-brown-700{color:#5f330a}.text-navy-50{color:#e7e7fa}.text-navy-100{color:#b7b6f1}.text-navy-200{color:#8785e8}.text-navy-300{color:#5755df}.text-navy-500{color:#2724d6}.text-navy-500\\/20{color:#2724d633}.text-navy-500\\/40{color:#2724d666}.text-navy-500\\/70{color:#2724d6b3}.text-navy-700{color:#0000b8}.text-lime-50{color:#ecf6e7}.text-lime-100{color:#c5e3b6}.text-lime-200{color:#9ed186}.text-lime-300{color:#77bf56}.text-lime-500{color:#50ac25}.text-lime-500\\/20{color:#50ac2533}.text-lime-500\\/40{color:#50ac2566}.text-lime-500\\/70{color:#50ac25b3}.text-lime-700{color:#238900}.text-magenta-50{color:#fbe9f1}.text-magenta-100{color:#f4bed6}.text-magenta-200{color:#ed93bb}.text-magenta-300{color:#e668a0}.text-magenta-500{color:#df3d85}.text-magenta-500\\/20{color:#df3d8533}.text-magenta-500\\/40{color:#df3d8566}.text-magenta-500\\/70{color:#df3d85b3}.text-magenta-700{color:#c10d5d}.bg-white-50{background-color:#fff}.bg-white-100{background-color:#f7f7f7}.bg-white-200{background-color:#eee}.bg-white-300{background-color:#e5e5e5}.bg-white-500{background-color:#dadada}.bg-white-500\\/20{background-color:#dadada33}.bg-white-500\\/40{background-color:#dadada66}.bg-white-500\\/70{background-color:#dadadab3}.bg-white-700{background-color:#ccc}.bg-black-50{background-color:#aaa}.bg-black-100{background-color:#919191}.bg-black-200{background-color:#6c6c6c}.bg-black-300{background-color:#424242}.bg-black-500{background-color:#2f2f2f}.bg-black-500\\/20{background-color:#2f2f2f33}.bg-black-500\\/40{background-color:#2f2f2f66}.bg-black-500\\/70{background-color:#2f2f2fb3}.bg-black-700{background-color:#1d1d1d}.bg-blue-50{background-color:#e9effd}.bg-blue-100{background-color:#bed0f9}.bg-blue-200{background-color:#92b1f5}.bg-blue-300{background-color:#6692f1}.bg-blue-500{background-color:#3b73ed}.bg-blue-500\\/20{background-color:#3b73ed33}.bg-blue-500\\/40{background-color:#3b73ed66}.bg-blue-500\\/70{background-color:#3b73edb3}.bg-blue-700{background-color:#0b49d1}.bg-blue-900{background-color:#00179e}.bg-red-50{background-color:#fbe9e9}.bg-red-100{background-color:#f4bebe}.bg-red-200{background-color:#ed9292}.bg-red-300{background-color:#e66767}.bg-red-500{background-color:#df3c3c}.bg-red-500\\/20{background-color:#df3c3c33}.bg-red-500\\/40{background-color:#df3c3c66}.bg-red-500\\/70{background-color:#df3c3cb3}.bg-red-700{background-color:#c20c0c}.bg-green-50{background-color:#e7f4f3}.bg-green-100{background-color:#b6dfdb}.bg-green-200{background-color:#86c9c3}.bg-green-300{background-color:#56b4ac}.bg-green-500{background-color:#259f94}.bg-green-500\\/20{background-color:#259f9433}.bg-green-500\\/40{background-color:#259f9466}.bg-green-500\\/70{background-color:#259f94b3}.bg-green-700{background-color:#007a6e}.bg-yellow-50{background-color:#fef4e8}.bg-yellow-100{background-color:#fddeb9}.bg-yellow-200{background-color:#fbc88b}.bg-yellow-300{background-color:#fab15c}.bg-yellow-500{background-color:#f89b2e}.bg-yellow-500\\/20{background-color:#f89b2e33}.bg-yellow-500\\/40{background-color:#f89b2e66}.bg-yellow-500\\/70{background-color:#f89b2eb3}.bg-yellow-700{background-color:#de7700}.bg-purple-50{background-color:#f4ebfd}.bg-purple-100{background-color:#dfc2f9}.bg-purple-200{background-color:#c999f4}.bg-purple-300{background-color:#b370f0}.bg-purple-500{background-color:#9e47ec}.bg-purple-500\\/20{background-color:#9e47ec33}.bg-purple-500\\/40{background-color:#9e47ec66}.bg-purple-500\\/70{background-color:#9e47ecb3}.bg-purple-700{background-color:#7919d0}.bg-orange-50{background-color:#ffefea}.bg-orange-100{background-color:#ffcfc0}.bg-orange-200{background-color:#ffb097}.bg-orange-300{background-color:#ff906d}.bg-orange-500{background-color:#ff7043}.bg-orange-500\\/20{background-color:#ff704333}.bg-orange-500\\/40{background-color:#ff704366}.bg-orange-500\\/70{background-color:#ff7043b3}.bg-orange-700{background-color:#e54715}.bg-azure-50{background-color:#e5f7fc}.bg-azure-100{background-color:#b2e6f7}.bg-azure-200{background-color:#80d6f1}.bg-azure-300{background-color:#4dc5eb}.bg-azure-500{background-color:#1ab5e6}.bg-azure-500\\/20{background-color:#1ab5e633}.bg-azure-500\\/40{background-color:#1ab5e666}.bg-azure-500\\/70{background-color:#1ab5e6b3}.bg-azure-700{background-color:#0093c9}.bg-gold-50{background-color:#faf3e6}.bg-gold-100{background-color:#efdcb4}.bg-gold-200{background-color:#e4c481}.bg-gold-300{background-color:#daad4f}.bg-gold-500{background-color:#cf961d}.bg-gold-500\\/20{background-color:#cf961d33}.bg-gold-500\\/40{background-color:#cf961d66}.bg-gold-500\\/70{background-color:#cf961db3}.bg-gold-700{background-color:#b07000}.bg-brown-50{background-color:#f1ede9}.bg-brown-100{background-color:#d6c9bd}.bg-brown-200{background-color:#bca691}.bg-brown-300{background-color:#a08266}.bg-brown-500{background-color:#865e3a}.bg-brown-500\\/20{background-color:#865e3a33}.bg-brown-500\\/40{background-color:#865e3a66}.bg-brown-500\\/70{background-color:#865e3ab3}.bg-brown-700{background-color:#5f330a}.bg-navy-50{background-color:#e7e7fa}.bg-navy-100{background-color:#b7b6f1}.bg-navy-200{background-color:#8785e8}.bg-navy-300{background-color:#5755df}.bg-navy-500{background-color:#2724d6}.bg-navy-500\\/20{background-color:#2724d633}.bg-navy-500\\/40{background-color:#2724d666}.bg-navy-500\\/70{background-color:#2724d6b3}.bg-navy-700{background-color:#0000b8}.bg-lime-50{background-color:#ecf6e7}.bg-lime-100{background-color:#c5e3b6}.bg-lime-200{background-color:#9ed186}.bg-lime-300{background-color:#77bf56}.bg-lime-500{background-color:#50ac25}.bg-lime-500\\/20{background-color:#50ac2533}.bg-lime-500\\/40{background-color:#50ac2566}.bg-lime-500\\/70{background-color:#50ac25b3}.bg-lime-700{background-color:#238900}.bg-magenta-50{background-color:#fbe9f1}.bg-magenta-100{background-color:#f4bed6}.bg-magenta-200{background-color:#ed93bb}.bg-magenta-300{background-color:#e668a0}.bg-magenta-500{background-color:#df3d85}.bg-magenta-500\\/20{background-color:#df3d8533}.bg-magenta-500\\/40{background-color:#df3d8566}.bg-magenta-500\\/70{background-color:#df3d85b3}.bg-magenta-700{background-color:#c10d5d}.border-white-50{border-color:#fff}.border-white-100{border-color:#f7f7f7}.border-white-200{border-color:#eee}.border-white-300{border-color:#e5e5e5}.border-white-500{border-color:#dadada}.border-white-500\\/20{border-color:#dadada33}.border-white-500\\/40{border-color:#dadada66}.border-white-500\\/70{border-color:#dadadab3}.border-white-700{border-color:#ccc}.border-black-50{border-color:#aaa}.border-black-100{border-color:#919191}.border-black-200{border-color:#6c6c6c}.border-black-300{border-color:#424242}.border-black-500{border-color:#2f2f2f}.border-black-500\\/20{border-color:#2f2f2f33}.border-black-500\\/40{border-color:#2f2f2f66}.border-black-500\\/70{border-color:#2f2f2fb3}.border-black-700{border-color:#1d1d1d}.border-blue-50{border-color:#e9effd}.border-blue-100{border-color:#bed0f9}.border-blue-200{border-color:#92b1f5}.border-blue-300{border-color:#6692f1}.border-blue-500{border-color:#3b73ed}.border-blue-500\\/20{border-color:#3b73ed33}.border-blue-500\\/40{border-color:#3b73ed66}.border-blue-500\\/70{border-color:#3b73edb3}.border-blue-700{border-color:#0b49d1}.border-blue-900{border-color:#00179e}.border-red-50{border-color:#fbe9e9}.border-red-100{border-color:#f4bebe}.border-red-200{border-color:#ed9292}.border-red-300{border-color:#e66767}.border-red-500{border-color:#df3c3c}.border-red-500\\/20{border-color:#df3c3c33}.border-red-500\\/40{border-color:#df3c3c66}.border-red-500\\/70{border-color:#df3c3cb3}.border-red-700{border-color:#c20c0c}.border-green-50{border-color:#e7f4f3}.border-green-100{border-color:#b6dfdb}.border-green-200{border-color:#86c9c3}.border-green-300{border-color:#56b4ac}.border-green-500{border-color:#259f94}.border-green-500\\/20{border-color:#259f9433}.border-green-500\\/40{border-color:#259f9466}.border-green-500\\/70{border-color:#259f94b3}.border-green-700{border-color:#007a6e}.border-yellow-50{border-color:#fef4e8}.border-yellow-100{border-color:#fddeb9}.border-yellow-200{border-color:#fbc88b}.border-yellow-300{border-color:#fab15c}.border-yellow-500{border-color:#f89b2e}.border-yellow-500\\/20{border-color:#f89b2e33}.border-yellow-500\\/40{border-color:#f89b2e66}.border-yellow-500\\/70{border-color:#f89b2eb3}.border-yellow-700{border-color:#de7700}.border-purple-50{border-color:#f4ebfd}.border-purple-100{border-color:#dfc2f9}.border-purple-200{border-color:#c999f4}.border-purple-300{border-color:#b370f0}.border-purple-500{border-color:#9e47ec}.border-purple-500\\/20{border-color:#9e47ec33}.border-purple-500\\/40{border-color:#9e47ec66}.border-purple-500\\/70{border-color:#9e47ecb3}.border-purple-700{border-color:#7919d0}.border-orange-50{border-color:#ffefea}.border-orange-100{border-color:#ffcfc0}.border-orange-200{border-color:#ffb097}.border-orange-300{border-color:#ff906d}.border-orange-500{border-color:#ff7043}.border-orange-500\\/20{border-color:#ff704333}.border-orange-500\\/40{border-color:#ff704366}.border-orange-500\\/70{border-color:#ff7043b3}.border-orange-700{border-color:#e54715}.border-azure-50{border-color:#e5f7fc}.border-azure-100{border-color:#b2e6f7}.border-azure-200{border-color:#80d6f1}.border-azure-300{border-color:#4dc5eb}.border-azure-500{border-color:#1ab5e6}.border-azure-500\\/20{border-color:#1ab5e633}.border-azure-500\\/40{border-color:#1ab5e666}.border-azure-500\\/70{border-color:#1ab5e6b3}.border-azure-700{border-color:#0093c9}.border-gold-50{border-color:#faf3e6}.border-gold-100{border-color:#efdcb4}.border-gold-200{border-color:#e4c481}.border-gold-300{border-color:#daad4f}.border-gold-500{border-color:#cf961d}.border-gold-500\\/20{border-color:#cf961d33}.border-gold-500\\/40{border-color:#cf961d66}.border-gold-500\\/70{border-color:#cf961db3}.border-gold-700{border-color:#b07000}.border-brown-50{border-color:#f1ede9}.border-brown-100{border-color:#d6c9bd}.border-brown-200{border-color:#bca691}.border-brown-300{border-color:#a08266}.border-brown-500{border-color:#865e3a}.border-brown-500\\/20{border-color:#865e3a33}.border-brown-500\\/40{border-color:#865e3a66}.border-brown-500\\/70{border-color:#865e3ab3}.border-brown-700{border-color:#5f330a}.border-navy-50{border-color:#e7e7fa}.border-navy-100{border-color:#b7b6f1}.border-navy-200{border-color:#8785e8}.border-navy-300{border-color:#5755df}.border-navy-500{border-color:#2724d6}.border-navy-500\\/20{border-color:#2724d633}.border-navy-500\\/40{border-color:#2724d666}.border-navy-500\\/70{border-color:#2724d6b3}.border-navy-700{border-color:#0000b8}.border-lime-50{border-color:#ecf6e7}.border-lime-100{border-color:#c5e3b6}.border-lime-200{border-color:#9ed186}.border-lime-300{border-color:#77bf56}.border-lime-500{border-color:#50ac25}.border-lime-500\\/20{border-color:#50ac2533}.border-lime-500\\/40{border-color:#50ac2566}.border-lime-500\\/70{border-color:#50ac25b3}.border-lime-700{border-color:#238900}.border-magenta-50{border-color:#fbe9f1}.border-magenta-100{border-color:#f4bed6}.border-magenta-200{border-color:#ed93bb}.border-magenta-300{border-color:#e668a0}.border-magenta-500{border-color:#df3d85}.border-magenta-500\\/20{border-color:#df3d8533}.border-magenta-500\\/40{border-color:#df3d8566}.border-magenta-500\\/70{border-color:#df3d85b3}.border-magenta-700{border-color:#c10d5d}.fill-white-50{fill:#fff}.fill-white-100{fill:#f7f7f7}.fill-white-200{fill:#eee}.fill-white-300{fill:#e5e5e5}.fill-white-500{fill:#dadada}.fill-white-500\\/20{fill:#dadada33}.fill-white-500\\/40{fill:#dadada66}.fill-white-500\\/70{fill:#dadadab3}.fill-white-700{fill:#ccc}.fill-black-50{fill:#aaa}.fill-black-100{fill:#919191}.fill-black-200{fill:#6c6c6c}.fill-black-300{fill:#424242}.fill-black-500{fill:#2f2f2f}.fill-black-500\\/20{fill:#2f2f2f33}.fill-black-500\\/40{fill:#2f2f2f66}.fill-black-500\\/70{fill:#2f2f2fb3}.fill-black-700{fill:#1d1d1d}.fill-blue-50{fill:#e9effd}.fill-blue-100{fill:#bed0f9}.fill-blue-200{fill:#92b1f5}.fill-blue-300{fill:#6692f1}.fill-blue-500{fill:#3b73ed}.fill-blue-500\\/20{fill:#3b73ed33}.fill-blue-500\\/40{fill:#3b73ed66}.fill-blue-500\\/70{fill:#3b73edb3}.fill-blue-700{fill:#0b49d1}.fill-blue-900{fill:#00179e}.fill-red-50{fill:#fbe9e9}.fill-red-100{fill:#f4bebe}.fill-red-200{fill:#ed9292}.fill-red-300{fill:#e66767}.fill-red-500{fill:#df3c3c}.fill-red-500\\/20{fill:#df3c3c33}.fill-red-500\\/40{fill:#df3c3c66}.fill-red-500\\/70{fill:#df3c3cb3}.fill-red-700{fill:#c20c0c}.fill-green-50{fill:#e7f4f3}.fill-green-100{fill:#b6dfdb}.fill-green-200{fill:#86c9c3}.fill-green-300{fill:#56b4ac}.fill-green-500{fill:#259f94}.fill-green-500\\/20{fill:#259f9433}.fill-green-500\\/40{fill:#259f9466}.fill-green-500\\/70{fill:#259f94b3}.fill-green-700{fill:#007a6e}.fill-yellow-50{fill:#fef4e8}.fill-yellow-100{fill:#fddeb9}.fill-yellow-200{fill:#fbc88b}.fill-yellow-300{fill:#fab15c}.fill-yellow-500{fill:#f89b2e}.fill-yellow-500\\/20{fill:#f89b2e33}.fill-yellow-500\\/40{fill:#f89b2e66}.fill-yellow-500\\/70{fill:#f89b2eb3}.fill-yellow-700{fill:#de7700}.fill-purple-50{fill:#f4ebfd}.fill-purple-100{fill:#dfc2f9}.fill-purple-200{fill:#c999f4}.fill-purple-300{fill:#b370f0}.fill-purple-500{fill:#9e47ec}.fill-purple-500\\/20{fill:#9e47ec33}.fill-purple-500\\/40{fill:#9e47ec66}.fill-purple-500\\/70{fill:#9e47ecb3}.fill-purple-700{fill:#7919d0}.fill-orange-50{fill:#ffefea}.fill-orange-100{fill:#ffcfc0}.fill-orange-200{fill:#ffb097}.fill-orange-300{fill:#ff906d}.fill-orange-500{fill:#ff7043}.fill-orange-500\\/20{fill:#ff704333}.fill-orange-500\\/40{fill:#ff704366}.fill-orange-500\\/70{fill:#ff7043b3}.fill-orange-700{fill:#e54715}.fill-azure-50{fill:#e5f7fc}.fill-azure-100{fill:#b2e6f7}.fill-azure-200{fill:#80d6f1}.fill-azure-300{fill:#4dc5eb}.fill-azure-500{fill:#1ab5e6}.fill-azure-500\\/20{fill:#1ab5e633}.fill-azure-500\\/40{fill:#1ab5e666}.fill-azure-500\\/70{fill:#1ab5e6b3}.fill-azure-700{fill:#0093c9}.fill-gold-50{fill:#faf3e6}.fill-gold-100{fill:#efdcb4}.fill-gold-200{fill:#e4c481}.fill-gold-300{fill:#daad4f}.fill-gold-500{fill:#cf961d}.fill-gold-500\\/20{fill:#cf961d33}.fill-gold-500\\/40{fill:#cf961d66}.fill-gold-500\\/70{fill:#cf961db3}.fill-gold-700{fill:#b07000}.fill-brown-50{fill:#f1ede9}.fill-brown-100{fill:#d6c9bd}.fill-brown-200{fill:#bca691}.fill-brown-300{fill:#a08266}.fill-brown-500{fill:#865e3a}.fill-brown-500\\/20{fill:#865e3a33}.fill-brown-500\\/40{fill:#865e3a66}.fill-brown-500\\/70{fill:#865e3ab3}.fill-brown-700{fill:#5f330a}.fill-navy-50{fill:#e7e7fa}.fill-navy-100{fill:#b7b6f1}.fill-navy-200{fill:#8785e8}.fill-navy-300{fill:#5755df}.fill-navy-500{fill:#2724d6}.fill-navy-500\\/20{fill:#2724d633}.fill-navy-500\\/40{fill:#2724d666}.fill-navy-500\\/70{fill:#2724d6b3}.fill-navy-700{fill:#0000b8}.fill-lime-50{fill:#ecf6e7}.fill-lime-100{fill:#c5e3b6}.fill-lime-200{fill:#9ed186}.fill-lime-300{fill:#77bf56}.fill-lime-500{fill:#50ac25}.fill-lime-500\\/20{fill:#50ac2533}.fill-lime-500\\/40{fill:#50ac2566}.fill-lime-500\\/70{fill:#50ac25b3}.fill-lime-700{fill:#238900}.fill-magenta-50{fill:#fbe9f1}.fill-magenta-100{fill:#f4bed6}.fill-magenta-200{fill:#ed93bb}.fill-magenta-300{fill:#e668a0}.fill-magenta-500{fill:#df3d85}.fill-magenta-500\\/20{fill:#df3d8533}.fill-magenta-500\\/40{fill:#df3d8566}.fill-magenta-500\\/70{fill:#df3d85b3}.fill-magenta-700{fill:#c10d5d}.stroke-white-50{stroke:#fff}.stroke-white-100{stroke:#f7f7f7}.stroke-white-200{stroke:#eee}.stroke-white-300{stroke:#e5e5e5}.stroke-white-500{stroke:#dadada}.stroke-white-500\\/20{stroke:#dadada33}.stroke-white-500\\/40{stroke:#dadada66}.stroke-white-500\\/70{stroke:#dadadab3}.stroke-white-700{stroke:#ccc}.stroke-black-50{stroke:#aaa}.stroke-black-100{stroke:#919191}.stroke-black-200{stroke:#6c6c6c}.stroke-black-300{stroke:#424242}.stroke-black-500{stroke:#2f2f2f}.stroke-black-500\\/20{stroke:#2f2f2f33}.stroke-black-500\\/40{stroke:#2f2f2f66}.stroke-black-500\\/70{stroke:#2f2f2fb3}.stroke-black-700{stroke:#1d1d1d}.stroke-blue-50{stroke:#e9effd}.stroke-blue-100{stroke:#bed0f9}.stroke-blue-200{stroke:#92b1f5}.stroke-blue-300{stroke:#6692f1}.stroke-blue-500{stroke:#3b73ed}.stroke-blue-500\\/20{stroke:#3b73ed33}.stroke-blue-500\\/40{stroke:#3b73ed66}.stroke-blue-500\\/70{stroke:#3b73edb3}.stroke-blue-700{stroke:#0b49d1}.stroke-blue-900{stroke:#00179e}.stroke-red-50{stroke:#fbe9e9}.stroke-red-100{stroke:#f4bebe}.stroke-red-200{stroke:#ed9292}.stroke-red-300{stroke:#e66767}.stroke-red-500{stroke:#df3c3c}.stroke-red-500\\/20{stroke:#df3c3c33}.stroke-red-500\\/40{stroke:#df3c3c66}.stroke-red-500\\/70{stroke:#df3c3cb3}.stroke-red-700{stroke:#c20c0c}.stroke-green-50{stroke:#e7f4f3}.stroke-green-100{stroke:#b6dfdb}.stroke-green-200{stroke:#86c9c3}.stroke-green-300{stroke:#56b4ac}.stroke-green-500{stroke:#259f94}.stroke-green-500\\/20{stroke:#259f9433}.stroke-green-500\\/40{stroke:#259f9466}.stroke-green-500\\/70{stroke:#259f94b3}.stroke-green-700{stroke:#007a6e}.stroke-yellow-50{stroke:#fef4e8}.stroke-yellow-100{stroke:#fddeb9}.stroke-yellow-200{stroke:#fbc88b}.stroke-yellow-300{stroke:#fab15c}.stroke-yellow-500{stroke:#f89b2e}.stroke-yellow-500\\/20{stroke:#f89b2e33}.stroke-yellow-500\\/40{stroke:#f89b2e66}.stroke-yellow-500\\/70{stroke:#f89b2eb3}.stroke-yellow-700{stroke:#de7700}.stroke-purple-50{stroke:#f4ebfd}.stroke-purple-100{stroke:#dfc2f9}.stroke-purple-200{stroke:#c999f4}.stroke-purple-300{stroke:#b370f0}.stroke-purple-500{stroke:#9e47ec}.stroke-purple-500\\/20{stroke:#9e47ec33}.stroke-purple-500\\/40{stroke:#9e47ec66}.stroke-purple-500\\/70{stroke:#9e47ecb3}.stroke-purple-700{stroke:#7919d0}.stroke-orange-50{stroke:#ffefea}.stroke-orange-100{stroke:#ffcfc0}.stroke-orange-200{stroke:#ffb097}.stroke-orange-300{stroke:#ff906d}.stroke-orange-500{stroke:#ff7043}.stroke-orange-500\\/20{stroke:#ff704333}.stroke-orange-500\\/40{stroke:#ff704366}.stroke-orange-500\\/70{stroke:#ff7043b3}.stroke-orange-700{stroke:#e54715}.stroke-azure-50{stroke:#e5f7fc}.stroke-azure-100{stroke:#b2e6f7}.stroke-azure-200{stroke:#80d6f1}.stroke-azure-300{stroke:#4dc5eb}.stroke-azure-500{stroke:#1ab5e6}.stroke-azure-500\\/20{stroke:#1ab5e633}.stroke-azure-500\\/40{stroke:#1ab5e666}.stroke-azure-500\\/70{stroke:#1ab5e6b3}.stroke-azure-700{stroke:#0093c9}.stroke-gold-50{stroke:#faf3e6}.stroke-gold-100{stroke:#efdcb4}.stroke-gold-200{stroke:#e4c481}.stroke-gold-300{stroke:#daad4f}.stroke-gold-500{stroke:#cf961d}.stroke-gold-500\\/20{stroke:#cf961d33}.stroke-gold-500\\/40{stroke:#cf961d66}.stroke-gold-500\\/70{stroke:#cf961db3}.stroke-gold-700{stroke:#b07000}.stroke-brown-50{stroke:#f1ede9}.stroke-brown-100{stroke:#d6c9bd}.stroke-brown-200{stroke:#bca691}.stroke-brown-300{stroke:#a08266}.stroke-brown-500{stroke:#865e3a}.stroke-brown-500\\/20{stroke:#865e3a33}.stroke-brown-500\\/40{stroke:#865e3a66}.stroke-brown-500\\/70{stroke:#865e3ab3}.stroke-brown-700{stroke:#5f330a}.stroke-navy-50{stroke:#e7e7fa}.stroke-navy-100{stroke:#b7b6f1}.stroke-navy-200{stroke:#8785e8}.stroke-navy-300{stroke:#5755df}.stroke-navy-500{stroke:#2724d6}.stroke-navy-500\\/20{stroke:#2724d633}.stroke-navy-500\\/40{stroke:#2724d666}.stroke-navy-500\\/70{stroke:#2724d6b3}.stroke-navy-700{stroke:#0000b8}.stroke-lime-50{stroke:#ecf6e7}.stroke-lime-100{stroke:#c5e3b6}.stroke-lime-200{stroke:#9ed186}.stroke-lime-300{stroke:#77bf56}.stroke-lime-500{stroke:#50ac25}.stroke-lime-500\\/20{stroke:#50ac2533}.stroke-lime-500\\/40{stroke:#50ac2566}.stroke-lime-500\\/70{stroke:#50ac25b3}.stroke-lime-700{stroke:#238900}.stroke-magenta-50{stroke:#fbe9f1}.stroke-magenta-100{stroke:#f4bed6}.stroke-magenta-200{stroke:#ed93bb}.stroke-magenta-300{stroke:#e668a0}.stroke-magenta-500{stroke:#df3d85}.stroke-magenta-500\\/20{stroke:#df3d8533}.stroke-magenta-500\\/40{stroke:#df3d8566}.stroke-magenta-500\\/70{stroke:#df3d85b3}.stroke-magenta-700{stroke:#c10d5d}.hover\\:text-white-50:hover{color:#fff}.hover\\:text-white-100:hover{color:#f7f7f7}.hover\\:text-white-200:hover{color:#eee}.hover\\:text-white-300:hover{color:#e5e5e5}.hover\\:text-white-500:hover{color:#dadada}.hover\\:text-white-500:hover\\/20{color:#dadada33}.hover\\:text-white-500:hover\\/40{color:#dadada66}.hover\\:text-white-500:hover\\/70{color:#dadadab3}.hover\\:text-white-700:hover{color:#ccc}.hover\\:text-black-50:hover{color:#aaa}.hover\\:text-black-100:hover{color:#919191}.hover\\:text-black-200:hover{color:#6c6c6c}.hover\\:text-black-300:hover{color:#424242}.hover\\:text-black-500:hover{color:#2f2f2f}.hover\\:text-black-500:hover\\/20{color:#2f2f2f33}.hover\\:text-black-500:hover\\/40{color:#2f2f2f66}.hover\\:text-black-500:hover\\/70{color:#2f2f2fb3}.hover\\:text-black-700:hover{color:#1d1d1d}.hover\\:text-blue-50:hover{color:#e9effd}.hover\\:text-blue-100:hover{color:#bed0f9}.hover\\:text-blue-200:hover{color:#92b1f5}.hover\\:text-blue-300:hover{color:#6692f1}.hover\\:text-blue-500:hover{color:#3b73ed}.hover\\:text-blue-500:hover\\/20{color:#3b73ed33}.hover\\:text-blue-500:hover\\/40{color:#3b73ed66}.hover\\:text-blue-500:hover\\/70{color:#3b73edb3}.hover\\:text-blue-700:hover{color:#0b49d1}.hover\\:text-blue-900:hover{color:#00179e}.hover\\:text-red-50:hover{color:#fbe9e9}.hover\\:text-red-100:hover{color:#f4bebe}.hover\\:text-red-200:hover{color:#ed9292}.hover\\:text-red-300:hover{color:#e66767}.hover\\:text-red-500:hover{color:#df3c3c}.hover\\:text-red-500:hover\\/20{color:#df3c3c33}.hover\\:text-red-500:hover\\/40{color:#df3c3c66}.hover\\:text-red-500:hover\\/70{color:#df3c3cb3}.hover\\:text-red-700:hover{color:#c20c0c}.hover\\:text-green-50:hover{color:#e7f4f3}.hover\\:text-green-100:hover{color:#b6dfdb}.hover\\:text-green-200:hover{color:#86c9c3}.hover\\:text-green-300:hover{color:#56b4ac}.hover\\:text-green-500:hover{color:#259f94}.hover\\:text-green-500:hover\\/20{color:#259f9433}.hover\\:text-green-500:hover\\/40{color:#259f9466}.hover\\:text-green-500:hover\\/70{color:#259f94b3}.hover\\:text-green-700:hover{color:#007a6e}.hover\\:text-yellow-50:hover{color:#fef4e8}.hover\\:text-yellow-100:hover{color:#fddeb9}.hover\\:text-yellow-200:hover{color:#fbc88b}.hover\\:text-yellow-300:hover{color:#fab15c}.hover\\:text-yellow-500:hover{color:#f89b2e}.hover\\:text-yellow-500:hover\\/20{color:#f89b2e33}.hover\\:text-yellow-500:hover\\/40{color:#f89b2e66}.hover\\:text-yellow-500:hover\\/70{color:#f89b2eb3}.hover\\:text-yellow-700:hover{color:#de7700}.hover\\:text-purple-50:hover{color:#f4ebfd}.hover\\:text-purple-100:hover{color:#dfc2f9}.hover\\:text-purple-200:hover{color:#c999f4}.hover\\:text-purple-300:hover{color:#b370f0}.hover\\:text-purple-500:hover{color:#9e47ec}.hover\\:text-purple-500:hover\\/20{color:#9e47ec33}.hover\\:text-purple-500:hover\\/40{color:#9e47ec66}.hover\\:text-purple-500:hover\\/70{color:#9e47ecb3}.hover\\:text-purple-700:hover{color:#7919d0}.hover\\:text-orange-50:hover{color:#ffefea}.hover\\:text-orange-100:hover{color:#ffcfc0}.hover\\:text-orange-200:hover{color:#ffb097}.hover\\:text-orange-300:hover{color:#ff906d}.hover\\:text-orange-500:hover{color:#ff7043}.hover\\:text-orange-500:hover\\/20{color:#ff704333}.hover\\:text-orange-500:hover\\/40{color:#ff704366}.hover\\:text-orange-500:hover\\/70{color:#ff7043b3}.hover\\:text-orange-700:hover{color:#e54715}.hover\\:text-azure-50:hover{color:#e5f7fc}.hover\\:text-azure-100:hover{color:#b2e6f7}.hover\\:text-azure-200:hover{color:#80d6f1}.hover\\:text-azure-300:hover{color:#4dc5eb}.hover\\:text-azure-500:hover{color:#1ab5e6}.hover\\:text-azure-500:hover\\/20{color:#1ab5e633}.hover\\:text-azure-500:hover\\/40{color:#1ab5e666}.hover\\:text-azure-500:hover\\/70{color:#1ab5e6b3}.hover\\:text-azure-700:hover{color:#0093c9}.hover\\:text-gold-50:hover{color:#faf3e6}.hover\\:text-gold-100:hover{color:#efdcb4}.hover\\:text-gold-200:hover{color:#e4c481}.hover\\:text-gold-300:hover{color:#daad4f}.hover\\:text-gold-500:hover{color:#cf961d}.hover\\:text-gold-500:hover\\/20{color:#cf961d33}.hover\\:text-gold-500:hover\\/40{color:#cf961d66}.hover\\:text-gold-500:hover\\/70{color:#cf961db3}.hover\\:text-gold-700:hover{color:#b07000}.hover\\:text-brown-50:hover{color:#f1ede9}.hover\\:text-brown-100:hover{color:#d6c9bd}.hover\\:text-brown-200:hover{color:#bca691}.hover\\:text-brown-300:hover{color:#a08266}.hover\\:text-brown-500:hover{color:#865e3a}.hover\\:text-brown-500:hover\\/20{color:#865e3a33}.hover\\:text-brown-500:hover\\/40{color:#865e3a66}.hover\\:text-brown-500:hover\\/70{color:#865e3ab3}.hover\\:text-brown-700:hover{color:#5f330a}.hover\\:text-navy-50:hover{color:#e7e7fa}.hover\\:text-navy-100:hover{color:#b7b6f1}.hover\\:text-navy-200:hover{color:#8785e8}.hover\\:text-navy-300:hover{color:#5755df}.hover\\:text-navy-500:hover{color:#2724d6}.hover\\:text-navy-500:hover\\/20{color:#2724d633}.hover\\:text-navy-500:hover\\/40{color:#2724d666}.hover\\:text-navy-500:hover\\/70{color:#2724d6b3}.hover\\:text-navy-700:hover{color:#0000b8}.hover\\:text-lime-50:hover{color:#ecf6e7}.hover\\:text-lime-100:hover{color:#c5e3b6}.hover\\:text-lime-200:hover{color:#9ed186}.hover\\:text-lime-300:hover{color:#77bf56}.hover\\:text-lime-500:hover{color:#50ac25}.hover\\:text-lime-500:hover\\/20{color:#50ac2533}.hover\\:text-lime-500:hover\\/40{color:#50ac2566}.hover\\:text-lime-500:hover\\/70{color:#50ac25b3}.hover\\:text-lime-700:hover{color:#238900}.hover\\:text-magenta-50:hover{color:#fbe9f1}.hover\\:text-magenta-100:hover{color:#f4bed6}.hover\\:text-magenta-200:hover{color:#ed93bb}.hover\\:text-magenta-300:hover{color:#e668a0}.hover\\:text-magenta-500:hover{color:#df3d85}.hover\\:text-magenta-500:hover\\/20{color:#df3d8533}.hover\\:text-magenta-500:hover\\/40{color:#df3d8566}.hover\\:text-magenta-500:hover\\/70{color:#df3d85b3}.hover\\:text-magenta-700:hover{color:#c10d5d}.hover\\:bg-white-50:hover{background-color:#fff}.hover\\:bg-white-100:hover{background-color:#f7f7f7}.hover\\:bg-white-200:hover{background-color:#eee}.hover\\:bg-white-300:hover{background-color:#e5e5e5}.hover\\:bg-white-500:hover{background-color:#dadada}.hover\\:bg-white-500:hover\\/20{background-color:#dadada33}.hover\\:bg-white-500:hover\\/40{background-color:#dadada66}.hover\\:bg-white-500:hover\\/70{background-color:#dadadab3}.hover\\:bg-white-700:hover{background-color:#ccc}.hover\\:bg-black-50:hover{background-color:#aaa}.hover\\:bg-black-100:hover{background-color:#919191}.hover\\:bg-black-200:hover{background-color:#6c6c6c}.hover\\:bg-black-300:hover{background-color:#424242}.hover\\:bg-black-500:hover{background-color:#2f2f2f}.hover\\:bg-black-500:hover\\/20{background-color:#2f2f2f33}.hover\\:bg-black-500:hover\\/40{background-color:#2f2f2f66}.hover\\:bg-black-500:hover\\/70{background-color:#2f2f2fb3}.hover\\:bg-black-700:hover{background-color:#1d1d1d}.hover\\:bg-blue-50:hover{background-color:#e9effd}.hover\\:bg-blue-100:hover{background-color:#bed0f9}.hover\\:bg-blue-200:hover{background-color:#92b1f5}.hover\\:bg-blue-300:hover{background-color:#6692f1}.hover\\:bg-blue-500:hover{background-color:#3b73ed}.hover\\:bg-blue-500:hover\\/20{background-color:#3b73ed33}.hover\\:bg-blue-500:hover\\/40{background-color:#3b73ed66}.hover\\:bg-blue-500:hover\\/70{background-color:#3b73edb3}.hover\\:bg-blue-700:hover{background-color:#0b49d1}.hover\\:bg-blue-900:hover{background-color:#00179e}.hover\\:bg-red-50:hover{background-color:#fbe9e9}.hover\\:bg-red-100:hover{background-color:#f4bebe}.hover\\:bg-red-200:hover{background-color:#ed9292}.hover\\:bg-red-300:hover{background-color:#e66767}.hover\\:bg-red-500:hover{background-color:#df3c3c}.hover\\:bg-red-500:hover\\/20{background-color:#df3c3c33}.hover\\:bg-red-500:hover\\/40{background-color:#df3c3c66}.hover\\:bg-red-500:hover\\/70{background-color:#df3c3cb3}.hover\\:bg-red-700:hover{background-color:#c20c0c}.hover\\:bg-green-50:hover{background-color:#e7f4f3}.hover\\:bg-green-100:hover{background-color:#b6dfdb}.hover\\:bg-green-200:hover{background-color:#86c9c3}.hover\\:bg-green-300:hover{background-color:#56b4ac}.hover\\:bg-green-500:hover{background-color:#259f94}.hover\\:bg-green-500:hover\\/20{background-color:#259f9433}.hover\\:bg-green-500:hover\\/40{background-color:#259f9466}.hover\\:bg-green-500:hover\\/70{background-color:#259f94b3}.hover\\:bg-green-700:hover{background-color:#007a6e}.hover\\:bg-yellow-50:hover{background-color:#fef4e8}.hover\\:bg-yellow-100:hover{background-color:#fddeb9}.hover\\:bg-yellow-200:hover{background-color:#fbc88b}.hover\\:bg-yellow-300:hover{background-color:#fab15c}.hover\\:bg-yellow-500:hover{background-color:#f89b2e}.hover\\:bg-yellow-500:hover\\/20{background-color:#f89b2e33}.hover\\:bg-yellow-500:hover\\/40{background-color:#f89b2e66}.hover\\:bg-yellow-500:hover\\/70{background-color:#f89b2eb3}.hover\\:bg-yellow-700:hover{background-color:#de7700}.hover\\:bg-purple-50:hover{background-color:#f4ebfd}.hover\\:bg-purple-100:hover{background-color:#dfc2f9}.hover\\:bg-purple-200:hover{background-color:#c999f4}.hover\\:bg-purple-300:hover{background-color:#b370f0}.hover\\:bg-purple-500:hover{background-color:#9e47ec}.hover\\:bg-purple-500:hover\\/20{background-color:#9e47ec33}.hover\\:bg-purple-500:hover\\/40{background-color:#9e47ec66}.hover\\:bg-purple-500:hover\\/70{background-color:#9e47ecb3}.hover\\:bg-purple-700:hover{background-color:#7919d0}.hover\\:bg-orange-50:hover{background-color:#ffefea}.hover\\:bg-orange-100:hover{background-color:#ffcfc0}.hover\\:bg-orange-200:hover{background-color:#ffb097}.hover\\:bg-orange-300:hover{background-color:#ff906d}.hover\\:bg-orange-500:hover{background-color:#ff7043}.hover\\:bg-orange-500:hover\\/20{background-color:#ff704333}.hover\\:bg-orange-500:hover\\/40{background-color:#ff704366}.hover\\:bg-orange-500:hover\\/70{background-color:#ff7043b3}.hover\\:bg-orange-700:hover{background-color:#e54715}.hover\\:bg-azure-50:hover{background-color:#e5f7fc}.hover\\:bg-azure-100:hover{background-color:#b2e6f7}.hover\\:bg-azure-200:hover{background-color:#80d6f1}.hover\\:bg-azure-300:hover{background-color:#4dc5eb}.hover\\:bg-azure-500:hover{background-color:#1ab5e6}.hover\\:bg-azure-500:hover\\/20{background-color:#1ab5e633}.hover\\:bg-azure-500:hover\\/40{background-color:#1ab5e666}.hover\\:bg-azure-500:hover\\/70{background-color:#1ab5e6b3}.hover\\:bg-azure-700:hover{background-color:#0093c9}.hover\\:bg-gold-50:hover{background-color:#faf3e6}.hover\\:bg-gold-100:hover{background-color:#efdcb4}.hover\\:bg-gold-200:hover{background-color:#e4c481}.hover\\:bg-gold-300:hover{background-color:#daad4f}.hover\\:bg-gold-500:hover{background-color:#cf961d}.hover\\:bg-gold-500:hover\\/20{background-color:#cf961d33}.hover\\:bg-gold-500:hover\\/40{background-color:#cf961d66}.hover\\:bg-gold-500:hover\\/70{background-color:#cf961db3}.hover\\:bg-gold-700:hover{background-color:#b07000}.hover\\:bg-brown-50:hover{background-color:#f1ede9}.hover\\:bg-brown-100:hover{background-color:#d6c9bd}.hover\\:bg-brown-200:hover{background-color:#bca691}.hover\\:bg-brown-300:hover{background-color:#a08266}.hover\\:bg-brown-500:hover{background-color:#865e3a}.hover\\:bg-brown-500:hover\\/20{background-color:#865e3a33}.hover\\:bg-brown-500:hover\\/40{background-color:#865e3a66}.hover\\:bg-brown-500:hover\\/70{background-color:#865e3ab3}.hover\\:bg-brown-700:hover{background-color:#5f330a}.hover\\:bg-navy-50:hover{background-color:#e7e7fa}.hover\\:bg-navy-100:hover{background-color:#b7b6f1}.hover\\:bg-navy-200:hover{background-color:#8785e8}.hover\\:bg-navy-300:hover{background-color:#5755df}.hover\\:bg-navy-500:hover{background-color:#2724d6}.hover\\:bg-navy-500:hover\\/20{background-color:#2724d633}.hover\\:bg-navy-500:hover\\/40{background-color:#2724d666}.hover\\:bg-navy-500:hover\\/70{background-color:#2724d6b3}.hover\\:bg-navy-700:hover{background-color:#0000b8}.hover\\:bg-lime-50:hover{background-color:#ecf6e7}.hover\\:bg-lime-100:hover{background-color:#c5e3b6}.hover\\:bg-lime-200:hover{background-color:#9ed186}.hover\\:bg-lime-300:hover{background-color:#77bf56}.hover\\:bg-lime-500:hover{background-color:#50ac25}.hover\\:bg-lime-500:hover\\/20{background-color:#50ac2533}.hover\\:bg-lime-500:hover\\/40{background-color:#50ac2566}.hover\\:bg-lime-500:hover\\/70{background-color:#50ac25b3}.hover\\:bg-lime-700:hover{background-color:#238900}.hover\\:bg-magenta-50:hover{background-color:#fbe9f1}.hover\\:bg-magenta-100:hover{background-color:#f4bed6}.hover\\:bg-magenta-200:hover{background-color:#ed93bb}.hover\\:bg-magenta-300:hover{background-color:#e668a0}.hover\\:bg-magenta-500:hover{background-color:#df3d85}.hover\\:bg-magenta-500:hover\\/20{background-color:#df3d8533}.hover\\:bg-magenta-500:hover\\/40{background-color:#df3d8566}.hover\\:bg-magenta-500:hover\\/70{background-color:#df3d85b3}.hover\\:bg-magenta-700:hover{background-color:#c10d5d}.focus\\:text-white-50:focus-visible{color:#fff}.focus\\:text-white-100:focus-visible{color:#f7f7f7}.focus\\:text-white-200:focus-visible{color:#eee}.focus\\:text-white-300:focus-visible{color:#e5e5e5}.focus\\:text-white-500:focus-visible{color:#dadada}.focus\\:text-white-500:focus-visible\\/20{color:#dadada33}.focus\\:text-white-500:focus-visible\\/40{color:#dadada66}.focus\\:text-white-500:focus-visible\\/70{color:#dadadab3}.focus\\:text-white-700:focus-visible{color:#ccc}.focus\\:text-black-50:focus-visible{color:#aaa}.focus\\:text-black-100:focus-visible{color:#919191}.focus\\:text-black-200:focus-visible{color:#6c6c6c}.focus\\:text-black-300:focus-visible{color:#424242}.focus\\:text-black-500:focus-visible{color:#2f2f2f}.focus\\:text-black-500:focus-visible\\/20{color:#2f2f2f33}.focus\\:text-black-500:focus-visible\\/40{color:#2f2f2f66}.focus\\:text-black-500:focus-visible\\/70{color:#2f2f2fb3}.focus\\:text-black-700:focus-visible{color:#1d1d1d}.focus\\:text-blue-50:focus-visible{color:#e9effd}.focus\\:text-blue-100:focus-visible{color:#bed0f9}.focus\\:text-blue-200:focus-visible{color:#92b1f5}.focus\\:text-blue-300:focus-visible{color:#6692f1}.focus\\:text-blue-500:focus-visible{color:#3b73ed}.focus\\:text-blue-500:focus-visible\\/20{color:#3b73ed33}.focus\\:text-blue-500:focus-visible\\/40{color:#3b73ed66}.focus\\:text-blue-500:focus-visible\\/70{color:#3b73edb3}.focus\\:text-blue-700:focus-visible{color:#0b49d1}.focus\\:text-blue-900:focus-visible{color:#00179e}.focus\\:text-red-50:focus-visible{color:#fbe9e9}.focus\\:text-red-100:focus-visible{color:#f4bebe}.focus\\:text-red-200:focus-visible{color:#ed9292}.focus\\:text-red-300:focus-visible{color:#e66767}.focus\\:text-red-500:focus-visible{color:#df3c3c}.focus\\:text-red-500:focus-visible\\/20{color:#df3c3c33}.focus\\:text-red-500:focus-visible\\/40{color:#df3c3c66}.focus\\:text-red-500:focus-visible\\/70{color:#df3c3cb3}.focus\\:text-red-700:focus-visible{color:#c20c0c}.focus\\:text-green-50:focus-visible{color:#e7f4f3}.focus\\:text-green-100:focus-visible{color:#b6dfdb}.focus\\:text-green-200:focus-visible{color:#86c9c3}.focus\\:text-green-300:focus-visible{color:#56b4ac}.focus\\:text-green-500:focus-visible{color:#259f94}.focus\\:text-green-500:focus-visible\\/20{color:#259f9433}.focus\\:text-green-500:focus-visible\\/40{color:#259f9466}.focus\\:text-green-500:focus-visible\\/70{color:#259f94b3}.focus\\:text-green-700:focus-visible{color:#007a6e}.focus\\:text-yellow-50:focus-visible{color:#fef4e8}.focus\\:text-yellow-100:focus-visible{color:#fddeb9}.focus\\:text-yellow-200:focus-visible{color:#fbc88b}.focus\\:text-yellow-300:focus-visible{color:#fab15c}.focus\\:text-yellow-500:focus-visible{color:#f89b2e}.focus\\:text-yellow-500:focus-visible\\/20{color:#f89b2e33}.focus\\:text-yellow-500:focus-visible\\/40{color:#f89b2e66}.focus\\:text-yellow-500:focus-visible\\/70{color:#f89b2eb3}.focus\\:text-yellow-700:focus-visible{color:#de7700}.focus\\:text-purple-50:focus-visible{color:#f4ebfd}.focus\\:text-purple-100:focus-visible{color:#dfc2f9}.focus\\:text-purple-200:focus-visible{color:#c999f4}.focus\\:text-purple-300:focus-visible{color:#b370f0}.focus\\:text-purple-500:focus-visible{color:#9e47ec}.focus\\:text-purple-500:focus-visible\\/20{color:#9e47ec33}.focus\\:text-purple-500:focus-visible\\/40{color:#9e47ec66}.focus\\:text-purple-500:focus-visible\\/70{color:#9e47ecb3}.focus\\:text-purple-700:focus-visible{color:#7919d0}.focus\\:text-orange-50:focus-visible{color:#ffefea}.focus\\:text-orange-100:focus-visible{color:#ffcfc0}.focus\\:text-orange-200:focus-visible{color:#ffb097}.focus\\:text-orange-300:focus-visible{color:#ff906d}.focus\\:text-orange-500:focus-visible{color:#ff7043}.focus\\:text-orange-500:focus-visible\\/20{color:#ff704333}.focus\\:text-orange-500:focus-visible\\/40{color:#ff704366}.focus\\:text-orange-500:focus-visible\\/70{color:#ff7043b3}.focus\\:text-orange-700:focus-visible{color:#e54715}.focus\\:text-azure-50:focus-visible{color:#e5f7fc}.focus\\:text-azure-100:focus-visible{color:#b2e6f7}.focus\\:text-azure-200:focus-visible{color:#80d6f1}.focus\\:text-azure-300:focus-visible{color:#4dc5eb}.focus\\:text-azure-500:focus-visible{color:#1ab5e6}.focus\\:text-azure-500:focus-visible\\/20{color:#1ab5e633}.focus\\:text-azure-500:focus-visible\\/40{color:#1ab5e666}.focus\\:text-azure-500:focus-visible\\/70{color:#1ab5e6b3}.focus\\:text-azure-700:focus-visible{color:#0093c9}.focus\\:text-gold-50:focus-visible{color:#faf3e6}.focus\\:text-gold-100:focus-visible{color:#efdcb4}.focus\\:text-gold-200:focus-visible{color:#e4c481}.focus\\:text-gold-300:focus-visible{color:#daad4f}.focus\\:text-gold-500:focus-visible{color:#cf961d}.focus\\:text-gold-500:focus-visible\\/20{color:#cf961d33}.focus\\:text-gold-500:focus-visible\\/40{color:#cf961d66}.focus\\:text-gold-500:focus-visible\\/70{color:#cf961db3}.focus\\:text-gold-700:focus-visible{color:#b07000}.focus\\:text-brown-50:focus-visible{color:#f1ede9}.focus\\:text-brown-100:focus-visible{color:#d6c9bd}.focus\\:text-brown-200:focus-visible{color:#bca691}.focus\\:text-brown-300:focus-visible{color:#a08266}.focus\\:text-brown-500:focus-visible{color:#865e3a}.focus\\:text-brown-500:focus-visible\\/20{color:#865e3a33}.focus\\:text-brown-500:focus-visible\\/40{color:#865e3a66}.focus\\:text-brown-500:focus-visible\\/70{color:#865e3ab3}.focus\\:text-brown-700:focus-visible{color:#5f330a}.focus\\:text-navy-50:focus-visible{color:#e7e7fa}.focus\\:text-navy-100:focus-visible{color:#b7b6f1}.focus\\:text-navy-200:focus-visible{color:#8785e8}.focus\\:text-navy-300:focus-visible{color:#5755df}.focus\\:text-navy-500:focus-visible{color:#2724d6}.focus\\:text-navy-500:focus-visible\\/20{color:#2724d633}.focus\\:text-navy-500:focus-visible\\/40{color:#2724d666}.focus\\:text-navy-500:focus-visible\\/70{color:#2724d6b3}.focus\\:text-navy-700:focus-visible{color:#0000b8}.focus\\:text-lime-50:focus-visible{color:#ecf6e7}.focus\\:text-lime-100:focus-visible{color:#c5e3b6}.focus\\:text-lime-200:focus-visible{color:#9ed186}.focus\\:text-lime-300:focus-visible{color:#77bf56}.focus\\:text-lime-500:focus-visible{color:#50ac25}.focus\\:text-lime-500:focus-visible\\/20{color:#50ac2533}.focus\\:text-lime-500:focus-visible\\/40{color:#50ac2566}.focus\\:text-lime-500:focus-visible\\/70{color:#50ac25b3}.focus\\:text-lime-700:focus-visible{color:#238900}.focus\\:text-magenta-50:focus-visible{color:#fbe9f1}.focus\\:text-magenta-100:focus-visible{color:#f4bed6}.focus\\:text-magenta-200:focus-visible{color:#ed93bb}.focus\\:text-magenta-300:focus-visible{color:#e668a0}.focus\\:text-magenta-500:focus-visible{color:#df3d85}.focus\\:text-magenta-500:focus-visible\\/20{color:#df3d8533}.focus\\:text-magenta-500:focus-visible\\/40{color:#df3d8566}.focus\\:text-magenta-500:focus-visible\\/70{color:#df3d85b3}.focus\\:text-magenta-700:focus-visible{color:#c10d5d}.focus\\:bg-white-50:focus-visible{background-color:#fff}.focus\\:bg-white-100:focus-visible{background-color:#f7f7f7}.focus\\:bg-white-200:focus-visible{background-color:#eee}.focus\\:bg-white-300:focus-visible{background-color:#e5e5e5}.focus\\:bg-white-500:focus-visible{background-color:#dadada}.focus\\:bg-white-500:focus-visible\\/20{background-color:#dadada33}.focus\\:bg-white-500:focus-visible\\/40{background-color:#dadada66}.focus\\:bg-white-500:focus-visible\\/70{background-color:#dadadab3}.focus\\:bg-white-700:focus-visible{background-color:#ccc}.focus\\:bg-black-50:focus-visible{background-color:#aaa}.focus\\:bg-black-100:focus-visible{background-color:#919191}.focus\\:bg-black-200:focus-visible{background-color:#6c6c6c}.focus\\:bg-black-300:focus-visible{background-color:#424242}.focus\\:bg-black-500:focus-visible{background-color:#2f2f2f}.focus\\:bg-black-500:focus-visible\\/20{background-color:#2f2f2f33}.focus\\:bg-black-500:focus-visible\\/40{background-color:#2f2f2f66}.focus\\:bg-black-500:focus-visible\\/70{background-color:#2f2f2fb3}.focus\\:bg-black-700:focus-visible{background-color:#1d1d1d}.focus\\:bg-blue-50:focus-visible{background-color:#e9effd}.focus\\:bg-blue-100:focus-visible{background-color:#bed0f9}.focus\\:bg-blue-200:focus-visible{background-color:#92b1f5}.focus\\:bg-blue-300:focus-visible{background-color:#6692f1}.focus\\:bg-blue-500:focus-visible{background-color:#3b73ed}.focus\\:bg-blue-500:focus-visible\\/20{background-color:#3b73ed33}.focus\\:bg-blue-500:focus-visible\\/40{background-color:#3b73ed66}.focus\\:bg-blue-500:focus-visible\\/70{background-color:#3b73edb3}.focus\\:bg-blue-700:focus-visible{background-color:#0b49d1}.focus\\:bg-blue-900:focus-visible{background-color:#00179e}.focus\\:bg-red-50:focus-visible{background-color:#fbe9e9}.focus\\:bg-red-100:focus-visible{background-color:#f4bebe}.focus\\:bg-red-200:focus-visible{background-color:#ed9292}.focus\\:bg-red-300:focus-visible{background-color:#e66767}.focus\\:bg-red-500:focus-visible{background-color:#df3c3c}.focus\\:bg-red-500:focus-visible\\/20{background-color:#df3c3c33}.focus\\:bg-red-500:focus-visible\\/40{background-color:#df3c3c66}.focus\\:bg-red-500:focus-visible\\/70{background-color:#df3c3cb3}.focus\\:bg-red-700:focus-visible{background-color:#c20c0c}.focus\\:bg-green-50:focus-visible{background-color:#e7f4f3}.focus\\:bg-green-100:focus-visible{background-color:#b6dfdb}.focus\\:bg-green-200:focus-visible{background-color:#86c9c3}.focus\\:bg-green-300:focus-visible{background-color:#56b4ac}.focus\\:bg-green-500:focus-visible{background-color:#259f94}.focus\\:bg-green-500:focus-visible\\/20{background-color:#259f9433}.focus\\:bg-green-500:focus-visible\\/40{background-color:#259f9466}.focus\\:bg-green-500:focus-visible\\/70{background-color:#259f94b3}.focus\\:bg-green-700:focus-visible{background-color:#007a6e}.focus\\:bg-yellow-50:focus-visible{background-color:#fef4e8}.focus\\:bg-yellow-100:focus-visible{background-color:#fddeb9}.focus\\:bg-yellow-200:focus-visible{background-color:#fbc88b}.focus\\:bg-yellow-300:focus-visible{background-color:#fab15c}.focus\\:bg-yellow-500:focus-visible{background-color:#f89b2e}.focus\\:bg-yellow-500:focus-visible\\/20{background-color:#f89b2e33}.focus\\:bg-yellow-500:focus-visible\\/40{background-color:#f89b2e66}.focus\\:bg-yellow-500:focus-visible\\/70{background-color:#f89b2eb3}.focus\\:bg-yellow-700:focus-visible{background-color:#de7700}.focus\\:bg-purple-50:focus-visible{background-color:#f4ebfd}.focus\\:bg-purple-100:focus-visible{background-color:#dfc2f9}.focus\\:bg-purple-200:focus-visible{background-color:#c999f4}.focus\\:bg-purple-300:focus-visible{background-color:#b370f0}.focus\\:bg-purple-500:focus-visible{background-color:#9e47ec}.focus\\:bg-purple-500:focus-visible\\/20{background-color:#9e47ec33}.focus\\:bg-purple-500:focus-visible\\/40{background-color:#9e47ec66}.focus\\:bg-purple-500:focus-visible\\/70{background-color:#9e47ecb3}.focus\\:bg-purple-700:focus-visible{background-color:#7919d0}.focus\\:bg-orange-50:focus-visible{background-color:#ffefea}.focus\\:bg-orange-100:focus-visible{background-color:#ffcfc0}.focus\\:bg-orange-200:focus-visible{background-color:#ffb097}.focus\\:bg-orange-300:focus-visible{background-color:#ff906d}.focus\\:bg-orange-500:focus-visible{background-color:#ff7043}.focus\\:bg-orange-500:focus-visible\\/20{background-color:#ff704333}.focus\\:bg-orange-500:focus-visible\\/40{background-color:#ff704366}.focus\\:bg-orange-500:focus-visible\\/70{background-color:#ff7043b3}.focus\\:bg-orange-700:focus-visible{background-color:#e54715}.focus\\:bg-azure-50:focus-visible{background-color:#e5f7fc}.focus\\:bg-azure-100:focus-visible{background-color:#b2e6f7}.focus\\:bg-azure-200:focus-visible{background-color:#80d6f1}.focus\\:bg-azure-300:focus-visible{background-color:#4dc5eb}.focus\\:bg-azure-500:focus-visible{background-color:#1ab5e6}.focus\\:bg-azure-500:focus-visible\\/20{background-color:#1ab5e633}.focus\\:bg-azure-500:focus-visible\\/40{background-color:#1ab5e666}.focus\\:bg-azure-500:focus-visible\\/70{background-color:#1ab5e6b3}.focus\\:bg-azure-700:focus-visible{background-color:#0093c9}.focus\\:bg-gold-50:focus-visible{background-color:#faf3e6}.focus\\:bg-gold-100:focus-visible{background-color:#efdcb4}.focus\\:bg-gold-200:focus-visible{background-color:#e4c481}.focus\\:bg-gold-300:focus-visible{background-color:#daad4f}.focus\\:bg-gold-500:focus-visible{background-color:#cf961d}.focus\\:bg-gold-500:focus-visible\\/20{background-color:#cf961d33}.focus\\:bg-gold-500:focus-visible\\/40{background-color:#cf961d66}.focus\\:bg-gold-500:focus-visible\\/70{background-color:#cf961db3}.focus\\:bg-gold-700:focus-visible{background-color:#b07000}.focus\\:bg-brown-50:focus-visible{background-color:#f1ede9}.focus\\:bg-brown-100:focus-visible{background-color:#d6c9bd}.focus\\:bg-brown-200:focus-visible{background-color:#bca691}.focus\\:bg-brown-300:focus-visible{background-color:#a08266}.focus\\:bg-brown-500:focus-visible{background-color:#865e3a}.focus\\:bg-brown-500:focus-visible\\/20{background-color:#865e3a33}.focus\\:bg-brown-500:focus-visible\\/40{background-color:#865e3a66}.focus\\:bg-brown-500:focus-visible\\/70{background-color:#865e3ab3}.focus\\:bg-brown-700:focus-visible{background-color:#5f330a}.focus\\:bg-navy-50:focus-visible{background-color:#e7e7fa}.focus\\:bg-navy-100:focus-visible{background-color:#b7b6f1}.focus\\:bg-navy-200:focus-visible{background-color:#8785e8}.focus\\:bg-navy-300:focus-visible{background-color:#5755df}.focus\\:bg-navy-500:focus-visible{background-color:#2724d6}.focus\\:bg-navy-500:focus-visible\\/20{background-color:#2724d633}.focus\\:bg-navy-500:focus-visible\\/40{background-color:#2724d666}.focus\\:bg-navy-500:focus-visible\\/70{background-color:#2724d6b3}.focus\\:bg-navy-700:focus-visible{background-color:#0000b8}.focus\\:bg-lime-50:focus-visible{background-color:#ecf6e7}.focus\\:bg-lime-100:focus-visible{background-color:#c5e3b6}.focus\\:bg-lime-200:focus-visible{background-color:#9ed186}.focus\\:bg-lime-300:focus-visible{background-color:#77bf56}.focus\\:bg-lime-500:focus-visible{background-color:#50ac25}.focus\\:bg-lime-500:focus-visible\\/20{background-color:#50ac2533}.focus\\:bg-lime-500:focus-visible\\/40{background-color:#50ac2566}.focus\\:bg-lime-500:focus-visible\\/70{background-color:#50ac25b3}.focus\\:bg-lime-700:focus-visible{background-color:#238900}.focus\\:bg-magenta-50:focus-visible{background-color:#fbe9f1}.focus\\:bg-magenta-100:focus-visible{background-color:#f4bed6}.focus\\:bg-magenta-200:focus-visible{background-color:#ed93bb}.focus\\:bg-magenta-300:focus-visible{background-color:#e668a0}.focus\\:bg-magenta-500:focus-visible{background-color:#df3d85}.focus\\:bg-magenta-500:focus-visible\\/20{background-color:#df3d8533}.focus\\:bg-magenta-500:focus-visible\\/40{background-color:#df3d8566}.focus\\:bg-magenta-500:focus-visible\\/70{background-color:#df3d85b3}.focus\\:bg-magenta-700:focus-visible{background-color:#c10d5d}.active\\:text-white-50:active{color:#fff}.active\\:text-white-100:active{color:#f7f7f7}.active\\:text-white-200:active{color:#eee}.active\\:text-white-300:active{color:#e5e5e5}.active\\:text-white-500:active{color:#dadada}.active\\:text-white-500:active\\/20{color:#dadada33}.active\\:text-white-500:active\\/40{color:#dadada66}.active\\:text-white-500:active\\/70{color:#dadadab3}.active\\:text-white-700:active{color:#ccc}.active\\:text-black-50:active{color:#aaa}.active\\:text-black-100:active{color:#919191}.active\\:text-black-200:active{color:#6c6c6c}.active\\:text-black-300:active{color:#424242}.active\\:text-black-500:active{color:#2f2f2f}.active\\:text-black-500:active\\/20{color:#2f2f2f33}.active\\:text-black-500:active\\/40{color:#2f2f2f66}.active\\:text-black-500:active\\/70{color:#2f2f2fb3}.active\\:text-black-700:active{color:#1d1d1d}.active\\:text-blue-50:active{color:#e9effd}.active\\:text-blue-100:active{color:#bed0f9}.active\\:text-blue-200:active{color:#92b1f5}.active\\:text-blue-300:active{color:#6692f1}.active\\:text-blue-500:active{color:#3b73ed}.active\\:text-blue-500:active\\/20{color:#3b73ed33}.active\\:text-blue-500:active\\/40{color:#3b73ed66}.active\\:text-blue-500:active\\/70{color:#3b73edb3}.active\\:text-blue-700:active{color:#0b49d1}.active\\:text-blue-900:active{color:#00179e}.active\\:text-red-50:active{color:#fbe9e9}.active\\:text-red-100:active{color:#f4bebe}.active\\:text-red-200:active{color:#ed9292}.active\\:text-red-300:active{color:#e66767}.active\\:text-red-500:active{color:#df3c3c}.active\\:text-red-500:active\\/20{color:#df3c3c33}.active\\:text-red-500:active\\/40{color:#df3c3c66}.active\\:text-red-500:active\\/70{color:#df3c3cb3}.active\\:text-red-700:active{color:#c20c0c}.active\\:text-green-50:active{color:#e7f4f3}.active\\:text-green-100:active{color:#b6dfdb}.active\\:text-green-200:active{color:#86c9c3}.active\\:text-green-300:active{color:#56b4ac}.active\\:text-green-500:active{color:#259f94}.active\\:text-green-500:active\\/20{color:#259f9433}.active\\:text-green-500:active\\/40{color:#259f9466}.active\\:text-green-500:active\\/70{color:#259f94b3}.active\\:text-green-700:active{color:#007a6e}.active\\:text-yellow-50:active{color:#fef4e8}.active\\:text-yellow-100:active{color:#fddeb9}.active\\:text-yellow-200:active{color:#fbc88b}.active\\:text-yellow-300:active{color:#fab15c}.active\\:text-yellow-500:active{color:#f89b2e}.active\\:text-yellow-500:active\\/20{color:#f89b2e33}.active\\:text-yellow-500:active\\/40{color:#f89b2e66}.active\\:text-yellow-500:active\\/70{color:#f89b2eb3}.active\\:text-yellow-700:active{color:#de7700}.active\\:text-purple-50:active{color:#f4ebfd}.active\\:text-purple-100:active{color:#dfc2f9}.active\\:text-purple-200:active{color:#c999f4}.active\\:text-purple-300:active{color:#b370f0}.active\\:text-purple-500:active{color:#9e47ec}.active\\:text-purple-500:active\\/20{color:#9e47ec33}.active\\:text-purple-500:active\\/40{color:#9e47ec66}.active\\:text-purple-500:active\\/70{color:#9e47ecb3}.active\\:text-purple-700:active{color:#7919d0}.active\\:text-orange-50:active{color:#ffefea}.active\\:text-orange-100:active{color:#ffcfc0}.active\\:text-orange-200:active{color:#ffb097}.active\\:text-orange-300:active{color:#ff906d}.active\\:text-orange-500:active{color:#ff7043}.active\\:text-orange-500:active\\/20{color:#ff704333}.active\\:text-orange-500:active\\/40{color:#ff704366}.active\\:text-orange-500:active\\/70{color:#ff7043b3}.active\\:text-orange-700:active{color:#e54715}.active\\:text-azure-50:active{color:#e5f7fc}.active\\:text-azure-100:active{color:#b2e6f7}.active\\:text-azure-200:active{color:#80d6f1}.active\\:text-azure-300:active{color:#4dc5eb}.active\\:text-azure-500:active{color:#1ab5e6}.active\\:text-azure-500:active\\/20{color:#1ab5e633}.active\\:text-azure-500:active\\/40{color:#1ab5e666}.active\\:text-azure-500:active\\/70{color:#1ab5e6b3}.active\\:text-azure-700:active{color:#0093c9}.active\\:text-gold-50:active{color:#faf3e6}.active\\:text-gold-100:active{color:#efdcb4}.active\\:text-gold-200:active{color:#e4c481}.active\\:text-gold-300:active{color:#daad4f}.active\\:text-gold-500:active{color:#cf961d}.active\\:text-gold-500:active\\/20{color:#cf961d33}.active\\:text-gold-500:active\\/40{color:#cf961d66}.active\\:text-gold-500:active\\/70{color:#cf961db3}.active\\:text-gold-700:active{color:#b07000}.active\\:text-brown-50:active{color:#f1ede9}.active\\:text-brown-100:active{color:#d6c9bd}.active\\:text-brown-200:active{color:#bca691}.active\\:text-brown-300:active{color:#a08266}.active\\:text-brown-500:active{color:#865e3a}.active\\:text-brown-500:active\\/20{color:#865e3a33}.active\\:text-brown-500:active\\/40{color:#865e3a66}.active\\:text-brown-500:active\\/70{color:#865e3ab3}.active\\:text-brown-700:active{color:#5f330a}.active\\:text-navy-50:active{color:#e7e7fa}.active\\:text-navy-100:active{color:#b7b6f1}.active\\:text-navy-200:active{color:#8785e8}.active\\:text-navy-300:active{color:#5755df}.active\\:text-navy-500:active{color:#2724d6}.active\\:text-navy-500:active\\/20{color:#2724d633}.active\\:text-navy-500:active\\/40{color:#2724d666}.active\\:text-navy-500:active\\/70{color:#2724d6b3}.active\\:text-navy-700:active{color:#0000b8}.active\\:text-lime-50:active{color:#ecf6e7}.active\\:text-lime-100:active{color:#c5e3b6}.active\\:text-lime-200:active{color:#9ed186}.active\\:text-lime-300:active{color:#77bf56}.active\\:text-lime-500:active{color:#50ac25}.active\\:text-lime-500:active\\/20{color:#50ac2533}.active\\:text-lime-500:active\\/40{color:#50ac2566}.active\\:text-lime-500:active\\/70{color:#50ac25b3}.active\\:text-lime-700:active{color:#238900}.active\\:text-magenta-50:active{color:#fbe9f1}.active\\:text-magenta-100:active{color:#f4bed6}.active\\:text-magenta-200:active{color:#ed93bb}.active\\:text-magenta-300:active{color:#e668a0}.active\\:text-magenta-500:active{color:#df3d85}.active\\:text-magenta-500:active\\/20{color:#df3d8533}.active\\:text-magenta-500:active\\/40{color:#df3d8566}.active\\:text-magenta-500:active\\/70{color:#df3d85b3}.active\\:text-magenta-700:active{color:#c10d5d}.active\\:bg-white-50:active{background-color:#fff}.active\\:bg-white-100:active{background-color:#f7f7f7}.active\\:bg-white-200:active{background-color:#eee}.active\\:bg-white-300:active{background-color:#e5e5e5}.active\\:bg-white-500:active{background-color:#dadada}.active\\:bg-white-500:active\\/20{background-color:#dadada33}.active\\:bg-white-500:active\\/40{background-color:#dadada66}.active\\:bg-white-500:active\\/70{background-color:#dadadab3}.active\\:bg-white-700:active{background-color:#ccc}.active\\:bg-black-50:active{background-color:#aaa}.active\\:bg-black-100:active{background-color:#919191}.active\\:bg-black-200:active{background-color:#6c6c6c}.active\\:bg-black-300:active{background-color:#424242}.active\\:bg-black-500:active{background-color:#2f2f2f}.active\\:bg-black-500:active\\/20{background-color:#2f2f2f33}.active\\:bg-black-500:active\\/40{background-color:#2f2f2f66}.active\\:bg-black-500:active\\/70{background-color:#2f2f2fb3}.active\\:bg-black-700:active{background-color:#1d1d1d}.active\\:bg-blue-50:active{background-color:#e9effd}.active\\:bg-blue-100:active{background-color:#bed0f9}.active\\:bg-blue-200:active{background-color:#92b1f5}.active\\:bg-blue-300:active{background-color:#6692f1}.active\\:bg-blue-500:active{background-color:#3b73ed}.active\\:bg-blue-500:active\\/20{background-color:#3b73ed33}.active\\:bg-blue-500:active\\/40{background-color:#3b73ed66}.active\\:bg-blue-500:active\\/70{background-color:#3b73edb3}.active\\:bg-blue-700:active{background-color:#0b49d1}.active\\:bg-blue-900:active{background-color:#00179e}.active\\:bg-red-50:active{background-color:#fbe9e9}.active\\:bg-red-100:active{background-color:#f4bebe}.active\\:bg-red-200:active{background-color:#ed9292}.active\\:bg-red-300:active{background-color:#e66767}.active\\:bg-red-500:active{background-color:#df3c3c}.active\\:bg-red-500:active\\/20{background-color:#df3c3c33}.active\\:bg-red-500:active\\/40{background-color:#df3c3c66}.active\\:bg-red-500:active\\/70{background-color:#df3c3cb3}.active\\:bg-red-700:active{background-color:#c20c0c}.active\\:bg-green-50:active{background-color:#e7f4f3}.active\\:bg-green-100:active{background-color:#b6dfdb}.active\\:bg-green-200:active{background-color:#86c9c3}.active\\:bg-green-300:active{background-color:#56b4ac}.active\\:bg-green-500:active{background-color:#259f94}.active\\:bg-green-500:active\\/20{background-color:#259f9433}.active\\:bg-green-500:active\\/40{background-color:#259f9466}.active\\:bg-green-500:active\\/70{background-color:#259f94b3}.active\\:bg-green-700:active{background-color:#007a6e}.active\\:bg-yellow-50:active{background-color:#fef4e8}.active\\:bg-yellow-100:active{background-color:#fddeb9}.active\\:bg-yellow-200:active{background-color:#fbc88b}.active\\:bg-yellow-300:active{background-color:#fab15c}.active\\:bg-yellow-500:active{background-color:#f89b2e}.active\\:bg-yellow-500:active\\/20{background-color:#f89b2e33}.active\\:bg-yellow-500:active\\/40{background-color:#f89b2e66}.active\\:bg-yellow-500:active\\/70{background-color:#f89b2eb3}.active\\:bg-yellow-700:active{background-color:#de7700}.active\\:bg-purple-50:active{background-color:#f4ebfd}.active\\:bg-purple-100:active{background-color:#dfc2f9}.active\\:bg-purple-200:active{background-color:#c999f4}.active\\:bg-purple-300:active{background-color:#b370f0}.active\\:bg-purple-500:active{background-color:#9e47ec}.active\\:bg-purple-500:active\\/20{background-color:#9e47ec33}.active\\:bg-purple-500:active\\/40{background-color:#9e47ec66}.active\\:bg-purple-500:active\\/70{background-color:#9e47ecb3}.active\\:bg-purple-700:active{background-color:#7919d0}.active\\:bg-orange-50:active{background-color:#ffefea}.active\\:bg-orange-100:active{background-color:#ffcfc0}.active\\:bg-orange-200:active{background-color:#ffb097}.active\\:bg-orange-300:active{background-color:#ff906d}.active\\:bg-orange-500:active{background-color:#ff7043}.active\\:bg-orange-500:active\\/20{background-color:#ff704333}.active\\:bg-orange-500:active\\/40{background-color:#ff704366}.active\\:bg-orange-500:active\\/70{background-color:#ff7043b3}.active\\:bg-orange-700:active{background-color:#e54715}.active\\:bg-azure-50:active{background-color:#e5f7fc}.active\\:bg-azure-100:active{background-color:#b2e6f7}.active\\:bg-azure-200:active{background-color:#80d6f1}.active\\:bg-azure-300:active{background-color:#4dc5eb}.active\\:bg-azure-500:active{background-color:#1ab5e6}.active\\:bg-azure-500:active\\/20{background-color:#1ab5e633}.active\\:bg-azure-500:active\\/40{background-color:#1ab5e666}.active\\:bg-azure-500:active\\/70{background-color:#1ab5e6b3}.active\\:bg-azure-700:active{background-color:#0093c9}.active\\:bg-gold-50:active{background-color:#faf3e6}.active\\:bg-gold-100:active{background-color:#efdcb4}.active\\:bg-gold-200:active{background-color:#e4c481}.active\\:bg-gold-300:active{background-color:#daad4f}.active\\:bg-gold-500:active{background-color:#cf961d}.active\\:bg-gold-500:active\\/20{background-color:#cf961d33}.active\\:bg-gold-500:active\\/40{background-color:#cf961d66}.active\\:bg-gold-500:active\\/70{background-color:#cf961db3}.active\\:bg-gold-700:active{background-color:#b07000}.active\\:bg-brown-50:active{background-color:#f1ede9}.active\\:bg-brown-100:active{background-color:#d6c9bd}.active\\:bg-brown-200:active{background-color:#bca691}.active\\:bg-brown-300:active{background-color:#a08266}.active\\:bg-brown-500:active{background-color:#865e3a}.active\\:bg-brown-500:active\\/20{background-color:#865e3a33}.active\\:bg-brown-500:active\\/40{background-color:#865e3a66}.active\\:bg-brown-500:active\\/70{background-color:#865e3ab3}.active\\:bg-brown-700:active{background-color:#5f330a}.active\\:bg-navy-50:active{background-color:#e7e7fa}.active\\:bg-navy-100:active{background-color:#b7b6f1}.active\\:bg-navy-200:active{background-color:#8785e8}.active\\:bg-navy-300:active{background-color:#5755df}.active\\:bg-navy-500:active{background-color:#2724d6}.active\\:bg-navy-500:active\\/20{background-color:#2724d633}.active\\:bg-navy-500:active\\/40{background-color:#2724d666}.active\\:bg-navy-500:active\\/70{background-color:#2724d6b3}.active\\:bg-navy-700:active{background-color:#0000b8}.active\\:bg-lime-50:active{background-color:#ecf6e7}.active\\:bg-lime-100:active{background-color:#c5e3b6}.active\\:bg-lime-200:active{background-color:#9ed186}.active\\:bg-lime-300:active{background-color:#77bf56}.active\\:bg-lime-500:active{background-color:#50ac25}.active\\:bg-lime-500:active\\/20{background-color:#50ac2533}.active\\:bg-lime-500:active\\/40{background-color:#50ac2566}.active\\:bg-lime-500:active\\/70{background-color:#50ac25b3}.active\\:bg-lime-700:active{background-color:#238900}.active\\:bg-magenta-50:active{background-color:#fbe9f1}.active\\:bg-magenta-100:active{background-color:#f4bed6}.active\\:bg-magenta-200:active{background-color:#ed93bb}.active\\:bg-magenta-300:active{background-color:#e668a0}.active\\:bg-magenta-500:active{background-color:#df3d85}.active\\:bg-magenta-500:active\\/20{background-color:#df3d8533}.active\\:bg-magenta-500:active\\/40{background-color:#df3d8566}.active\\:bg-magenta-500:active\\/70{background-color:#df3d85b3}.active\\:bg-magenta-700:active{background-color:#c10d5d}.transition{transition:all .2s ease-in-out}.disable-selection,.logo-container .logo-image,.cover-container .cover-image,.profile-rounded-image,.profile-square-image{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none}.drop-zone-container.has-logo{display:none}.largeContainer{position:relative;min-height:178px}.largeContainer .cropper-overlay{width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:1050;gap:4px;opacity:1;position:absolute}.largeContainer .cropper-overlay .img-cropper{height:178px!important}.largeContainer.hasCropper{min-height:212px;position:relative}.logo-container{position:absolute;top:0;left:0;width:616px;height:214px;overflow:hidden}.logo-container .logo-image{width:100%;height:100%;z-index:1000}.logoVar{height:214px}.logoVar.hasCropper{height:240px!important}.logoVar.hasCropper .drop-zone-container{display:none!important}.logoVar .drop-zone-container .drop-zone,.logoVar .drop-zone-container .drop-zone-error{height:204px}.logoVar .cropper-overlay{height:240px!important}.logoVar .cropper-overlay .img-cropper{height:206px!important}.cover-container{width:267px;height:178px}.cover-container .cover-image{width:100%;height:100%;object-fit:cover;display:block}.profile-rounded-image{width:178px;height:178px;object-fit:cover;display:block;border-radius:50%}.profile-square-image{width:160px;height:178px;object-fit:cover;display:block;border-radius:2px}.container.dragMode{position:fixed;position-anchor:--modal-body;left:anchor(left);top:anchor(top);height:anchor-size(--modal-body height)!important;width:anchor-size(--modal-body width)!important;display:flex;justify-content:center;align-items:center;gap:0;background-color:#fff!important}.container.dragMode .avatar,.container.dragMode .profile-container,.container.dragMode .logo-container,.container.dragMode .cover-container,.container.dragMode .docs{display:none}.container.dragMode .drop-zone-container{position:relative;width:100%;height:100%;flex:1 1 100%}.container.dragMode .drop-zone-container .drop-zone{flex-direction:column;height:100%;outline:none!important;margin:0!important;border:4px dashed #cccccc;border-color:#ccc}.container.dragMode .drop-zone-container .drop-zone .illustration,.container.dragMode .drop-zone-container .drop-zone svg{width:200px!important;height:200px!important;pointer-events:none!important}.container.dragMode .drop-zone-container .drop-zone .drag-icons-container{position:relative}.container.dragMode .drop-zone-container .drop-zone .drag-icons-container .drag-icon-document{width:80px!important;height:80px!important}.container.dragMode .drop-zone-container .drop-zone .drag-icons-container .drag-icon-document svg{width:80px!important;height:80px!important}.container.dragMode .drop-zone-container .drop-zone .drag-icons-container ng-lottie{width:200px;height:200px;display:block}.container.dragMode .drop-zone-container .drop-zone .drop-zone-focus-text{margin-top:32px}.container.dragMode .drop-zone-container .drop-zone .drop-zone-focus-text .heading{font-weight:700;font-size:14px;line-height:18px}.container.dragMode:hover .drop-zone{background-color:#fff!important}.container.dragMode.onDragover .drop-zone-container .drop-zone{border-color:#ccc}.container.dragMode.dual-drop-mode .drop-zone-container{--dual-drop-border: 4px;--dual-drop-border-overlap: calc(var(--dual-drop-border) / 2);position:relative;display:block;overflow:hidden}.container.dragMode.dual-drop-mode .drop-zone-container .dual-drop-zone-panel{position:absolute;top:0;bottom:0;margin:0!important;width:calc(50% + var(--dual-drop-border-overlap));opacity:1;transition:width .25s ease,opacity .25s ease,z-index 0s}.container.dragMode.dual-drop-mode .drop-zone-container .dual-drop-zone-panel .dual-drop-zone-title{position:absolute;top:10px;left:8px;margin:0;font-weight:800;font-size:18px;line-height:100%;letter-spacing:0}.container.dragMode.dual-drop-mode .drop-zone-container .dual-drop-zone-left{left:0;z-index:1}.container.dragMode.dual-drop-mode .drop-zone-container .dual-drop-zone-right{right:0;left:auto;z-index:1}.container.dragMode.dual-drop-mode .drop-zone-container .dual-drop-zone-panel .drop-zone-focus-text{text-align:center}.container.dragMode.dual-drop-mode .drop-zone-container .dual-drop-zone-panel .drop-zone-focus-text .description{margin:8px auto 0;max-width:158px;font-weight:400;font-size:11px;line-height:14px;text-align:center}.container.dragMode.dual-drop-mode.dual-drop-focus-left .drop-zone-container .dual-drop-zone-left{width:calc(60% + var(--dual-drop-border-overlap));opacity:1;z-index:2}.container.dragMode.dual-drop-mode.dual-drop-focus-left .drop-zone-container .dual-drop-zone-right{width:calc(40% + var(--dual-drop-border-overlap));opacity:.4;z-index:1}.container.dragMode.dual-drop-mode.dual-drop-focus-right .drop-zone-container .dual-drop-zone-right{width:calc(60% + var(--dual-drop-border-overlap));opacity:1;z-index:2}.container.dragMode.dual-drop-mode.dual-drop-focus-right .drop-zone-container .dual-drop-zone-left{width:calc(40% + var(--dual-drop-border-overlap));opacity:.4;z-index:1}.is-documents-mode .dragMode{height:120px!important}.dragModeDocuments .drop-zone-container .drop-zone{background-color:#fff!important}.dragModeDocuments .drop-zone-container .drop-zone .drop-zone-focus-text .heading{font-weight:700;font-size:14px;line-height:18px}.drop-zone-dimensions-lock{width:var(--drag-lock-width);height:var(--drag-lock-height)}.is-details-slider{width:100%!important;height:100%!important;overflow:hidden}.is-details-slider .sliders{display:flex;align-items:center;justify-content:center;gap:4px;min-height:6px!important;height:auto!important;width:100%!important;margin-bottom:6px!important;margin-top:12px!important;opacity:0;pointer-events:none;transition:opacity .3s ease-in-out}.is-details-slider .sliders .slider-item{width:12px;height:6px;border-radius:2px;background-color:#e5e5e5;transform-origin:center;cursor:pointer!important;transition:width .2s ease-in-out,background-color .2s ease-in-out}.is-details-slider .sliders .slider-item.active{width:20px;background-color:#919191}.is-details-slider .drop-zone-container{display:none!important}.is-details-slider .docs{width:100%!important;position:relative!important;overflow:hidden!important}.is-details-slider .docs .carousel-button{opacity:0!important;pointer-events:none!important;transition:opacity .3s ease-in-out!important}.is-details-slider .docs:hover .carousel-button{opacity:1!important;pointer-events:auto!important}.is-details-slider .docs:hover .carousel-button[disabled]{opacity:0!important;pointer-events:none!important}.is-details-slider .doc-container{display:flex!important;align-items:flex-start!important;height:auto!important;flex-shrink:0!important;gap:0!important;position:relative!important;transition:transform .3s ease-out}.is-details-slider .doc{flex:0 0 100%!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;display:flex!important;justify-content:center!important;background-color:transparent!important;flex-shrink:0!important;position:relative!important}.is-details-slider .doc.doc-hidden{height:0!important;max-height:0!important;min-height:0!important;overflow:hidden!important;opacity:0;pointer-events:none;visibility:hidden;margin:0!important;padding:0!important}.is-details-slider .doc.doc-visible{height:auto!important;opacity:1;visibility:visible}.is-details-slider .carousel-button{position:absolute!important;top:45%!important}.is-details-slider:hover .sliders{opacity:1;pointer-events:auto}.is-drawer-mode{width:100%!important;padding:4px!important;position:absolute!important;max-width:100%!important}.is-drawer-mode .drop-zone-container{display:none!important}.is-drawer-mode .skeleton-container.drawer-position{width:100%!important;position:relative!important;overflow:hidden!important;display:flex;align-items:center;gap:4px}.is-drawer-mode .skeleton-container.drawer-position .skeleton-item{width:194px;height:194px;flex:0 0 194px;border-radius:2px;padding:4px}.is-drawer-mode .skeleton-container.drawer-position .skeleton-item .skeleton-bar{width:100%;height:100%;background-color:#fff}.is-drawer-mode .docs{width:100%!important;position:relative!important;overflow:hidden!important}.is-drawer-mode .docs .doc-container{display:flex;width:auto!important;height:auto!important;gap:4px!important;transition:transform .3s ease-out}.is-drawer-mode .docs .doc-container .doc{width:194px!important;height:194px!important;flex:0 0 194px!important;background-color:transparent!important}.is-drawer-mode .carousel-button.carousel-right{right:4px!important;position:absolute!important}.is-drawer-mode .carousel-button.carousel-left{left:4px!important;position:absolute!important}.isCoverDetails{width:100%!important;height:100%!important}.isCoverDetails .drop-zone-container{display:none!important}.isCoverDetails .docs{width:100%!important}.isCoverDetails .docs .doc{flex:0 0 100%!important;width:100%!important;height:auto!important;display:block!important;background-color:transparent!important}.more-docs{width:148px;flex:0 0 148px}.more-docs .illustration{width:80px;height:80px}.more-docs .drop-zone{padding:22px 0;flex-direction:column}.more-docs .drop-zone-error,.more-docs .drop-zone-error .drop-zone-text{padding:0 12px}.small-more-docs{width:148px!important}.small-more-docs .illustration,.small-more-docs svg{width:80px!important;height:80px!important}.small-more-docs .drop-zone{padding:22px 0!important;flex-direction:column}.unsupported .drop-zone-error{display:flex}.unsupported .drop-zone-text{padding:0 12px}.unsupported .drop-zone-text .heading.invalid{line-height:18px}.unsupported .drop-zone-text .subtext{line-height:14px;margin-bottom:0}.unsupported .cancel-button .cancel-icon{width:18px!important;height:18px!important}.unsupported .cancel-button-documents{display:none}.max-reached,.max-reached-more-doc{opacity:.4;pointer-events:none;cursor:none}.max-reached-more-doc .drop-zone{padding:6px 0!important;height:170px}.max-reached-more-doc .drop-zone-text{padding-left:20px;padding-right:20px}.max-reached-more-video .drop-zone{padding:13px 0!important;flex-direction:column}.invalid-file-size .drop-zone .illustration{display:none!important}.invalid-file-size .drop-zone .drop-zone-text{padding-left:20px;padding-right:20px}.drop-zone-error{position:absolute;inset:0;background-color:#fff;display:none;justify-content:center;align-items:center;flex-direction:column;margin:4px;outline:4px dashed #ed9292;border-radius:2px;padding:52px 12px;gap:12px}.drop-zone-error .cancel-button{cursor:pointer;background-color:transparent;position:absolute;top:2px;right:2px;height:26px;width:26px;padding:0;display:grid;place-items:center;transition:color .2s ease-in-out;color:#919191}.drop-zone-error .cancel-button:hover{color:#424242}.drop-zone-error .file-types{display:flex;align-items:center;gap:2px;text-transform:uppercase;max-width:100%;flex-wrap:wrap;justify-content:center}.drop-zone-error .badge{font-size:11px;font-weight:900;color:#fff;line-height:14px;padding:2px 4px;width:35px;border-radius:1px;margin-bottom:0;text-align:center;background-color:#919191}.drop-zone-error .pdf{background-color:#e66767}.drop-zone-error .video{background-color:#b370f0}.drop-zone-error .image{background-color:#fab15c}\n"], dependencies: [{ kind: "ngmodule", type:
|
|
6029
5894
|
// modules
|
|
6030
|
-
CommonModule }, { kind: "directive", type:
|
|
5895
|
+
CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: NgbTooltipModule }, { kind: "directive", type: i2.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type:
|
|
6031
5896
|
// components
|
|
6032
5897
|
SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "svgClass", "class", "viewBox", "svgAriaLabel", "onSVGLoaded", "svgStyle"] }, { kind: "component", type: DocumentPreviewComponent, selector: "cai-document-preview", inputs: ["cdlDetailsMode", "multipleDetailsDocs", "maxAspectRatio", "noTagOption", "drawerMode", "isCoverDetails", "isNewTag", "hasExpired", "searchText", "tags", "file", "viewMode"], outputs: ["onFileNameChange", "onDocumentPreviewClick", "aspectRatioChange", "onDelete", "onDownload", "onTagChange"] }, { kind: "component", type: ImageCropperComponent, selector: "image-cropper", inputs: ["imageChangedEvent", "imageURL", "imageBase64", "imageFile", "imageAltText", "options", "cropperFrameAriaLabel", "output", "format", "autoCrop", "cropper", "transform", "maintainAspectRatio", "aspectRatio", "resetCropOnAspectRatioChange", "resizeToWidth", "resizeToHeight", "cropperMinWidth", "cropperMinHeight", "cropperMaxHeight", "cropperMaxWidth", "cropperStaticWidth", "cropperStaticHeight", "canvasRotation", "initialStepSize", "roundCropper", "onlyScaleDown", "imageQuality", "backgroundColor", "containWithinAspectRatio", "hideResizeSquares", "allowMoveImage", "checkImageType", "alignImage", "disabled", "hidden"], outputs: ["imageCropped", "startCropImage", "imageLoaded", "cropperReady", "loadImageFailed", "transformChange", "cropperChange"] }, { kind: "component", type: AvatarComponent, selector: "cai-avatar", inputs: ["driver", "size", "rounded", "inverse", "customHoverSize", "hover"] }, { kind: "component", type: LottieComponent, selector: "ng-lottie", inputs: ["width", "height"] }, { kind: "pipe", type:
|
|
6033
5898
|
//pipes
|
|
6034
|
-
DragModeAnimationPipe, name: "dropZoneAnimation" }] });
|
|
5899
|
+
DragModeAnimationPipe, name: "dropZoneAnimation" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
6035
5900
|
}
|
|
6036
5901
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DropZoneComponent, decorators: [{
|
|
6037
5902
|
type: Component,
|
|
6038
|
-
args: [{ selector: 'cai-drop-zone',
|
|
5903
|
+
args: [{ selector: 'cai-drop-zone', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
5904
|
+
'(document:dragenter)': 'onDocumentDragEnter($event)',
|
|
5905
|
+
'(document:dragover)': 'onDocumentDragOver($event)',
|
|
5906
|
+
'(document:dragleave)': 'onWindowDragLeave($event)',
|
|
5907
|
+
'(document:drop)': 'onDocumentDrop($event)',
|
|
5908
|
+
}, imports: [
|
|
6039
5909
|
// modules
|
|
6040
5910
|
CommonModule,
|
|
6041
5911
|
NgbTooltipModule,
|
|
@@ -6047,52 +5917,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
6047
5917
|
LottieComponent,
|
|
6048
5918
|
//pipes
|
|
6049
5919
|
DragModeAnimationPipe,
|
|
6050
|
-
], providers: [], template: "@let docCount = docs().length; @let cropFile = crop() === true;\n@let showCrop = showCropper() === true;\n@let documentVariant = variant() === dropZoneVariant.DOCUMENT;\n@let videoVariant = variant() === dropZoneVariant.VIDEO;\n@let profileVariant = variant() === dropZoneVariant.PROFILE;\n@let coverVariant = variant() === dropZoneVariant.COVER;\n@let logoVariant = variant() === dropZoneVariant.LOGO;\n@let roundedBorder = rounded() === true; @let coverPreview = coverUrl !== \"\";\n@let profilePreview = profileUrl !== \"\"; @let logoPreview = !!logoUrl;\n@let smallSize = size() === \"480px\";\n@let countFiles = this.maxCountFiles();\n@let largeSize = size() === \"640px\";\n\n@if (isDocumentsMode() && documentsDropZoneOpen() && dragMode()) {\n <div class=\"documents-drag-overlay\"></div>\n}\n\n@if (dragMode() && !isDrawerMode()) {\n <div\n class=\"drop-zone-dimensions-lock\"\n [style.--drag-lock-width.px]=\"dropzoneDimensionsLock().width\"\n [style.--drag-lock-height.px]=\"dropzoneDimensionsLock().height\"\n ></div>\n}\n\n<div\n #containerRef\n class=\"container\"\n [class]=\"{\n 'picture-container': profileVariant || coverVariant,\n smallContainer: smallSize,\n largeContainer: largeSize,\n dragMode: dragMode() && !isDocumentsMode(),\n dragModeDocuments: dragMode() && isDocumentsMode(),\n 'dual-drop-mode': isDualDragActive(),\n 'dual-drop-focus-left':\n isDualDragActive() && activeDualTarget() === dualDropTarget.LEFT,\n 'dual-drop-focus-right':\n isDualDragActive() && activeDualTarget() === dualDropTarget.RIGHT,\n onDragover: onDragover(),\n logoVar: logoVariant,\n hasCropper: isCropperReady(),\n 'is-details-slider': isDetailsSlider(),\n 'is-drawer-mode': isDrawerMode(),\n isCoverDetails: isCoverDetails(),\n 'is-documents-mode': isDocumentsMode(),\n }\"\n>\n @if (coverVariant && coverPreview) {\n <div class=\"cover-container\">\n <img [src]=\"coverUrl\" class=\"cover-image\" draggable=\"false\" />\n </div>\n }\n @if (profileVariant) {\n @if (!profilePreview) {\n <div class=\"avatar\">\n <cai-avatar\n [driver]=\"driver()\"\n [size]=\"160\"\n [rounded]=\"rounded()\"\n ></cai-avatar>\n </div>\n } @else {\n <div class=\"profile-container\">\n <img\n [class]=\"rounded() ? 'profile-rounded-image' : 'profile-square-image'\"\n [src]=\"profileUrl\"\n draggable=\"false\"\n />\n </div>\n }\n }\n @if (logoVariant && logoPreview) {\n <div class=\"logo-container\" [class.has-logo]=\"!!logoUrl\">\n <img class=\"logo-image\" [src]=\"logoUrl\" draggable=\"false\" />\n </div>\n }\n <!--Image Cropper-->\n @if (cropFile && showCrop) {\n @if (!isCropperReady()) {\n <div class=\"cropper-loader\">\n <div class=\"spinner\"></div>\n </div>\n }\n <div class=\"cropper-overlay\">\n <image-cropper\n #cropper\n class=\"img-cropper\"\n [output]=\"'base64'\"\n [class.logoBorder]=\"logoVariant\"\n [class.snapback-animate]=\"isSnapbackAnimating()\"\n [roundCropper]=\"roundedBorder ? true : false\"\n [hideResizeSquares]=\"true\"\n [allowMoveImage]=\"true\"\n [transform]=\"transform\"\n (transformChange)=\"onTransformChange($event)\"\n format=\"png\"\n [aspectRatio]=\"ratioHelper()\"\n [resizeToWidth]=\"cropWidth()\"\n [resizeToHeight]=\"cropHeight()\"\n [containWithinAspectRatio]=\"true\"\n [imageChangedEvent]=\"imageChangedEvent\"\n (imageCropped)=\"imageCropped($event)\"\n (imageLoaded)=\"imageLoaded($event)\"\n (cropperReady)=\"cropperReady()\"\n (loadImageFailed)=\"loadImageFailed()\"\n ></image-cropper>\n @if (isCropperReady()) {\n <div class=\"lower-part\">\n <div class=\"range\">\n <input\n #inputRange\n type=\"range\"\n class=\"custom-range\"\n min=\"1\"\n max=\"10\"\n step=\"0.1\"\n [value]=\"zoomValue()\"\n (input)=\"onZoomChange($event)\"\n />\n </div>\n <div class=\"cropper-buttons\">\n <button class=\"cancel-button\" (click)=\"cancelCrop()\">Cancel</button>\n <button class=\"submit-button\" (click)=\"submitCrop()\">Crop</button>\n </div>\n </div>\n }\n </div>\n }\n <!-- Drop Zone -->\n @if (!isDocumentsMode() || documentsDropZoneOpen()) {\n <div\n #dropZoneContainer\n class=\"drop-zone-container\"\n [class.has-logo]=\"logoVariant && !!logoUrl\"\n (drop)=\"onDrop($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragenter)=\"onDragEnter($event)\"\n (dragleave)=\"onDragLeave($event)\"\n [class]=\"{\n 'more-docs': docCount >= 3 && largeSize,\n 'small-more-docs': docCount >= 2 && smallSize,\n 'max-reached-drop-design':\n (countFiles <= this.docs().length || maxCountReached()) &&\n documentVariant,\n 'max-reached-more-doc':\n (countFiles <= this.docs().length || maxCountReached()) &&\n documentVariant,\n 'max-reached-more-video':\n (countFiles <= this.docs().length || maxCountReached()) &&\n videoVariant,\n 'invalid-file-size': invalidFileSize(),\n unsupported: unsupported() || invalidFileSize(),\n smallView: this.smallView() && !dragMode(),\n }\"\n >\n <!-- Drop Zone -->\n @if (isDualDragActive()) {\n @for (target of dualTargets; track target) {\n @let panel = dualDropZones()[target];\n <div\n class=\"drop-zone dual-drop-zone-panel\"\n [class.dual-drop-zone-left]=\"target === dualDropTarget.LEFT\"\n [class.dual-drop-zone-right]=\"target === dualDropTarget.RIGHT\"\n [class.active]=\"activeDualTarget() === target\"\n (drop)=\"onDualDrop($event, target)\"\n >\n @if (panel.title) {\n <div class=\"dual-drop-zone-title\">{{ panel.title }}</div>\n }\n <div class=\"drag-icons-container\">\n @if (isDocumentsMode()) {\n <svg-icon\n name=\"cai-drop-zone-focus\"\n class=\"illustration drag-icon-document\"\n ></svg-icon>\n } @else {\n <ng-lottie\n [options]=\"{\n path:\n (target === dualDropTarget.LEFT\n ? dropZoneVariant.PROFILE\n : variant()) | dropZoneAnimation,\n loop: false,\n autoplay: false,\n }\"\n (animationCreated)=\"animationCreated($event, target)\"\n ></ng-lottie>\n }\n </div>\n <div class=\"drop-zone-focus-text\">\n <div class=\"heading\">\n {{\n activeDualTarget() === target\n ? panel.dropLabel\n : panel.dragLabel\n }}\n </div>\n <div class=\"description\">{{ panel.description }}</div>\n </div>\n </div>\n }\n } @else {\n <div class=\"drop-zone\" (click)=\"handleClickToAdd()\">\n @if (dragMode()) {\n <div class=\"drag-icons-container\">\n @if (isDocumentsMode()) {\n <svg-icon\n name=\"cai-drop-zone-focus\"\n class=\"illustration drag-icon-document\"\n ></svg-icon>\n } @else {\n <!-- Animation -->\n <ng-lottie\n [options]=\"{\n path: variant() | dropZoneAnimation,\n loop: false,\n autoplay: false,\n }\"\n (animationCreated)=\"animationCreated($event)\"\n ></ng-lottie>\n }\n </div>\n <div class=\"drop-zone-focus-text\">\n @if (isDocumentsMode()) {\n <p class=\"heading\">DRAG FILES HERE</p>\n } @else if (documentVariant || videoVariant) {\n <p class=\"heading\">\n {{ onDragover() ? \"DROP FILES HERE\" : \"DRAG FILES HERE\" }}\n </p>\n } @else {\n <p class=\"heading\">\n {{ onDragover() ? \"DROP IMAGE HERE\" : \"DRAG IMAGE HERE\" }}\n </p>\n }\n </div>\n } @else {\n @let svgIcon = variant() | dropZoneAnimation: true;\n <svg-icon [name]=\"svgIcon\" class=\"illustration\"></svg-icon>\n @if (\n (countFiles <= this.docs().length || maxCountReached()) &&\n documentVariant\n ) {\n <div class=\"drop-zone-text\">\n <p class=\"heading\">\n <span class=\"line\">MAX COUNT</span>\n <span class=\"line\">REACHED</span>\n </p>\n <p class=\"subtext\">\n <span class=\"line\">{{ countFiles }} FILES </span>\n <span class=\"line\">IMPORTED</span>\n </p>\n </div>\n } @else {\n <div class=\"drop-zone-text\">\n <p class=\"heading\">\n @if (documentVariant || videoVariant) {\n DRAG FILES\n @if (docCount < 1 || isDocumentsMode()) {\n <span>HERE</span>\n }\n } @else if (profileVariant && roundedBorder) {\n DRAG IMAGE\n } @else {\n DRAG IMAGE HERE\n }\n </p>\n @if (!coverPreview && !profilePreview) {\n <p class=\"subtext\">OR CLICK TO ADD</p>\n }\n @if (coverPreview || profilePreview) {\n <p class=\"subtext\">OR CLICK TO REPLACE</p>\n }\n @if (videoVariant) {\n <p class=\"video-subtext\">\n max file size {{ maxFileSize() }}mb\n </p>\n }\n </div>\n @if (isDocumentsMode()) {\n <button\n class=\"cancel-button-documents\"\n ngbTooltip=\"Cancel\"\n [placement]=\"'bottom'\"\n container=\"body\"\n triggers=\"mouseenter:mouseleave\"\n tooltipClass=\"tooltip tooltip-m-b-2\"\n >\n <svg-icon\n name=\"cai-cancel\"\n class=\"cancel-icon\"\n (click)=\"onCancel($event)\"\n ></svg-icon>\n </button>\n }\n }\n }\n </div>\n }\n\n <input\n type=\"file\"\n aria-hidden=\"true\"\n multiple\n class=\"drop-zone-input\"\n #inputRef\n (input)=\"onInput($event)\"\n (change)=\"fileChangeEvent($event)\"\n />\n\n <!-- Drop Zone Error -->\n <div class=\"drop-zone-error\">\n @if (invalidFileSize()) {\n <div class=\"drop-zone-text\">\n <p class=\"heading invalid\">INVALID FILE SIZE</p>\n <p class=\"subtext\">MAX {{ maxFileSize() }} MB</p>\n </div>\n } @else {\n <div class=\"drop-zone-text\">\n <p class=\"heading invalid\">INVALID FILE TYPE</p>\n <p class=\"subtext\">SUPPORTED FORMATS</p>\n </div>\n <div class=\"file-types\">\n @for (type of supportedFileTypes(); track $index) {\n <p\n class=\"badge\"\n [class]=\"{\n pdf: type === 'pdf',\n video: ['avi', 'mp4', 'mov'].includes(type),\n image: ['jpg', 'png', 'jpeg', 'gif'].includes(type),\n }\"\n >\n {{ type }}\n </p>\n }\n </div>\n }\n <button class=\"cancel-button\">\n <svg-icon\n name=\"cai-cancel\"\n class=\"cancel-icon\"\n (click)=\"cancel()\"\n ></svg-icon>\n </button>\n </div>\n </div>\n }\n @if (isLoadingSkeleton() && skeletonCount() > 0) {\n <ng-container *ngTemplateOutlet=\"skeletonTemplate\"></ng-container>\n } @else {\n <!-- Carousel -->\n @if (docCount > 0 && (documentVariant || videoVariant)) {\n <div #docsViewport class=\"docs\">\n <div\n class=\"doc-container\"\n [class.documents-container-grid]=\"isDocumentsMode()\"\n [style.transform]=\"isDocumentsMode() ? '' : carouselTransform()\"\n [style.--carousel-index]=\"isDocumentsMode() ? null : carouselIndex()\"\n >\n @for (doc of docs(); track doc.fileId) {\n <cai-document-preview\n [class.doc-visible]=\"\n isDetailsSlider() && $index === carouselIndex()\n \"\n [class.doc-hidden]=\"\n isDetailsSlider() && $index !== carouselIndex()\n \"\n class=\"doc\"\n [file]=\"doc\"\n [tags]=\"documentTags()\"\n [searchText]=\"searchText()\"\n [cdlDetailsMode]=\"isDetailsSlider()\"\n [multipleDetailsDocs]=\"isDetailsSlider() && docCount > 1\"\n [maxAspectRatio]=\"\n isDetailsSlider() && docCount > 1\n ? maxDetailsAspectRatio()\n : null\n \"\n [drawerMode]=\"isDrawerMode()\"\n [isCoverDetails]=\"isCoverDetails()\"\n [viewMode]=\"isDocumentsMode() ? 'large' : 'small'\"\n (onDelete)=\"handleDelete($event)\"\n (onDownload)=\"handleDownload($event)\"\n (onTagChange)=\"handleTagChange($event)\"\n (onFileNameChange)=\"handleFileNameChange($event)\"\n (onDocumentPreviewClick)=\"handleDocumentPreviewClick($event)\"\n (aspectRatioChange)=\"onDocAspectRatioChange($event)\"\n ></cai-document-preview>\n }\n </div>\n @if (docCount >= 3 || (isDetailsSlider() && docCount > 1)) {\n <button\n class=\"carousel-button carousel-left\"\n type=\"button\"\n (click)=\"carouselLeft()\"\n [disabled]=\"carouselIndex() === 0\"\n [style.opacity]=\"carouselIndex() === 0 ? '0' : '1'\"\n >\n <svg-icon name=\"cai-arrow-secondary-left\" class=\"arrow\"></svg-icon>\n </button>\n <button\n class=\"carousel-button carousel-right\"\n type=\"button\"\n (click)=\"carouselRight()\"\n [disabled]=\"isCarouselAtEnd()\"\n [style.opacity]=\"isCarouselAtEnd() ? '0' : '1'\"\n >\n <svg-icon name=\"cai-arrow-secondary-right\" class=\"arrow\"></svg-icon>\n </button>\n }\n @if (isDetailsSlider() && docCount > 1) {\n <div class=\"sliders\">\n @for (doc of docs(); track $index) {\n <div\n class=\"slider-item\"\n (click)=\"carouselIndex.set($index)\"\n [class.active]=\"$index === carouselIndex()\"\n ></div>\n }\n </div>\n }\n </div>\n }\n }\n</div>\n\n<!-- Skeleton Template -->\n\n<ng-template #skeletonTemplate>\n <div\n class=\"skeleton-container\"\n [ngClass]=\"{\n 'documents-container-grid': isDocumentsMode(),\n 'drawer-position': isDrawerMode(),\n }\"\n >\n @for (item of skeletonItems(); track $index) {\n <div class=\"skeleton-item\">\n <div class=\"skeleton-bar\"></div>\n </div>\n }\n </div>\n</ng-template>\n", styles: [".container.is-documents-mode{width:100%!important;max-width:100%!important}.container.is-documents-mode .drop-zone-container .drop-zone{width:100%!important}.documents-drag-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0003;z-index:10}.is-documents-mode{display:flex;flex-direction:column;gap:0!important;width:100%!important;height:100%!important}.is-documents-mode .drop-zone-container{display:flex;margin-bottom:4px;background-color:#f7f7f7;z-index:20}.is-documents-mode .drop-zone-container .drop-zone{width:100%;height:120px!important;background-color:transparent;outline-color:#dadada;transition:background-color .2s ease-in-out}.is-documents-mode .drop-zone-container .drop-zone:hover{background-color:#fff!important}.is-documents-mode .drop-zone-container .drop-zone .illustration{width:80px;height:80px}.is-documents-mode .drop-zone-container .drop-zone .drop-zone-text .heading{padding-bottom:0}.is-documents-mode .drop-zone-container .drop-zone .cancel-button-documents{z-index:1000;position:absolute;top:4px;right:4px;width:26px;height:26px;background-color:transparent;padding:4px}.is-documents-mode .drop-zone-container .drop-zone .cancel-button-documents .cancel-icon{width:18px;height:18px;color:#919191}.is-documents-mode .drop-zone-container .drop-zone .cancel-button-documents:hover .cancel-icon{color:#424242}.is-documents-mode .skeleton-container .skeleton-item{width:100%;height:auto;aspect-ratio:1/1;max-width:100%;min-width:302px;min-height:302px;position:relative;border-radius:3px;background-color:#fff}.is-documents-mode .skeleton-container .skeleton-item .skeleton-bar{position:absolute;bottom:8px;left:8px;right:8px;width:auto;height:26px;background-color:#91919133;animation:skeleton-pulse 1s ease-in-out infinite alternate;border-radius:2px}.is-documents-mode .docs{width:100%!important;position:static!important;overflow:visible!important}.is-documents-mode .docs .doc-container .doc{height:auto!important}.is-documents-mode .docs .carousel-button{display:none}.is-documents-mode .doc-container.documents-container-grid,.is-documents-mode .skeleton-container.documents-container-grid{display:grid;width:100%;grid-template-columns:repeat(auto-fill,minmax(302px,1fr));gap:4px;justify-items:stretch;align-items:start}@media(min-width:801px)and (max-width:1001px){.is-documents-mode .doc-container.documents-container-grid,.is-documents-mode .skeleton-container.documents-container-grid{grid-template-columns:repeat(2,minmax(302px,1fr))}}@media(min-width:1002px)and (max-width:1307px){.is-documents-mode .doc-container.documents-container-grid,.is-documents-mode .skeleton-container.documents-container-grid{grid-template-columns:repeat(3,minmax(302px,1fr))}}@media(min-width:1308px)and (max-width:1613px){.is-documents-mode .doc-container.documents-container-grid,.is-documents-mode .skeleton-container.documents-container-grid{grid-template-columns:repeat(4,minmax(302px,1fr))}}@media(min-width:1614px)and (max-width:1920px){.is-documents-mode .doc-container.documents-container-grid,.is-documents-mode .skeleton-container.documents-container-grid{grid-template-columns:repeat(5,minmax(302px,1fr))}}@media(min-width:1921px)and (max-width:2227px){.is-documents-mode .doc-container.documents-container-grid,.is-documents-mode .skeleton-container.documents-container-grid{grid-template-columns:repeat(6,minmax(302px,1fr))}}@media(min-width:2228px){.is-documents-mode .doc-container.documents-container-grid,.is-documents-mode .skeleton-container.documents-container-grid{grid-template-columns:repeat(auto-fit,minmax(302px,1fr))}}@keyframes skeleton-pulse{0%{background-color:#91919133}to{background-color:#91919120}}.cropper-overlay{display:flex;justify-content:center;flex-direction:column;background-color:#fff;align-items:center;z-index:2000;gap:4px;opacity:1;top:0;left:0;position:absolute;width:100%;height:100%}.cropper-overlay .img-cropper{width:100%;height:178px;padding:0}.cropper-overlay .img-cropper.snapback-animate ::ng-deep .ngx-ic-source-image{transition:transform .22s cubic-bezier(.22,1,.36,1)}.cropper-overlay .lower-part{display:flex;place-items:center;align-items:center;margin-left:3px;margin-right:3px;width:100%;gap:12px}.cropper-overlay .lower-part .range{width:100%;height:22px;display:flex;align-items:center}.cropper-overlay .lower-part .range input[type=range]{width:100%}.cropper-overlay .lower-part .range input[type=range]{-webkit-appearance:none;appearance:none;border-radius:2px;--range-active-color: #6692f1;--range-progress: 50%;background:transparent;cursor:pointer}.cropper-overlay .lower-part .cropper-buttons{display:flex;justify-content:start;gap:6px}.cropper-overlay .lower-part .cropper-buttons .cancel-button,.cropper-overlay .lower-part .cropper-buttons .submit-button{padding:4px;width:80px;font-size:14px;border-radius:2px;text-transform:uppercase;line-height:14px;font-weight:700;font-size:11px;cursor:pointer}.cropper-overlay .lower-part .cropper-buttons .cancel-button{background-color:#eee;color:#6c6c6c;transition:background-color .3s ease-in-out,color .3s ease-in-out}.cropper-overlay .lower-part .cropper-buttons .cancel-button:hover{background-color:#424242;color:#fff}.cropper-overlay .lower-part .cropper-buttons .cancel-button:active{background-color:#1d1d1d;color:#fff}.cropper-overlay .lower-part .cropper-buttons .submit-button{background-color:#3b73ed;color:#fff;transition:background-color .3s ease-in-out,color .3s ease-in-out}.cropper-overlay .lower-part .cropper-buttons .submit-button:hover{background-color:#0b49d1;color:#fff}.cropper-overlay .lower-part .cropper-buttons .submit-button:active{background-color:#00179e;color:#fff}.cropper-loader{position:absolute;z-index:1100;display:flex;justify-content:center;align-items:center;background-color:#fff;width:100%;height:100%}.cropper-loader .spinner{width:48px;height:48px;border:5px solid rgba(145,145,145,.2);border-top:5px solid #3b73ed;border-radius:50%;animation:spin 1s linear infinite}.hasCropper{height:204px!important;position:relative}input[type=range]:hover{--range-active-color: $color-blue-500}input[type=range]:active{--range-active-color: $color-blue-700}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;margin-top:-7px;background-color:#fff;height:20px;width:30px;box-shadow:0 0 4px #00000026;background-image:url(/assets/carriera-intern/icons/interaction/cai-thumb.svg);background-repeat:no-repeat;background-position:center;background-size:14px 18px;border-radius:2px;transition:background-color .3s ease-in-out}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--range-active-color) 0%,var(--range-active-color) var(--range-progress),#eeeeee var(--range-progress),#eeeeee 100%);height:6px;transition:background .3s ease-in-out}input[type=range]:hover::-webkit-slider-runnable-track{background:linear-gradient(to right,#3b73ed 0%,#3b73ed var(--range-progress),#eeeeee var(--range-progress),#eeeeee 100%)}input[type=range]:active::-webkit-slider-runnable-track{background:linear-gradient(to right,#0b49d1 0%,#0b49d1 var(--range-progress),#eeeeee var(--range-progress),#eeeeee 100%)}input[type=range]:hover::-webkit-slider-thumb{cursor:grab}input[type=range]:active::-webkit-slider-thumb{background-image:url(/assets/carriera-intern/icons/interaction/cai-thumb-active.svg);cursor:grabbing}@keyframes spin{to{transform:rotate(360deg)}}p{margin-bottom:0}svg-icon{display:flex;align-items:center;justify-content:center}button{border:none!important;outline:none!important}.illustration{width:100px;height:100px}.container{display:flex;gap:6px;position:relative;padding-left:0!important;padding-right:0!important;margin:0!important}.container.picture-container{gap:8px}.container.smallContainer{width:456px!important}.container.largeContainer{width:616px!important}.docs{flex-shrink:0;height:100%;overflow:hidden;position:relative;border-radius:2px}.smallContainer .docs{max-width:302px!important}.smallContainer .docs .doc-container{display:flex;gap:6px;transition:transform .2s ease-out}.largeContainer .docs{max-width:460px!important}.largeContainer .docs .doc-container{display:flex;gap:8px;transition:transform .2s ease-out}.carousel-button{position:absolute;top:50%;transform:translateY(-50%);border:none;outline:none;width:24px;height:32px;background-color:#ffffffb2;border-radius:2px;box-shadow:0 0 5px #0000004d;cursor:pointer;display:grid;place-items:center;padding:0}.drop-zone-input{display:none}.carousel-left{left:4px}.carousel-right{right:4px}.arrow{width:18px;height:18px;color:#0000004d}.doc{flex:0 0 148px;height:178px;display:flex;background-color:#eee;border-radius:2px}.drop-zone-container{position:relative;flex:1 0 auto}.drop-zone{display:flex;justify-content:center;align-items:center;flex-direction:row;outline:4px dashed #eeeeee;border-radius:2px;padding:35px 0;margin:4px;gap:10px;cursor:pointer;transition:background-color .2s ease-in-out}.drop-zone:hover{background-color:#eee}.drop-zone-text{-webkit-user-select:none;user-select:none;text-align:center}.drop-zone-text .heading{color:#424242;font-size:14px;line-height:18px;font-weight:700;padding-bottom:4px}.drop-zone-text .heading .line{display:block;width:fit-content;margin:0 auto}.drop-zone-text .invalid{color:#df3c3c}.drop-zone-text .subtext{color:#424242;font-size:11px;line-height:14px;font-weight:600}.drop-zone-text .subtext .line{display:block;width:fit-content;margin:0 auto}.drop-zone-text .video-subtext{margin-top:4px;color:#919191;font-size:11px;line-height:14px;font-weight:500}.smallView{width:173px!important}.smallView .drop-zone{flex-direction:column!important;padding:20px 0;width:173px;height:170px}.smallView .drop-zone .drop-zone-text .heading{line-height:18px;padding-bottom:0!important}.smallView .drop-zone .drop-zone-text .subtext{line-height:14px;margin-bottom:0!important}.smallView .illustration{width:80px;height:80px}.text-white-50{color:#fff}.text-white-100{color:#f7f7f7}.text-white-200{color:#eee}.text-white-300{color:#e5e5e5}.text-white-500{color:#dadada}.text-white-500\\/20{color:#dadada33}.text-white-500\\/40{color:#dadada66}.text-white-500\\/70{color:#dadadab3}.text-white-700{color:#ccc}.text-black-50{color:#aaa}.text-black-100{color:#919191}.text-black-200{color:#6c6c6c}.text-black-300{color:#424242}.text-black-500{color:#2f2f2f}.text-black-500\\/20{color:#2f2f2f33}.text-black-500\\/40{color:#2f2f2f66}.text-black-500\\/70{color:#2f2f2fb3}.text-black-700{color:#1d1d1d}.text-blue-50{color:#e9effd}.text-blue-100{color:#bed0f9}.text-blue-200{color:#92b1f5}.text-blue-300{color:#6692f1}.text-blue-500{color:#3b73ed}.text-blue-500\\/20{color:#3b73ed33}.text-blue-500\\/40{color:#3b73ed66}.text-blue-500\\/70{color:#3b73edb3}.text-blue-700{color:#0b49d1}.text-blue-900{color:#00179e}.text-red-50{color:#fbe9e9}.text-red-100{color:#f4bebe}.text-red-200{color:#ed9292}.text-red-300{color:#e66767}.text-red-500{color:#df3c3c}.text-red-500\\/20{color:#df3c3c33}.text-red-500\\/40{color:#df3c3c66}.text-red-500\\/70{color:#df3c3cb3}.text-red-700{color:#c20c0c}.text-green-50{color:#e7f4f3}.text-green-100{color:#b6dfdb}.text-green-200{color:#86c9c3}.text-green-300{color:#56b4ac}.text-green-500{color:#259f94}.text-green-500\\/20{color:#259f9433}.text-green-500\\/40{color:#259f9466}.text-green-500\\/70{color:#259f94b3}.text-green-700{color:#007a6e}.text-yellow-50{color:#fef4e8}.text-yellow-100{color:#fddeb9}.text-yellow-200{color:#fbc88b}.text-yellow-300{color:#fab15c}.text-yellow-500{color:#f89b2e}.text-yellow-500\\/20{color:#f89b2e33}.text-yellow-500\\/40{color:#f89b2e66}.text-yellow-500\\/70{color:#f89b2eb3}.text-yellow-700{color:#de7700}.text-purple-50{color:#f4ebfd}.text-purple-100{color:#dfc2f9}.text-purple-200{color:#c999f4}.text-purple-300{color:#b370f0}.text-purple-500{color:#9e47ec}.text-purple-500\\/20{color:#9e47ec33}.text-purple-500\\/40{color:#9e47ec66}.text-purple-500\\/70{color:#9e47ecb3}.text-purple-700{color:#7919d0}.text-orange-50{color:#ffefea}.text-orange-100{color:#ffcfc0}.text-orange-200{color:#ffb097}.text-orange-300{color:#ff906d}.text-orange-500{color:#ff7043}.text-orange-500\\/20{color:#ff704333}.text-orange-500\\/40{color:#ff704366}.text-orange-500\\/70{color:#ff7043b3}.text-orange-700{color:#e54715}.text-azure-50{color:#e5f7fc}.text-azure-100{color:#b2e6f7}.text-azure-200{color:#80d6f1}.text-azure-300{color:#4dc5eb}.text-azure-500{color:#1ab5e6}.text-azure-500\\/20{color:#1ab5e633}.text-azure-500\\/40{color:#1ab5e666}.text-azure-500\\/70{color:#1ab5e6b3}.text-azure-700{color:#0093c9}.text-gold-50{color:#faf3e6}.text-gold-100{color:#efdcb4}.text-gold-200{color:#e4c481}.text-gold-300{color:#daad4f}.text-gold-500{color:#cf961d}.text-gold-500\\/20{color:#cf961d33}.text-gold-500\\/40{color:#cf961d66}.text-gold-500\\/70{color:#cf961db3}.text-gold-700{color:#b07000}.text-brown-50{color:#f1ede9}.text-brown-100{color:#d6c9bd}.text-brown-200{color:#bca691}.text-brown-300{color:#a08266}.text-brown-500{color:#865e3a}.text-brown-500\\/20{color:#865e3a33}.text-brown-500\\/40{color:#865e3a66}.text-brown-500\\/70{color:#865e3ab3}.text-brown-700{color:#5f330a}.text-navy-50{color:#e7e7fa}.text-navy-100{color:#b7b6f1}.text-navy-200{color:#8785e8}.text-navy-300{color:#5755df}.text-navy-500{color:#2724d6}.text-navy-500\\/20{color:#2724d633}.text-navy-500\\/40{color:#2724d666}.text-navy-500\\/70{color:#2724d6b3}.text-navy-700{color:#0000b8}.text-lime-50{color:#ecf6e7}.text-lime-100{color:#c5e3b6}.text-lime-200{color:#9ed186}.text-lime-300{color:#77bf56}.text-lime-500{color:#50ac25}.text-lime-500\\/20{color:#50ac2533}.text-lime-500\\/40{color:#50ac2566}.text-lime-500\\/70{color:#50ac25b3}.text-lime-700{color:#238900}.text-magenta-50{color:#fbe9f1}.text-magenta-100{color:#f4bed6}.text-magenta-200{color:#ed93bb}.text-magenta-300{color:#e668a0}.text-magenta-500{color:#df3d85}.text-magenta-500\\/20{color:#df3d8533}.text-magenta-500\\/40{color:#df3d8566}.text-magenta-500\\/70{color:#df3d85b3}.text-magenta-700{color:#c10d5d}.bg-white-50{background-color:#fff}.bg-white-100{background-color:#f7f7f7}.bg-white-200{background-color:#eee}.bg-white-300{background-color:#e5e5e5}.bg-white-500{background-color:#dadada}.bg-white-500\\/20{background-color:#dadada33}.bg-white-500\\/40{background-color:#dadada66}.bg-white-500\\/70{background-color:#dadadab3}.bg-white-700{background-color:#ccc}.bg-black-50{background-color:#aaa}.bg-black-100{background-color:#919191}.bg-black-200{background-color:#6c6c6c}.bg-black-300{background-color:#424242}.bg-black-500{background-color:#2f2f2f}.bg-black-500\\/20{background-color:#2f2f2f33}.bg-black-500\\/40{background-color:#2f2f2f66}.bg-black-500\\/70{background-color:#2f2f2fb3}.bg-black-700{background-color:#1d1d1d}.bg-blue-50{background-color:#e9effd}.bg-blue-100{background-color:#bed0f9}.bg-blue-200{background-color:#92b1f5}.bg-blue-300{background-color:#6692f1}.bg-blue-500{background-color:#3b73ed}.bg-blue-500\\/20{background-color:#3b73ed33}.bg-blue-500\\/40{background-color:#3b73ed66}.bg-blue-500\\/70{background-color:#3b73edb3}.bg-blue-700{background-color:#0b49d1}.bg-blue-900{background-color:#00179e}.bg-red-50{background-color:#fbe9e9}.bg-red-100{background-color:#f4bebe}.bg-red-200{background-color:#ed9292}.bg-red-300{background-color:#e66767}.bg-red-500{background-color:#df3c3c}.bg-red-500\\/20{background-color:#df3c3c33}.bg-red-500\\/40{background-color:#df3c3c66}.bg-red-500\\/70{background-color:#df3c3cb3}.bg-red-700{background-color:#c20c0c}.bg-green-50{background-color:#e7f4f3}.bg-green-100{background-color:#b6dfdb}.bg-green-200{background-color:#86c9c3}.bg-green-300{background-color:#56b4ac}.bg-green-500{background-color:#259f94}.bg-green-500\\/20{background-color:#259f9433}.bg-green-500\\/40{background-color:#259f9466}.bg-green-500\\/70{background-color:#259f94b3}.bg-green-700{background-color:#007a6e}.bg-yellow-50{background-color:#fef4e8}.bg-yellow-100{background-color:#fddeb9}.bg-yellow-200{background-color:#fbc88b}.bg-yellow-300{background-color:#fab15c}.bg-yellow-500{background-color:#f89b2e}.bg-yellow-500\\/20{background-color:#f89b2e33}.bg-yellow-500\\/40{background-color:#f89b2e66}.bg-yellow-500\\/70{background-color:#f89b2eb3}.bg-yellow-700{background-color:#de7700}.bg-purple-50{background-color:#f4ebfd}.bg-purple-100{background-color:#dfc2f9}.bg-purple-200{background-color:#c999f4}.bg-purple-300{background-color:#b370f0}.bg-purple-500{background-color:#9e47ec}.bg-purple-500\\/20{background-color:#9e47ec33}.bg-purple-500\\/40{background-color:#9e47ec66}.bg-purple-500\\/70{background-color:#9e47ecb3}.bg-purple-700{background-color:#7919d0}.bg-orange-50{background-color:#ffefea}.bg-orange-100{background-color:#ffcfc0}.bg-orange-200{background-color:#ffb097}.bg-orange-300{background-color:#ff906d}.bg-orange-500{background-color:#ff7043}.bg-orange-500\\/20{background-color:#ff704333}.bg-orange-500\\/40{background-color:#ff704366}.bg-orange-500\\/70{background-color:#ff7043b3}.bg-orange-700{background-color:#e54715}.bg-azure-50{background-color:#e5f7fc}.bg-azure-100{background-color:#b2e6f7}.bg-azure-200{background-color:#80d6f1}.bg-azure-300{background-color:#4dc5eb}.bg-azure-500{background-color:#1ab5e6}.bg-azure-500\\/20{background-color:#1ab5e633}.bg-azure-500\\/40{background-color:#1ab5e666}.bg-azure-500\\/70{background-color:#1ab5e6b3}.bg-azure-700{background-color:#0093c9}.bg-gold-50{background-color:#faf3e6}.bg-gold-100{background-color:#efdcb4}.bg-gold-200{background-color:#e4c481}.bg-gold-300{background-color:#daad4f}.bg-gold-500{background-color:#cf961d}.bg-gold-500\\/20{background-color:#cf961d33}.bg-gold-500\\/40{background-color:#cf961d66}.bg-gold-500\\/70{background-color:#cf961db3}.bg-gold-700{background-color:#b07000}.bg-brown-50{background-color:#f1ede9}.bg-brown-100{background-color:#d6c9bd}.bg-brown-200{background-color:#bca691}.bg-brown-300{background-color:#a08266}.bg-brown-500{background-color:#865e3a}.bg-brown-500\\/20{background-color:#865e3a33}.bg-brown-500\\/40{background-color:#865e3a66}.bg-brown-500\\/70{background-color:#865e3ab3}.bg-brown-700{background-color:#5f330a}.bg-navy-50{background-color:#e7e7fa}.bg-navy-100{background-color:#b7b6f1}.bg-navy-200{background-color:#8785e8}.bg-navy-300{background-color:#5755df}.bg-navy-500{background-color:#2724d6}.bg-navy-500\\/20{background-color:#2724d633}.bg-navy-500\\/40{background-color:#2724d666}.bg-navy-500\\/70{background-color:#2724d6b3}.bg-navy-700{background-color:#0000b8}.bg-lime-50{background-color:#ecf6e7}.bg-lime-100{background-color:#c5e3b6}.bg-lime-200{background-color:#9ed186}.bg-lime-300{background-color:#77bf56}.bg-lime-500{background-color:#50ac25}.bg-lime-500\\/20{background-color:#50ac2533}.bg-lime-500\\/40{background-color:#50ac2566}.bg-lime-500\\/70{background-color:#50ac25b3}.bg-lime-700{background-color:#238900}.bg-magenta-50{background-color:#fbe9f1}.bg-magenta-100{background-color:#f4bed6}.bg-magenta-200{background-color:#ed93bb}.bg-magenta-300{background-color:#e668a0}.bg-magenta-500{background-color:#df3d85}.bg-magenta-500\\/20{background-color:#df3d8533}.bg-magenta-500\\/40{background-color:#df3d8566}.bg-magenta-500\\/70{background-color:#df3d85b3}.bg-magenta-700{background-color:#c10d5d}.border-white-50{border-color:#fff}.border-white-100{border-color:#f7f7f7}.border-white-200{border-color:#eee}.border-white-300{border-color:#e5e5e5}.border-white-500{border-color:#dadada}.border-white-500\\/20{border-color:#dadada33}.border-white-500\\/40{border-color:#dadada66}.border-white-500\\/70{border-color:#dadadab3}.border-white-700{border-color:#ccc}.border-black-50{border-color:#aaa}.border-black-100{border-color:#919191}.border-black-200{border-color:#6c6c6c}.border-black-300{border-color:#424242}.border-black-500{border-color:#2f2f2f}.border-black-500\\/20{border-color:#2f2f2f33}.border-black-500\\/40{border-color:#2f2f2f66}.border-black-500\\/70{border-color:#2f2f2fb3}.border-black-700{border-color:#1d1d1d}.border-blue-50{border-color:#e9effd}.border-blue-100{border-color:#bed0f9}.border-blue-200{border-color:#92b1f5}.border-blue-300{border-color:#6692f1}.border-blue-500{border-color:#3b73ed}.border-blue-500\\/20{border-color:#3b73ed33}.border-blue-500\\/40{border-color:#3b73ed66}.border-blue-500\\/70{border-color:#3b73edb3}.border-blue-700{border-color:#0b49d1}.border-blue-900{border-color:#00179e}.border-red-50{border-color:#fbe9e9}.border-red-100{border-color:#f4bebe}.border-red-200{border-color:#ed9292}.border-red-300{border-color:#e66767}.border-red-500{border-color:#df3c3c}.border-red-500\\/20{border-color:#df3c3c33}.border-red-500\\/40{border-color:#df3c3c66}.border-red-500\\/70{border-color:#df3c3cb3}.border-red-700{border-color:#c20c0c}.border-green-50{border-color:#e7f4f3}.border-green-100{border-color:#b6dfdb}.border-green-200{border-color:#86c9c3}.border-green-300{border-color:#56b4ac}.border-green-500{border-color:#259f94}.border-green-500\\/20{border-color:#259f9433}.border-green-500\\/40{border-color:#259f9466}.border-green-500\\/70{border-color:#259f94b3}.border-green-700{border-color:#007a6e}.border-yellow-50{border-color:#fef4e8}.border-yellow-100{border-color:#fddeb9}.border-yellow-200{border-color:#fbc88b}.border-yellow-300{border-color:#fab15c}.border-yellow-500{border-color:#f89b2e}.border-yellow-500\\/20{border-color:#f89b2e33}.border-yellow-500\\/40{border-color:#f89b2e66}.border-yellow-500\\/70{border-color:#f89b2eb3}.border-yellow-700{border-color:#de7700}.border-purple-50{border-color:#f4ebfd}.border-purple-100{border-color:#dfc2f9}.border-purple-200{border-color:#c999f4}.border-purple-300{border-color:#b370f0}.border-purple-500{border-color:#9e47ec}.border-purple-500\\/20{border-color:#9e47ec33}.border-purple-500\\/40{border-color:#9e47ec66}.border-purple-500\\/70{border-color:#9e47ecb3}.border-purple-700{border-color:#7919d0}.border-orange-50{border-color:#ffefea}.border-orange-100{border-color:#ffcfc0}.border-orange-200{border-color:#ffb097}.border-orange-300{border-color:#ff906d}.border-orange-500{border-color:#ff7043}.border-orange-500\\/20{border-color:#ff704333}.border-orange-500\\/40{border-color:#ff704366}.border-orange-500\\/70{border-color:#ff7043b3}.border-orange-700{border-color:#e54715}.border-azure-50{border-color:#e5f7fc}.border-azure-100{border-color:#b2e6f7}.border-azure-200{border-color:#80d6f1}.border-azure-300{border-color:#4dc5eb}.border-azure-500{border-color:#1ab5e6}.border-azure-500\\/20{border-color:#1ab5e633}.border-azure-500\\/40{border-color:#1ab5e666}.border-azure-500\\/70{border-color:#1ab5e6b3}.border-azure-700{border-color:#0093c9}.border-gold-50{border-color:#faf3e6}.border-gold-100{border-color:#efdcb4}.border-gold-200{border-color:#e4c481}.border-gold-300{border-color:#daad4f}.border-gold-500{border-color:#cf961d}.border-gold-500\\/20{border-color:#cf961d33}.border-gold-500\\/40{border-color:#cf961d66}.border-gold-500\\/70{border-color:#cf961db3}.border-gold-700{border-color:#b07000}.border-brown-50{border-color:#f1ede9}.border-brown-100{border-color:#d6c9bd}.border-brown-200{border-color:#bca691}.border-brown-300{border-color:#a08266}.border-brown-500{border-color:#865e3a}.border-brown-500\\/20{border-color:#865e3a33}.border-brown-500\\/40{border-color:#865e3a66}.border-brown-500\\/70{border-color:#865e3ab3}.border-brown-700{border-color:#5f330a}.border-navy-50{border-color:#e7e7fa}.border-navy-100{border-color:#b7b6f1}.border-navy-200{border-color:#8785e8}.border-navy-300{border-color:#5755df}.border-navy-500{border-color:#2724d6}.border-navy-500\\/20{border-color:#2724d633}.border-navy-500\\/40{border-color:#2724d666}.border-navy-500\\/70{border-color:#2724d6b3}.border-navy-700{border-color:#0000b8}.border-lime-50{border-color:#ecf6e7}.border-lime-100{border-color:#c5e3b6}.border-lime-200{border-color:#9ed186}.border-lime-300{border-color:#77bf56}.border-lime-500{border-color:#50ac25}.border-lime-500\\/20{border-color:#50ac2533}.border-lime-500\\/40{border-color:#50ac2566}.border-lime-500\\/70{border-color:#50ac25b3}.border-lime-700{border-color:#238900}.border-magenta-50{border-color:#fbe9f1}.border-magenta-100{border-color:#f4bed6}.border-magenta-200{border-color:#ed93bb}.border-magenta-300{border-color:#e668a0}.border-magenta-500{border-color:#df3d85}.border-magenta-500\\/20{border-color:#df3d8533}.border-magenta-500\\/40{border-color:#df3d8566}.border-magenta-500\\/70{border-color:#df3d85b3}.border-magenta-700{border-color:#c10d5d}.fill-white-50{fill:#fff}.fill-white-100{fill:#f7f7f7}.fill-white-200{fill:#eee}.fill-white-300{fill:#e5e5e5}.fill-white-500{fill:#dadada}.fill-white-500\\/20{fill:#dadada33}.fill-white-500\\/40{fill:#dadada66}.fill-white-500\\/70{fill:#dadadab3}.fill-white-700{fill:#ccc}.fill-black-50{fill:#aaa}.fill-black-100{fill:#919191}.fill-black-200{fill:#6c6c6c}.fill-black-300{fill:#424242}.fill-black-500{fill:#2f2f2f}.fill-black-500\\/20{fill:#2f2f2f33}.fill-black-500\\/40{fill:#2f2f2f66}.fill-black-500\\/70{fill:#2f2f2fb3}.fill-black-700{fill:#1d1d1d}.fill-blue-50{fill:#e9effd}.fill-blue-100{fill:#bed0f9}.fill-blue-200{fill:#92b1f5}.fill-blue-300{fill:#6692f1}.fill-blue-500{fill:#3b73ed}.fill-blue-500\\/20{fill:#3b73ed33}.fill-blue-500\\/40{fill:#3b73ed66}.fill-blue-500\\/70{fill:#3b73edb3}.fill-blue-700{fill:#0b49d1}.fill-blue-900{fill:#00179e}.fill-red-50{fill:#fbe9e9}.fill-red-100{fill:#f4bebe}.fill-red-200{fill:#ed9292}.fill-red-300{fill:#e66767}.fill-red-500{fill:#df3c3c}.fill-red-500\\/20{fill:#df3c3c33}.fill-red-500\\/40{fill:#df3c3c66}.fill-red-500\\/70{fill:#df3c3cb3}.fill-red-700{fill:#c20c0c}.fill-green-50{fill:#e7f4f3}.fill-green-100{fill:#b6dfdb}.fill-green-200{fill:#86c9c3}.fill-green-300{fill:#56b4ac}.fill-green-500{fill:#259f94}.fill-green-500\\/20{fill:#259f9433}.fill-green-500\\/40{fill:#259f9466}.fill-green-500\\/70{fill:#259f94b3}.fill-green-700{fill:#007a6e}.fill-yellow-50{fill:#fef4e8}.fill-yellow-100{fill:#fddeb9}.fill-yellow-200{fill:#fbc88b}.fill-yellow-300{fill:#fab15c}.fill-yellow-500{fill:#f89b2e}.fill-yellow-500\\/20{fill:#f89b2e33}.fill-yellow-500\\/40{fill:#f89b2e66}.fill-yellow-500\\/70{fill:#f89b2eb3}.fill-yellow-700{fill:#de7700}.fill-purple-50{fill:#f4ebfd}.fill-purple-100{fill:#dfc2f9}.fill-purple-200{fill:#c999f4}.fill-purple-300{fill:#b370f0}.fill-purple-500{fill:#9e47ec}.fill-purple-500\\/20{fill:#9e47ec33}.fill-purple-500\\/40{fill:#9e47ec66}.fill-purple-500\\/70{fill:#9e47ecb3}.fill-purple-700{fill:#7919d0}.fill-orange-50{fill:#ffefea}.fill-orange-100{fill:#ffcfc0}.fill-orange-200{fill:#ffb097}.fill-orange-300{fill:#ff906d}.fill-orange-500{fill:#ff7043}.fill-orange-500\\/20{fill:#ff704333}.fill-orange-500\\/40{fill:#ff704366}.fill-orange-500\\/70{fill:#ff7043b3}.fill-orange-700{fill:#e54715}.fill-azure-50{fill:#e5f7fc}.fill-azure-100{fill:#b2e6f7}.fill-azure-200{fill:#80d6f1}.fill-azure-300{fill:#4dc5eb}.fill-azure-500{fill:#1ab5e6}.fill-azure-500\\/20{fill:#1ab5e633}.fill-azure-500\\/40{fill:#1ab5e666}.fill-azure-500\\/70{fill:#1ab5e6b3}.fill-azure-700{fill:#0093c9}.fill-gold-50{fill:#faf3e6}.fill-gold-100{fill:#efdcb4}.fill-gold-200{fill:#e4c481}.fill-gold-300{fill:#daad4f}.fill-gold-500{fill:#cf961d}.fill-gold-500\\/20{fill:#cf961d33}.fill-gold-500\\/40{fill:#cf961d66}.fill-gold-500\\/70{fill:#cf961db3}.fill-gold-700{fill:#b07000}.fill-brown-50{fill:#f1ede9}.fill-brown-100{fill:#d6c9bd}.fill-brown-200{fill:#bca691}.fill-brown-300{fill:#a08266}.fill-brown-500{fill:#865e3a}.fill-brown-500\\/20{fill:#865e3a33}.fill-brown-500\\/40{fill:#865e3a66}.fill-brown-500\\/70{fill:#865e3ab3}.fill-brown-700{fill:#5f330a}.fill-navy-50{fill:#e7e7fa}.fill-navy-100{fill:#b7b6f1}.fill-navy-200{fill:#8785e8}.fill-navy-300{fill:#5755df}.fill-navy-500{fill:#2724d6}.fill-navy-500\\/20{fill:#2724d633}.fill-navy-500\\/40{fill:#2724d666}.fill-navy-500\\/70{fill:#2724d6b3}.fill-navy-700{fill:#0000b8}.fill-lime-50{fill:#ecf6e7}.fill-lime-100{fill:#c5e3b6}.fill-lime-200{fill:#9ed186}.fill-lime-300{fill:#77bf56}.fill-lime-500{fill:#50ac25}.fill-lime-500\\/20{fill:#50ac2533}.fill-lime-500\\/40{fill:#50ac2566}.fill-lime-500\\/70{fill:#50ac25b3}.fill-lime-700{fill:#238900}.fill-magenta-50{fill:#fbe9f1}.fill-magenta-100{fill:#f4bed6}.fill-magenta-200{fill:#ed93bb}.fill-magenta-300{fill:#e668a0}.fill-magenta-500{fill:#df3d85}.fill-magenta-500\\/20{fill:#df3d8533}.fill-magenta-500\\/40{fill:#df3d8566}.fill-magenta-500\\/70{fill:#df3d85b3}.fill-magenta-700{fill:#c10d5d}.stroke-white-50{stroke:#fff}.stroke-white-100{stroke:#f7f7f7}.stroke-white-200{stroke:#eee}.stroke-white-300{stroke:#e5e5e5}.stroke-white-500{stroke:#dadada}.stroke-white-500\\/20{stroke:#dadada33}.stroke-white-500\\/40{stroke:#dadada66}.stroke-white-500\\/70{stroke:#dadadab3}.stroke-white-700{stroke:#ccc}.stroke-black-50{stroke:#aaa}.stroke-black-100{stroke:#919191}.stroke-black-200{stroke:#6c6c6c}.stroke-black-300{stroke:#424242}.stroke-black-500{stroke:#2f2f2f}.stroke-black-500\\/20{stroke:#2f2f2f33}.stroke-black-500\\/40{stroke:#2f2f2f66}.stroke-black-500\\/70{stroke:#2f2f2fb3}.stroke-black-700{stroke:#1d1d1d}.stroke-blue-50{stroke:#e9effd}.stroke-blue-100{stroke:#bed0f9}.stroke-blue-200{stroke:#92b1f5}.stroke-blue-300{stroke:#6692f1}.stroke-blue-500{stroke:#3b73ed}.stroke-blue-500\\/20{stroke:#3b73ed33}.stroke-blue-500\\/40{stroke:#3b73ed66}.stroke-blue-500\\/70{stroke:#3b73edb3}.stroke-blue-700{stroke:#0b49d1}.stroke-blue-900{stroke:#00179e}.stroke-red-50{stroke:#fbe9e9}.stroke-red-100{stroke:#f4bebe}.stroke-red-200{stroke:#ed9292}.stroke-red-300{stroke:#e66767}.stroke-red-500{stroke:#df3c3c}.stroke-red-500\\/20{stroke:#df3c3c33}.stroke-red-500\\/40{stroke:#df3c3c66}.stroke-red-500\\/70{stroke:#df3c3cb3}.stroke-red-700{stroke:#c20c0c}.stroke-green-50{stroke:#e7f4f3}.stroke-green-100{stroke:#b6dfdb}.stroke-green-200{stroke:#86c9c3}.stroke-green-300{stroke:#56b4ac}.stroke-green-500{stroke:#259f94}.stroke-green-500\\/20{stroke:#259f9433}.stroke-green-500\\/40{stroke:#259f9466}.stroke-green-500\\/70{stroke:#259f94b3}.stroke-green-700{stroke:#007a6e}.stroke-yellow-50{stroke:#fef4e8}.stroke-yellow-100{stroke:#fddeb9}.stroke-yellow-200{stroke:#fbc88b}.stroke-yellow-300{stroke:#fab15c}.stroke-yellow-500{stroke:#f89b2e}.stroke-yellow-500\\/20{stroke:#f89b2e33}.stroke-yellow-500\\/40{stroke:#f89b2e66}.stroke-yellow-500\\/70{stroke:#f89b2eb3}.stroke-yellow-700{stroke:#de7700}.stroke-purple-50{stroke:#f4ebfd}.stroke-purple-100{stroke:#dfc2f9}.stroke-purple-200{stroke:#c999f4}.stroke-purple-300{stroke:#b370f0}.stroke-purple-500{stroke:#9e47ec}.stroke-purple-500\\/20{stroke:#9e47ec33}.stroke-purple-500\\/40{stroke:#9e47ec66}.stroke-purple-500\\/70{stroke:#9e47ecb3}.stroke-purple-700{stroke:#7919d0}.stroke-orange-50{stroke:#ffefea}.stroke-orange-100{stroke:#ffcfc0}.stroke-orange-200{stroke:#ffb097}.stroke-orange-300{stroke:#ff906d}.stroke-orange-500{stroke:#ff7043}.stroke-orange-500\\/20{stroke:#ff704333}.stroke-orange-500\\/40{stroke:#ff704366}.stroke-orange-500\\/70{stroke:#ff7043b3}.stroke-orange-700{stroke:#e54715}.stroke-azure-50{stroke:#e5f7fc}.stroke-azure-100{stroke:#b2e6f7}.stroke-azure-200{stroke:#80d6f1}.stroke-azure-300{stroke:#4dc5eb}.stroke-azure-500{stroke:#1ab5e6}.stroke-azure-500\\/20{stroke:#1ab5e633}.stroke-azure-500\\/40{stroke:#1ab5e666}.stroke-azure-500\\/70{stroke:#1ab5e6b3}.stroke-azure-700{stroke:#0093c9}.stroke-gold-50{stroke:#faf3e6}.stroke-gold-100{stroke:#efdcb4}.stroke-gold-200{stroke:#e4c481}.stroke-gold-300{stroke:#daad4f}.stroke-gold-500{stroke:#cf961d}.stroke-gold-500\\/20{stroke:#cf961d33}.stroke-gold-500\\/40{stroke:#cf961d66}.stroke-gold-500\\/70{stroke:#cf961db3}.stroke-gold-700{stroke:#b07000}.stroke-brown-50{stroke:#f1ede9}.stroke-brown-100{stroke:#d6c9bd}.stroke-brown-200{stroke:#bca691}.stroke-brown-300{stroke:#a08266}.stroke-brown-500{stroke:#865e3a}.stroke-brown-500\\/20{stroke:#865e3a33}.stroke-brown-500\\/40{stroke:#865e3a66}.stroke-brown-500\\/70{stroke:#865e3ab3}.stroke-brown-700{stroke:#5f330a}.stroke-navy-50{stroke:#e7e7fa}.stroke-navy-100{stroke:#b7b6f1}.stroke-navy-200{stroke:#8785e8}.stroke-navy-300{stroke:#5755df}.stroke-navy-500{stroke:#2724d6}.stroke-navy-500\\/20{stroke:#2724d633}.stroke-navy-500\\/40{stroke:#2724d666}.stroke-navy-500\\/70{stroke:#2724d6b3}.stroke-navy-700{stroke:#0000b8}.stroke-lime-50{stroke:#ecf6e7}.stroke-lime-100{stroke:#c5e3b6}.stroke-lime-200{stroke:#9ed186}.stroke-lime-300{stroke:#77bf56}.stroke-lime-500{stroke:#50ac25}.stroke-lime-500\\/20{stroke:#50ac2533}.stroke-lime-500\\/40{stroke:#50ac2566}.stroke-lime-500\\/70{stroke:#50ac25b3}.stroke-lime-700{stroke:#238900}.stroke-magenta-50{stroke:#fbe9f1}.stroke-magenta-100{stroke:#f4bed6}.stroke-magenta-200{stroke:#ed93bb}.stroke-magenta-300{stroke:#e668a0}.stroke-magenta-500{stroke:#df3d85}.stroke-magenta-500\\/20{stroke:#df3d8533}.stroke-magenta-500\\/40{stroke:#df3d8566}.stroke-magenta-500\\/70{stroke:#df3d85b3}.stroke-magenta-700{stroke:#c10d5d}.hover\\:text-white-50:hover{color:#fff}.hover\\:text-white-100:hover{color:#f7f7f7}.hover\\:text-white-200:hover{color:#eee}.hover\\:text-white-300:hover{color:#e5e5e5}.hover\\:text-white-500:hover{color:#dadada}.hover\\:text-white-500:hover\\/20{color:#dadada33}.hover\\:text-white-500:hover\\/40{color:#dadada66}.hover\\:text-white-500:hover\\/70{color:#dadadab3}.hover\\:text-white-700:hover{color:#ccc}.hover\\:text-black-50:hover{color:#aaa}.hover\\:text-black-100:hover{color:#919191}.hover\\:text-black-200:hover{color:#6c6c6c}.hover\\:text-black-300:hover{color:#424242}.hover\\:text-black-500:hover{color:#2f2f2f}.hover\\:text-black-500:hover\\/20{color:#2f2f2f33}.hover\\:text-black-500:hover\\/40{color:#2f2f2f66}.hover\\:text-black-500:hover\\/70{color:#2f2f2fb3}.hover\\:text-black-700:hover{color:#1d1d1d}.hover\\:text-blue-50:hover{color:#e9effd}.hover\\:text-blue-100:hover{color:#bed0f9}.hover\\:text-blue-200:hover{color:#92b1f5}.hover\\:text-blue-300:hover{color:#6692f1}.hover\\:text-blue-500:hover{color:#3b73ed}.hover\\:text-blue-500:hover\\/20{color:#3b73ed33}.hover\\:text-blue-500:hover\\/40{color:#3b73ed66}.hover\\:text-blue-500:hover\\/70{color:#3b73edb3}.hover\\:text-blue-700:hover{color:#0b49d1}.hover\\:text-blue-900:hover{color:#00179e}.hover\\:text-red-50:hover{color:#fbe9e9}.hover\\:text-red-100:hover{color:#f4bebe}.hover\\:text-red-200:hover{color:#ed9292}.hover\\:text-red-300:hover{color:#e66767}.hover\\:text-red-500:hover{color:#df3c3c}.hover\\:text-red-500:hover\\/20{color:#df3c3c33}.hover\\:text-red-500:hover\\/40{color:#df3c3c66}.hover\\:text-red-500:hover\\/70{color:#df3c3cb3}.hover\\:text-red-700:hover{color:#c20c0c}.hover\\:text-green-50:hover{color:#e7f4f3}.hover\\:text-green-100:hover{color:#b6dfdb}.hover\\:text-green-200:hover{color:#86c9c3}.hover\\:text-green-300:hover{color:#56b4ac}.hover\\:text-green-500:hover{color:#259f94}.hover\\:text-green-500:hover\\/20{color:#259f9433}.hover\\:text-green-500:hover\\/40{color:#259f9466}.hover\\:text-green-500:hover\\/70{color:#259f94b3}.hover\\:text-green-700:hover{color:#007a6e}.hover\\:text-yellow-50:hover{color:#fef4e8}.hover\\:text-yellow-100:hover{color:#fddeb9}.hover\\:text-yellow-200:hover{color:#fbc88b}.hover\\:text-yellow-300:hover{color:#fab15c}.hover\\:text-yellow-500:hover{color:#f89b2e}.hover\\:text-yellow-500:hover\\/20{color:#f89b2e33}.hover\\:text-yellow-500:hover\\/40{color:#f89b2e66}.hover\\:text-yellow-500:hover\\/70{color:#f89b2eb3}.hover\\:text-yellow-700:hover{color:#de7700}.hover\\:text-purple-50:hover{color:#f4ebfd}.hover\\:text-purple-100:hover{color:#dfc2f9}.hover\\:text-purple-200:hover{color:#c999f4}.hover\\:text-purple-300:hover{color:#b370f0}.hover\\:text-purple-500:hover{color:#9e47ec}.hover\\:text-purple-500:hover\\/20{color:#9e47ec33}.hover\\:text-purple-500:hover\\/40{color:#9e47ec66}.hover\\:text-purple-500:hover\\/70{color:#9e47ecb3}.hover\\:text-purple-700:hover{color:#7919d0}.hover\\:text-orange-50:hover{color:#ffefea}.hover\\:text-orange-100:hover{color:#ffcfc0}.hover\\:text-orange-200:hover{color:#ffb097}.hover\\:text-orange-300:hover{color:#ff906d}.hover\\:text-orange-500:hover{color:#ff7043}.hover\\:text-orange-500:hover\\/20{color:#ff704333}.hover\\:text-orange-500:hover\\/40{color:#ff704366}.hover\\:text-orange-500:hover\\/70{color:#ff7043b3}.hover\\:text-orange-700:hover{color:#e54715}.hover\\:text-azure-50:hover{color:#e5f7fc}.hover\\:text-azure-100:hover{color:#b2e6f7}.hover\\:text-azure-200:hover{color:#80d6f1}.hover\\:text-azure-300:hover{color:#4dc5eb}.hover\\:text-azure-500:hover{color:#1ab5e6}.hover\\:text-azure-500:hover\\/20{color:#1ab5e633}.hover\\:text-azure-500:hover\\/40{color:#1ab5e666}.hover\\:text-azure-500:hover\\/70{color:#1ab5e6b3}.hover\\:text-azure-700:hover{color:#0093c9}.hover\\:text-gold-50:hover{color:#faf3e6}.hover\\:text-gold-100:hover{color:#efdcb4}.hover\\:text-gold-200:hover{color:#e4c481}.hover\\:text-gold-300:hover{color:#daad4f}.hover\\:text-gold-500:hover{color:#cf961d}.hover\\:text-gold-500:hover\\/20{color:#cf961d33}.hover\\:text-gold-500:hover\\/40{color:#cf961d66}.hover\\:text-gold-500:hover\\/70{color:#cf961db3}.hover\\:text-gold-700:hover{color:#b07000}.hover\\:text-brown-50:hover{color:#f1ede9}.hover\\:text-brown-100:hover{color:#d6c9bd}.hover\\:text-brown-200:hover{color:#bca691}.hover\\:text-brown-300:hover{color:#a08266}.hover\\:text-brown-500:hover{color:#865e3a}.hover\\:text-brown-500:hover\\/20{color:#865e3a33}.hover\\:text-brown-500:hover\\/40{color:#865e3a66}.hover\\:text-brown-500:hover\\/70{color:#865e3ab3}.hover\\:text-brown-700:hover{color:#5f330a}.hover\\:text-navy-50:hover{color:#e7e7fa}.hover\\:text-navy-100:hover{color:#b7b6f1}.hover\\:text-navy-200:hover{color:#8785e8}.hover\\:text-navy-300:hover{color:#5755df}.hover\\:text-navy-500:hover{color:#2724d6}.hover\\:text-navy-500:hover\\/20{color:#2724d633}.hover\\:text-navy-500:hover\\/40{color:#2724d666}.hover\\:text-navy-500:hover\\/70{color:#2724d6b3}.hover\\:text-navy-700:hover{color:#0000b8}.hover\\:text-lime-50:hover{color:#ecf6e7}.hover\\:text-lime-100:hover{color:#c5e3b6}.hover\\:text-lime-200:hover{color:#9ed186}.hover\\:text-lime-300:hover{color:#77bf56}.hover\\:text-lime-500:hover{color:#50ac25}.hover\\:text-lime-500:hover\\/20{color:#50ac2533}.hover\\:text-lime-500:hover\\/40{color:#50ac2566}.hover\\:text-lime-500:hover\\/70{color:#50ac25b3}.hover\\:text-lime-700:hover{color:#238900}.hover\\:text-magenta-50:hover{color:#fbe9f1}.hover\\:text-magenta-100:hover{color:#f4bed6}.hover\\:text-magenta-200:hover{color:#ed93bb}.hover\\:text-magenta-300:hover{color:#e668a0}.hover\\:text-magenta-500:hover{color:#df3d85}.hover\\:text-magenta-500:hover\\/20{color:#df3d8533}.hover\\:text-magenta-500:hover\\/40{color:#df3d8566}.hover\\:text-magenta-500:hover\\/70{color:#df3d85b3}.hover\\:text-magenta-700:hover{color:#c10d5d}.hover\\:bg-white-50:hover{background-color:#fff}.hover\\:bg-white-100:hover{background-color:#f7f7f7}.hover\\:bg-white-200:hover{background-color:#eee}.hover\\:bg-white-300:hover{background-color:#e5e5e5}.hover\\:bg-white-500:hover{background-color:#dadada}.hover\\:bg-white-500:hover\\/20{background-color:#dadada33}.hover\\:bg-white-500:hover\\/40{background-color:#dadada66}.hover\\:bg-white-500:hover\\/70{background-color:#dadadab3}.hover\\:bg-white-700:hover{background-color:#ccc}.hover\\:bg-black-50:hover{background-color:#aaa}.hover\\:bg-black-100:hover{background-color:#919191}.hover\\:bg-black-200:hover{background-color:#6c6c6c}.hover\\:bg-black-300:hover{background-color:#424242}.hover\\:bg-black-500:hover{background-color:#2f2f2f}.hover\\:bg-black-500:hover\\/20{background-color:#2f2f2f33}.hover\\:bg-black-500:hover\\/40{background-color:#2f2f2f66}.hover\\:bg-black-500:hover\\/70{background-color:#2f2f2fb3}.hover\\:bg-black-700:hover{background-color:#1d1d1d}.hover\\:bg-blue-50:hover{background-color:#e9effd}.hover\\:bg-blue-100:hover{background-color:#bed0f9}.hover\\:bg-blue-200:hover{background-color:#92b1f5}.hover\\:bg-blue-300:hover{background-color:#6692f1}.hover\\:bg-blue-500:hover{background-color:#3b73ed}.hover\\:bg-blue-500:hover\\/20{background-color:#3b73ed33}.hover\\:bg-blue-500:hover\\/40{background-color:#3b73ed66}.hover\\:bg-blue-500:hover\\/70{background-color:#3b73edb3}.hover\\:bg-blue-700:hover{background-color:#0b49d1}.hover\\:bg-blue-900:hover{background-color:#00179e}.hover\\:bg-red-50:hover{background-color:#fbe9e9}.hover\\:bg-red-100:hover{background-color:#f4bebe}.hover\\:bg-red-200:hover{background-color:#ed9292}.hover\\:bg-red-300:hover{background-color:#e66767}.hover\\:bg-red-500:hover{background-color:#df3c3c}.hover\\:bg-red-500:hover\\/20{background-color:#df3c3c33}.hover\\:bg-red-500:hover\\/40{background-color:#df3c3c66}.hover\\:bg-red-500:hover\\/70{background-color:#df3c3cb3}.hover\\:bg-red-700:hover{background-color:#c20c0c}.hover\\:bg-green-50:hover{background-color:#e7f4f3}.hover\\:bg-green-100:hover{background-color:#b6dfdb}.hover\\:bg-green-200:hover{background-color:#86c9c3}.hover\\:bg-green-300:hover{background-color:#56b4ac}.hover\\:bg-green-500:hover{background-color:#259f94}.hover\\:bg-green-500:hover\\/20{background-color:#259f9433}.hover\\:bg-green-500:hover\\/40{background-color:#259f9466}.hover\\:bg-green-500:hover\\/70{background-color:#259f94b3}.hover\\:bg-green-700:hover{background-color:#007a6e}.hover\\:bg-yellow-50:hover{background-color:#fef4e8}.hover\\:bg-yellow-100:hover{background-color:#fddeb9}.hover\\:bg-yellow-200:hover{background-color:#fbc88b}.hover\\:bg-yellow-300:hover{background-color:#fab15c}.hover\\:bg-yellow-500:hover{background-color:#f89b2e}.hover\\:bg-yellow-500:hover\\/20{background-color:#f89b2e33}.hover\\:bg-yellow-500:hover\\/40{background-color:#f89b2e66}.hover\\:bg-yellow-500:hover\\/70{background-color:#f89b2eb3}.hover\\:bg-yellow-700:hover{background-color:#de7700}.hover\\:bg-purple-50:hover{background-color:#f4ebfd}.hover\\:bg-purple-100:hover{background-color:#dfc2f9}.hover\\:bg-purple-200:hover{background-color:#c999f4}.hover\\:bg-purple-300:hover{background-color:#b370f0}.hover\\:bg-purple-500:hover{background-color:#9e47ec}.hover\\:bg-purple-500:hover\\/20{background-color:#9e47ec33}.hover\\:bg-purple-500:hover\\/40{background-color:#9e47ec66}.hover\\:bg-purple-500:hover\\/70{background-color:#9e47ecb3}.hover\\:bg-purple-700:hover{background-color:#7919d0}.hover\\:bg-orange-50:hover{background-color:#ffefea}.hover\\:bg-orange-100:hover{background-color:#ffcfc0}.hover\\:bg-orange-200:hover{background-color:#ffb097}.hover\\:bg-orange-300:hover{background-color:#ff906d}.hover\\:bg-orange-500:hover{background-color:#ff7043}.hover\\:bg-orange-500:hover\\/20{background-color:#ff704333}.hover\\:bg-orange-500:hover\\/40{background-color:#ff704366}.hover\\:bg-orange-500:hover\\/70{background-color:#ff7043b3}.hover\\:bg-orange-700:hover{background-color:#e54715}.hover\\:bg-azure-50:hover{background-color:#e5f7fc}.hover\\:bg-azure-100:hover{background-color:#b2e6f7}.hover\\:bg-azure-200:hover{background-color:#80d6f1}.hover\\:bg-azure-300:hover{background-color:#4dc5eb}.hover\\:bg-azure-500:hover{background-color:#1ab5e6}.hover\\:bg-azure-500:hover\\/20{background-color:#1ab5e633}.hover\\:bg-azure-500:hover\\/40{background-color:#1ab5e666}.hover\\:bg-azure-500:hover\\/70{background-color:#1ab5e6b3}.hover\\:bg-azure-700:hover{background-color:#0093c9}.hover\\:bg-gold-50:hover{background-color:#faf3e6}.hover\\:bg-gold-100:hover{background-color:#efdcb4}.hover\\:bg-gold-200:hover{background-color:#e4c481}.hover\\:bg-gold-300:hover{background-color:#daad4f}.hover\\:bg-gold-500:hover{background-color:#cf961d}.hover\\:bg-gold-500:hover\\/20{background-color:#cf961d33}.hover\\:bg-gold-500:hover\\/40{background-color:#cf961d66}.hover\\:bg-gold-500:hover\\/70{background-color:#cf961db3}.hover\\:bg-gold-700:hover{background-color:#b07000}.hover\\:bg-brown-50:hover{background-color:#f1ede9}.hover\\:bg-brown-100:hover{background-color:#d6c9bd}.hover\\:bg-brown-200:hover{background-color:#bca691}.hover\\:bg-brown-300:hover{background-color:#a08266}.hover\\:bg-brown-500:hover{background-color:#865e3a}.hover\\:bg-brown-500:hover\\/20{background-color:#865e3a33}.hover\\:bg-brown-500:hover\\/40{background-color:#865e3a66}.hover\\:bg-brown-500:hover\\/70{background-color:#865e3ab3}.hover\\:bg-brown-700:hover{background-color:#5f330a}.hover\\:bg-navy-50:hover{background-color:#e7e7fa}.hover\\:bg-navy-100:hover{background-color:#b7b6f1}.hover\\:bg-navy-200:hover{background-color:#8785e8}.hover\\:bg-navy-300:hover{background-color:#5755df}.hover\\:bg-navy-500:hover{background-color:#2724d6}.hover\\:bg-navy-500:hover\\/20{background-color:#2724d633}.hover\\:bg-navy-500:hover\\/40{background-color:#2724d666}.hover\\:bg-navy-500:hover\\/70{background-color:#2724d6b3}.hover\\:bg-navy-700:hover{background-color:#0000b8}.hover\\:bg-lime-50:hover{background-color:#ecf6e7}.hover\\:bg-lime-100:hover{background-color:#c5e3b6}.hover\\:bg-lime-200:hover{background-color:#9ed186}.hover\\:bg-lime-300:hover{background-color:#77bf56}.hover\\:bg-lime-500:hover{background-color:#50ac25}.hover\\:bg-lime-500:hover\\/20{background-color:#50ac2533}.hover\\:bg-lime-500:hover\\/40{background-color:#50ac2566}.hover\\:bg-lime-500:hover\\/70{background-color:#50ac25b3}.hover\\:bg-lime-700:hover{background-color:#238900}.hover\\:bg-magenta-50:hover{background-color:#fbe9f1}.hover\\:bg-magenta-100:hover{background-color:#f4bed6}.hover\\:bg-magenta-200:hover{background-color:#ed93bb}.hover\\:bg-magenta-300:hover{background-color:#e668a0}.hover\\:bg-magenta-500:hover{background-color:#df3d85}.hover\\:bg-magenta-500:hover\\/20{background-color:#df3d8533}.hover\\:bg-magenta-500:hover\\/40{background-color:#df3d8566}.hover\\:bg-magenta-500:hover\\/70{background-color:#df3d85b3}.hover\\:bg-magenta-700:hover{background-color:#c10d5d}.focus\\:text-white-50:focus-visible{color:#fff}.focus\\:text-white-100:focus-visible{color:#f7f7f7}.focus\\:text-white-200:focus-visible{color:#eee}.focus\\:text-white-300:focus-visible{color:#e5e5e5}.focus\\:text-white-500:focus-visible{color:#dadada}.focus\\:text-white-500:focus-visible\\/20{color:#dadada33}.focus\\:text-white-500:focus-visible\\/40{color:#dadada66}.focus\\:text-white-500:focus-visible\\/70{color:#dadadab3}.focus\\:text-white-700:focus-visible{color:#ccc}.focus\\:text-black-50:focus-visible{color:#aaa}.focus\\:text-black-100:focus-visible{color:#919191}.focus\\:text-black-200:focus-visible{color:#6c6c6c}.focus\\:text-black-300:focus-visible{color:#424242}.focus\\:text-black-500:focus-visible{color:#2f2f2f}.focus\\:text-black-500:focus-visible\\/20{color:#2f2f2f33}.focus\\:text-black-500:focus-visible\\/40{color:#2f2f2f66}.focus\\:text-black-500:focus-visible\\/70{color:#2f2f2fb3}.focus\\:text-black-700:focus-visible{color:#1d1d1d}.focus\\:text-blue-50:focus-visible{color:#e9effd}.focus\\:text-blue-100:focus-visible{color:#bed0f9}.focus\\:text-blue-200:focus-visible{color:#92b1f5}.focus\\:text-blue-300:focus-visible{color:#6692f1}.focus\\:text-blue-500:focus-visible{color:#3b73ed}.focus\\:text-blue-500:focus-visible\\/20{color:#3b73ed33}.focus\\:text-blue-500:focus-visible\\/40{color:#3b73ed66}.focus\\:text-blue-500:focus-visible\\/70{color:#3b73edb3}.focus\\:text-blue-700:focus-visible{color:#0b49d1}.focus\\:text-blue-900:focus-visible{color:#00179e}.focus\\:text-red-50:focus-visible{color:#fbe9e9}.focus\\:text-red-100:focus-visible{color:#f4bebe}.focus\\:text-red-200:focus-visible{color:#ed9292}.focus\\:text-red-300:focus-visible{color:#e66767}.focus\\:text-red-500:focus-visible{color:#df3c3c}.focus\\:text-red-500:focus-visible\\/20{color:#df3c3c33}.focus\\:text-red-500:focus-visible\\/40{color:#df3c3c66}.focus\\:text-red-500:focus-visible\\/70{color:#df3c3cb3}.focus\\:text-red-700:focus-visible{color:#c20c0c}.focus\\:text-green-50:focus-visible{color:#e7f4f3}.focus\\:text-green-100:focus-visible{color:#b6dfdb}.focus\\:text-green-200:focus-visible{color:#86c9c3}.focus\\:text-green-300:focus-visible{color:#56b4ac}.focus\\:text-green-500:focus-visible{color:#259f94}.focus\\:text-green-500:focus-visible\\/20{color:#259f9433}.focus\\:text-green-500:focus-visible\\/40{color:#259f9466}.focus\\:text-green-500:focus-visible\\/70{color:#259f94b3}.focus\\:text-green-700:focus-visible{color:#007a6e}.focus\\:text-yellow-50:focus-visible{color:#fef4e8}.focus\\:text-yellow-100:focus-visible{color:#fddeb9}.focus\\:text-yellow-200:focus-visible{color:#fbc88b}.focus\\:text-yellow-300:focus-visible{color:#fab15c}.focus\\:text-yellow-500:focus-visible{color:#f89b2e}.focus\\:text-yellow-500:focus-visible\\/20{color:#f89b2e33}.focus\\:text-yellow-500:focus-visible\\/40{color:#f89b2e66}.focus\\:text-yellow-500:focus-visible\\/70{color:#f89b2eb3}.focus\\:text-yellow-700:focus-visible{color:#de7700}.focus\\:text-purple-50:focus-visible{color:#f4ebfd}.focus\\:text-purple-100:focus-visible{color:#dfc2f9}.focus\\:text-purple-200:focus-visible{color:#c999f4}.focus\\:text-purple-300:focus-visible{color:#b370f0}.focus\\:text-purple-500:focus-visible{color:#9e47ec}.focus\\:text-purple-500:focus-visible\\/20{color:#9e47ec33}.focus\\:text-purple-500:focus-visible\\/40{color:#9e47ec66}.focus\\:text-purple-500:focus-visible\\/70{color:#9e47ecb3}.focus\\:text-purple-700:focus-visible{color:#7919d0}.focus\\:text-orange-50:focus-visible{color:#ffefea}.focus\\:text-orange-100:focus-visible{color:#ffcfc0}.focus\\:text-orange-200:focus-visible{color:#ffb097}.focus\\:text-orange-300:focus-visible{color:#ff906d}.focus\\:text-orange-500:focus-visible{color:#ff7043}.focus\\:text-orange-500:focus-visible\\/20{color:#ff704333}.focus\\:text-orange-500:focus-visible\\/40{color:#ff704366}.focus\\:text-orange-500:focus-visible\\/70{color:#ff7043b3}.focus\\:text-orange-700:focus-visible{color:#e54715}.focus\\:text-azure-50:focus-visible{color:#e5f7fc}.focus\\:text-azure-100:focus-visible{color:#b2e6f7}.focus\\:text-azure-200:focus-visible{color:#80d6f1}.focus\\:text-azure-300:focus-visible{color:#4dc5eb}.focus\\:text-azure-500:focus-visible{color:#1ab5e6}.focus\\:text-azure-500:focus-visible\\/20{color:#1ab5e633}.focus\\:text-azure-500:focus-visible\\/40{color:#1ab5e666}.focus\\:text-azure-500:focus-visible\\/70{color:#1ab5e6b3}.focus\\:text-azure-700:focus-visible{color:#0093c9}.focus\\:text-gold-50:focus-visible{color:#faf3e6}.focus\\:text-gold-100:focus-visible{color:#efdcb4}.focus\\:text-gold-200:focus-visible{color:#e4c481}.focus\\:text-gold-300:focus-visible{color:#daad4f}.focus\\:text-gold-500:focus-visible{color:#cf961d}.focus\\:text-gold-500:focus-visible\\/20{color:#cf961d33}.focus\\:text-gold-500:focus-visible\\/40{color:#cf961d66}.focus\\:text-gold-500:focus-visible\\/70{color:#cf961db3}.focus\\:text-gold-700:focus-visible{color:#b07000}.focus\\:text-brown-50:focus-visible{color:#f1ede9}.focus\\:text-brown-100:focus-visible{color:#d6c9bd}.focus\\:text-brown-200:focus-visible{color:#bca691}.focus\\:text-brown-300:focus-visible{color:#a08266}.focus\\:text-brown-500:focus-visible{color:#865e3a}.focus\\:text-brown-500:focus-visible\\/20{color:#865e3a33}.focus\\:text-brown-500:focus-visible\\/40{color:#865e3a66}.focus\\:text-brown-500:focus-visible\\/70{color:#865e3ab3}.focus\\:text-brown-700:focus-visible{color:#5f330a}.focus\\:text-navy-50:focus-visible{color:#e7e7fa}.focus\\:text-navy-100:focus-visible{color:#b7b6f1}.focus\\:text-navy-200:focus-visible{color:#8785e8}.focus\\:text-navy-300:focus-visible{color:#5755df}.focus\\:text-navy-500:focus-visible{color:#2724d6}.focus\\:text-navy-500:focus-visible\\/20{color:#2724d633}.focus\\:text-navy-500:focus-visible\\/40{color:#2724d666}.focus\\:text-navy-500:focus-visible\\/70{color:#2724d6b3}.focus\\:text-navy-700:focus-visible{color:#0000b8}.focus\\:text-lime-50:focus-visible{color:#ecf6e7}.focus\\:text-lime-100:focus-visible{color:#c5e3b6}.focus\\:text-lime-200:focus-visible{color:#9ed186}.focus\\:text-lime-300:focus-visible{color:#77bf56}.focus\\:text-lime-500:focus-visible{color:#50ac25}.focus\\:text-lime-500:focus-visible\\/20{color:#50ac2533}.focus\\:text-lime-500:focus-visible\\/40{color:#50ac2566}.focus\\:text-lime-500:focus-visible\\/70{color:#50ac25b3}.focus\\:text-lime-700:focus-visible{color:#238900}.focus\\:text-magenta-50:focus-visible{color:#fbe9f1}.focus\\:text-magenta-100:focus-visible{color:#f4bed6}.focus\\:text-magenta-200:focus-visible{color:#ed93bb}.focus\\:text-magenta-300:focus-visible{color:#e668a0}.focus\\:text-magenta-500:focus-visible{color:#df3d85}.focus\\:text-magenta-500:focus-visible\\/20{color:#df3d8533}.focus\\:text-magenta-500:focus-visible\\/40{color:#df3d8566}.focus\\:text-magenta-500:focus-visible\\/70{color:#df3d85b3}.focus\\:text-magenta-700:focus-visible{color:#c10d5d}.focus\\:bg-white-50:focus-visible{background-color:#fff}.focus\\:bg-white-100:focus-visible{background-color:#f7f7f7}.focus\\:bg-white-200:focus-visible{background-color:#eee}.focus\\:bg-white-300:focus-visible{background-color:#e5e5e5}.focus\\:bg-white-500:focus-visible{background-color:#dadada}.focus\\:bg-white-500:focus-visible\\/20{background-color:#dadada33}.focus\\:bg-white-500:focus-visible\\/40{background-color:#dadada66}.focus\\:bg-white-500:focus-visible\\/70{background-color:#dadadab3}.focus\\:bg-white-700:focus-visible{background-color:#ccc}.focus\\:bg-black-50:focus-visible{background-color:#aaa}.focus\\:bg-black-100:focus-visible{background-color:#919191}.focus\\:bg-black-200:focus-visible{background-color:#6c6c6c}.focus\\:bg-black-300:focus-visible{background-color:#424242}.focus\\:bg-black-500:focus-visible{background-color:#2f2f2f}.focus\\:bg-black-500:focus-visible\\/20{background-color:#2f2f2f33}.focus\\:bg-black-500:focus-visible\\/40{background-color:#2f2f2f66}.focus\\:bg-black-500:focus-visible\\/70{background-color:#2f2f2fb3}.focus\\:bg-black-700:focus-visible{background-color:#1d1d1d}.focus\\:bg-blue-50:focus-visible{background-color:#e9effd}.focus\\:bg-blue-100:focus-visible{background-color:#bed0f9}.focus\\:bg-blue-200:focus-visible{background-color:#92b1f5}.focus\\:bg-blue-300:focus-visible{background-color:#6692f1}.focus\\:bg-blue-500:focus-visible{background-color:#3b73ed}.focus\\:bg-blue-500:focus-visible\\/20{background-color:#3b73ed33}.focus\\:bg-blue-500:focus-visible\\/40{background-color:#3b73ed66}.focus\\:bg-blue-500:focus-visible\\/70{background-color:#3b73edb3}.focus\\:bg-blue-700:focus-visible{background-color:#0b49d1}.focus\\:bg-blue-900:focus-visible{background-color:#00179e}.focus\\:bg-red-50:focus-visible{background-color:#fbe9e9}.focus\\:bg-red-100:focus-visible{background-color:#f4bebe}.focus\\:bg-red-200:focus-visible{background-color:#ed9292}.focus\\:bg-red-300:focus-visible{background-color:#e66767}.focus\\:bg-red-500:focus-visible{background-color:#df3c3c}.focus\\:bg-red-500:focus-visible\\/20{background-color:#df3c3c33}.focus\\:bg-red-500:focus-visible\\/40{background-color:#df3c3c66}.focus\\:bg-red-500:focus-visible\\/70{background-color:#df3c3cb3}.focus\\:bg-red-700:focus-visible{background-color:#c20c0c}.focus\\:bg-green-50:focus-visible{background-color:#e7f4f3}.focus\\:bg-green-100:focus-visible{background-color:#b6dfdb}.focus\\:bg-green-200:focus-visible{background-color:#86c9c3}.focus\\:bg-green-300:focus-visible{background-color:#56b4ac}.focus\\:bg-green-500:focus-visible{background-color:#259f94}.focus\\:bg-green-500:focus-visible\\/20{background-color:#259f9433}.focus\\:bg-green-500:focus-visible\\/40{background-color:#259f9466}.focus\\:bg-green-500:focus-visible\\/70{background-color:#259f94b3}.focus\\:bg-green-700:focus-visible{background-color:#007a6e}.focus\\:bg-yellow-50:focus-visible{background-color:#fef4e8}.focus\\:bg-yellow-100:focus-visible{background-color:#fddeb9}.focus\\:bg-yellow-200:focus-visible{background-color:#fbc88b}.focus\\:bg-yellow-300:focus-visible{background-color:#fab15c}.focus\\:bg-yellow-500:focus-visible{background-color:#f89b2e}.focus\\:bg-yellow-500:focus-visible\\/20{background-color:#f89b2e33}.focus\\:bg-yellow-500:focus-visible\\/40{background-color:#f89b2e66}.focus\\:bg-yellow-500:focus-visible\\/70{background-color:#f89b2eb3}.focus\\:bg-yellow-700:focus-visible{background-color:#de7700}.focus\\:bg-purple-50:focus-visible{background-color:#f4ebfd}.focus\\:bg-purple-100:focus-visible{background-color:#dfc2f9}.focus\\:bg-purple-200:focus-visible{background-color:#c999f4}.focus\\:bg-purple-300:focus-visible{background-color:#b370f0}.focus\\:bg-purple-500:focus-visible{background-color:#9e47ec}.focus\\:bg-purple-500:focus-visible\\/20{background-color:#9e47ec33}.focus\\:bg-purple-500:focus-visible\\/40{background-color:#9e47ec66}.focus\\:bg-purple-500:focus-visible\\/70{background-color:#9e47ecb3}.focus\\:bg-purple-700:focus-visible{background-color:#7919d0}.focus\\:bg-orange-50:focus-visible{background-color:#ffefea}.focus\\:bg-orange-100:focus-visible{background-color:#ffcfc0}.focus\\:bg-orange-200:focus-visible{background-color:#ffb097}.focus\\:bg-orange-300:focus-visible{background-color:#ff906d}.focus\\:bg-orange-500:focus-visible{background-color:#ff7043}.focus\\:bg-orange-500:focus-visible\\/20{background-color:#ff704333}.focus\\:bg-orange-500:focus-visible\\/40{background-color:#ff704366}.focus\\:bg-orange-500:focus-visible\\/70{background-color:#ff7043b3}.focus\\:bg-orange-700:focus-visible{background-color:#e54715}.focus\\:bg-azure-50:focus-visible{background-color:#e5f7fc}.focus\\:bg-azure-100:focus-visible{background-color:#b2e6f7}.focus\\:bg-azure-200:focus-visible{background-color:#80d6f1}.focus\\:bg-azure-300:focus-visible{background-color:#4dc5eb}.focus\\:bg-azure-500:focus-visible{background-color:#1ab5e6}.focus\\:bg-azure-500:focus-visible\\/20{background-color:#1ab5e633}.focus\\:bg-azure-500:focus-visible\\/40{background-color:#1ab5e666}.focus\\:bg-azure-500:focus-visible\\/70{background-color:#1ab5e6b3}.focus\\:bg-azure-700:focus-visible{background-color:#0093c9}.focus\\:bg-gold-50:focus-visible{background-color:#faf3e6}.focus\\:bg-gold-100:focus-visible{background-color:#efdcb4}.focus\\:bg-gold-200:focus-visible{background-color:#e4c481}.focus\\:bg-gold-300:focus-visible{background-color:#daad4f}.focus\\:bg-gold-500:focus-visible{background-color:#cf961d}.focus\\:bg-gold-500:focus-visible\\/20{background-color:#cf961d33}.focus\\:bg-gold-500:focus-visible\\/40{background-color:#cf961d66}.focus\\:bg-gold-500:focus-visible\\/70{background-color:#cf961db3}.focus\\:bg-gold-700:focus-visible{background-color:#b07000}.focus\\:bg-brown-50:focus-visible{background-color:#f1ede9}.focus\\:bg-brown-100:focus-visible{background-color:#d6c9bd}.focus\\:bg-brown-200:focus-visible{background-color:#bca691}.focus\\:bg-brown-300:focus-visible{background-color:#a08266}.focus\\:bg-brown-500:focus-visible{background-color:#865e3a}.focus\\:bg-brown-500:focus-visible\\/20{background-color:#865e3a33}.focus\\:bg-brown-500:focus-visible\\/40{background-color:#865e3a66}.focus\\:bg-brown-500:focus-visible\\/70{background-color:#865e3ab3}.focus\\:bg-brown-700:focus-visible{background-color:#5f330a}.focus\\:bg-navy-50:focus-visible{background-color:#e7e7fa}.focus\\:bg-navy-100:focus-visible{background-color:#b7b6f1}.focus\\:bg-navy-200:focus-visible{background-color:#8785e8}.focus\\:bg-navy-300:focus-visible{background-color:#5755df}.focus\\:bg-navy-500:focus-visible{background-color:#2724d6}.focus\\:bg-navy-500:focus-visible\\/20{background-color:#2724d633}.focus\\:bg-navy-500:focus-visible\\/40{background-color:#2724d666}.focus\\:bg-navy-500:focus-visible\\/70{background-color:#2724d6b3}.focus\\:bg-navy-700:focus-visible{background-color:#0000b8}.focus\\:bg-lime-50:focus-visible{background-color:#ecf6e7}.focus\\:bg-lime-100:focus-visible{background-color:#c5e3b6}.focus\\:bg-lime-200:focus-visible{background-color:#9ed186}.focus\\:bg-lime-300:focus-visible{background-color:#77bf56}.focus\\:bg-lime-500:focus-visible{background-color:#50ac25}.focus\\:bg-lime-500:focus-visible\\/20{background-color:#50ac2533}.focus\\:bg-lime-500:focus-visible\\/40{background-color:#50ac2566}.focus\\:bg-lime-500:focus-visible\\/70{background-color:#50ac25b3}.focus\\:bg-lime-700:focus-visible{background-color:#238900}.focus\\:bg-magenta-50:focus-visible{background-color:#fbe9f1}.focus\\:bg-magenta-100:focus-visible{background-color:#f4bed6}.focus\\:bg-magenta-200:focus-visible{background-color:#ed93bb}.focus\\:bg-magenta-300:focus-visible{background-color:#e668a0}.focus\\:bg-magenta-500:focus-visible{background-color:#df3d85}.focus\\:bg-magenta-500:focus-visible\\/20{background-color:#df3d8533}.focus\\:bg-magenta-500:focus-visible\\/40{background-color:#df3d8566}.focus\\:bg-magenta-500:focus-visible\\/70{background-color:#df3d85b3}.focus\\:bg-magenta-700:focus-visible{background-color:#c10d5d}.active\\:text-white-50:active{color:#fff}.active\\:text-white-100:active{color:#f7f7f7}.active\\:text-white-200:active{color:#eee}.active\\:text-white-300:active{color:#e5e5e5}.active\\:text-white-500:active{color:#dadada}.active\\:text-white-500:active\\/20{color:#dadada33}.active\\:text-white-500:active\\/40{color:#dadada66}.active\\:text-white-500:active\\/70{color:#dadadab3}.active\\:text-white-700:active{color:#ccc}.active\\:text-black-50:active{color:#aaa}.active\\:text-black-100:active{color:#919191}.active\\:text-black-200:active{color:#6c6c6c}.active\\:text-black-300:active{color:#424242}.active\\:text-black-500:active{color:#2f2f2f}.active\\:text-black-500:active\\/20{color:#2f2f2f33}.active\\:text-black-500:active\\/40{color:#2f2f2f66}.active\\:text-black-500:active\\/70{color:#2f2f2fb3}.active\\:text-black-700:active{color:#1d1d1d}.active\\:text-blue-50:active{color:#e9effd}.active\\:text-blue-100:active{color:#bed0f9}.active\\:text-blue-200:active{color:#92b1f5}.active\\:text-blue-300:active{color:#6692f1}.active\\:text-blue-500:active{color:#3b73ed}.active\\:text-blue-500:active\\/20{color:#3b73ed33}.active\\:text-blue-500:active\\/40{color:#3b73ed66}.active\\:text-blue-500:active\\/70{color:#3b73edb3}.active\\:text-blue-700:active{color:#0b49d1}.active\\:text-blue-900:active{color:#00179e}.active\\:text-red-50:active{color:#fbe9e9}.active\\:text-red-100:active{color:#f4bebe}.active\\:text-red-200:active{color:#ed9292}.active\\:text-red-300:active{color:#e66767}.active\\:text-red-500:active{color:#df3c3c}.active\\:text-red-500:active\\/20{color:#df3c3c33}.active\\:text-red-500:active\\/40{color:#df3c3c66}.active\\:text-red-500:active\\/70{color:#df3c3cb3}.active\\:text-red-700:active{color:#c20c0c}.active\\:text-green-50:active{color:#e7f4f3}.active\\:text-green-100:active{color:#b6dfdb}.active\\:text-green-200:active{color:#86c9c3}.active\\:text-green-300:active{color:#56b4ac}.active\\:text-green-500:active{color:#259f94}.active\\:text-green-500:active\\/20{color:#259f9433}.active\\:text-green-500:active\\/40{color:#259f9466}.active\\:text-green-500:active\\/70{color:#259f94b3}.active\\:text-green-700:active{color:#007a6e}.active\\:text-yellow-50:active{color:#fef4e8}.active\\:text-yellow-100:active{color:#fddeb9}.active\\:text-yellow-200:active{color:#fbc88b}.active\\:text-yellow-300:active{color:#fab15c}.active\\:text-yellow-500:active{color:#f89b2e}.active\\:text-yellow-500:active\\/20{color:#f89b2e33}.active\\:text-yellow-500:active\\/40{color:#f89b2e66}.active\\:text-yellow-500:active\\/70{color:#f89b2eb3}.active\\:text-yellow-700:active{color:#de7700}.active\\:text-purple-50:active{color:#f4ebfd}.active\\:text-purple-100:active{color:#dfc2f9}.active\\:text-purple-200:active{color:#c999f4}.active\\:text-purple-300:active{color:#b370f0}.active\\:text-purple-500:active{color:#9e47ec}.active\\:text-purple-500:active\\/20{color:#9e47ec33}.active\\:text-purple-500:active\\/40{color:#9e47ec66}.active\\:text-purple-500:active\\/70{color:#9e47ecb3}.active\\:text-purple-700:active{color:#7919d0}.active\\:text-orange-50:active{color:#ffefea}.active\\:text-orange-100:active{color:#ffcfc0}.active\\:text-orange-200:active{color:#ffb097}.active\\:text-orange-300:active{color:#ff906d}.active\\:text-orange-500:active{color:#ff7043}.active\\:text-orange-500:active\\/20{color:#ff704333}.active\\:text-orange-500:active\\/40{color:#ff704366}.active\\:text-orange-500:active\\/70{color:#ff7043b3}.active\\:text-orange-700:active{color:#e54715}.active\\:text-azure-50:active{color:#e5f7fc}.active\\:text-azure-100:active{color:#b2e6f7}.active\\:text-azure-200:active{color:#80d6f1}.active\\:text-azure-300:active{color:#4dc5eb}.active\\:text-azure-500:active{color:#1ab5e6}.active\\:text-azure-500:active\\/20{color:#1ab5e633}.active\\:text-azure-500:active\\/40{color:#1ab5e666}.active\\:text-azure-500:active\\/70{color:#1ab5e6b3}.active\\:text-azure-700:active{color:#0093c9}.active\\:text-gold-50:active{color:#faf3e6}.active\\:text-gold-100:active{color:#efdcb4}.active\\:text-gold-200:active{color:#e4c481}.active\\:text-gold-300:active{color:#daad4f}.active\\:text-gold-500:active{color:#cf961d}.active\\:text-gold-500:active\\/20{color:#cf961d33}.active\\:text-gold-500:active\\/40{color:#cf961d66}.active\\:text-gold-500:active\\/70{color:#cf961db3}.active\\:text-gold-700:active{color:#b07000}.active\\:text-brown-50:active{color:#f1ede9}.active\\:text-brown-100:active{color:#d6c9bd}.active\\:text-brown-200:active{color:#bca691}.active\\:text-brown-300:active{color:#a08266}.active\\:text-brown-500:active{color:#865e3a}.active\\:text-brown-500:active\\/20{color:#865e3a33}.active\\:text-brown-500:active\\/40{color:#865e3a66}.active\\:text-brown-500:active\\/70{color:#865e3ab3}.active\\:text-brown-700:active{color:#5f330a}.active\\:text-navy-50:active{color:#e7e7fa}.active\\:text-navy-100:active{color:#b7b6f1}.active\\:text-navy-200:active{color:#8785e8}.active\\:text-navy-300:active{color:#5755df}.active\\:text-navy-500:active{color:#2724d6}.active\\:text-navy-500:active\\/20{color:#2724d633}.active\\:text-navy-500:active\\/40{color:#2724d666}.active\\:text-navy-500:active\\/70{color:#2724d6b3}.active\\:text-navy-700:active{color:#0000b8}.active\\:text-lime-50:active{color:#ecf6e7}.active\\:text-lime-100:active{color:#c5e3b6}.active\\:text-lime-200:active{color:#9ed186}.active\\:text-lime-300:active{color:#77bf56}.active\\:text-lime-500:active{color:#50ac25}.active\\:text-lime-500:active\\/20{color:#50ac2533}.active\\:text-lime-500:active\\/40{color:#50ac2566}.active\\:text-lime-500:active\\/70{color:#50ac25b3}.active\\:text-lime-700:active{color:#238900}.active\\:text-magenta-50:active{color:#fbe9f1}.active\\:text-magenta-100:active{color:#f4bed6}.active\\:text-magenta-200:active{color:#ed93bb}.active\\:text-magenta-300:active{color:#e668a0}.active\\:text-magenta-500:active{color:#df3d85}.active\\:text-magenta-500:active\\/20{color:#df3d8533}.active\\:text-magenta-500:active\\/40{color:#df3d8566}.active\\:text-magenta-500:active\\/70{color:#df3d85b3}.active\\:text-magenta-700:active{color:#c10d5d}.active\\:bg-white-50:active{background-color:#fff}.active\\:bg-white-100:active{background-color:#f7f7f7}.active\\:bg-white-200:active{background-color:#eee}.active\\:bg-white-300:active{background-color:#e5e5e5}.active\\:bg-white-500:active{background-color:#dadada}.active\\:bg-white-500:active\\/20{background-color:#dadada33}.active\\:bg-white-500:active\\/40{background-color:#dadada66}.active\\:bg-white-500:active\\/70{background-color:#dadadab3}.active\\:bg-white-700:active{background-color:#ccc}.active\\:bg-black-50:active{background-color:#aaa}.active\\:bg-black-100:active{background-color:#919191}.active\\:bg-black-200:active{background-color:#6c6c6c}.active\\:bg-black-300:active{background-color:#424242}.active\\:bg-black-500:active{background-color:#2f2f2f}.active\\:bg-black-500:active\\/20{background-color:#2f2f2f33}.active\\:bg-black-500:active\\/40{background-color:#2f2f2f66}.active\\:bg-black-500:active\\/70{background-color:#2f2f2fb3}.active\\:bg-black-700:active{background-color:#1d1d1d}.active\\:bg-blue-50:active{background-color:#e9effd}.active\\:bg-blue-100:active{background-color:#bed0f9}.active\\:bg-blue-200:active{background-color:#92b1f5}.active\\:bg-blue-300:active{background-color:#6692f1}.active\\:bg-blue-500:active{background-color:#3b73ed}.active\\:bg-blue-500:active\\/20{background-color:#3b73ed33}.active\\:bg-blue-500:active\\/40{background-color:#3b73ed66}.active\\:bg-blue-500:active\\/70{background-color:#3b73edb3}.active\\:bg-blue-700:active{background-color:#0b49d1}.active\\:bg-blue-900:active{background-color:#00179e}.active\\:bg-red-50:active{background-color:#fbe9e9}.active\\:bg-red-100:active{background-color:#f4bebe}.active\\:bg-red-200:active{background-color:#ed9292}.active\\:bg-red-300:active{background-color:#e66767}.active\\:bg-red-500:active{background-color:#df3c3c}.active\\:bg-red-500:active\\/20{background-color:#df3c3c33}.active\\:bg-red-500:active\\/40{background-color:#df3c3c66}.active\\:bg-red-500:active\\/70{background-color:#df3c3cb3}.active\\:bg-red-700:active{background-color:#c20c0c}.active\\:bg-green-50:active{background-color:#e7f4f3}.active\\:bg-green-100:active{background-color:#b6dfdb}.active\\:bg-green-200:active{background-color:#86c9c3}.active\\:bg-green-300:active{background-color:#56b4ac}.active\\:bg-green-500:active{background-color:#259f94}.active\\:bg-green-500:active\\/20{background-color:#259f9433}.active\\:bg-green-500:active\\/40{background-color:#259f9466}.active\\:bg-green-500:active\\/70{background-color:#259f94b3}.active\\:bg-green-700:active{background-color:#007a6e}.active\\:bg-yellow-50:active{background-color:#fef4e8}.active\\:bg-yellow-100:active{background-color:#fddeb9}.active\\:bg-yellow-200:active{background-color:#fbc88b}.active\\:bg-yellow-300:active{background-color:#fab15c}.active\\:bg-yellow-500:active{background-color:#f89b2e}.active\\:bg-yellow-500:active\\/20{background-color:#f89b2e33}.active\\:bg-yellow-500:active\\/40{background-color:#f89b2e66}.active\\:bg-yellow-500:active\\/70{background-color:#f89b2eb3}.active\\:bg-yellow-700:active{background-color:#de7700}.active\\:bg-purple-50:active{background-color:#f4ebfd}.active\\:bg-purple-100:active{background-color:#dfc2f9}.active\\:bg-purple-200:active{background-color:#c999f4}.active\\:bg-purple-300:active{background-color:#b370f0}.active\\:bg-purple-500:active{background-color:#9e47ec}.active\\:bg-purple-500:active\\/20{background-color:#9e47ec33}.active\\:bg-purple-500:active\\/40{background-color:#9e47ec66}.active\\:bg-purple-500:active\\/70{background-color:#9e47ecb3}.active\\:bg-purple-700:active{background-color:#7919d0}.active\\:bg-orange-50:active{background-color:#ffefea}.active\\:bg-orange-100:active{background-color:#ffcfc0}.active\\:bg-orange-200:active{background-color:#ffb097}.active\\:bg-orange-300:active{background-color:#ff906d}.active\\:bg-orange-500:active{background-color:#ff7043}.active\\:bg-orange-500:active\\/20{background-color:#ff704333}.active\\:bg-orange-500:active\\/40{background-color:#ff704366}.active\\:bg-orange-500:active\\/70{background-color:#ff7043b3}.active\\:bg-orange-700:active{background-color:#e54715}.active\\:bg-azure-50:active{background-color:#e5f7fc}.active\\:bg-azure-100:active{background-color:#b2e6f7}.active\\:bg-azure-200:active{background-color:#80d6f1}.active\\:bg-azure-300:active{background-color:#4dc5eb}.active\\:bg-azure-500:active{background-color:#1ab5e6}.active\\:bg-azure-500:active\\/20{background-color:#1ab5e633}.active\\:bg-azure-500:active\\/40{background-color:#1ab5e666}.active\\:bg-azure-500:active\\/70{background-color:#1ab5e6b3}.active\\:bg-azure-700:active{background-color:#0093c9}.active\\:bg-gold-50:active{background-color:#faf3e6}.active\\:bg-gold-100:active{background-color:#efdcb4}.active\\:bg-gold-200:active{background-color:#e4c481}.active\\:bg-gold-300:active{background-color:#daad4f}.active\\:bg-gold-500:active{background-color:#cf961d}.active\\:bg-gold-500:active\\/20{background-color:#cf961d33}.active\\:bg-gold-500:active\\/40{background-color:#cf961d66}.active\\:bg-gold-500:active\\/70{background-color:#cf961db3}.active\\:bg-gold-700:active{background-color:#b07000}.active\\:bg-brown-50:active{background-color:#f1ede9}.active\\:bg-brown-100:active{background-color:#d6c9bd}.active\\:bg-brown-200:active{background-color:#bca691}.active\\:bg-brown-300:active{background-color:#a08266}.active\\:bg-brown-500:active{background-color:#865e3a}.active\\:bg-brown-500:active\\/20{background-color:#865e3a33}.active\\:bg-brown-500:active\\/40{background-color:#865e3a66}.active\\:bg-brown-500:active\\/70{background-color:#865e3ab3}.active\\:bg-brown-700:active{background-color:#5f330a}.active\\:bg-navy-50:active{background-color:#e7e7fa}.active\\:bg-navy-100:active{background-color:#b7b6f1}.active\\:bg-navy-200:active{background-color:#8785e8}.active\\:bg-navy-300:active{background-color:#5755df}.active\\:bg-navy-500:active{background-color:#2724d6}.active\\:bg-navy-500:active\\/20{background-color:#2724d633}.active\\:bg-navy-500:active\\/40{background-color:#2724d666}.active\\:bg-navy-500:active\\/70{background-color:#2724d6b3}.active\\:bg-navy-700:active{background-color:#0000b8}.active\\:bg-lime-50:active{background-color:#ecf6e7}.active\\:bg-lime-100:active{background-color:#c5e3b6}.active\\:bg-lime-200:active{background-color:#9ed186}.active\\:bg-lime-300:active{background-color:#77bf56}.active\\:bg-lime-500:active{background-color:#50ac25}.active\\:bg-lime-500:active\\/20{background-color:#50ac2533}.active\\:bg-lime-500:active\\/40{background-color:#50ac2566}.active\\:bg-lime-500:active\\/70{background-color:#50ac25b3}.active\\:bg-lime-700:active{background-color:#238900}.active\\:bg-magenta-50:active{background-color:#fbe9f1}.active\\:bg-magenta-100:active{background-color:#f4bed6}.active\\:bg-magenta-200:active{background-color:#ed93bb}.active\\:bg-magenta-300:active{background-color:#e668a0}.active\\:bg-magenta-500:active{background-color:#df3d85}.active\\:bg-magenta-500:active\\/20{background-color:#df3d8533}.active\\:bg-magenta-500:active\\/40{background-color:#df3d8566}.active\\:bg-magenta-500:active\\/70{background-color:#df3d85b3}.active\\:bg-magenta-700:active{background-color:#c10d5d}.transition{transition:all .2s ease-in-out}.disable-selection,.logo-container .logo-image,.cover-container .cover-image,.profile-rounded-image,.profile-square-image{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none}.drop-zone-container.has-logo{display:none}.largeContainer{position:relative;min-height:178px}.largeContainer .cropper-overlay{width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:1050;gap:4px;opacity:1;position:absolute}.largeContainer .cropper-overlay .img-cropper{height:178px!important}.largeContainer.hasCropper{min-height:212px;position:relative}.logo-container{position:absolute;top:0;left:0;width:616px;height:214px;overflow:hidden}.logo-container .logo-image{width:100%;height:100%;z-index:1000}.logoVar{height:214px}.logoVar.hasCropper{height:240px!important}.logoVar.hasCropper .drop-zone-container{display:none!important}.logoVar .drop-zone-container .drop-zone,.logoVar .drop-zone-container .drop-zone-error{height:204px}.logoVar .cropper-overlay{height:240px!important}.logoVar .cropper-overlay .img-cropper{height:206px!important}.cover-container{width:267px;height:178px}.cover-container .cover-image{width:100%;height:100%;object-fit:cover;display:block}.profile-rounded-image{width:178px;height:178px;object-fit:cover;display:block;border-radius:50%}.profile-square-image{width:160px;height:178px;object-fit:cover;display:block;border-radius:2px}.container.dragMode{position:fixed;position-anchor:--modal-body;left:anchor(left);top:anchor(top);height:anchor-size(--modal-body height)!important;width:anchor-size(--modal-body width)!important;display:flex;justify-content:center;align-items:center;gap:0;background-color:#fff!important}.container.dragMode .avatar,.container.dragMode .profile-container,.container.dragMode .logo-container,.container.dragMode .cover-container,.container.dragMode .docs{display:none}.container.dragMode .drop-zone-container{position:relative;width:100%;height:100%;flex:1 1 100%}.container.dragMode .drop-zone-container .drop-zone{flex-direction:column;height:100%;outline:none!important;margin:0!important;border:4px dashed #cccccc;border-color:#ccc}.container.dragMode .drop-zone-container .drop-zone .illustration,.container.dragMode .drop-zone-container .drop-zone svg{width:200px!important;height:200px!important;pointer-events:none!important}.container.dragMode .drop-zone-container .drop-zone .drag-icons-container{position:relative}.container.dragMode .drop-zone-container .drop-zone .drag-icons-container .drag-icon-document{width:80px!important;height:80px!important}.container.dragMode .drop-zone-container .drop-zone .drag-icons-container .drag-icon-document svg{width:80px!important;height:80px!important}.container.dragMode .drop-zone-container .drop-zone .drag-icons-container ng-lottie{width:200px;height:200px;display:block}.container.dragMode .drop-zone-container .drop-zone .drop-zone-focus-text{margin-top:32px}.container.dragMode .drop-zone-container .drop-zone .drop-zone-focus-text .heading{font-weight:700;font-size:14px;line-height:18px}.container.dragMode:hover .drop-zone{background-color:#fff!important}.container.dragMode.onDragover .drop-zone-container .drop-zone{border-color:#ccc}.container.dragMode.dual-drop-mode .drop-zone-container{--dual-drop-border: 4px;--dual-drop-border-overlap: calc(var(--dual-drop-border) / 2);position:relative;display:block;overflow:hidden}.container.dragMode.dual-drop-mode .drop-zone-container .dual-drop-zone-panel{position:absolute;top:0;bottom:0;margin:0!important;width:calc(50% + var(--dual-drop-border-overlap));opacity:1;transition:width .25s ease,opacity .25s ease,z-index 0s}.container.dragMode.dual-drop-mode .drop-zone-container .dual-drop-zone-panel .dual-drop-zone-title{position:absolute;top:10px;left:8px;margin:0;font-weight:800;font-size:18px;line-height:100%;letter-spacing:0}.container.dragMode.dual-drop-mode .drop-zone-container .dual-drop-zone-left{left:0;z-index:1}.container.dragMode.dual-drop-mode .drop-zone-container .dual-drop-zone-right{right:0;left:auto;z-index:1}.container.dragMode.dual-drop-mode .drop-zone-container .dual-drop-zone-panel .drop-zone-focus-text{text-align:center}.container.dragMode.dual-drop-mode .drop-zone-container .dual-drop-zone-panel .drop-zone-focus-text .description{margin:8px auto 0;max-width:158px;font-weight:400;font-size:11px;line-height:14px;text-align:center}.container.dragMode.dual-drop-mode.dual-drop-focus-left .drop-zone-container .dual-drop-zone-left{width:calc(60% + var(--dual-drop-border-overlap));opacity:1;z-index:2}.container.dragMode.dual-drop-mode.dual-drop-focus-left .drop-zone-container .dual-drop-zone-right{width:calc(40% + var(--dual-drop-border-overlap));opacity:.4;z-index:1}.container.dragMode.dual-drop-mode.dual-drop-focus-right .drop-zone-container .dual-drop-zone-right{width:calc(60% + var(--dual-drop-border-overlap));opacity:1;z-index:2}.container.dragMode.dual-drop-mode.dual-drop-focus-right .drop-zone-container .dual-drop-zone-left{width:calc(40% + var(--dual-drop-border-overlap));opacity:.4;z-index:1}.is-documents-mode .dragMode{height:120px!important}.dragModeDocuments .drop-zone-container .drop-zone{background-color:#fff!important}.dragModeDocuments .drop-zone-container .drop-zone .drop-zone-focus-text .heading{font-weight:700;font-size:14px;line-height:18px}.drop-zone-dimensions-lock{width:var(--drag-lock-width);height:var(--drag-lock-height)}.is-details-slider{width:100%!important;height:100%!important;overflow:hidden}.is-details-slider .sliders{display:flex;align-items:center;justify-content:center;gap:4px;min-height:6px!important;height:auto!important;width:100%!important;margin-bottom:6px!important;margin-top:12px!important;opacity:0;pointer-events:none;transition:opacity .3s ease-in-out}.is-details-slider .sliders .slider-item{width:12px;height:6px;border-radius:2px;background-color:#e5e5e5;transform-origin:center;cursor:pointer!important;transition:width .2s ease-in-out,background-color .2s ease-in-out}.is-details-slider .sliders .slider-item.active{width:20px;background-color:#919191}.is-details-slider .drop-zone-container{display:none!important}.is-details-slider .docs{width:100%!important;position:relative!important;overflow:hidden!important}.is-details-slider .docs .carousel-button{opacity:0!important;pointer-events:none!important;transition:opacity .3s ease-in-out!important}.is-details-slider .docs:hover .carousel-button{opacity:1!important;pointer-events:auto!important}.is-details-slider .docs:hover .carousel-button[disabled]{opacity:0!important;pointer-events:none!important}.is-details-slider .doc-container{display:flex!important;align-items:flex-start!important;height:auto!important;flex-shrink:0!important;gap:0!important;position:relative!important;transition:transform .3s ease-out}.is-details-slider .doc{flex:0 0 100%!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;display:flex!important;justify-content:center!important;background-color:transparent!important;flex-shrink:0!important;position:relative!important}.is-details-slider .doc.doc-hidden{height:0!important;max-height:0!important;min-height:0!important;overflow:hidden!important;opacity:0;pointer-events:none;visibility:hidden;margin:0!important;padding:0!important}.is-details-slider .doc.doc-visible{height:auto!important;opacity:1;visibility:visible}.is-details-slider .carousel-button{position:absolute!important;top:45%!important}.is-details-slider:hover .sliders{opacity:1;pointer-events:auto}.is-drawer-mode{width:100%!important;padding:4px!important;position:absolute!important;max-width:100%!important}.is-drawer-mode .drop-zone-container{display:none!important}.is-drawer-mode .skeleton-container.drawer-position{width:100%!important;position:relative!important;overflow:hidden!important;display:flex;align-items:center;gap:4px}.is-drawer-mode .skeleton-container.drawer-position .skeleton-item{width:194px;height:194px;flex:0 0 194px;border-radius:2px;padding:4px}.is-drawer-mode .skeleton-container.drawer-position .skeleton-item .skeleton-bar{width:100%;height:100%;background-color:#fff}.is-drawer-mode .docs{width:100%!important;position:relative!important;overflow:hidden!important}.is-drawer-mode .docs .doc-container{display:flex;width:auto!important;height:auto!important;gap:4px!important;transition:transform .3s ease-out}.is-drawer-mode .docs .doc-container .doc{width:194px!important;height:194px!important;flex:0 0 194px!important;background-color:transparent!important}.is-drawer-mode .carousel-button.carousel-right{right:4px!important;position:absolute!important}.is-drawer-mode .carousel-button.carousel-left{left:4px!important;position:absolute!important}.isCoverDetails{width:100%!important;height:100%!important}.isCoverDetails .drop-zone-container{display:none!important}.isCoverDetails .docs{width:100%!important}.isCoverDetails .docs .doc{flex:0 0 100%!important;width:100%!important;height:auto!important;display:block!important;background-color:transparent!important}.more-docs{width:148px;flex:0 0 148px}.more-docs .illustration{width:80px;height:80px}.more-docs .drop-zone{padding:22px 0;flex-direction:column}.more-docs .drop-zone-error,.more-docs .drop-zone-error .drop-zone-text{padding:0 12px}.small-more-docs{width:148px!important}.small-more-docs .illustration,.small-more-docs svg{width:80px!important;height:80px!important}.small-more-docs .drop-zone{padding:22px 0!important;flex-direction:column}.unsupported .drop-zone-error{display:flex}.unsupported .drop-zone-text{padding:0 12px}.unsupported .drop-zone-text .heading.invalid{line-height:18px}.unsupported .drop-zone-text .subtext{line-height:14px;margin-bottom:0}.unsupported .cancel-button .cancel-icon{width:18px!important;height:18px!important}.unsupported .cancel-button-documents{display:none}.max-reached,.max-reached-more-doc{opacity:.4;pointer-events:none;cursor:none}.max-reached-more-doc .drop-zone{padding:6px 0!important;height:170px}.max-reached-more-doc .drop-zone-text{padding-left:20px;padding-right:20px}.max-reached-more-video .drop-zone{padding:13px 0!important;flex-direction:column}.invalid-file-size .drop-zone .illustration{display:none!important}.invalid-file-size .drop-zone .drop-zone-text{padding-left:20px;padding-right:20px}.drop-zone-error{position:absolute;inset:0;background-color:#fff;display:none;justify-content:center;align-items:center;flex-direction:column;margin:4px;outline:4px dashed #ed9292;border-radius:2px;padding:52px 12px;gap:12px}.drop-zone-error .cancel-button{cursor:pointer;background-color:transparent;position:absolute;top:2px;right:2px;height:26px;width:26px;padding:0;display:grid;place-items:center;transition:color .2s ease-in-out;color:#919191}.drop-zone-error .cancel-button:hover{color:#424242}.drop-zone-error .file-types{display:flex;align-items:center;gap:2px;text-transform:uppercase;max-width:100%;flex-wrap:wrap;justify-content:center}.drop-zone-error .badge{font-size:11px;font-weight:900;color:#fff;line-height:14px;padding:2px 4px;width:35px;border-radius:1px;margin-bottom:0;text-align:center;background-color:#919191}.drop-zone-error .pdf{background-color:#e66767}.drop-zone-error .video{background-color:#b370f0}.drop-zone-error .image{background-color:#fab15c}\n"] }]
|
|
6051
|
-
}], ctorParameters: () => [{ type:
|
|
6052
|
-
type: Input
|
|
6053
|
-
}], onDeletedFileIds: [{
|
|
6054
|
-
type: Output
|
|
6055
|
-
}], onDocsChange: [{
|
|
6056
|
-
type: Output
|
|
6057
|
-
}], onDocumentPreviewClick: [{
|
|
6058
|
-
type: Output
|
|
6059
|
-
}], onDocumentFileNameChange: [{
|
|
6060
|
-
type: Output
|
|
6061
|
-
}], onCropPendingChange: [{
|
|
6062
|
-
type: Output
|
|
6063
|
-
}], onDocumentDropZoneOpenChange: [{
|
|
6064
|
-
type: Output
|
|
6065
|
-
}], onDualDropChange: [{ type: i0.Output, args: ["onDualDropChange"] }], cropper: [{
|
|
6066
|
-
type: ViewChild,
|
|
6067
|
-
args: ['cropper']
|
|
6068
|
-
}], inputRange: [{
|
|
6069
|
-
type: ViewChild,
|
|
6070
|
-
args: ['inputRange']
|
|
6071
|
-
}], containerElementRef: [{
|
|
6072
|
-
type: ViewChild,
|
|
6073
|
-
args: ['containerRef']
|
|
6074
|
-
}], dropZoneContainer: [{
|
|
6075
|
-
type: ViewChild,
|
|
6076
|
-
args: ['dropZoneContainer']
|
|
6077
|
-
}], docsViewport: [{
|
|
6078
|
-
type: ViewChild,
|
|
6079
|
-
args: ['docsViewport']
|
|
6080
|
-
}], parentForm: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentForm", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], documentTags: [{ type: i0.Input, args: [{ isSignal: true, alias: "documentTags", required: false }] }], excludedFileTypes: [{ type: i0.Input, args: [{ isSignal: true, alias: "excludedFileTypes", required: false }] }], fileTypes: [{ type: i0.Input, args: [{ isSignal: true, alias: "fileTypes", required: false }] }], onDocumentDragEnter: [{
|
|
6081
|
-
type: HostListener,
|
|
6082
|
-
args: ['document:dragenter', ['$event']]
|
|
6083
|
-
}], onDocumentDragOver: [{
|
|
6084
|
-
type: HostListener,
|
|
6085
|
-
args: ['document:dragover', ['$event']]
|
|
6086
|
-
}], onWindowDragLeave: [{
|
|
6087
|
-
type: HostListener,
|
|
6088
|
-
args: ['document:dragleave', ['$event']]
|
|
6089
|
-
}], onDocumentDrop: [{
|
|
6090
|
-
type: HostListener,
|
|
6091
|
-
args: ['document:drop', ['$event']]
|
|
6092
|
-
}], inputRef: [{
|
|
6093
|
-
type: ViewChild,
|
|
6094
|
-
args: ['inputRef']
|
|
6095
|
-
}] } });
|
|
5920
|
+
], template: "@let docCount = docs().length; @let cropFile = crop() === true;\n@let showCrop = showCropper() === true;\n@let documentVariant = variant() === dropZoneVariant.DOCUMENT;\n@let videoVariant = variant() === dropZoneVariant.VIDEO;\n@let profileVariant = variant() === dropZoneVariant.PROFILE;\n@let coverVariant = variant() === dropZoneVariant.COVER;\n@let logoVariant = variant() === dropZoneVariant.LOGO;\n@let roundedBorder = rounded() === true; @let coverPreview = coverUrl() !== \"\";\n@let profilePreview = profileUrl() !== \"\"; @let logoPreview = !!logoUrl();\n@let smallSize = size() === \"480px\";\n@let countFiles = this.maxCountFiles();\n@let largeSize = size() === \"640px\";\n\n@if (isDocumentsMode() && documentsDropZoneOpen() && dragMode()) {\n <div class=\"documents-drag-overlay\"></div>\n}\n\n@if (dragMode() && !isDrawerMode()) {\n <div\n class=\"drop-zone-dimensions-lock\"\n [style.--drag-lock-width.px]=\"dropzoneDimensionsLock().width\"\n [style.--drag-lock-height.px]=\"dropzoneDimensionsLock().height\"\n ></div>\n}\n\n<div\n #containerRef\n class=\"container\"\n [class]=\"{\n 'picture-container': profileVariant || coverVariant,\n smallContainer: smallSize,\n largeContainer: largeSize,\n dragMode: dragMode() && !isDocumentsMode(),\n dragModeDocuments: dragMode() && isDocumentsMode(),\n 'dual-drop-mode': isDualDragActive(),\n 'dual-drop-focus-left':\n isDualDragActive() && activeDualTarget() === dualDropTarget.LEFT,\n 'dual-drop-focus-right':\n isDualDragActive() && activeDualTarget() === dualDropTarget.RIGHT,\n onDragover: onDragover(),\n logoVar: logoVariant,\n hasCropper: isCropperReady(),\n 'is-details-slider': isDetailsSlider(),\n 'is-drawer-mode': isDrawerMode(),\n isCoverDetails: isCoverDetails(),\n 'is-documents-mode': isDocumentsMode(),\n }\"\n>\n @if (coverVariant && coverPreview) {\n <div class=\"cover-container\">\n <img [src]=\"coverUrl()\" class=\"cover-image\" draggable=\"false\" />\n </div>\n }\n @if (profileVariant) {\n @if (!profilePreview) {\n <div class=\"avatar\">\n <cai-avatar\n [driver]=\"driver()\"\n [size]=\"160\"\n [rounded]=\"rounded()\"\n ></cai-avatar>\n </div>\n } @else {\n <div class=\"profile-container\">\n <img\n [class]=\"rounded() ? 'profile-rounded-image' : 'profile-square-image'\"\n [src]=\"profileUrl()\"\n draggable=\"false\"\n />\n </div>\n }\n }\n @if (logoVariant && logoPreview) {\n <div class=\"logo-container\" [class.has-logo]=\"!!logoUrl()\">\n <img class=\"logo-image\" [src]=\"logoUrl()\" draggable=\"false\" />\n </div>\n }\n <!--Image Cropper-->\n @if (cropFile && showCrop) {\n @if (!isCropperReady()) {\n <div class=\"cropper-loader\">\n <div class=\"spinner\"></div>\n </div>\n }\n <div class=\"cropper-overlay\">\n <image-cropper\n #cropper\n class=\"img-cropper\"\n [output]=\"'base64'\"\n [class.logoBorder]=\"logoVariant\"\n [class.snapback-animate]=\"isSnapbackAnimating()\"\n [roundCropper]=\"roundedBorder ? true : false\"\n [hideResizeSquares]=\"true\"\n [allowMoveImage]=\"true\"\n [transform]=\"transform()\"\n (transformChange)=\"onTransformChange($event)\"\n format=\"png\"\n [aspectRatio]=\"cropAspectRatio()\"\n [resizeToWidth]=\"cropWidth()\"\n [resizeToHeight]=\"cropHeight()\"\n [containWithinAspectRatio]=\"true\"\n [imageChangedEvent]=\"imageChangedEvent()\"\n (imageCropped)=\"imageCropped($event)\"\n (imageLoaded)=\"imageLoaded($event)\"\n (cropperReady)=\"cropperReady()\"\n (loadImageFailed)=\"loadImageFailed()\"\n ></image-cropper>\n @if (isCropperReady()) {\n <div class=\"lower-part\">\n <div class=\"range\">\n <input\n #inputRange\n type=\"range\"\n class=\"custom-range\"\n min=\"1\"\n max=\"10\"\n step=\"0.1\"\n [value]=\"zoomValue()\"\n (input)=\"onZoomChange($event)\"\n />\n </div>\n <div class=\"cropper-buttons\">\n <button class=\"cancel-button\" (click)=\"cancelCrop()\">Cancel</button>\n <button class=\"submit-button\" (click)=\"submitCrop()\">Crop</button>\n </div>\n </div>\n }\n </div>\n }\n <!-- Drop Zone -->\n @if (!isDocumentsMode() || documentsDropZoneOpen()) {\n <div\n #dropZoneContainer\n class=\"drop-zone-container\"\n [class.has-logo]=\"logoVariant && !!logoUrl()\"\n (drop)=\"onDrop($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragenter)=\"onDragEnter($event)\"\n (dragleave)=\"onDragLeave($event)\"\n [class]=\"{\n 'more-docs': docCount >= 3 && largeSize,\n 'small-more-docs': docCount >= 2 && smallSize,\n 'max-reached-drop-design':\n (countFiles <= this.docs().length || maxCountReached()) &&\n documentVariant,\n 'max-reached-more-doc':\n (countFiles <= this.docs().length || maxCountReached()) &&\n documentVariant,\n 'max-reached-more-video':\n (countFiles <= this.docs().length || maxCountReached()) &&\n videoVariant,\n 'invalid-file-size': invalidFileSize(),\n unsupported: unsupported() || invalidFileSize(),\n smallView: this.smallView() && !dragMode(),\n }\"\n >\n <!-- Drop Zone -->\n @if (isDualDragActive()) {\n @for (target of dualTargets; track target) {\n @let panel = dualDropZones()[target];\n <div\n class=\"drop-zone dual-drop-zone-panel\"\n [class.dual-drop-zone-left]=\"target === dualDropTarget.LEFT\"\n [class.dual-drop-zone-right]=\"target === dualDropTarget.RIGHT\"\n [class.active]=\"activeDualTarget() === target\"\n (drop)=\"onDualDrop($event, target)\"\n >\n @if (panel.title) {\n <div class=\"dual-drop-zone-title\">{{ panel.title }}</div>\n }\n <div class=\"drag-icons-container\">\n @if (isDocumentsMode()) {\n <svg-icon\n name=\"cai-drop-zone-focus\"\n class=\"illustration drag-icon-document\"\n ></svg-icon>\n } @else {\n <ng-lottie\n [options]=\"{\n path:\n (target === dualDropTarget.LEFT\n ? dropZoneVariant.PROFILE\n : variant()\n ) | dropZoneAnimation,\n loop: false,\n autoplay: false,\n }\"\n (animationCreated)=\"animationCreated($event, target)\"\n ></ng-lottie>\n }\n </div>\n <div class=\"drop-zone-focus-text\">\n <div class=\"heading\">\n {{\n activeDualTarget() === target\n ? panel.dropLabel\n : panel.dragLabel\n }}\n </div>\n <div class=\"description\">{{ panel.description }}</div>\n </div>\n </div>\n }\n } @else {\n <div class=\"drop-zone\" (click)=\"handleClickToAdd()\">\n @if (dragMode()) {\n <div class=\"drag-icons-container\">\n @if (isDocumentsMode()) {\n <svg-icon\n name=\"cai-drop-zone-focus\"\n class=\"illustration drag-icon-document\"\n ></svg-icon>\n } @else {\n <!-- Animation -->\n <ng-lottie\n [options]=\"{\n path: variant() | dropZoneAnimation,\n loop: false,\n autoplay: false,\n }\"\n (animationCreated)=\"animationCreated($event)\"\n ></ng-lottie>\n }\n </div>\n <div class=\"drop-zone-focus-text\">\n @if (isDocumentsMode()) {\n <p class=\"heading\">DRAG FILES HERE</p>\n } @else if (documentVariant || videoVariant) {\n <p class=\"heading\">\n {{ onDragover() ? \"DROP FILES HERE\" : \"DRAG FILES HERE\" }}\n </p>\n } @else {\n <p class=\"heading\">\n {{ onDragover() ? \"DROP IMAGE HERE\" : \"DRAG IMAGE HERE\" }}\n </p>\n }\n </div>\n } @else {\n @let svgIcon = variant() | dropZoneAnimation: true;\n <svg-icon [name]=\"svgIcon\" class=\"illustration\"></svg-icon>\n @if (\n (countFiles <= this.docs().length || maxCountReached()) &&\n documentVariant\n ) {\n <div class=\"drop-zone-text\">\n <p class=\"heading\">\n <span class=\"line\">MAX COUNT</span>\n <span class=\"line\">REACHED</span>\n </p>\n <p class=\"subtext\">\n <span class=\"line\">{{ countFiles }} FILES </span>\n <span class=\"line\">IMPORTED</span>\n </p>\n </div>\n } @else {\n <div class=\"drop-zone-text\">\n <p class=\"heading\">\n @if (documentVariant || videoVariant) {\n DRAG FILES\n @if (docCount < 1 || isDocumentsMode()) {\n <span>HERE</span>\n }\n } @else if (profileVariant && roundedBorder) {\n DRAG IMAGE\n } @else {\n DRAG IMAGE HERE\n }\n </p>\n @if (!coverPreview && !profilePreview) {\n <p class=\"subtext\">OR CLICK TO ADD</p>\n }\n @if (coverPreview || profilePreview) {\n <p class=\"subtext\">OR CLICK TO REPLACE</p>\n }\n @if (videoVariant) {\n <p class=\"video-subtext\">\n max file size {{ maxFileSize() }}mb\n </p>\n }\n </div>\n @if (isDocumentsMode()) {\n <button\n class=\"cancel-button-documents\"\n ngbTooltip=\"Cancel\"\n [placement]=\"'bottom'\"\n container=\"body\"\n triggers=\"mouseenter:mouseleave\"\n tooltipClass=\"tooltip tooltip-m-b-2\"\n >\n <svg-icon\n name=\"cai-cancel\"\n class=\"cancel-icon\"\n (click)=\"onCancel($event)\"\n ></svg-icon>\n </button>\n }\n }\n }\n </div>\n }\n\n <input\n type=\"file\"\n aria-hidden=\"true\"\n multiple\n class=\"drop-zone-input\"\n #inputRef\n (input)=\"onInput($event)\"\n (change)=\"fileChangeEvent($event)\"\n />\n\n <!-- Drop Zone Error -->\n <div class=\"drop-zone-error\">\n @if (invalidFileSize()) {\n <div class=\"drop-zone-text\">\n <p class=\"heading invalid\">INVALID FILE SIZE</p>\n <p class=\"subtext\">MAX {{ maxFileSize() }} MB</p>\n </div>\n } @else {\n <div class=\"drop-zone-text\">\n <p class=\"heading invalid\">INVALID FILE TYPE</p>\n <p class=\"subtext\">SUPPORTED FORMATS</p>\n </div>\n <div class=\"file-types\">\n @for (type of supportedFileTypes(); track $index) {\n <p\n class=\"badge\"\n [class]=\"{\n pdf: type === 'pdf',\n video: ['avi', 'mp4', 'mov'].includes(type),\n image: ['jpg', 'png', 'jpeg', 'gif'].includes(type),\n }\"\n >\n {{ type }}\n </p>\n }\n </div>\n }\n <button class=\"cancel-button\">\n <svg-icon\n name=\"cai-cancel\"\n class=\"cancel-icon\"\n (click)=\"cancel()\"\n ></svg-icon>\n </button>\n </div>\n </div>\n }\n @if (isLoadingSkeleton() && skeletonCount() > 0) {\n <ng-container *ngTemplateOutlet=\"skeletonTemplate\"></ng-container>\n } @else {\n <!-- Carousel -->\n @if (docCount > 0 && (documentVariant || videoVariant)) {\n <div #docsViewport class=\"docs\">\n <div\n class=\"doc-container\"\n [class.documents-container-grid]=\"isDocumentsMode()\"\n [style.transform]=\"isDocumentsMode() ? '' : carouselTransform()\"\n [style.--carousel-index]=\"isDocumentsMode() ? null : carouselIndex()\"\n >\n @for (doc of docs(); track doc.fileId) {\n <cai-document-preview\n [class.doc-visible]=\"\n isDetailsSlider() && $index === carouselIndex()\n \"\n [class.doc-hidden]=\"\n isDetailsSlider() && $index !== carouselIndex()\n \"\n class=\"doc\"\n [file]=\"doc\"\n [tags]=\"documentTags()\"\n [searchText]=\"searchText()\"\n [cdlDetailsMode]=\"isDetailsSlider()\"\n [multipleDetailsDocs]=\"isDetailsSlider() && docCount > 1\"\n [maxAspectRatio]=\"\n isDetailsSlider() && docCount > 1\n ? maxDetailsAspectRatio()\n : null\n \"\n [drawerMode]=\"isDrawerMode()\"\n [isCoverDetails]=\"isCoverDetails()\"\n [viewMode]=\"isDocumentsMode() ? 'large' : 'small'\"\n (onDelete)=\"handleDelete($event)\"\n (onDownload)=\"handleDownload($event)\"\n (onTagChange)=\"handleTagChange($event)\"\n (onFileNameChange)=\"handleFileNameChange($event)\"\n (onDocumentPreviewClick)=\"handleDocumentPreviewClick($event)\"\n (aspectRatioChange)=\"onDocAspectRatioChange($event)\"\n ></cai-document-preview>\n }\n </div>\n @if (docCount >= 3 || (isDetailsSlider() && docCount > 1)) {\n <button\n class=\"carousel-button carousel-left\"\n type=\"button\"\n (click)=\"carouselLeft()\"\n [disabled]=\"carouselIndex() === 0\"\n [style.opacity]=\"carouselIndex() === 0 ? '0' : '1'\"\n >\n <svg-icon name=\"cai-arrow-secondary-left\" class=\"arrow\"></svg-icon>\n </button>\n <button\n class=\"carousel-button carousel-right\"\n type=\"button\"\n (click)=\"carouselRight()\"\n [disabled]=\"isCarouselAtEnd()\"\n [style.opacity]=\"isCarouselAtEnd() ? '0' : '1'\"\n >\n <svg-icon name=\"cai-arrow-secondary-right\" class=\"arrow\"></svg-icon>\n </button>\n }\n @if (isDetailsSlider() && docCount > 1) {\n <div class=\"sliders\">\n @for (doc of docs(); track $index) {\n <div\n class=\"slider-item\"\n (click)=\"carouselIndex.set($index)\"\n [class.active]=\"$index === carouselIndex()\"\n ></div>\n }\n </div>\n }\n </div>\n }\n }\n</div>\n\n<!-- Skeleton Template -->\n\n<ng-template #skeletonTemplate>\n <div\n class=\"skeleton-container\"\n [ngClass]=\"{\n 'documents-container-grid': isDocumentsMode(),\n 'drawer-position': isDrawerMode(),\n }\"\n >\n @for (item of skeletonItems(); track $index) {\n <div class=\"skeleton-item\">\n <div class=\"skeleton-bar\"></div>\n </div>\n }\n </div>\n</ng-template>\n", styles: [".container.is-documents-mode{width:100%!important;max-width:100%!important}.container.is-documents-mode .drop-zone-container .drop-zone{width:100%!important}.documents-drag-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0003;z-index:10}.is-documents-mode{display:flex;flex-direction:column;gap:0!important;width:100%!important;height:100%!important}.is-documents-mode .drop-zone-container{display:flex;margin-bottom:4px;background-color:#f7f7f7;z-index:20}.is-documents-mode .drop-zone-container .drop-zone{width:100%;height:120px!important;background-color:transparent;outline-color:#dadada;transition:background-color .2s ease-in-out}.is-documents-mode .drop-zone-container .drop-zone:hover{background-color:#fff!important}.is-documents-mode .drop-zone-container .drop-zone .illustration{width:80px;height:80px}.is-documents-mode .drop-zone-container .drop-zone .drop-zone-text .heading{padding-bottom:0}.is-documents-mode .drop-zone-container .drop-zone .cancel-button-documents{z-index:1000;position:absolute;top:4px;right:4px;width:26px;height:26px;background-color:transparent;padding:4px}.is-documents-mode .drop-zone-container .drop-zone .cancel-button-documents .cancel-icon{width:18px;height:18px;color:#919191}.is-documents-mode .drop-zone-container .drop-zone .cancel-button-documents:hover .cancel-icon{color:#424242}.is-documents-mode .skeleton-container .skeleton-item{width:100%;height:auto;aspect-ratio:1/1;max-width:100%;min-width:302px;min-height:302px;position:relative;border-radius:3px;background-color:#fff}.is-documents-mode .skeleton-container .skeleton-item .skeleton-bar{position:absolute;bottom:8px;left:8px;right:8px;width:auto;height:26px;background-color:#91919133;animation:skeleton-pulse 1s ease-in-out infinite alternate;border-radius:2px}.is-documents-mode .docs{width:100%!important;position:static!important;overflow:visible!important}.is-documents-mode .docs .doc-container .doc{height:auto!important}.is-documents-mode .docs .carousel-button{display:none}.is-documents-mode .doc-container.documents-container-grid,.is-documents-mode .skeleton-container.documents-container-grid{display:grid;width:100%;grid-template-columns:repeat(auto-fill,minmax(302px,1fr));gap:4px;justify-items:stretch;align-items:start}@media(min-width:801px)and (max-width:1001px){.is-documents-mode .doc-container.documents-container-grid,.is-documents-mode .skeleton-container.documents-container-grid{grid-template-columns:repeat(2,minmax(302px,1fr))}}@media(min-width:1002px)and (max-width:1307px){.is-documents-mode .doc-container.documents-container-grid,.is-documents-mode .skeleton-container.documents-container-grid{grid-template-columns:repeat(3,minmax(302px,1fr))}}@media(min-width:1308px)and (max-width:1613px){.is-documents-mode .doc-container.documents-container-grid,.is-documents-mode .skeleton-container.documents-container-grid{grid-template-columns:repeat(4,minmax(302px,1fr))}}@media(min-width:1614px)and (max-width:1920px){.is-documents-mode .doc-container.documents-container-grid,.is-documents-mode .skeleton-container.documents-container-grid{grid-template-columns:repeat(5,minmax(302px,1fr))}}@media(min-width:1921px)and (max-width:2227px){.is-documents-mode .doc-container.documents-container-grid,.is-documents-mode .skeleton-container.documents-container-grid{grid-template-columns:repeat(6,minmax(302px,1fr))}}@media(min-width:2228px){.is-documents-mode .doc-container.documents-container-grid,.is-documents-mode .skeleton-container.documents-container-grid{grid-template-columns:repeat(auto-fit,minmax(302px,1fr))}}@keyframes skeleton-pulse{0%{background-color:#91919133}to{background-color:#91919120}}.cropper-overlay{display:flex;justify-content:center;flex-direction:column;background-color:#fff;align-items:center;z-index:2000;gap:4px;opacity:1;top:0;left:0;position:absolute;width:100%;height:100%}.cropper-overlay .img-cropper{width:100%;height:178px;padding:0}.cropper-overlay .img-cropper.snapback-animate ::ng-deep .ngx-ic-source-image{transition:transform .22s cubic-bezier(.22,1,.36,1)}.cropper-overlay .lower-part{display:flex;place-items:center;align-items:center;margin-left:3px;margin-right:3px;width:100%;gap:12px}.cropper-overlay .lower-part .range{width:100%;height:22px;display:flex;align-items:center}.cropper-overlay .lower-part .range input[type=range]{width:100%}.cropper-overlay .lower-part .range input[type=range]{-webkit-appearance:none;appearance:none;border-radius:2px;--range-active-color: #6692f1;--range-progress: 50%;background:transparent;cursor:pointer}.cropper-overlay .lower-part .cropper-buttons{display:flex;justify-content:start;gap:6px}.cropper-overlay .lower-part .cropper-buttons .cancel-button,.cropper-overlay .lower-part .cropper-buttons .submit-button{padding:4px;width:80px;font-size:14px;border-radius:2px;text-transform:uppercase;line-height:14px;font-weight:700;font-size:11px;cursor:pointer}.cropper-overlay .lower-part .cropper-buttons .cancel-button{background-color:#eee;color:#6c6c6c;transition:background-color .3s ease-in-out,color .3s ease-in-out}.cropper-overlay .lower-part .cropper-buttons .cancel-button:hover{background-color:#424242;color:#fff}.cropper-overlay .lower-part .cropper-buttons .cancel-button:active{background-color:#1d1d1d;color:#fff}.cropper-overlay .lower-part .cropper-buttons .submit-button{background-color:#3b73ed;color:#fff;transition:background-color .3s ease-in-out,color .3s ease-in-out}.cropper-overlay .lower-part .cropper-buttons .submit-button:hover{background-color:#0b49d1;color:#fff}.cropper-overlay .lower-part .cropper-buttons .submit-button:active{background-color:#00179e;color:#fff}.cropper-loader{position:absolute;z-index:1100;display:flex;justify-content:center;align-items:center;background-color:#fff;width:100%;height:100%}.cropper-loader .spinner{width:48px;height:48px;border:5px solid rgba(145,145,145,.2);border-top:5px solid #3b73ed;border-radius:50%;animation:spin 1s linear infinite}.hasCropper{height:204px!important;position:relative}input[type=range]:hover{--range-active-color: $color-blue-500}input[type=range]:active{--range-active-color: $color-blue-700}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;margin-top:-7px;background-color:#fff;height:20px;width:30px;box-shadow:0 0 4px #00000026;background-image:url(/assets/carriera-intern/icons/interaction/cai-thumb.svg);background-repeat:no-repeat;background-position:center;background-size:14px 18px;border-radius:2px;transition:background-color .3s ease-in-out}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--range-active-color) 0%,var(--range-active-color) var(--range-progress),#eeeeee var(--range-progress),#eeeeee 100%);height:6px;transition:background .3s ease-in-out}input[type=range]:hover::-webkit-slider-runnable-track{background:linear-gradient(to right,#3b73ed 0%,#3b73ed var(--range-progress),#eeeeee var(--range-progress),#eeeeee 100%)}input[type=range]:active::-webkit-slider-runnable-track{background:linear-gradient(to right,#0b49d1 0%,#0b49d1 var(--range-progress),#eeeeee var(--range-progress),#eeeeee 100%)}input[type=range]:hover::-webkit-slider-thumb{cursor:grab}input[type=range]:active::-webkit-slider-thumb{background-image:url(/assets/carriera-intern/icons/interaction/cai-thumb-active.svg);cursor:grabbing}@keyframes spin{to{transform:rotate(360deg)}}p{margin-bottom:0}svg-icon{display:flex;align-items:center;justify-content:center}button{border:none!important;outline:none!important}.illustration{width:100px;height:100px}.container{display:flex;gap:6px;position:relative;padding-left:0!important;padding-right:0!important;margin:0!important}.container.picture-container{gap:8px}.container.smallContainer{width:456px!important}.container.largeContainer{width:616px!important}.docs{flex-shrink:0;height:100%;overflow:hidden;position:relative;border-radius:2px}.smallContainer .docs{max-width:302px!important}.smallContainer .docs .doc-container{display:flex;gap:6px;transition:transform .2s ease-out}.largeContainer .docs{max-width:460px!important}.largeContainer .docs .doc-container{display:flex;gap:8px;transition:transform .2s ease-out}.carousel-button{position:absolute;top:50%;transform:translateY(-50%);border:none;outline:none;width:24px;height:32px;background-color:#ffffffb2;border-radius:2px;box-shadow:0 0 5px #0000004d;cursor:pointer;display:grid;place-items:center;padding:0}.drop-zone-input{display:none}.carousel-left{left:4px}.carousel-right{right:4px}.arrow{width:18px;height:18px;color:#0000004d}.doc{flex:0 0 148px;height:178px;display:flex;background-color:#eee;border-radius:2px}.drop-zone-container{position:relative;flex:1 0 auto}.drop-zone{display:flex;justify-content:center;align-items:center;flex-direction:row;outline:4px dashed #eeeeee;border-radius:2px;padding:35px 0;margin:4px;gap:10px;cursor:pointer;transition:background-color .2s ease-in-out}.drop-zone:hover{background-color:#eee}.drop-zone-text{-webkit-user-select:none;user-select:none;text-align:center}.drop-zone-text .heading{color:#424242;font-size:14px;line-height:18px;font-weight:700;padding-bottom:4px}.drop-zone-text .heading .line{display:block;width:fit-content;margin:0 auto}.drop-zone-text .invalid{color:#df3c3c}.drop-zone-text .subtext{color:#424242;font-size:11px;line-height:14px;font-weight:600}.drop-zone-text .subtext .line{display:block;width:fit-content;margin:0 auto}.drop-zone-text .video-subtext{margin-top:4px;color:#919191;font-size:11px;line-height:14px;font-weight:500}.smallView{width:173px!important}.smallView .drop-zone{flex-direction:column!important;padding:20px 0;width:173px;height:170px}.smallView .drop-zone .drop-zone-text .heading{line-height:18px;padding-bottom:0!important}.smallView .drop-zone .drop-zone-text .subtext{line-height:14px;margin-bottom:0!important}.smallView .illustration{width:80px;height:80px}.text-white-50{color:#fff}.text-white-100{color:#f7f7f7}.text-white-200{color:#eee}.text-white-300{color:#e5e5e5}.text-white-500{color:#dadada}.text-white-500\\/20{color:#dadada33}.text-white-500\\/40{color:#dadada66}.text-white-500\\/70{color:#dadadab3}.text-white-700{color:#ccc}.text-black-50{color:#aaa}.text-black-100{color:#919191}.text-black-200{color:#6c6c6c}.text-black-300{color:#424242}.text-black-500{color:#2f2f2f}.text-black-500\\/20{color:#2f2f2f33}.text-black-500\\/40{color:#2f2f2f66}.text-black-500\\/70{color:#2f2f2fb3}.text-black-700{color:#1d1d1d}.text-blue-50{color:#e9effd}.text-blue-100{color:#bed0f9}.text-blue-200{color:#92b1f5}.text-blue-300{color:#6692f1}.text-blue-500{color:#3b73ed}.text-blue-500\\/20{color:#3b73ed33}.text-blue-500\\/40{color:#3b73ed66}.text-blue-500\\/70{color:#3b73edb3}.text-blue-700{color:#0b49d1}.text-blue-900{color:#00179e}.text-red-50{color:#fbe9e9}.text-red-100{color:#f4bebe}.text-red-200{color:#ed9292}.text-red-300{color:#e66767}.text-red-500{color:#df3c3c}.text-red-500\\/20{color:#df3c3c33}.text-red-500\\/40{color:#df3c3c66}.text-red-500\\/70{color:#df3c3cb3}.text-red-700{color:#c20c0c}.text-green-50{color:#e7f4f3}.text-green-100{color:#b6dfdb}.text-green-200{color:#86c9c3}.text-green-300{color:#56b4ac}.text-green-500{color:#259f94}.text-green-500\\/20{color:#259f9433}.text-green-500\\/40{color:#259f9466}.text-green-500\\/70{color:#259f94b3}.text-green-700{color:#007a6e}.text-yellow-50{color:#fef4e8}.text-yellow-100{color:#fddeb9}.text-yellow-200{color:#fbc88b}.text-yellow-300{color:#fab15c}.text-yellow-500{color:#f89b2e}.text-yellow-500\\/20{color:#f89b2e33}.text-yellow-500\\/40{color:#f89b2e66}.text-yellow-500\\/70{color:#f89b2eb3}.text-yellow-700{color:#de7700}.text-purple-50{color:#f4ebfd}.text-purple-100{color:#dfc2f9}.text-purple-200{color:#c999f4}.text-purple-300{color:#b370f0}.text-purple-500{color:#9e47ec}.text-purple-500\\/20{color:#9e47ec33}.text-purple-500\\/40{color:#9e47ec66}.text-purple-500\\/70{color:#9e47ecb3}.text-purple-700{color:#7919d0}.text-orange-50{color:#ffefea}.text-orange-100{color:#ffcfc0}.text-orange-200{color:#ffb097}.text-orange-300{color:#ff906d}.text-orange-500{color:#ff7043}.text-orange-500\\/20{color:#ff704333}.text-orange-500\\/40{color:#ff704366}.text-orange-500\\/70{color:#ff7043b3}.text-orange-700{color:#e54715}.text-azure-50{color:#e5f7fc}.text-azure-100{color:#b2e6f7}.text-azure-200{color:#80d6f1}.text-azure-300{color:#4dc5eb}.text-azure-500{color:#1ab5e6}.text-azure-500\\/20{color:#1ab5e633}.text-azure-500\\/40{color:#1ab5e666}.text-azure-500\\/70{color:#1ab5e6b3}.text-azure-700{color:#0093c9}.text-gold-50{color:#faf3e6}.text-gold-100{color:#efdcb4}.text-gold-200{color:#e4c481}.text-gold-300{color:#daad4f}.text-gold-500{color:#cf961d}.text-gold-500\\/20{color:#cf961d33}.text-gold-500\\/40{color:#cf961d66}.text-gold-500\\/70{color:#cf961db3}.text-gold-700{color:#b07000}.text-brown-50{color:#f1ede9}.text-brown-100{color:#d6c9bd}.text-brown-200{color:#bca691}.text-brown-300{color:#a08266}.text-brown-500{color:#865e3a}.text-brown-500\\/20{color:#865e3a33}.text-brown-500\\/40{color:#865e3a66}.text-brown-500\\/70{color:#865e3ab3}.text-brown-700{color:#5f330a}.text-navy-50{color:#e7e7fa}.text-navy-100{color:#b7b6f1}.text-navy-200{color:#8785e8}.text-navy-300{color:#5755df}.text-navy-500{color:#2724d6}.text-navy-500\\/20{color:#2724d633}.text-navy-500\\/40{color:#2724d666}.text-navy-500\\/70{color:#2724d6b3}.text-navy-700{color:#0000b8}.text-lime-50{color:#ecf6e7}.text-lime-100{color:#c5e3b6}.text-lime-200{color:#9ed186}.text-lime-300{color:#77bf56}.text-lime-500{color:#50ac25}.text-lime-500\\/20{color:#50ac2533}.text-lime-500\\/40{color:#50ac2566}.text-lime-500\\/70{color:#50ac25b3}.text-lime-700{color:#238900}.text-magenta-50{color:#fbe9f1}.text-magenta-100{color:#f4bed6}.text-magenta-200{color:#ed93bb}.text-magenta-300{color:#e668a0}.text-magenta-500{color:#df3d85}.text-magenta-500\\/20{color:#df3d8533}.text-magenta-500\\/40{color:#df3d8566}.text-magenta-500\\/70{color:#df3d85b3}.text-magenta-700{color:#c10d5d}.bg-white-50{background-color:#fff}.bg-white-100{background-color:#f7f7f7}.bg-white-200{background-color:#eee}.bg-white-300{background-color:#e5e5e5}.bg-white-500{background-color:#dadada}.bg-white-500\\/20{background-color:#dadada33}.bg-white-500\\/40{background-color:#dadada66}.bg-white-500\\/70{background-color:#dadadab3}.bg-white-700{background-color:#ccc}.bg-black-50{background-color:#aaa}.bg-black-100{background-color:#919191}.bg-black-200{background-color:#6c6c6c}.bg-black-300{background-color:#424242}.bg-black-500{background-color:#2f2f2f}.bg-black-500\\/20{background-color:#2f2f2f33}.bg-black-500\\/40{background-color:#2f2f2f66}.bg-black-500\\/70{background-color:#2f2f2fb3}.bg-black-700{background-color:#1d1d1d}.bg-blue-50{background-color:#e9effd}.bg-blue-100{background-color:#bed0f9}.bg-blue-200{background-color:#92b1f5}.bg-blue-300{background-color:#6692f1}.bg-blue-500{background-color:#3b73ed}.bg-blue-500\\/20{background-color:#3b73ed33}.bg-blue-500\\/40{background-color:#3b73ed66}.bg-blue-500\\/70{background-color:#3b73edb3}.bg-blue-700{background-color:#0b49d1}.bg-blue-900{background-color:#00179e}.bg-red-50{background-color:#fbe9e9}.bg-red-100{background-color:#f4bebe}.bg-red-200{background-color:#ed9292}.bg-red-300{background-color:#e66767}.bg-red-500{background-color:#df3c3c}.bg-red-500\\/20{background-color:#df3c3c33}.bg-red-500\\/40{background-color:#df3c3c66}.bg-red-500\\/70{background-color:#df3c3cb3}.bg-red-700{background-color:#c20c0c}.bg-green-50{background-color:#e7f4f3}.bg-green-100{background-color:#b6dfdb}.bg-green-200{background-color:#86c9c3}.bg-green-300{background-color:#56b4ac}.bg-green-500{background-color:#259f94}.bg-green-500\\/20{background-color:#259f9433}.bg-green-500\\/40{background-color:#259f9466}.bg-green-500\\/70{background-color:#259f94b3}.bg-green-700{background-color:#007a6e}.bg-yellow-50{background-color:#fef4e8}.bg-yellow-100{background-color:#fddeb9}.bg-yellow-200{background-color:#fbc88b}.bg-yellow-300{background-color:#fab15c}.bg-yellow-500{background-color:#f89b2e}.bg-yellow-500\\/20{background-color:#f89b2e33}.bg-yellow-500\\/40{background-color:#f89b2e66}.bg-yellow-500\\/70{background-color:#f89b2eb3}.bg-yellow-700{background-color:#de7700}.bg-purple-50{background-color:#f4ebfd}.bg-purple-100{background-color:#dfc2f9}.bg-purple-200{background-color:#c999f4}.bg-purple-300{background-color:#b370f0}.bg-purple-500{background-color:#9e47ec}.bg-purple-500\\/20{background-color:#9e47ec33}.bg-purple-500\\/40{background-color:#9e47ec66}.bg-purple-500\\/70{background-color:#9e47ecb3}.bg-purple-700{background-color:#7919d0}.bg-orange-50{background-color:#ffefea}.bg-orange-100{background-color:#ffcfc0}.bg-orange-200{background-color:#ffb097}.bg-orange-300{background-color:#ff906d}.bg-orange-500{background-color:#ff7043}.bg-orange-500\\/20{background-color:#ff704333}.bg-orange-500\\/40{background-color:#ff704366}.bg-orange-500\\/70{background-color:#ff7043b3}.bg-orange-700{background-color:#e54715}.bg-azure-50{background-color:#e5f7fc}.bg-azure-100{background-color:#b2e6f7}.bg-azure-200{background-color:#80d6f1}.bg-azure-300{background-color:#4dc5eb}.bg-azure-500{background-color:#1ab5e6}.bg-azure-500\\/20{background-color:#1ab5e633}.bg-azure-500\\/40{background-color:#1ab5e666}.bg-azure-500\\/70{background-color:#1ab5e6b3}.bg-azure-700{background-color:#0093c9}.bg-gold-50{background-color:#faf3e6}.bg-gold-100{background-color:#efdcb4}.bg-gold-200{background-color:#e4c481}.bg-gold-300{background-color:#daad4f}.bg-gold-500{background-color:#cf961d}.bg-gold-500\\/20{background-color:#cf961d33}.bg-gold-500\\/40{background-color:#cf961d66}.bg-gold-500\\/70{background-color:#cf961db3}.bg-gold-700{background-color:#b07000}.bg-brown-50{background-color:#f1ede9}.bg-brown-100{background-color:#d6c9bd}.bg-brown-200{background-color:#bca691}.bg-brown-300{background-color:#a08266}.bg-brown-500{background-color:#865e3a}.bg-brown-500\\/20{background-color:#865e3a33}.bg-brown-500\\/40{background-color:#865e3a66}.bg-brown-500\\/70{background-color:#865e3ab3}.bg-brown-700{background-color:#5f330a}.bg-navy-50{background-color:#e7e7fa}.bg-navy-100{background-color:#b7b6f1}.bg-navy-200{background-color:#8785e8}.bg-navy-300{background-color:#5755df}.bg-navy-500{background-color:#2724d6}.bg-navy-500\\/20{background-color:#2724d633}.bg-navy-500\\/40{background-color:#2724d666}.bg-navy-500\\/70{background-color:#2724d6b3}.bg-navy-700{background-color:#0000b8}.bg-lime-50{background-color:#ecf6e7}.bg-lime-100{background-color:#c5e3b6}.bg-lime-200{background-color:#9ed186}.bg-lime-300{background-color:#77bf56}.bg-lime-500{background-color:#50ac25}.bg-lime-500\\/20{background-color:#50ac2533}.bg-lime-500\\/40{background-color:#50ac2566}.bg-lime-500\\/70{background-color:#50ac25b3}.bg-lime-700{background-color:#238900}.bg-magenta-50{background-color:#fbe9f1}.bg-magenta-100{background-color:#f4bed6}.bg-magenta-200{background-color:#ed93bb}.bg-magenta-300{background-color:#e668a0}.bg-magenta-500{background-color:#df3d85}.bg-magenta-500\\/20{background-color:#df3d8533}.bg-magenta-500\\/40{background-color:#df3d8566}.bg-magenta-500\\/70{background-color:#df3d85b3}.bg-magenta-700{background-color:#c10d5d}.border-white-50{border-color:#fff}.border-white-100{border-color:#f7f7f7}.border-white-200{border-color:#eee}.border-white-300{border-color:#e5e5e5}.border-white-500{border-color:#dadada}.border-white-500\\/20{border-color:#dadada33}.border-white-500\\/40{border-color:#dadada66}.border-white-500\\/70{border-color:#dadadab3}.border-white-700{border-color:#ccc}.border-black-50{border-color:#aaa}.border-black-100{border-color:#919191}.border-black-200{border-color:#6c6c6c}.border-black-300{border-color:#424242}.border-black-500{border-color:#2f2f2f}.border-black-500\\/20{border-color:#2f2f2f33}.border-black-500\\/40{border-color:#2f2f2f66}.border-black-500\\/70{border-color:#2f2f2fb3}.border-black-700{border-color:#1d1d1d}.border-blue-50{border-color:#e9effd}.border-blue-100{border-color:#bed0f9}.border-blue-200{border-color:#92b1f5}.border-blue-300{border-color:#6692f1}.border-blue-500{border-color:#3b73ed}.border-blue-500\\/20{border-color:#3b73ed33}.border-blue-500\\/40{border-color:#3b73ed66}.border-blue-500\\/70{border-color:#3b73edb3}.border-blue-700{border-color:#0b49d1}.border-blue-900{border-color:#00179e}.border-red-50{border-color:#fbe9e9}.border-red-100{border-color:#f4bebe}.border-red-200{border-color:#ed9292}.border-red-300{border-color:#e66767}.border-red-500{border-color:#df3c3c}.border-red-500\\/20{border-color:#df3c3c33}.border-red-500\\/40{border-color:#df3c3c66}.border-red-500\\/70{border-color:#df3c3cb3}.border-red-700{border-color:#c20c0c}.border-green-50{border-color:#e7f4f3}.border-green-100{border-color:#b6dfdb}.border-green-200{border-color:#86c9c3}.border-green-300{border-color:#56b4ac}.border-green-500{border-color:#259f94}.border-green-500\\/20{border-color:#259f9433}.border-green-500\\/40{border-color:#259f9466}.border-green-500\\/70{border-color:#259f94b3}.border-green-700{border-color:#007a6e}.border-yellow-50{border-color:#fef4e8}.border-yellow-100{border-color:#fddeb9}.border-yellow-200{border-color:#fbc88b}.border-yellow-300{border-color:#fab15c}.border-yellow-500{border-color:#f89b2e}.border-yellow-500\\/20{border-color:#f89b2e33}.border-yellow-500\\/40{border-color:#f89b2e66}.border-yellow-500\\/70{border-color:#f89b2eb3}.border-yellow-700{border-color:#de7700}.border-purple-50{border-color:#f4ebfd}.border-purple-100{border-color:#dfc2f9}.border-purple-200{border-color:#c999f4}.border-purple-300{border-color:#b370f0}.border-purple-500{border-color:#9e47ec}.border-purple-500\\/20{border-color:#9e47ec33}.border-purple-500\\/40{border-color:#9e47ec66}.border-purple-500\\/70{border-color:#9e47ecb3}.border-purple-700{border-color:#7919d0}.border-orange-50{border-color:#ffefea}.border-orange-100{border-color:#ffcfc0}.border-orange-200{border-color:#ffb097}.border-orange-300{border-color:#ff906d}.border-orange-500{border-color:#ff7043}.border-orange-500\\/20{border-color:#ff704333}.border-orange-500\\/40{border-color:#ff704366}.border-orange-500\\/70{border-color:#ff7043b3}.border-orange-700{border-color:#e54715}.border-azure-50{border-color:#e5f7fc}.border-azure-100{border-color:#b2e6f7}.border-azure-200{border-color:#80d6f1}.border-azure-300{border-color:#4dc5eb}.border-azure-500{border-color:#1ab5e6}.border-azure-500\\/20{border-color:#1ab5e633}.border-azure-500\\/40{border-color:#1ab5e666}.border-azure-500\\/70{border-color:#1ab5e6b3}.border-azure-700{border-color:#0093c9}.border-gold-50{border-color:#faf3e6}.border-gold-100{border-color:#efdcb4}.border-gold-200{border-color:#e4c481}.border-gold-300{border-color:#daad4f}.border-gold-500{border-color:#cf961d}.border-gold-500\\/20{border-color:#cf961d33}.border-gold-500\\/40{border-color:#cf961d66}.border-gold-500\\/70{border-color:#cf961db3}.border-gold-700{border-color:#b07000}.border-brown-50{border-color:#f1ede9}.border-brown-100{border-color:#d6c9bd}.border-brown-200{border-color:#bca691}.border-brown-300{border-color:#a08266}.border-brown-500{border-color:#865e3a}.border-brown-500\\/20{border-color:#865e3a33}.border-brown-500\\/40{border-color:#865e3a66}.border-brown-500\\/70{border-color:#865e3ab3}.border-brown-700{border-color:#5f330a}.border-navy-50{border-color:#e7e7fa}.border-navy-100{border-color:#b7b6f1}.border-navy-200{border-color:#8785e8}.border-navy-300{border-color:#5755df}.border-navy-500{border-color:#2724d6}.border-navy-500\\/20{border-color:#2724d633}.border-navy-500\\/40{border-color:#2724d666}.border-navy-500\\/70{border-color:#2724d6b3}.border-navy-700{border-color:#0000b8}.border-lime-50{border-color:#ecf6e7}.border-lime-100{border-color:#c5e3b6}.border-lime-200{border-color:#9ed186}.border-lime-300{border-color:#77bf56}.border-lime-500{border-color:#50ac25}.border-lime-500\\/20{border-color:#50ac2533}.border-lime-500\\/40{border-color:#50ac2566}.border-lime-500\\/70{border-color:#50ac25b3}.border-lime-700{border-color:#238900}.border-magenta-50{border-color:#fbe9f1}.border-magenta-100{border-color:#f4bed6}.border-magenta-200{border-color:#ed93bb}.border-magenta-300{border-color:#e668a0}.border-magenta-500{border-color:#df3d85}.border-magenta-500\\/20{border-color:#df3d8533}.border-magenta-500\\/40{border-color:#df3d8566}.border-magenta-500\\/70{border-color:#df3d85b3}.border-magenta-700{border-color:#c10d5d}.fill-white-50{fill:#fff}.fill-white-100{fill:#f7f7f7}.fill-white-200{fill:#eee}.fill-white-300{fill:#e5e5e5}.fill-white-500{fill:#dadada}.fill-white-500\\/20{fill:#dadada33}.fill-white-500\\/40{fill:#dadada66}.fill-white-500\\/70{fill:#dadadab3}.fill-white-700{fill:#ccc}.fill-black-50{fill:#aaa}.fill-black-100{fill:#919191}.fill-black-200{fill:#6c6c6c}.fill-black-300{fill:#424242}.fill-black-500{fill:#2f2f2f}.fill-black-500\\/20{fill:#2f2f2f33}.fill-black-500\\/40{fill:#2f2f2f66}.fill-black-500\\/70{fill:#2f2f2fb3}.fill-black-700{fill:#1d1d1d}.fill-blue-50{fill:#e9effd}.fill-blue-100{fill:#bed0f9}.fill-blue-200{fill:#92b1f5}.fill-blue-300{fill:#6692f1}.fill-blue-500{fill:#3b73ed}.fill-blue-500\\/20{fill:#3b73ed33}.fill-blue-500\\/40{fill:#3b73ed66}.fill-blue-500\\/70{fill:#3b73edb3}.fill-blue-700{fill:#0b49d1}.fill-blue-900{fill:#00179e}.fill-red-50{fill:#fbe9e9}.fill-red-100{fill:#f4bebe}.fill-red-200{fill:#ed9292}.fill-red-300{fill:#e66767}.fill-red-500{fill:#df3c3c}.fill-red-500\\/20{fill:#df3c3c33}.fill-red-500\\/40{fill:#df3c3c66}.fill-red-500\\/70{fill:#df3c3cb3}.fill-red-700{fill:#c20c0c}.fill-green-50{fill:#e7f4f3}.fill-green-100{fill:#b6dfdb}.fill-green-200{fill:#86c9c3}.fill-green-300{fill:#56b4ac}.fill-green-500{fill:#259f94}.fill-green-500\\/20{fill:#259f9433}.fill-green-500\\/40{fill:#259f9466}.fill-green-500\\/70{fill:#259f94b3}.fill-green-700{fill:#007a6e}.fill-yellow-50{fill:#fef4e8}.fill-yellow-100{fill:#fddeb9}.fill-yellow-200{fill:#fbc88b}.fill-yellow-300{fill:#fab15c}.fill-yellow-500{fill:#f89b2e}.fill-yellow-500\\/20{fill:#f89b2e33}.fill-yellow-500\\/40{fill:#f89b2e66}.fill-yellow-500\\/70{fill:#f89b2eb3}.fill-yellow-700{fill:#de7700}.fill-purple-50{fill:#f4ebfd}.fill-purple-100{fill:#dfc2f9}.fill-purple-200{fill:#c999f4}.fill-purple-300{fill:#b370f0}.fill-purple-500{fill:#9e47ec}.fill-purple-500\\/20{fill:#9e47ec33}.fill-purple-500\\/40{fill:#9e47ec66}.fill-purple-500\\/70{fill:#9e47ecb3}.fill-purple-700{fill:#7919d0}.fill-orange-50{fill:#ffefea}.fill-orange-100{fill:#ffcfc0}.fill-orange-200{fill:#ffb097}.fill-orange-300{fill:#ff906d}.fill-orange-500{fill:#ff7043}.fill-orange-500\\/20{fill:#ff704333}.fill-orange-500\\/40{fill:#ff704366}.fill-orange-500\\/70{fill:#ff7043b3}.fill-orange-700{fill:#e54715}.fill-azure-50{fill:#e5f7fc}.fill-azure-100{fill:#b2e6f7}.fill-azure-200{fill:#80d6f1}.fill-azure-300{fill:#4dc5eb}.fill-azure-500{fill:#1ab5e6}.fill-azure-500\\/20{fill:#1ab5e633}.fill-azure-500\\/40{fill:#1ab5e666}.fill-azure-500\\/70{fill:#1ab5e6b3}.fill-azure-700{fill:#0093c9}.fill-gold-50{fill:#faf3e6}.fill-gold-100{fill:#efdcb4}.fill-gold-200{fill:#e4c481}.fill-gold-300{fill:#daad4f}.fill-gold-500{fill:#cf961d}.fill-gold-500\\/20{fill:#cf961d33}.fill-gold-500\\/40{fill:#cf961d66}.fill-gold-500\\/70{fill:#cf961db3}.fill-gold-700{fill:#b07000}.fill-brown-50{fill:#f1ede9}.fill-brown-100{fill:#d6c9bd}.fill-brown-200{fill:#bca691}.fill-brown-300{fill:#a08266}.fill-brown-500{fill:#865e3a}.fill-brown-500\\/20{fill:#865e3a33}.fill-brown-500\\/40{fill:#865e3a66}.fill-brown-500\\/70{fill:#865e3ab3}.fill-brown-700{fill:#5f330a}.fill-navy-50{fill:#e7e7fa}.fill-navy-100{fill:#b7b6f1}.fill-navy-200{fill:#8785e8}.fill-navy-300{fill:#5755df}.fill-navy-500{fill:#2724d6}.fill-navy-500\\/20{fill:#2724d633}.fill-navy-500\\/40{fill:#2724d666}.fill-navy-500\\/70{fill:#2724d6b3}.fill-navy-700{fill:#0000b8}.fill-lime-50{fill:#ecf6e7}.fill-lime-100{fill:#c5e3b6}.fill-lime-200{fill:#9ed186}.fill-lime-300{fill:#77bf56}.fill-lime-500{fill:#50ac25}.fill-lime-500\\/20{fill:#50ac2533}.fill-lime-500\\/40{fill:#50ac2566}.fill-lime-500\\/70{fill:#50ac25b3}.fill-lime-700{fill:#238900}.fill-magenta-50{fill:#fbe9f1}.fill-magenta-100{fill:#f4bed6}.fill-magenta-200{fill:#ed93bb}.fill-magenta-300{fill:#e668a0}.fill-magenta-500{fill:#df3d85}.fill-magenta-500\\/20{fill:#df3d8533}.fill-magenta-500\\/40{fill:#df3d8566}.fill-magenta-500\\/70{fill:#df3d85b3}.fill-magenta-700{fill:#c10d5d}.stroke-white-50{stroke:#fff}.stroke-white-100{stroke:#f7f7f7}.stroke-white-200{stroke:#eee}.stroke-white-300{stroke:#e5e5e5}.stroke-white-500{stroke:#dadada}.stroke-white-500\\/20{stroke:#dadada33}.stroke-white-500\\/40{stroke:#dadada66}.stroke-white-500\\/70{stroke:#dadadab3}.stroke-white-700{stroke:#ccc}.stroke-black-50{stroke:#aaa}.stroke-black-100{stroke:#919191}.stroke-black-200{stroke:#6c6c6c}.stroke-black-300{stroke:#424242}.stroke-black-500{stroke:#2f2f2f}.stroke-black-500\\/20{stroke:#2f2f2f33}.stroke-black-500\\/40{stroke:#2f2f2f66}.stroke-black-500\\/70{stroke:#2f2f2fb3}.stroke-black-700{stroke:#1d1d1d}.stroke-blue-50{stroke:#e9effd}.stroke-blue-100{stroke:#bed0f9}.stroke-blue-200{stroke:#92b1f5}.stroke-blue-300{stroke:#6692f1}.stroke-blue-500{stroke:#3b73ed}.stroke-blue-500\\/20{stroke:#3b73ed33}.stroke-blue-500\\/40{stroke:#3b73ed66}.stroke-blue-500\\/70{stroke:#3b73edb3}.stroke-blue-700{stroke:#0b49d1}.stroke-blue-900{stroke:#00179e}.stroke-red-50{stroke:#fbe9e9}.stroke-red-100{stroke:#f4bebe}.stroke-red-200{stroke:#ed9292}.stroke-red-300{stroke:#e66767}.stroke-red-500{stroke:#df3c3c}.stroke-red-500\\/20{stroke:#df3c3c33}.stroke-red-500\\/40{stroke:#df3c3c66}.stroke-red-500\\/70{stroke:#df3c3cb3}.stroke-red-700{stroke:#c20c0c}.stroke-green-50{stroke:#e7f4f3}.stroke-green-100{stroke:#b6dfdb}.stroke-green-200{stroke:#86c9c3}.stroke-green-300{stroke:#56b4ac}.stroke-green-500{stroke:#259f94}.stroke-green-500\\/20{stroke:#259f9433}.stroke-green-500\\/40{stroke:#259f9466}.stroke-green-500\\/70{stroke:#259f94b3}.stroke-green-700{stroke:#007a6e}.stroke-yellow-50{stroke:#fef4e8}.stroke-yellow-100{stroke:#fddeb9}.stroke-yellow-200{stroke:#fbc88b}.stroke-yellow-300{stroke:#fab15c}.stroke-yellow-500{stroke:#f89b2e}.stroke-yellow-500\\/20{stroke:#f89b2e33}.stroke-yellow-500\\/40{stroke:#f89b2e66}.stroke-yellow-500\\/70{stroke:#f89b2eb3}.stroke-yellow-700{stroke:#de7700}.stroke-purple-50{stroke:#f4ebfd}.stroke-purple-100{stroke:#dfc2f9}.stroke-purple-200{stroke:#c999f4}.stroke-purple-300{stroke:#b370f0}.stroke-purple-500{stroke:#9e47ec}.stroke-purple-500\\/20{stroke:#9e47ec33}.stroke-purple-500\\/40{stroke:#9e47ec66}.stroke-purple-500\\/70{stroke:#9e47ecb3}.stroke-purple-700{stroke:#7919d0}.stroke-orange-50{stroke:#ffefea}.stroke-orange-100{stroke:#ffcfc0}.stroke-orange-200{stroke:#ffb097}.stroke-orange-300{stroke:#ff906d}.stroke-orange-500{stroke:#ff7043}.stroke-orange-500\\/20{stroke:#ff704333}.stroke-orange-500\\/40{stroke:#ff704366}.stroke-orange-500\\/70{stroke:#ff7043b3}.stroke-orange-700{stroke:#e54715}.stroke-azure-50{stroke:#e5f7fc}.stroke-azure-100{stroke:#b2e6f7}.stroke-azure-200{stroke:#80d6f1}.stroke-azure-300{stroke:#4dc5eb}.stroke-azure-500{stroke:#1ab5e6}.stroke-azure-500\\/20{stroke:#1ab5e633}.stroke-azure-500\\/40{stroke:#1ab5e666}.stroke-azure-500\\/70{stroke:#1ab5e6b3}.stroke-azure-700{stroke:#0093c9}.stroke-gold-50{stroke:#faf3e6}.stroke-gold-100{stroke:#efdcb4}.stroke-gold-200{stroke:#e4c481}.stroke-gold-300{stroke:#daad4f}.stroke-gold-500{stroke:#cf961d}.stroke-gold-500\\/20{stroke:#cf961d33}.stroke-gold-500\\/40{stroke:#cf961d66}.stroke-gold-500\\/70{stroke:#cf961db3}.stroke-gold-700{stroke:#b07000}.stroke-brown-50{stroke:#f1ede9}.stroke-brown-100{stroke:#d6c9bd}.stroke-brown-200{stroke:#bca691}.stroke-brown-300{stroke:#a08266}.stroke-brown-500{stroke:#865e3a}.stroke-brown-500\\/20{stroke:#865e3a33}.stroke-brown-500\\/40{stroke:#865e3a66}.stroke-brown-500\\/70{stroke:#865e3ab3}.stroke-brown-700{stroke:#5f330a}.stroke-navy-50{stroke:#e7e7fa}.stroke-navy-100{stroke:#b7b6f1}.stroke-navy-200{stroke:#8785e8}.stroke-navy-300{stroke:#5755df}.stroke-navy-500{stroke:#2724d6}.stroke-navy-500\\/20{stroke:#2724d633}.stroke-navy-500\\/40{stroke:#2724d666}.stroke-navy-500\\/70{stroke:#2724d6b3}.stroke-navy-700{stroke:#0000b8}.stroke-lime-50{stroke:#ecf6e7}.stroke-lime-100{stroke:#c5e3b6}.stroke-lime-200{stroke:#9ed186}.stroke-lime-300{stroke:#77bf56}.stroke-lime-500{stroke:#50ac25}.stroke-lime-500\\/20{stroke:#50ac2533}.stroke-lime-500\\/40{stroke:#50ac2566}.stroke-lime-500\\/70{stroke:#50ac25b3}.stroke-lime-700{stroke:#238900}.stroke-magenta-50{stroke:#fbe9f1}.stroke-magenta-100{stroke:#f4bed6}.stroke-magenta-200{stroke:#ed93bb}.stroke-magenta-300{stroke:#e668a0}.stroke-magenta-500{stroke:#df3d85}.stroke-magenta-500\\/20{stroke:#df3d8533}.stroke-magenta-500\\/40{stroke:#df3d8566}.stroke-magenta-500\\/70{stroke:#df3d85b3}.stroke-magenta-700{stroke:#c10d5d}.hover\\:text-white-50:hover{color:#fff}.hover\\:text-white-100:hover{color:#f7f7f7}.hover\\:text-white-200:hover{color:#eee}.hover\\:text-white-300:hover{color:#e5e5e5}.hover\\:text-white-500:hover{color:#dadada}.hover\\:text-white-500:hover\\/20{color:#dadada33}.hover\\:text-white-500:hover\\/40{color:#dadada66}.hover\\:text-white-500:hover\\/70{color:#dadadab3}.hover\\:text-white-700:hover{color:#ccc}.hover\\:text-black-50:hover{color:#aaa}.hover\\:text-black-100:hover{color:#919191}.hover\\:text-black-200:hover{color:#6c6c6c}.hover\\:text-black-300:hover{color:#424242}.hover\\:text-black-500:hover{color:#2f2f2f}.hover\\:text-black-500:hover\\/20{color:#2f2f2f33}.hover\\:text-black-500:hover\\/40{color:#2f2f2f66}.hover\\:text-black-500:hover\\/70{color:#2f2f2fb3}.hover\\:text-black-700:hover{color:#1d1d1d}.hover\\:text-blue-50:hover{color:#e9effd}.hover\\:text-blue-100:hover{color:#bed0f9}.hover\\:text-blue-200:hover{color:#92b1f5}.hover\\:text-blue-300:hover{color:#6692f1}.hover\\:text-blue-500:hover{color:#3b73ed}.hover\\:text-blue-500:hover\\/20{color:#3b73ed33}.hover\\:text-blue-500:hover\\/40{color:#3b73ed66}.hover\\:text-blue-500:hover\\/70{color:#3b73edb3}.hover\\:text-blue-700:hover{color:#0b49d1}.hover\\:text-blue-900:hover{color:#00179e}.hover\\:text-red-50:hover{color:#fbe9e9}.hover\\:text-red-100:hover{color:#f4bebe}.hover\\:text-red-200:hover{color:#ed9292}.hover\\:text-red-300:hover{color:#e66767}.hover\\:text-red-500:hover{color:#df3c3c}.hover\\:text-red-500:hover\\/20{color:#df3c3c33}.hover\\:text-red-500:hover\\/40{color:#df3c3c66}.hover\\:text-red-500:hover\\/70{color:#df3c3cb3}.hover\\:text-red-700:hover{color:#c20c0c}.hover\\:text-green-50:hover{color:#e7f4f3}.hover\\:text-green-100:hover{color:#b6dfdb}.hover\\:text-green-200:hover{color:#86c9c3}.hover\\:text-green-300:hover{color:#56b4ac}.hover\\:text-green-500:hover{color:#259f94}.hover\\:text-green-500:hover\\/20{color:#259f9433}.hover\\:text-green-500:hover\\/40{color:#259f9466}.hover\\:text-green-500:hover\\/70{color:#259f94b3}.hover\\:text-green-700:hover{color:#007a6e}.hover\\:text-yellow-50:hover{color:#fef4e8}.hover\\:text-yellow-100:hover{color:#fddeb9}.hover\\:text-yellow-200:hover{color:#fbc88b}.hover\\:text-yellow-300:hover{color:#fab15c}.hover\\:text-yellow-500:hover{color:#f89b2e}.hover\\:text-yellow-500:hover\\/20{color:#f89b2e33}.hover\\:text-yellow-500:hover\\/40{color:#f89b2e66}.hover\\:text-yellow-500:hover\\/70{color:#f89b2eb3}.hover\\:text-yellow-700:hover{color:#de7700}.hover\\:text-purple-50:hover{color:#f4ebfd}.hover\\:text-purple-100:hover{color:#dfc2f9}.hover\\:text-purple-200:hover{color:#c999f4}.hover\\:text-purple-300:hover{color:#b370f0}.hover\\:text-purple-500:hover{color:#9e47ec}.hover\\:text-purple-500:hover\\/20{color:#9e47ec33}.hover\\:text-purple-500:hover\\/40{color:#9e47ec66}.hover\\:text-purple-500:hover\\/70{color:#9e47ecb3}.hover\\:text-purple-700:hover{color:#7919d0}.hover\\:text-orange-50:hover{color:#ffefea}.hover\\:text-orange-100:hover{color:#ffcfc0}.hover\\:text-orange-200:hover{color:#ffb097}.hover\\:text-orange-300:hover{color:#ff906d}.hover\\:text-orange-500:hover{color:#ff7043}.hover\\:text-orange-500:hover\\/20{color:#ff704333}.hover\\:text-orange-500:hover\\/40{color:#ff704366}.hover\\:text-orange-500:hover\\/70{color:#ff7043b3}.hover\\:text-orange-700:hover{color:#e54715}.hover\\:text-azure-50:hover{color:#e5f7fc}.hover\\:text-azure-100:hover{color:#b2e6f7}.hover\\:text-azure-200:hover{color:#80d6f1}.hover\\:text-azure-300:hover{color:#4dc5eb}.hover\\:text-azure-500:hover{color:#1ab5e6}.hover\\:text-azure-500:hover\\/20{color:#1ab5e633}.hover\\:text-azure-500:hover\\/40{color:#1ab5e666}.hover\\:text-azure-500:hover\\/70{color:#1ab5e6b3}.hover\\:text-azure-700:hover{color:#0093c9}.hover\\:text-gold-50:hover{color:#faf3e6}.hover\\:text-gold-100:hover{color:#efdcb4}.hover\\:text-gold-200:hover{color:#e4c481}.hover\\:text-gold-300:hover{color:#daad4f}.hover\\:text-gold-500:hover{color:#cf961d}.hover\\:text-gold-500:hover\\/20{color:#cf961d33}.hover\\:text-gold-500:hover\\/40{color:#cf961d66}.hover\\:text-gold-500:hover\\/70{color:#cf961db3}.hover\\:text-gold-700:hover{color:#b07000}.hover\\:text-brown-50:hover{color:#f1ede9}.hover\\:text-brown-100:hover{color:#d6c9bd}.hover\\:text-brown-200:hover{color:#bca691}.hover\\:text-brown-300:hover{color:#a08266}.hover\\:text-brown-500:hover{color:#865e3a}.hover\\:text-brown-500:hover\\/20{color:#865e3a33}.hover\\:text-brown-500:hover\\/40{color:#865e3a66}.hover\\:text-brown-500:hover\\/70{color:#865e3ab3}.hover\\:text-brown-700:hover{color:#5f330a}.hover\\:text-navy-50:hover{color:#e7e7fa}.hover\\:text-navy-100:hover{color:#b7b6f1}.hover\\:text-navy-200:hover{color:#8785e8}.hover\\:text-navy-300:hover{color:#5755df}.hover\\:text-navy-500:hover{color:#2724d6}.hover\\:text-navy-500:hover\\/20{color:#2724d633}.hover\\:text-navy-500:hover\\/40{color:#2724d666}.hover\\:text-navy-500:hover\\/70{color:#2724d6b3}.hover\\:text-navy-700:hover{color:#0000b8}.hover\\:text-lime-50:hover{color:#ecf6e7}.hover\\:text-lime-100:hover{color:#c5e3b6}.hover\\:text-lime-200:hover{color:#9ed186}.hover\\:text-lime-300:hover{color:#77bf56}.hover\\:text-lime-500:hover{color:#50ac25}.hover\\:text-lime-500:hover\\/20{color:#50ac2533}.hover\\:text-lime-500:hover\\/40{color:#50ac2566}.hover\\:text-lime-500:hover\\/70{color:#50ac25b3}.hover\\:text-lime-700:hover{color:#238900}.hover\\:text-magenta-50:hover{color:#fbe9f1}.hover\\:text-magenta-100:hover{color:#f4bed6}.hover\\:text-magenta-200:hover{color:#ed93bb}.hover\\:text-magenta-300:hover{color:#e668a0}.hover\\:text-magenta-500:hover{color:#df3d85}.hover\\:text-magenta-500:hover\\/20{color:#df3d8533}.hover\\:text-magenta-500:hover\\/40{color:#df3d8566}.hover\\:text-magenta-500:hover\\/70{color:#df3d85b3}.hover\\:text-magenta-700:hover{color:#c10d5d}.hover\\:bg-white-50:hover{background-color:#fff}.hover\\:bg-white-100:hover{background-color:#f7f7f7}.hover\\:bg-white-200:hover{background-color:#eee}.hover\\:bg-white-300:hover{background-color:#e5e5e5}.hover\\:bg-white-500:hover{background-color:#dadada}.hover\\:bg-white-500:hover\\/20{background-color:#dadada33}.hover\\:bg-white-500:hover\\/40{background-color:#dadada66}.hover\\:bg-white-500:hover\\/70{background-color:#dadadab3}.hover\\:bg-white-700:hover{background-color:#ccc}.hover\\:bg-black-50:hover{background-color:#aaa}.hover\\:bg-black-100:hover{background-color:#919191}.hover\\:bg-black-200:hover{background-color:#6c6c6c}.hover\\:bg-black-300:hover{background-color:#424242}.hover\\:bg-black-500:hover{background-color:#2f2f2f}.hover\\:bg-black-500:hover\\/20{background-color:#2f2f2f33}.hover\\:bg-black-500:hover\\/40{background-color:#2f2f2f66}.hover\\:bg-black-500:hover\\/70{background-color:#2f2f2fb3}.hover\\:bg-black-700:hover{background-color:#1d1d1d}.hover\\:bg-blue-50:hover{background-color:#e9effd}.hover\\:bg-blue-100:hover{background-color:#bed0f9}.hover\\:bg-blue-200:hover{background-color:#92b1f5}.hover\\:bg-blue-300:hover{background-color:#6692f1}.hover\\:bg-blue-500:hover{background-color:#3b73ed}.hover\\:bg-blue-500:hover\\/20{background-color:#3b73ed33}.hover\\:bg-blue-500:hover\\/40{background-color:#3b73ed66}.hover\\:bg-blue-500:hover\\/70{background-color:#3b73edb3}.hover\\:bg-blue-700:hover{background-color:#0b49d1}.hover\\:bg-blue-900:hover{background-color:#00179e}.hover\\:bg-red-50:hover{background-color:#fbe9e9}.hover\\:bg-red-100:hover{background-color:#f4bebe}.hover\\:bg-red-200:hover{background-color:#ed9292}.hover\\:bg-red-300:hover{background-color:#e66767}.hover\\:bg-red-500:hover{background-color:#df3c3c}.hover\\:bg-red-500:hover\\/20{background-color:#df3c3c33}.hover\\:bg-red-500:hover\\/40{background-color:#df3c3c66}.hover\\:bg-red-500:hover\\/70{background-color:#df3c3cb3}.hover\\:bg-red-700:hover{background-color:#c20c0c}.hover\\:bg-green-50:hover{background-color:#e7f4f3}.hover\\:bg-green-100:hover{background-color:#b6dfdb}.hover\\:bg-green-200:hover{background-color:#86c9c3}.hover\\:bg-green-300:hover{background-color:#56b4ac}.hover\\:bg-green-500:hover{background-color:#259f94}.hover\\:bg-green-500:hover\\/20{background-color:#259f9433}.hover\\:bg-green-500:hover\\/40{background-color:#259f9466}.hover\\:bg-green-500:hover\\/70{background-color:#259f94b3}.hover\\:bg-green-700:hover{background-color:#007a6e}.hover\\:bg-yellow-50:hover{background-color:#fef4e8}.hover\\:bg-yellow-100:hover{background-color:#fddeb9}.hover\\:bg-yellow-200:hover{background-color:#fbc88b}.hover\\:bg-yellow-300:hover{background-color:#fab15c}.hover\\:bg-yellow-500:hover{background-color:#f89b2e}.hover\\:bg-yellow-500:hover\\/20{background-color:#f89b2e33}.hover\\:bg-yellow-500:hover\\/40{background-color:#f89b2e66}.hover\\:bg-yellow-500:hover\\/70{background-color:#f89b2eb3}.hover\\:bg-yellow-700:hover{background-color:#de7700}.hover\\:bg-purple-50:hover{background-color:#f4ebfd}.hover\\:bg-purple-100:hover{background-color:#dfc2f9}.hover\\:bg-purple-200:hover{background-color:#c999f4}.hover\\:bg-purple-300:hover{background-color:#b370f0}.hover\\:bg-purple-500:hover{background-color:#9e47ec}.hover\\:bg-purple-500:hover\\/20{background-color:#9e47ec33}.hover\\:bg-purple-500:hover\\/40{background-color:#9e47ec66}.hover\\:bg-purple-500:hover\\/70{background-color:#9e47ecb3}.hover\\:bg-purple-700:hover{background-color:#7919d0}.hover\\:bg-orange-50:hover{background-color:#ffefea}.hover\\:bg-orange-100:hover{background-color:#ffcfc0}.hover\\:bg-orange-200:hover{background-color:#ffb097}.hover\\:bg-orange-300:hover{background-color:#ff906d}.hover\\:bg-orange-500:hover{background-color:#ff7043}.hover\\:bg-orange-500:hover\\/20{background-color:#ff704333}.hover\\:bg-orange-500:hover\\/40{background-color:#ff704366}.hover\\:bg-orange-500:hover\\/70{background-color:#ff7043b3}.hover\\:bg-orange-700:hover{background-color:#e54715}.hover\\:bg-azure-50:hover{background-color:#e5f7fc}.hover\\:bg-azure-100:hover{background-color:#b2e6f7}.hover\\:bg-azure-200:hover{background-color:#80d6f1}.hover\\:bg-azure-300:hover{background-color:#4dc5eb}.hover\\:bg-azure-500:hover{background-color:#1ab5e6}.hover\\:bg-azure-500:hover\\/20{background-color:#1ab5e633}.hover\\:bg-azure-500:hover\\/40{background-color:#1ab5e666}.hover\\:bg-azure-500:hover\\/70{background-color:#1ab5e6b3}.hover\\:bg-azure-700:hover{background-color:#0093c9}.hover\\:bg-gold-50:hover{background-color:#faf3e6}.hover\\:bg-gold-100:hover{background-color:#efdcb4}.hover\\:bg-gold-200:hover{background-color:#e4c481}.hover\\:bg-gold-300:hover{background-color:#daad4f}.hover\\:bg-gold-500:hover{background-color:#cf961d}.hover\\:bg-gold-500:hover\\/20{background-color:#cf961d33}.hover\\:bg-gold-500:hover\\/40{background-color:#cf961d66}.hover\\:bg-gold-500:hover\\/70{background-color:#cf961db3}.hover\\:bg-gold-700:hover{background-color:#b07000}.hover\\:bg-brown-50:hover{background-color:#f1ede9}.hover\\:bg-brown-100:hover{background-color:#d6c9bd}.hover\\:bg-brown-200:hover{background-color:#bca691}.hover\\:bg-brown-300:hover{background-color:#a08266}.hover\\:bg-brown-500:hover{background-color:#865e3a}.hover\\:bg-brown-500:hover\\/20{background-color:#865e3a33}.hover\\:bg-brown-500:hover\\/40{background-color:#865e3a66}.hover\\:bg-brown-500:hover\\/70{background-color:#865e3ab3}.hover\\:bg-brown-700:hover{background-color:#5f330a}.hover\\:bg-navy-50:hover{background-color:#e7e7fa}.hover\\:bg-navy-100:hover{background-color:#b7b6f1}.hover\\:bg-navy-200:hover{background-color:#8785e8}.hover\\:bg-navy-300:hover{background-color:#5755df}.hover\\:bg-navy-500:hover{background-color:#2724d6}.hover\\:bg-navy-500:hover\\/20{background-color:#2724d633}.hover\\:bg-navy-500:hover\\/40{background-color:#2724d666}.hover\\:bg-navy-500:hover\\/70{background-color:#2724d6b3}.hover\\:bg-navy-700:hover{background-color:#0000b8}.hover\\:bg-lime-50:hover{background-color:#ecf6e7}.hover\\:bg-lime-100:hover{background-color:#c5e3b6}.hover\\:bg-lime-200:hover{background-color:#9ed186}.hover\\:bg-lime-300:hover{background-color:#77bf56}.hover\\:bg-lime-500:hover{background-color:#50ac25}.hover\\:bg-lime-500:hover\\/20{background-color:#50ac2533}.hover\\:bg-lime-500:hover\\/40{background-color:#50ac2566}.hover\\:bg-lime-500:hover\\/70{background-color:#50ac25b3}.hover\\:bg-lime-700:hover{background-color:#238900}.hover\\:bg-magenta-50:hover{background-color:#fbe9f1}.hover\\:bg-magenta-100:hover{background-color:#f4bed6}.hover\\:bg-magenta-200:hover{background-color:#ed93bb}.hover\\:bg-magenta-300:hover{background-color:#e668a0}.hover\\:bg-magenta-500:hover{background-color:#df3d85}.hover\\:bg-magenta-500:hover\\/20{background-color:#df3d8533}.hover\\:bg-magenta-500:hover\\/40{background-color:#df3d8566}.hover\\:bg-magenta-500:hover\\/70{background-color:#df3d85b3}.hover\\:bg-magenta-700:hover{background-color:#c10d5d}.focus\\:text-white-50:focus-visible{color:#fff}.focus\\:text-white-100:focus-visible{color:#f7f7f7}.focus\\:text-white-200:focus-visible{color:#eee}.focus\\:text-white-300:focus-visible{color:#e5e5e5}.focus\\:text-white-500:focus-visible{color:#dadada}.focus\\:text-white-500:focus-visible\\/20{color:#dadada33}.focus\\:text-white-500:focus-visible\\/40{color:#dadada66}.focus\\:text-white-500:focus-visible\\/70{color:#dadadab3}.focus\\:text-white-700:focus-visible{color:#ccc}.focus\\:text-black-50:focus-visible{color:#aaa}.focus\\:text-black-100:focus-visible{color:#919191}.focus\\:text-black-200:focus-visible{color:#6c6c6c}.focus\\:text-black-300:focus-visible{color:#424242}.focus\\:text-black-500:focus-visible{color:#2f2f2f}.focus\\:text-black-500:focus-visible\\/20{color:#2f2f2f33}.focus\\:text-black-500:focus-visible\\/40{color:#2f2f2f66}.focus\\:text-black-500:focus-visible\\/70{color:#2f2f2fb3}.focus\\:text-black-700:focus-visible{color:#1d1d1d}.focus\\:text-blue-50:focus-visible{color:#e9effd}.focus\\:text-blue-100:focus-visible{color:#bed0f9}.focus\\:text-blue-200:focus-visible{color:#92b1f5}.focus\\:text-blue-300:focus-visible{color:#6692f1}.focus\\:text-blue-500:focus-visible{color:#3b73ed}.focus\\:text-blue-500:focus-visible\\/20{color:#3b73ed33}.focus\\:text-blue-500:focus-visible\\/40{color:#3b73ed66}.focus\\:text-blue-500:focus-visible\\/70{color:#3b73edb3}.focus\\:text-blue-700:focus-visible{color:#0b49d1}.focus\\:text-blue-900:focus-visible{color:#00179e}.focus\\:text-red-50:focus-visible{color:#fbe9e9}.focus\\:text-red-100:focus-visible{color:#f4bebe}.focus\\:text-red-200:focus-visible{color:#ed9292}.focus\\:text-red-300:focus-visible{color:#e66767}.focus\\:text-red-500:focus-visible{color:#df3c3c}.focus\\:text-red-500:focus-visible\\/20{color:#df3c3c33}.focus\\:text-red-500:focus-visible\\/40{color:#df3c3c66}.focus\\:text-red-500:focus-visible\\/70{color:#df3c3cb3}.focus\\:text-red-700:focus-visible{color:#c20c0c}.focus\\:text-green-50:focus-visible{color:#e7f4f3}.focus\\:text-green-100:focus-visible{color:#b6dfdb}.focus\\:text-green-200:focus-visible{color:#86c9c3}.focus\\:text-green-300:focus-visible{color:#56b4ac}.focus\\:text-green-500:focus-visible{color:#259f94}.focus\\:text-green-500:focus-visible\\/20{color:#259f9433}.focus\\:text-green-500:focus-visible\\/40{color:#259f9466}.focus\\:text-green-500:focus-visible\\/70{color:#259f94b3}.focus\\:text-green-700:focus-visible{color:#007a6e}.focus\\:text-yellow-50:focus-visible{color:#fef4e8}.focus\\:text-yellow-100:focus-visible{color:#fddeb9}.focus\\:text-yellow-200:focus-visible{color:#fbc88b}.focus\\:text-yellow-300:focus-visible{color:#fab15c}.focus\\:text-yellow-500:focus-visible{color:#f89b2e}.focus\\:text-yellow-500:focus-visible\\/20{color:#f89b2e33}.focus\\:text-yellow-500:focus-visible\\/40{color:#f89b2e66}.focus\\:text-yellow-500:focus-visible\\/70{color:#f89b2eb3}.focus\\:text-yellow-700:focus-visible{color:#de7700}.focus\\:text-purple-50:focus-visible{color:#f4ebfd}.focus\\:text-purple-100:focus-visible{color:#dfc2f9}.focus\\:text-purple-200:focus-visible{color:#c999f4}.focus\\:text-purple-300:focus-visible{color:#b370f0}.focus\\:text-purple-500:focus-visible{color:#9e47ec}.focus\\:text-purple-500:focus-visible\\/20{color:#9e47ec33}.focus\\:text-purple-500:focus-visible\\/40{color:#9e47ec66}.focus\\:text-purple-500:focus-visible\\/70{color:#9e47ecb3}.focus\\:text-purple-700:focus-visible{color:#7919d0}.focus\\:text-orange-50:focus-visible{color:#ffefea}.focus\\:text-orange-100:focus-visible{color:#ffcfc0}.focus\\:text-orange-200:focus-visible{color:#ffb097}.focus\\:text-orange-300:focus-visible{color:#ff906d}.focus\\:text-orange-500:focus-visible{color:#ff7043}.focus\\:text-orange-500:focus-visible\\/20{color:#ff704333}.focus\\:text-orange-500:focus-visible\\/40{color:#ff704366}.focus\\:text-orange-500:focus-visible\\/70{color:#ff7043b3}.focus\\:text-orange-700:focus-visible{color:#e54715}.focus\\:text-azure-50:focus-visible{color:#e5f7fc}.focus\\:text-azure-100:focus-visible{color:#b2e6f7}.focus\\:text-azure-200:focus-visible{color:#80d6f1}.focus\\:text-azure-300:focus-visible{color:#4dc5eb}.focus\\:text-azure-500:focus-visible{color:#1ab5e6}.focus\\:text-azure-500:focus-visible\\/20{color:#1ab5e633}.focus\\:text-azure-500:focus-visible\\/40{color:#1ab5e666}.focus\\:text-azure-500:focus-visible\\/70{color:#1ab5e6b3}.focus\\:text-azure-700:focus-visible{color:#0093c9}.focus\\:text-gold-50:focus-visible{color:#faf3e6}.focus\\:text-gold-100:focus-visible{color:#efdcb4}.focus\\:text-gold-200:focus-visible{color:#e4c481}.focus\\:text-gold-300:focus-visible{color:#daad4f}.focus\\:text-gold-500:focus-visible{color:#cf961d}.focus\\:text-gold-500:focus-visible\\/20{color:#cf961d33}.focus\\:text-gold-500:focus-visible\\/40{color:#cf961d66}.focus\\:text-gold-500:focus-visible\\/70{color:#cf961db3}.focus\\:text-gold-700:focus-visible{color:#b07000}.focus\\:text-brown-50:focus-visible{color:#f1ede9}.focus\\:text-brown-100:focus-visible{color:#d6c9bd}.focus\\:text-brown-200:focus-visible{color:#bca691}.focus\\:text-brown-300:focus-visible{color:#a08266}.focus\\:text-brown-500:focus-visible{color:#865e3a}.focus\\:text-brown-500:focus-visible\\/20{color:#865e3a33}.focus\\:text-brown-500:focus-visible\\/40{color:#865e3a66}.focus\\:text-brown-500:focus-visible\\/70{color:#865e3ab3}.focus\\:text-brown-700:focus-visible{color:#5f330a}.focus\\:text-navy-50:focus-visible{color:#e7e7fa}.focus\\:text-navy-100:focus-visible{color:#b7b6f1}.focus\\:text-navy-200:focus-visible{color:#8785e8}.focus\\:text-navy-300:focus-visible{color:#5755df}.focus\\:text-navy-500:focus-visible{color:#2724d6}.focus\\:text-navy-500:focus-visible\\/20{color:#2724d633}.focus\\:text-navy-500:focus-visible\\/40{color:#2724d666}.focus\\:text-navy-500:focus-visible\\/70{color:#2724d6b3}.focus\\:text-navy-700:focus-visible{color:#0000b8}.focus\\:text-lime-50:focus-visible{color:#ecf6e7}.focus\\:text-lime-100:focus-visible{color:#c5e3b6}.focus\\:text-lime-200:focus-visible{color:#9ed186}.focus\\:text-lime-300:focus-visible{color:#77bf56}.focus\\:text-lime-500:focus-visible{color:#50ac25}.focus\\:text-lime-500:focus-visible\\/20{color:#50ac2533}.focus\\:text-lime-500:focus-visible\\/40{color:#50ac2566}.focus\\:text-lime-500:focus-visible\\/70{color:#50ac25b3}.focus\\:text-lime-700:focus-visible{color:#238900}.focus\\:text-magenta-50:focus-visible{color:#fbe9f1}.focus\\:text-magenta-100:focus-visible{color:#f4bed6}.focus\\:text-magenta-200:focus-visible{color:#ed93bb}.focus\\:text-magenta-300:focus-visible{color:#e668a0}.focus\\:text-magenta-500:focus-visible{color:#df3d85}.focus\\:text-magenta-500:focus-visible\\/20{color:#df3d8533}.focus\\:text-magenta-500:focus-visible\\/40{color:#df3d8566}.focus\\:text-magenta-500:focus-visible\\/70{color:#df3d85b3}.focus\\:text-magenta-700:focus-visible{color:#c10d5d}.focus\\:bg-white-50:focus-visible{background-color:#fff}.focus\\:bg-white-100:focus-visible{background-color:#f7f7f7}.focus\\:bg-white-200:focus-visible{background-color:#eee}.focus\\:bg-white-300:focus-visible{background-color:#e5e5e5}.focus\\:bg-white-500:focus-visible{background-color:#dadada}.focus\\:bg-white-500:focus-visible\\/20{background-color:#dadada33}.focus\\:bg-white-500:focus-visible\\/40{background-color:#dadada66}.focus\\:bg-white-500:focus-visible\\/70{background-color:#dadadab3}.focus\\:bg-white-700:focus-visible{background-color:#ccc}.focus\\:bg-black-50:focus-visible{background-color:#aaa}.focus\\:bg-black-100:focus-visible{background-color:#919191}.focus\\:bg-black-200:focus-visible{background-color:#6c6c6c}.focus\\:bg-black-300:focus-visible{background-color:#424242}.focus\\:bg-black-500:focus-visible{background-color:#2f2f2f}.focus\\:bg-black-500:focus-visible\\/20{background-color:#2f2f2f33}.focus\\:bg-black-500:focus-visible\\/40{background-color:#2f2f2f66}.focus\\:bg-black-500:focus-visible\\/70{background-color:#2f2f2fb3}.focus\\:bg-black-700:focus-visible{background-color:#1d1d1d}.focus\\:bg-blue-50:focus-visible{background-color:#e9effd}.focus\\:bg-blue-100:focus-visible{background-color:#bed0f9}.focus\\:bg-blue-200:focus-visible{background-color:#92b1f5}.focus\\:bg-blue-300:focus-visible{background-color:#6692f1}.focus\\:bg-blue-500:focus-visible{background-color:#3b73ed}.focus\\:bg-blue-500:focus-visible\\/20{background-color:#3b73ed33}.focus\\:bg-blue-500:focus-visible\\/40{background-color:#3b73ed66}.focus\\:bg-blue-500:focus-visible\\/70{background-color:#3b73edb3}.focus\\:bg-blue-700:focus-visible{background-color:#0b49d1}.focus\\:bg-blue-900:focus-visible{background-color:#00179e}.focus\\:bg-red-50:focus-visible{background-color:#fbe9e9}.focus\\:bg-red-100:focus-visible{background-color:#f4bebe}.focus\\:bg-red-200:focus-visible{background-color:#ed9292}.focus\\:bg-red-300:focus-visible{background-color:#e66767}.focus\\:bg-red-500:focus-visible{background-color:#df3c3c}.focus\\:bg-red-500:focus-visible\\/20{background-color:#df3c3c33}.focus\\:bg-red-500:focus-visible\\/40{background-color:#df3c3c66}.focus\\:bg-red-500:focus-visible\\/70{background-color:#df3c3cb3}.focus\\:bg-red-700:focus-visible{background-color:#c20c0c}.focus\\:bg-green-50:focus-visible{background-color:#e7f4f3}.focus\\:bg-green-100:focus-visible{background-color:#b6dfdb}.focus\\:bg-green-200:focus-visible{background-color:#86c9c3}.focus\\:bg-green-300:focus-visible{background-color:#56b4ac}.focus\\:bg-green-500:focus-visible{background-color:#259f94}.focus\\:bg-green-500:focus-visible\\/20{background-color:#259f9433}.focus\\:bg-green-500:focus-visible\\/40{background-color:#259f9466}.focus\\:bg-green-500:focus-visible\\/70{background-color:#259f94b3}.focus\\:bg-green-700:focus-visible{background-color:#007a6e}.focus\\:bg-yellow-50:focus-visible{background-color:#fef4e8}.focus\\:bg-yellow-100:focus-visible{background-color:#fddeb9}.focus\\:bg-yellow-200:focus-visible{background-color:#fbc88b}.focus\\:bg-yellow-300:focus-visible{background-color:#fab15c}.focus\\:bg-yellow-500:focus-visible{background-color:#f89b2e}.focus\\:bg-yellow-500:focus-visible\\/20{background-color:#f89b2e33}.focus\\:bg-yellow-500:focus-visible\\/40{background-color:#f89b2e66}.focus\\:bg-yellow-500:focus-visible\\/70{background-color:#f89b2eb3}.focus\\:bg-yellow-700:focus-visible{background-color:#de7700}.focus\\:bg-purple-50:focus-visible{background-color:#f4ebfd}.focus\\:bg-purple-100:focus-visible{background-color:#dfc2f9}.focus\\:bg-purple-200:focus-visible{background-color:#c999f4}.focus\\:bg-purple-300:focus-visible{background-color:#b370f0}.focus\\:bg-purple-500:focus-visible{background-color:#9e47ec}.focus\\:bg-purple-500:focus-visible\\/20{background-color:#9e47ec33}.focus\\:bg-purple-500:focus-visible\\/40{background-color:#9e47ec66}.focus\\:bg-purple-500:focus-visible\\/70{background-color:#9e47ecb3}.focus\\:bg-purple-700:focus-visible{background-color:#7919d0}.focus\\:bg-orange-50:focus-visible{background-color:#ffefea}.focus\\:bg-orange-100:focus-visible{background-color:#ffcfc0}.focus\\:bg-orange-200:focus-visible{background-color:#ffb097}.focus\\:bg-orange-300:focus-visible{background-color:#ff906d}.focus\\:bg-orange-500:focus-visible{background-color:#ff7043}.focus\\:bg-orange-500:focus-visible\\/20{background-color:#ff704333}.focus\\:bg-orange-500:focus-visible\\/40{background-color:#ff704366}.focus\\:bg-orange-500:focus-visible\\/70{background-color:#ff7043b3}.focus\\:bg-orange-700:focus-visible{background-color:#e54715}.focus\\:bg-azure-50:focus-visible{background-color:#e5f7fc}.focus\\:bg-azure-100:focus-visible{background-color:#b2e6f7}.focus\\:bg-azure-200:focus-visible{background-color:#80d6f1}.focus\\:bg-azure-300:focus-visible{background-color:#4dc5eb}.focus\\:bg-azure-500:focus-visible{background-color:#1ab5e6}.focus\\:bg-azure-500:focus-visible\\/20{background-color:#1ab5e633}.focus\\:bg-azure-500:focus-visible\\/40{background-color:#1ab5e666}.focus\\:bg-azure-500:focus-visible\\/70{background-color:#1ab5e6b3}.focus\\:bg-azure-700:focus-visible{background-color:#0093c9}.focus\\:bg-gold-50:focus-visible{background-color:#faf3e6}.focus\\:bg-gold-100:focus-visible{background-color:#efdcb4}.focus\\:bg-gold-200:focus-visible{background-color:#e4c481}.focus\\:bg-gold-300:focus-visible{background-color:#daad4f}.focus\\:bg-gold-500:focus-visible{background-color:#cf961d}.focus\\:bg-gold-500:focus-visible\\/20{background-color:#cf961d33}.focus\\:bg-gold-500:focus-visible\\/40{background-color:#cf961d66}.focus\\:bg-gold-500:focus-visible\\/70{background-color:#cf961db3}.focus\\:bg-gold-700:focus-visible{background-color:#b07000}.focus\\:bg-brown-50:focus-visible{background-color:#f1ede9}.focus\\:bg-brown-100:focus-visible{background-color:#d6c9bd}.focus\\:bg-brown-200:focus-visible{background-color:#bca691}.focus\\:bg-brown-300:focus-visible{background-color:#a08266}.focus\\:bg-brown-500:focus-visible{background-color:#865e3a}.focus\\:bg-brown-500:focus-visible\\/20{background-color:#865e3a33}.focus\\:bg-brown-500:focus-visible\\/40{background-color:#865e3a66}.focus\\:bg-brown-500:focus-visible\\/70{background-color:#865e3ab3}.focus\\:bg-brown-700:focus-visible{background-color:#5f330a}.focus\\:bg-navy-50:focus-visible{background-color:#e7e7fa}.focus\\:bg-navy-100:focus-visible{background-color:#b7b6f1}.focus\\:bg-navy-200:focus-visible{background-color:#8785e8}.focus\\:bg-navy-300:focus-visible{background-color:#5755df}.focus\\:bg-navy-500:focus-visible{background-color:#2724d6}.focus\\:bg-navy-500:focus-visible\\/20{background-color:#2724d633}.focus\\:bg-navy-500:focus-visible\\/40{background-color:#2724d666}.focus\\:bg-navy-500:focus-visible\\/70{background-color:#2724d6b3}.focus\\:bg-navy-700:focus-visible{background-color:#0000b8}.focus\\:bg-lime-50:focus-visible{background-color:#ecf6e7}.focus\\:bg-lime-100:focus-visible{background-color:#c5e3b6}.focus\\:bg-lime-200:focus-visible{background-color:#9ed186}.focus\\:bg-lime-300:focus-visible{background-color:#77bf56}.focus\\:bg-lime-500:focus-visible{background-color:#50ac25}.focus\\:bg-lime-500:focus-visible\\/20{background-color:#50ac2533}.focus\\:bg-lime-500:focus-visible\\/40{background-color:#50ac2566}.focus\\:bg-lime-500:focus-visible\\/70{background-color:#50ac25b3}.focus\\:bg-lime-700:focus-visible{background-color:#238900}.focus\\:bg-magenta-50:focus-visible{background-color:#fbe9f1}.focus\\:bg-magenta-100:focus-visible{background-color:#f4bed6}.focus\\:bg-magenta-200:focus-visible{background-color:#ed93bb}.focus\\:bg-magenta-300:focus-visible{background-color:#e668a0}.focus\\:bg-magenta-500:focus-visible{background-color:#df3d85}.focus\\:bg-magenta-500:focus-visible\\/20{background-color:#df3d8533}.focus\\:bg-magenta-500:focus-visible\\/40{background-color:#df3d8566}.focus\\:bg-magenta-500:focus-visible\\/70{background-color:#df3d85b3}.focus\\:bg-magenta-700:focus-visible{background-color:#c10d5d}.active\\:text-white-50:active{color:#fff}.active\\:text-white-100:active{color:#f7f7f7}.active\\:text-white-200:active{color:#eee}.active\\:text-white-300:active{color:#e5e5e5}.active\\:text-white-500:active{color:#dadada}.active\\:text-white-500:active\\/20{color:#dadada33}.active\\:text-white-500:active\\/40{color:#dadada66}.active\\:text-white-500:active\\/70{color:#dadadab3}.active\\:text-white-700:active{color:#ccc}.active\\:text-black-50:active{color:#aaa}.active\\:text-black-100:active{color:#919191}.active\\:text-black-200:active{color:#6c6c6c}.active\\:text-black-300:active{color:#424242}.active\\:text-black-500:active{color:#2f2f2f}.active\\:text-black-500:active\\/20{color:#2f2f2f33}.active\\:text-black-500:active\\/40{color:#2f2f2f66}.active\\:text-black-500:active\\/70{color:#2f2f2fb3}.active\\:text-black-700:active{color:#1d1d1d}.active\\:text-blue-50:active{color:#e9effd}.active\\:text-blue-100:active{color:#bed0f9}.active\\:text-blue-200:active{color:#92b1f5}.active\\:text-blue-300:active{color:#6692f1}.active\\:text-blue-500:active{color:#3b73ed}.active\\:text-blue-500:active\\/20{color:#3b73ed33}.active\\:text-blue-500:active\\/40{color:#3b73ed66}.active\\:text-blue-500:active\\/70{color:#3b73edb3}.active\\:text-blue-700:active{color:#0b49d1}.active\\:text-blue-900:active{color:#00179e}.active\\:text-red-50:active{color:#fbe9e9}.active\\:text-red-100:active{color:#f4bebe}.active\\:text-red-200:active{color:#ed9292}.active\\:text-red-300:active{color:#e66767}.active\\:text-red-500:active{color:#df3c3c}.active\\:text-red-500:active\\/20{color:#df3c3c33}.active\\:text-red-500:active\\/40{color:#df3c3c66}.active\\:text-red-500:active\\/70{color:#df3c3cb3}.active\\:text-red-700:active{color:#c20c0c}.active\\:text-green-50:active{color:#e7f4f3}.active\\:text-green-100:active{color:#b6dfdb}.active\\:text-green-200:active{color:#86c9c3}.active\\:text-green-300:active{color:#56b4ac}.active\\:text-green-500:active{color:#259f94}.active\\:text-green-500:active\\/20{color:#259f9433}.active\\:text-green-500:active\\/40{color:#259f9466}.active\\:text-green-500:active\\/70{color:#259f94b3}.active\\:text-green-700:active{color:#007a6e}.active\\:text-yellow-50:active{color:#fef4e8}.active\\:text-yellow-100:active{color:#fddeb9}.active\\:text-yellow-200:active{color:#fbc88b}.active\\:text-yellow-300:active{color:#fab15c}.active\\:text-yellow-500:active{color:#f89b2e}.active\\:text-yellow-500:active\\/20{color:#f89b2e33}.active\\:text-yellow-500:active\\/40{color:#f89b2e66}.active\\:text-yellow-500:active\\/70{color:#f89b2eb3}.active\\:text-yellow-700:active{color:#de7700}.active\\:text-purple-50:active{color:#f4ebfd}.active\\:text-purple-100:active{color:#dfc2f9}.active\\:text-purple-200:active{color:#c999f4}.active\\:text-purple-300:active{color:#b370f0}.active\\:text-purple-500:active{color:#9e47ec}.active\\:text-purple-500:active\\/20{color:#9e47ec33}.active\\:text-purple-500:active\\/40{color:#9e47ec66}.active\\:text-purple-500:active\\/70{color:#9e47ecb3}.active\\:text-purple-700:active{color:#7919d0}.active\\:text-orange-50:active{color:#ffefea}.active\\:text-orange-100:active{color:#ffcfc0}.active\\:text-orange-200:active{color:#ffb097}.active\\:text-orange-300:active{color:#ff906d}.active\\:text-orange-500:active{color:#ff7043}.active\\:text-orange-500:active\\/20{color:#ff704333}.active\\:text-orange-500:active\\/40{color:#ff704366}.active\\:text-orange-500:active\\/70{color:#ff7043b3}.active\\:text-orange-700:active{color:#e54715}.active\\:text-azure-50:active{color:#e5f7fc}.active\\:text-azure-100:active{color:#b2e6f7}.active\\:text-azure-200:active{color:#80d6f1}.active\\:text-azure-300:active{color:#4dc5eb}.active\\:text-azure-500:active{color:#1ab5e6}.active\\:text-azure-500:active\\/20{color:#1ab5e633}.active\\:text-azure-500:active\\/40{color:#1ab5e666}.active\\:text-azure-500:active\\/70{color:#1ab5e6b3}.active\\:text-azure-700:active{color:#0093c9}.active\\:text-gold-50:active{color:#faf3e6}.active\\:text-gold-100:active{color:#efdcb4}.active\\:text-gold-200:active{color:#e4c481}.active\\:text-gold-300:active{color:#daad4f}.active\\:text-gold-500:active{color:#cf961d}.active\\:text-gold-500:active\\/20{color:#cf961d33}.active\\:text-gold-500:active\\/40{color:#cf961d66}.active\\:text-gold-500:active\\/70{color:#cf961db3}.active\\:text-gold-700:active{color:#b07000}.active\\:text-brown-50:active{color:#f1ede9}.active\\:text-brown-100:active{color:#d6c9bd}.active\\:text-brown-200:active{color:#bca691}.active\\:text-brown-300:active{color:#a08266}.active\\:text-brown-500:active{color:#865e3a}.active\\:text-brown-500:active\\/20{color:#865e3a33}.active\\:text-brown-500:active\\/40{color:#865e3a66}.active\\:text-brown-500:active\\/70{color:#865e3ab3}.active\\:text-brown-700:active{color:#5f330a}.active\\:text-navy-50:active{color:#e7e7fa}.active\\:text-navy-100:active{color:#b7b6f1}.active\\:text-navy-200:active{color:#8785e8}.active\\:text-navy-300:active{color:#5755df}.active\\:text-navy-500:active{color:#2724d6}.active\\:text-navy-500:active\\/20{color:#2724d633}.active\\:text-navy-500:active\\/40{color:#2724d666}.active\\:text-navy-500:active\\/70{color:#2724d6b3}.active\\:text-navy-700:active{color:#0000b8}.active\\:text-lime-50:active{color:#ecf6e7}.active\\:text-lime-100:active{color:#c5e3b6}.active\\:text-lime-200:active{color:#9ed186}.active\\:text-lime-300:active{color:#77bf56}.active\\:text-lime-500:active{color:#50ac25}.active\\:text-lime-500:active\\/20{color:#50ac2533}.active\\:text-lime-500:active\\/40{color:#50ac2566}.active\\:text-lime-500:active\\/70{color:#50ac25b3}.active\\:text-lime-700:active{color:#238900}.active\\:text-magenta-50:active{color:#fbe9f1}.active\\:text-magenta-100:active{color:#f4bed6}.active\\:text-magenta-200:active{color:#ed93bb}.active\\:text-magenta-300:active{color:#e668a0}.active\\:text-magenta-500:active{color:#df3d85}.active\\:text-magenta-500:active\\/20{color:#df3d8533}.active\\:text-magenta-500:active\\/40{color:#df3d8566}.active\\:text-magenta-500:active\\/70{color:#df3d85b3}.active\\:text-magenta-700:active{color:#c10d5d}.active\\:bg-white-50:active{background-color:#fff}.active\\:bg-white-100:active{background-color:#f7f7f7}.active\\:bg-white-200:active{background-color:#eee}.active\\:bg-white-300:active{background-color:#e5e5e5}.active\\:bg-white-500:active{background-color:#dadada}.active\\:bg-white-500:active\\/20{background-color:#dadada33}.active\\:bg-white-500:active\\/40{background-color:#dadada66}.active\\:bg-white-500:active\\/70{background-color:#dadadab3}.active\\:bg-white-700:active{background-color:#ccc}.active\\:bg-black-50:active{background-color:#aaa}.active\\:bg-black-100:active{background-color:#919191}.active\\:bg-black-200:active{background-color:#6c6c6c}.active\\:bg-black-300:active{background-color:#424242}.active\\:bg-black-500:active{background-color:#2f2f2f}.active\\:bg-black-500:active\\/20{background-color:#2f2f2f33}.active\\:bg-black-500:active\\/40{background-color:#2f2f2f66}.active\\:bg-black-500:active\\/70{background-color:#2f2f2fb3}.active\\:bg-black-700:active{background-color:#1d1d1d}.active\\:bg-blue-50:active{background-color:#e9effd}.active\\:bg-blue-100:active{background-color:#bed0f9}.active\\:bg-blue-200:active{background-color:#92b1f5}.active\\:bg-blue-300:active{background-color:#6692f1}.active\\:bg-blue-500:active{background-color:#3b73ed}.active\\:bg-blue-500:active\\/20{background-color:#3b73ed33}.active\\:bg-blue-500:active\\/40{background-color:#3b73ed66}.active\\:bg-blue-500:active\\/70{background-color:#3b73edb3}.active\\:bg-blue-700:active{background-color:#0b49d1}.active\\:bg-blue-900:active{background-color:#00179e}.active\\:bg-red-50:active{background-color:#fbe9e9}.active\\:bg-red-100:active{background-color:#f4bebe}.active\\:bg-red-200:active{background-color:#ed9292}.active\\:bg-red-300:active{background-color:#e66767}.active\\:bg-red-500:active{background-color:#df3c3c}.active\\:bg-red-500:active\\/20{background-color:#df3c3c33}.active\\:bg-red-500:active\\/40{background-color:#df3c3c66}.active\\:bg-red-500:active\\/70{background-color:#df3c3cb3}.active\\:bg-red-700:active{background-color:#c20c0c}.active\\:bg-green-50:active{background-color:#e7f4f3}.active\\:bg-green-100:active{background-color:#b6dfdb}.active\\:bg-green-200:active{background-color:#86c9c3}.active\\:bg-green-300:active{background-color:#56b4ac}.active\\:bg-green-500:active{background-color:#259f94}.active\\:bg-green-500:active\\/20{background-color:#259f9433}.active\\:bg-green-500:active\\/40{background-color:#259f9466}.active\\:bg-green-500:active\\/70{background-color:#259f94b3}.active\\:bg-green-700:active{background-color:#007a6e}.active\\:bg-yellow-50:active{background-color:#fef4e8}.active\\:bg-yellow-100:active{background-color:#fddeb9}.active\\:bg-yellow-200:active{background-color:#fbc88b}.active\\:bg-yellow-300:active{background-color:#fab15c}.active\\:bg-yellow-500:active{background-color:#f89b2e}.active\\:bg-yellow-500:active\\/20{background-color:#f89b2e33}.active\\:bg-yellow-500:active\\/40{background-color:#f89b2e66}.active\\:bg-yellow-500:active\\/70{background-color:#f89b2eb3}.active\\:bg-yellow-700:active{background-color:#de7700}.active\\:bg-purple-50:active{background-color:#f4ebfd}.active\\:bg-purple-100:active{background-color:#dfc2f9}.active\\:bg-purple-200:active{background-color:#c999f4}.active\\:bg-purple-300:active{background-color:#b370f0}.active\\:bg-purple-500:active{background-color:#9e47ec}.active\\:bg-purple-500:active\\/20{background-color:#9e47ec33}.active\\:bg-purple-500:active\\/40{background-color:#9e47ec66}.active\\:bg-purple-500:active\\/70{background-color:#9e47ecb3}.active\\:bg-purple-700:active{background-color:#7919d0}.active\\:bg-orange-50:active{background-color:#ffefea}.active\\:bg-orange-100:active{background-color:#ffcfc0}.active\\:bg-orange-200:active{background-color:#ffb097}.active\\:bg-orange-300:active{background-color:#ff906d}.active\\:bg-orange-500:active{background-color:#ff7043}.active\\:bg-orange-500:active\\/20{background-color:#ff704333}.active\\:bg-orange-500:active\\/40{background-color:#ff704366}.active\\:bg-orange-500:active\\/70{background-color:#ff7043b3}.active\\:bg-orange-700:active{background-color:#e54715}.active\\:bg-azure-50:active{background-color:#e5f7fc}.active\\:bg-azure-100:active{background-color:#b2e6f7}.active\\:bg-azure-200:active{background-color:#80d6f1}.active\\:bg-azure-300:active{background-color:#4dc5eb}.active\\:bg-azure-500:active{background-color:#1ab5e6}.active\\:bg-azure-500:active\\/20{background-color:#1ab5e633}.active\\:bg-azure-500:active\\/40{background-color:#1ab5e666}.active\\:bg-azure-500:active\\/70{background-color:#1ab5e6b3}.active\\:bg-azure-700:active{background-color:#0093c9}.active\\:bg-gold-50:active{background-color:#faf3e6}.active\\:bg-gold-100:active{background-color:#efdcb4}.active\\:bg-gold-200:active{background-color:#e4c481}.active\\:bg-gold-300:active{background-color:#daad4f}.active\\:bg-gold-500:active{background-color:#cf961d}.active\\:bg-gold-500:active\\/20{background-color:#cf961d33}.active\\:bg-gold-500:active\\/40{background-color:#cf961d66}.active\\:bg-gold-500:active\\/70{background-color:#cf961db3}.active\\:bg-gold-700:active{background-color:#b07000}.active\\:bg-brown-50:active{background-color:#f1ede9}.active\\:bg-brown-100:active{background-color:#d6c9bd}.active\\:bg-brown-200:active{background-color:#bca691}.active\\:bg-brown-300:active{background-color:#a08266}.active\\:bg-brown-500:active{background-color:#865e3a}.active\\:bg-brown-500:active\\/20{background-color:#865e3a33}.active\\:bg-brown-500:active\\/40{background-color:#865e3a66}.active\\:bg-brown-500:active\\/70{background-color:#865e3ab3}.active\\:bg-brown-700:active{background-color:#5f330a}.active\\:bg-navy-50:active{background-color:#e7e7fa}.active\\:bg-navy-100:active{background-color:#b7b6f1}.active\\:bg-navy-200:active{background-color:#8785e8}.active\\:bg-navy-300:active{background-color:#5755df}.active\\:bg-navy-500:active{background-color:#2724d6}.active\\:bg-navy-500:active\\/20{background-color:#2724d633}.active\\:bg-navy-500:active\\/40{background-color:#2724d666}.active\\:bg-navy-500:active\\/70{background-color:#2724d6b3}.active\\:bg-navy-700:active{background-color:#0000b8}.active\\:bg-lime-50:active{background-color:#ecf6e7}.active\\:bg-lime-100:active{background-color:#c5e3b6}.active\\:bg-lime-200:active{background-color:#9ed186}.active\\:bg-lime-300:active{background-color:#77bf56}.active\\:bg-lime-500:active{background-color:#50ac25}.active\\:bg-lime-500:active\\/20{background-color:#50ac2533}.active\\:bg-lime-500:active\\/40{background-color:#50ac2566}.active\\:bg-lime-500:active\\/70{background-color:#50ac25b3}.active\\:bg-lime-700:active{background-color:#238900}.active\\:bg-magenta-50:active{background-color:#fbe9f1}.active\\:bg-magenta-100:active{background-color:#f4bed6}.active\\:bg-magenta-200:active{background-color:#ed93bb}.active\\:bg-magenta-300:active{background-color:#e668a0}.active\\:bg-magenta-500:active{background-color:#df3d85}.active\\:bg-magenta-500:active\\/20{background-color:#df3d8533}.active\\:bg-magenta-500:active\\/40{background-color:#df3d8566}.active\\:bg-magenta-500:active\\/70{background-color:#df3d85b3}.active\\:bg-magenta-700:active{background-color:#c10d5d}.transition{transition:all .2s ease-in-out}.disable-selection,.logo-container .logo-image,.cover-container .cover-image,.profile-rounded-image,.profile-square-image{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none}.drop-zone-container.has-logo{display:none}.largeContainer{position:relative;min-height:178px}.largeContainer .cropper-overlay{width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:1050;gap:4px;opacity:1;position:absolute}.largeContainer .cropper-overlay .img-cropper{height:178px!important}.largeContainer.hasCropper{min-height:212px;position:relative}.logo-container{position:absolute;top:0;left:0;width:616px;height:214px;overflow:hidden}.logo-container .logo-image{width:100%;height:100%;z-index:1000}.logoVar{height:214px}.logoVar.hasCropper{height:240px!important}.logoVar.hasCropper .drop-zone-container{display:none!important}.logoVar .drop-zone-container .drop-zone,.logoVar .drop-zone-container .drop-zone-error{height:204px}.logoVar .cropper-overlay{height:240px!important}.logoVar .cropper-overlay .img-cropper{height:206px!important}.cover-container{width:267px;height:178px}.cover-container .cover-image{width:100%;height:100%;object-fit:cover;display:block}.profile-rounded-image{width:178px;height:178px;object-fit:cover;display:block;border-radius:50%}.profile-square-image{width:160px;height:178px;object-fit:cover;display:block;border-radius:2px}.container.dragMode{position:fixed;position-anchor:--modal-body;left:anchor(left);top:anchor(top);height:anchor-size(--modal-body height)!important;width:anchor-size(--modal-body width)!important;display:flex;justify-content:center;align-items:center;gap:0;background-color:#fff!important}.container.dragMode .avatar,.container.dragMode .profile-container,.container.dragMode .logo-container,.container.dragMode .cover-container,.container.dragMode .docs{display:none}.container.dragMode .drop-zone-container{position:relative;width:100%;height:100%;flex:1 1 100%}.container.dragMode .drop-zone-container .drop-zone{flex-direction:column;height:100%;outline:none!important;margin:0!important;border:4px dashed #cccccc;border-color:#ccc}.container.dragMode .drop-zone-container .drop-zone .illustration,.container.dragMode .drop-zone-container .drop-zone svg{width:200px!important;height:200px!important;pointer-events:none!important}.container.dragMode .drop-zone-container .drop-zone .drag-icons-container{position:relative}.container.dragMode .drop-zone-container .drop-zone .drag-icons-container .drag-icon-document{width:80px!important;height:80px!important}.container.dragMode .drop-zone-container .drop-zone .drag-icons-container .drag-icon-document svg{width:80px!important;height:80px!important}.container.dragMode .drop-zone-container .drop-zone .drag-icons-container ng-lottie{width:200px;height:200px;display:block}.container.dragMode .drop-zone-container .drop-zone .drop-zone-focus-text{margin-top:32px}.container.dragMode .drop-zone-container .drop-zone .drop-zone-focus-text .heading{font-weight:700;font-size:14px;line-height:18px}.container.dragMode:hover .drop-zone{background-color:#fff!important}.container.dragMode.onDragover .drop-zone-container .drop-zone{border-color:#ccc}.container.dragMode.dual-drop-mode .drop-zone-container{--dual-drop-border: 4px;--dual-drop-border-overlap: calc(var(--dual-drop-border) / 2);position:relative;display:block;overflow:hidden}.container.dragMode.dual-drop-mode .drop-zone-container .dual-drop-zone-panel{position:absolute;top:0;bottom:0;margin:0!important;width:calc(50% + var(--dual-drop-border-overlap));opacity:1;transition:width .25s ease,opacity .25s ease,z-index 0s}.container.dragMode.dual-drop-mode .drop-zone-container .dual-drop-zone-panel .dual-drop-zone-title{position:absolute;top:10px;left:8px;margin:0;font-weight:800;font-size:18px;line-height:100%;letter-spacing:0}.container.dragMode.dual-drop-mode .drop-zone-container .dual-drop-zone-left{left:0;z-index:1}.container.dragMode.dual-drop-mode .drop-zone-container .dual-drop-zone-right{right:0;left:auto;z-index:1}.container.dragMode.dual-drop-mode .drop-zone-container .dual-drop-zone-panel .drop-zone-focus-text{text-align:center}.container.dragMode.dual-drop-mode .drop-zone-container .dual-drop-zone-panel .drop-zone-focus-text .description{margin:8px auto 0;max-width:158px;font-weight:400;font-size:11px;line-height:14px;text-align:center}.container.dragMode.dual-drop-mode.dual-drop-focus-left .drop-zone-container .dual-drop-zone-left{width:calc(60% + var(--dual-drop-border-overlap));opacity:1;z-index:2}.container.dragMode.dual-drop-mode.dual-drop-focus-left .drop-zone-container .dual-drop-zone-right{width:calc(40% + var(--dual-drop-border-overlap));opacity:.4;z-index:1}.container.dragMode.dual-drop-mode.dual-drop-focus-right .drop-zone-container .dual-drop-zone-right{width:calc(60% + var(--dual-drop-border-overlap));opacity:1;z-index:2}.container.dragMode.dual-drop-mode.dual-drop-focus-right .drop-zone-container .dual-drop-zone-left{width:calc(40% + var(--dual-drop-border-overlap));opacity:.4;z-index:1}.is-documents-mode .dragMode{height:120px!important}.dragModeDocuments .drop-zone-container .drop-zone{background-color:#fff!important}.dragModeDocuments .drop-zone-container .drop-zone .drop-zone-focus-text .heading{font-weight:700;font-size:14px;line-height:18px}.drop-zone-dimensions-lock{width:var(--drag-lock-width);height:var(--drag-lock-height)}.is-details-slider{width:100%!important;height:100%!important;overflow:hidden}.is-details-slider .sliders{display:flex;align-items:center;justify-content:center;gap:4px;min-height:6px!important;height:auto!important;width:100%!important;margin-bottom:6px!important;margin-top:12px!important;opacity:0;pointer-events:none;transition:opacity .3s ease-in-out}.is-details-slider .sliders .slider-item{width:12px;height:6px;border-radius:2px;background-color:#e5e5e5;transform-origin:center;cursor:pointer!important;transition:width .2s ease-in-out,background-color .2s ease-in-out}.is-details-slider .sliders .slider-item.active{width:20px;background-color:#919191}.is-details-slider .drop-zone-container{display:none!important}.is-details-slider .docs{width:100%!important;position:relative!important;overflow:hidden!important}.is-details-slider .docs .carousel-button{opacity:0!important;pointer-events:none!important;transition:opacity .3s ease-in-out!important}.is-details-slider .docs:hover .carousel-button{opacity:1!important;pointer-events:auto!important}.is-details-slider .docs:hover .carousel-button[disabled]{opacity:0!important;pointer-events:none!important}.is-details-slider .doc-container{display:flex!important;align-items:flex-start!important;height:auto!important;flex-shrink:0!important;gap:0!important;position:relative!important;transition:transform .3s ease-out}.is-details-slider .doc{flex:0 0 100%!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;display:flex!important;justify-content:center!important;background-color:transparent!important;flex-shrink:0!important;position:relative!important}.is-details-slider .doc.doc-hidden{height:0!important;max-height:0!important;min-height:0!important;overflow:hidden!important;opacity:0;pointer-events:none;visibility:hidden;margin:0!important;padding:0!important}.is-details-slider .doc.doc-visible{height:auto!important;opacity:1;visibility:visible}.is-details-slider .carousel-button{position:absolute!important;top:45%!important}.is-details-slider:hover .sliders{opacity:1;pointer-events:auto}.is-drawer-mode{width:100%!important;padding:4px!important;position:absolute!important;max-width:100%!important}.is-drawer-mode .drop-zone-container{display:none!important}.is-drawer-mode .skeleton-container.drawer-position{width:100%!important;position:relative!important;overflow:hidden!important;display:flex;align-items:center;gap:4px}.is-drawer-mode .skeleton-container.drawer-position .skeleton-item{width:194px;height:194px;flex:0 0 194px;border-radius:2px;padding:4px}.is-drawer-mode .skeleton-container.drawer-position .skeleton-item .skeleton-bar{width:100%;height:100%;background-color:#fff}.is-drawer-mode .docs{width:100%!important;position:relative!important;overflow:hidden!important}.is-drawer-mode .docs .doc-container{display:flex;width:auto!important;height:auto!important;gap:4px!important;transition:transform .3s ease-out}.is-drawer-mode .docs .doc-container .doc{width:194px!important;height:194px!important;flex:0 0 194px!important;background-color:transparent!important}.is-drawer-mode .carousel-button.carousel-right{right:4px!important;position:absolute!important}.is-drawer-mode .carousel-button.carousel-left{left:4px!important;position:absolute!important}.isCoverDetails{width:100%!important;height:100%!important}.isCoverDetails .drop-zone-container{display:none!important}.isCoverDetails .docs{width:100%!important}.isCoverDetails .docs .doc{flex:0 0 100%!important;width:100%!important;height:auto!important;display:block!important;background-color:transparent!important}.more-docs{width:148px;flex:0 0 148px}.more-docs .illustration{width:80px;height:80px}.more-docs .drop-zone{padding:22px 0;flex-direction:column}.more-docs .drop-zone-error,.more-docs .drop-zone-error .drop-zone-text{padding:0 12px}.small-more-docs{width:148px!important}.small-more-docs .illustration,.small-more-docs svg{width:80px!important;height:80px!important}.small-more-docs .drop-zone{padding:22px 0!important;flex-direction:column}.unsupported .drop-zone-error{display:flex}.unsupported .drop-zone-text{padding:0 12px}.unsupported .drop-zone-text .heading.invalid{line-height:18px}.unsupported .drop-zone-text .subtext{line-height:14px;margin-bottom:0}.unsupported .cancel-button .cancel-icon{width:18px!important;height:18px!important}.unsupported .cancel-button-documents{display:none}.max-reached,.max-reached-more-doc{opacity:.4;pointer-events:none;cursor:none}.max-reached-more-doc .drop-zone{padding:6px 0!important;height:170px}.max-reached-more-doc .drop-zone-text{padding-left:20px;padding-right:20px}.max-reached-more-video .drop-zone{padding:13px 0!important;flex-direction:column}.invalid-file-size .drop-zone .illustration{display:none!important}.invalid-file-size .drop-zone .drop-zone-text{padding-left:20px;padding-right:20px}.drop-zone-error{position:absolute;inset:0;background-color:#fff;display:none;justify-content:center;align-items:center;flex-direction:column;margin:4px;outline:4px dashed #ed9292;border-radius:2px;padding:52px 12px;gap:12px}.drop-zone-error .cancel-button{cursor:pointer;background-color:transparent;position:absolute;top:2px;right:2px;height:26px;width:26px;padding:0;display:grid;place-items:center;transition:color .2s ease-in-out;color:#919191}.drop-zone-error .cancel-button:hover{color:#424242}.drop-zone-error .file-types{display:flex;align-items:center;gap:2px;text-transform:uppercase;max-width:100%;flex-wrap:wrap;justify-content:center}.drop-zone-error .badge{font-size:11px;font-weight:900;color:#fff;line-height:14px;padding:2px 4px;width:35px;border-radius:1px;margin-bottom:0;text-align:center;background-color:#919191}.drop-zone-error .pdf{background-color:#e66767}.drop-zone-error .video{background-color:#b370f0}.drop-zone-error .image{background-color:#fab15c}\n"] }]
|
|
5921
|
+
}], ctorParameters: () => [], propDecorators: { containerRef: [{ type: i0.ViewChild, args: ['containerRef', { isSignal: true }] }], cropper: [{ type: i0.ViewChild, args: ['cropper', { isSignal: true }] }], docsViewport: [{ type: i0.ViewChild, args: ['docsViewport', { isSignal: true }] }], dropZoneContainer: [{ type: i0.ViewChild, args: ['dropZoneContainer', { isSignal: true }] }], inputRange: [{ type: i0.ViewChild, args: ['inputRange', { isSignal: true }] }], inputRef: [{ type: i0.ViewChild, args: ['inputRef', { isSignal: true }] }], avatarColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "avatarColor", required: false }] }], crop: [{ type: i0.Input, args: [{ isSignal: true, alias: "crop", required: false }] }], deletedFileIds: [{ type: i0.Input, args: [{ isSignal: true, alias: "deletedFileIds", required: false }] }], documentsDropZoneOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "documentsDropZoneOpen", required: false }] }], documentTags: [{ type: i0.Input, args: [{ isSignal: true, alias: "documentTags", required: false }] }], dualDropZones: [{ type: i0.Input, args: [{ isSignal: true, alias: "dualDropZones", required: false }] }], excludedFileTypes: [{ type: i0.Input, args: [{ isSignal: true, alias: "excludedFileTypes", required: false }] }], files: [{ type: i0.Input, args: [{ isSignal: true, alias: "files", required: false }] }], fileTypes: [{ type: i0.Input, args: [{ isSignal: true, alias: "fileTypes", required: false }] }], isCoverDetails: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCoverDetails", required: false }] }], isDetailsSlider: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDetailsSlider", required: false }] }], isDocumentsMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDocumentsMode", required: false }] }], isDrawerMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDrawerMode", required: false }] }], isDualDropZone: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDualDropZone", required: false }] }], maxCountFiles: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxCountFiles", required: false }] }], maxFileSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxFileSize", required: false }] }], parentForm: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentForm", required: false }] }], rounded: [{ type: i0.Input, args: [{ isSignal: true, alias: "rounded", required: false }] }], searchText: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchText", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], onCropPendingChange: [{ type: i0.Output, args: ["onCropPendingChange"] }], onDeletedFileIds: [{ type: i0.Output, args: ["onDeletedFileIds"] }], onDocsChange: [{ type: i0.Output, args: ["onDocsChange"] }], onDocumentDropZoneOpenChange: [{ type: i0.Output, args: ["onDocumentDropZoneOpenChange"] }], onDocumentFileNameChange: [{ type: i0.Output, args: ["onDocumentFileNameChange"] }], onDocumentPreviewClick: [{ type: i0.Output, args: ["onDocumentPreviewClick"] }], onDualDropChange: [{ type: i0.Output, args: ["onDualDropChange"] }] } });
|
|
6096
5922
|
|
|
6097
5923
|
const supportedFileTypes = [
|
|
6098
5924
|
'mp4',
|
|
@@ -6143,15 +5969,19 @@ class CalendarStrategy {
|
|
|
6143
5969
|
startedHeight;
|
|
6144
5970
|
FULL_SIZE;
|
|
6145
5971
|
SCROLL_TYPE;
|
|
6146
|
-
|
|
5972
|
+
zone;
|
|
5973
|
+
constructor(calendarService, startedHeight, FULL_SIZE, SCROLL_TYPE, zone) {
|
|
6147
5974
|
this.calendarService = calendarService;
|
|
6148
5975
|
this.startedHeight = startedHeight;
|
|
6149
5976
|
this.FULL_SIZE = FULL_SIZE;
|
|
6150
5977
|
this.SCROLL_TYPE = SCROLL_TYPE;
|
|
5978
|
+
this.zone = zone;
|
|
6151
5979
|
}
|
|
6152
5980
|
index$ = new Subject();
|
|
6153
5981
|
scrolledIndexChange = this.index$.pipe(distinctUntilChanged());
|
|
6154
5982
|
viewport;
|
|
5983
|
+
rafId = null;
|
|
5984
|
+
lastEmittedIndex = null;
|
|
6155
5985
|
attach(viewport) {
|
|
6156
5986
|
this.viewport = viewport;
|
|
6157
5987
|
this.viewport.setTotalContentSize(this.startedHeight);
|
|
@@ -6162,20 +5992,53 @@ class CalendarStrategy {
|
|
|
6162
5992
|
this.updateRenderedRange(this.viewport);
|
|
6163
5993
|
}
|
|
6164
5994
|
detach() {
|
|
5995
|
+
if (this.rafId !== null) {
|
|
5996
|
+
cancelAnimationFrame(this.rafId);
|
|
5997
|
+
this.rafId = null;
|
|
5998
|
+
}
|
|
6165
5999
|
this.index$.complete();
|
|
6166
6000
|
this.viewport = undefined;
|
|
6167
6001
|
}
|
|
6168
6002
|
onContentScrolled() {
|
|
6169
|
-
if (this.viewport)
|
|
6170
|
-
|
|
6003
|
+
if (!this.viewport || this.rafId !== null)
|
|
6004
|
+
return;
|
|
6005
|
+
const schedule = () => {
|
|
6006
|
+
this.rafId = requestAnimationFrame(() => {
|
|
6007
|
+
this.rafId = null;
|
|
6008
|
+
this.updateRenderedRange(this.viewport);
|
|
6009
|
+
});
|
|
6010
|
+
};
|
|
6011
|
+
if (this.zone)
|
|
6012
|
+
this.zone.runOutsideAngular(schedule);
|
|
6013
|
+
else
|
|
6014
|
+
schedule();
|
|
6171
6015
|
}
|
|
6172
6016
|
/** These do not matter for this case */
|
|
6173
6017
|
onDataLengthChanged() { }
|
|
6174
6018
|
onContentRendered() { }
|
|
6175
6019
|
onRenderedOffsetChanged() { }
|
|
6176
|
-
scrollToIndex(index, behavior) {
|
|
6177
|
-
|
|
6178
|
-
|
|
6020
|
+
scrollToIndex(index, behavior, onSettled) {
|
|
6021
|
+
this.reliableScrollToOffset(this.getOffsetForIndex(index), behavior, 0, onSettled);
|
|
6022
|
+
}
|
|
6023
|
+
reliableScrollToOffset(targetOffset, behavior, attempt, onSettled) {
|
|
6024
|
+
const viewport = this.viewport;
|
|
6025
|
+
if (!viewport)
|
|
6026
|
+
return;
|
|
6027
|
+
viewport.scrollToOffset(targetOffset, behavior);
|
|
6028
|
+
const landed = Math.abs(viewport.measureScrollOffset() - targetOffset) <= 2;
|
|
6029
|
+
if (targetOffset > 0 && behavior !== 'smooth' && !landed && attempt < 10) {
|
|
6030
|
+
const retry = () => this.reliableScrollToOffset(targetOffset, behavior, attempt + 1, onSettled);
|
|
6031
|
+
if (this.zone)
|
|
6032
|
+
this.zone.runOutsideAngular(() => requestAnimationFrame(retry));
|
|
6033
|
+
else
|
|
6034
|
+
requestAnimationFrame(retry);
|
|
6035
|
+
}
|
|
6036
|
+
else if (onSettled) {
|
|
6037
|
+
if (this.zone)
|
|
6038
|
+
this.zone.run(onSettled);
|
|
6039
|
+
else
|
|
6040
|
+
onSettled();
|
|
6041
|
+
}
|
|
6179
6042
|
}
|
|
6180
6043
|
scrollToOffset(offset, behavior) {
|
|
6181
6044
|
if (this.viewport)
|
|
@@ -6192,7 +6055,7 @@ class CalendarStrategy {
|
|
|
6192
6055
|
return;
|
|
6193
6056
|
const offset = viewport.measureScrollOffset();
|
|
6194
6057
|
const { start, end } = viewport.getRenderedRange();
|
|
6195
|
-
const viewportSize =
|
|
6058
|
+
const viewportSize = viewport.getViewportSize();
|
|
6196
6059
|
const dataLength = viewport.getDataLength();
|
|
6197
6060
|
const newRange = { start, end };
|
|
6198
6061
|
const firstVisibleIndex = this.getIndexForOffset(offset);
|
|
@@ -6209,18 +6072,26 @@ class CalendarStrategy {
|
|
|
6209
6072
|
newRange.end = Math.min(dataLength, this.getIndexForOffset(offset + viewportSize + BUFFER * 2));
|
|
6210
6073
|
}
|
|
6211
6074
|
}
|
|
6212
|
-
|
|
6213
|
-
|
|
6214
|
-
|
|
6215
|
-
|
|
6216
|
-
|
|
6075
|
+
if (newRange.start !== start || newRange.end !== end) {
|
|
6076
|
+
viewport.setRenderedRange(newRange);
|
|
6077
|
+
viewport.setRenderedContentOffset(this.getOffsetForIndex(newRange.start));
|
|
6078
|
+
}
|
|
6079
|
+
if (this.calendarService.selectedScroll === this.SCROLL_TYPE) {
|
|
6080
|
+
const monthChanged = firstVisibleIndex !== this.lastEmittedIndex;
|
|
6081
|
+
this.lastEmittedIndex = firstVisibleIndex;
|
|
6082
|
+
const emit = () => this.index$.next({
|
|
6217
6083
|
indx: firstVisibleIndex,
|
|
6218
6084
|
scrollOffset: offset,
|
|
6219
6085
|
cycleSize: this.FULL_SIZE,
|
|
6220
6086
|
type: this.SCROLL_TYPE,
|
|
6221
6087
|
});
|
|
6088
|
+
if (monthChanged && this.zone)
|
|
6089
|
+
this.zone.run(emit);
|
|
6090
|
+
else
|
|
6091
|
+
emit();
|
|
6092
|
+
}
|
|
6222
6093
|
}
|
|
6223
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CalendarStrategy, deps: [{ token: CalendarDateTimePickerService }, { token: String }, { token: String }, { token: String }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6094
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CalendarStrategy, deps: [{ token: CalendarDateTimePickerService }, { token: String }, { token: String }, { token: String }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6224
6095
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CalendarStrategy });
|
|
6225
6096
|
}
|
|
6226
6097
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CalendarStrategy, decorators: [{
|
|
@@ -6234,7 +6105,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
6234
6105
|
}] }, { type: undefined, decorators: [{
|
|
6235
6106
|
type: Inject,
|
|
6236
6107
|
args: [String]
|
|
6237
|
-
}] }] });
|
|
6108
|
+
}] }, { type: i0.NgZone }] });
|
|
6238
6109
|
|
|
6239
6110
|
class CustomDatetimePickersConstants {
|
|
6240
6111
|
static timeMinutes = ['00', '15', '30', '45'];
|
|
@@ -6307,9 +6178,12 @@ class CaCustomDateTimePickersCalendarDaysComponent {
|
|
|
6307
6178
|
const fillerCount = month.getDay();
|
|
6308
6179
|
const lastDay = new Date(month.getFullYear(), month.getMonth() + 1, 0);
|
|
6309
6180
|
const daysCount = lastDay.getDate();
|
|
6181
|
+
const TOTAL_CELLS = 42;
|
|
6182
|
+
const trailingCount = TOTAL_CELLS - fillerCount - daysCount;
|
|
6310
6183
|
this.days = [
|
|
6311
6184
|
...Array.from({ length: fillerCount }).map(() => ''),
|
|
6312
6185
|
...Array.from({ length: daysCount }).map((_, i) => i + 1),
|
|
6186
|
+
...Array.from({ length: trailingCount }).map(() => ''),
|
|
6313
6187
|
];
|
|
6314
6188
|
}
|
|
6315
6189
|
constructor() { }
|
|
@@ -6326,7 +6200,7 @@ class CaCustomDateTimePickersCalendarDaysComponent {
|
|
|
6326
6200
|
this.selectedYear = this.dateTime.getFullYear();
|
|
6327
6201
|
}
|
|
6328
6202
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CaCustomDateTimePickersCalendarDaysComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6329
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: CaCustomDateTimePickersCalendarDaysComponent, isStandalone: true, selector: "cai-custom-datetime-picker-calendar-days", inputs: { dateTime: "dateTime", year: "year", selectedMonth: "selectedMonth", index: "index", activeMonth: "activeMonth", month: "month" }, outputs: { selectDay: "selectDay" }, ngImport: i0, template: "<div class=\"calendar_days\">\n @for (day of days; let indx = $index; track indx) {\n <div\n (click)=\"day && chooseDay(day, $event)\"\n [ngClass]=\"{\n 'selected_day ta-font-bold':\n day === selectedDay &&\n selectedMonthFromInput === selMonth &&\n selectedYearFromInput === selectedYear,\n }\"\n [class.empty_day]=\"!day\"\n [class.day_in_current_month]=\"activeMonth\"\n [class.current_day]=\"\n day === currentDay &&\n year === currentYear &&\n selectedMonth === currentMonth.toString()\n \"\n class=\"calendar_day ta-font-medium\"\n >\n <span>{{ day }}</span>\n </div>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type:
|
|
6203
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: CaCustomDateTimePickersCalendarDaysComponent, isStandalone: true, selector: "cai-custom-datetime-picker-calendar-days", inputs: { dateTime: "dateTime", year: "year", selectedMonth: "selectedMonth", index: "index", activeMonth: "activeMonth", month: "month" }, outputs: { selectDay: "selectDay" }, ngImport: i0, template: "<div class=\"calendar_days\">\n @for (day of days; let indx = $index; track indx) {\n <div\n (click)=\"day && chooseDay(day, $event)\"\n [ngClass]=\"{\n 'selected_day ta-font-bold':\n day === selectedDay &&\n selectedMonthFromInput === selMonth &&\n selectedYearFromInput === selectedYear,\n }\"\n [class.empty_day]=\"!day\"\n [class.day_in_current_month]=\"activeMonth\"\n [class.current_day]=\"\n day === currentDay &&\n year === currentYear &&\n selectedMonth === currentMonth.toString()\n \"\n class=\"calendar_day ta-font-medium\"\n >\n <span>{{ day }}</span>\n </div>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }] });
|
|
6330
6204
|
}
|
|
6331
6205
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CaCustomDateTimePickersCalendarDaysComponent, decorators: [{
|
|
6332
6206
|
type: Component,
|
|
@@ -6373,6 +6247,7 @@ function factory$1(dir) {
|
|
|
6373
6247
|
}
|
|
6374
6248
|
class CaCustomDateTimePickerCalendarDatesMainComponent {
|
|
6375
6249
|
calendarService;
|
|
6250
|
+
zone;
|
|
6376
6251
|
months;
|
|
6377
6252
|
dateTime;
|
|
6378
6253
|
currentIndex;
|
|
@@ -6397,9 +6272,11 @@ class CaCustomDateTimePickerCalendarDatesMainComponent {
|
|
|
6397
6272
|
selMonth;
|
|
6398
6273
|
selectedMonth;
|
|
6399
6274
|
activeMonth = 0;
|
|
6400
|
-
|
|
6275
|
+
contentReady = false;
|
|
6276
|
+
constructor(calendarService, zone) {
|
|
6401
6277
|
this.calendarService = calendarService;
|
|
6402
|
-
this.
|
|
6278
|
+
this.zone = zone;
|
|
6279
|
+
this.scrollStrategy = new CalendarStrategy(this.calendarService, CalendarMainStringEnum.CYCLE_HEIGHT, CalendarMainStringEnum.FULL_SIZE, CalendarStringEnum.MAIN, this.zone);
|
|
6403
6280
|
}
|
|
6404
6281
|
ngOnInit() {
|
|
6405
6282
|
this.initScrollListeners();
|
|
@@ -6407,7 +6284,6 @@ class CaCustomDateTimePickerCalendarDatesMainComponent {
|
|
|
6407
6284
|
initScrollListeners() {
|
|
6408
6285
|
this.selMonth = this.dateTime.getMonth();
|
|
6409
6286
|
this.selectedYearFromInput = this.dateTime.getFullYear();
|
|
6410
|
-
//this.selectedYearFromInput = this.months.getFullYear();
|
|
6411
6287
|
this.calendarService.scrollToAutoIndex
|
|
6412
6288
|
.pipe(takeUntil(this.destroy$))
|
|
6413
6289
|
.subscribe((indx) => {
|
|
@@ -6429,14 +6305,9 @@ class CaCustomDateTimePickerCalendarDatesMainComponent {
|
|
|
6429
6305
|
.pipe(takeUntil(this.destroy$))
|
|
6430
6306
|
.subscribe((res) => {
|
|
6431
6307
|
setTimeout(() => {
|
|
6432
|
-
|
|
6433
|
-
|
|
6434
|
-
|
|
6435
|
-
}
|
|
6436
|
-
else {
|
|
6437
|
-
this.scrollStrategy.scrollToIndex(this.currentIndex, CalendarStringEnum.AUTO);
|
|
6438
|
-
}
|
|
6439
|
-
}, 200);
|
|
6308
|
+
const indx = res ? this.findIndexInMonth(res) : this.currentIndex;
|
|
6309
|
+
this.scrollStrategy.scrollToIndex(indx, CalendarStringEnum.AUTO, () => (this.contentReady = true));
|
|
6310
|
+
});
|
|
6440
6311
|
});
|
|
6441
6312
|
if (this.isMonthAndYearOnly) {
|
|
6442
6313
|
setTimeout(() => {
|
|
@@ -6489,7 +6360,7 @@ class CaCustomDateTimePickerCalendarDatesMainComponent {
|
|
|
6489
6360
|
this.destroy$.next();
|
|
6490
6361
|
this.destroy$.complete();
|
|
6491
6362
|
}
|
|
6492
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CaCustomDateTimePickerCalendarDatesMainComponent, deps: [{ token: CalendarDateTimePickerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
6363
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CaCustomDateTimePickerCalendarDatesMainComponent, deps: [{ token: CalendarDateTimePickerService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
6493
6364
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: CaCustomDateTimePickerCalendarDatesMainComponent, isStandalone: true, selector: "cai-custom-datetime-pickers--calendar-dates-main", inputs: { months: "months", dateTime: "dateTime", currentIndex: "currentIndex", currentYearIndex: "currentYearIndex", activeIndex: "activeIndex", monthYearsIndx: "monthYearsIndx", listPreview: "listPreview", isMonthAndYearOnly: "isMonthAndYearOnly" }, outputs: { setListPreviewToFull: "setListPreviewToFull", setAutoIndex: "setAutoIndex" }, providers: [
|
|
6494
6365
|
{
|
|
6495
6366
|
provide: VIRTUAL_SCROLL_STRATEGY,
|
|
@@ -6498,7 +6369,7 @@ class CaCustomDateTimePickerCalendarDatesMainComponent {
|
|
|
6498
6369
|
forwardRef(() => CaCustomDateTimePickerCalendarDatesMainComponent),
|
|
6499
6370
|
],
|
|
6500
6371
|
},
|
|
6501
|
-
], ngImport: i0, template: "<div (mouseover)=\"mouseOverSetItem()\">\n <cdk-virtual-scroll-viewport\n #monthsScrollRef\n [tabindex]=\"-1\"\n (scrolledIndexChange)=\"onMonthChange($event)\"\n style=\"height: 200px; width: 100%; margin: 0\"\n >\n <ng-container\n *cdkVirtualFor=\"\n let month of months;\n let indx = index;\n templateCacheSize: 10\n \"\n >\n <div\n class=\"calendar_indicator ta-font-bold\"\n [class.full_calendar]=\"_listPreview === 'full_list'\"\n [class.current_year]=\"\n isMonthAndYearOnly\n ? selectedYearFromInput === month.getFullYear()\n : selectedYearFromInput === month.getFullYear() &&\n selMonth === month.getMonth()\n \"\n [tabindex]=\"-1\"\n >\n @if (_listPreview === \"full_list\") {\n <span>{{ getMonth(month.getMonth()) }} </span>\n }\n {{ month.getFullYear() }}\n </div>\n @if (_listPreview === \"full_list\") {\n <div>\n <cai-custom-datetime-picker-calendar-days\n (selectDay)=\"selectDay($event)\"\n [index]=\"indx\"\n [month]=\"month\"\n [selectedMonth]=\"month.getMonth().toString()\"\n [year]=\"selectedYear\"\n [dateTime]=\"dateTime\"\n [activeMonth]=\"\n selectedYearFromInput === month.getFullYear() &&\n selMonth === month.getMonth()\n \"\n ></cai-custom-datetime-picker-calendar-days>\n </div>\n }\n @if (_listPreview === \"month_list\") {\n <div>\n <div\n class=\"month_list\"\n [class.current_year]=\"selectedYearFromInput === month.getFullYear()\"\n >\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(0, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 0 === selMonth,\n }\"\n >\n JAN\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(1, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 1 === selMonth,\n }\"\n >\n FEB\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(2, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 2 === selMonth,\n }\"\n >\n MAR\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(3, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 3 === selMonth,\n }\"\n >\n APR\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(4, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 4 === selMonth,\n }\"\n >\n MAY\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(5, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 5 === selMonth,\n }\"\n >\n JUN\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(6, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 6 === selMonth,\n }\"\n >\n JUL\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(7, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 7 === selMonth,\n }\"\n >\n AUG\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(8, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 8 === selMonth,\n }\"\n >\n SEP\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(9, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 9 === selMonth,\n }\"\n >\n OCT\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(10, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 10 === selMonth,\n }\"\n >\n NOV\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(11, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 11 === selMonth,\n }\"\n >\n DEC\n </div>\n </div>\n </div>\n }\n </ng-container>\n </cdk-virtual-scroll-viewport>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type:
|
|
6372
|
+
], ngImport: i0, template: "<div (mouseover)=\"mouseOverSetItem()\">\n <cdk-virtual-scroll-viewport\n #monthsScrollRef\n [tabindex]=\"-1\"\n (scrolledIndexChange)=\"onMonthChange($event)\"\n style=\"height: 200px; width: 100%; margin: 0\"\n [style.visibility]=\"contentReady ? 'visible' : 'hidden'\"\n >\n <ng-container\n *cdkVirtualFor=\"\n let month of months;\n let indx = index;\n templateCacheSize: 10\n \"\n >\n <div\n class=\"calendar_month_block\"\n [class.month_block_full]=\"_listPreview === 'full_list'\"\n >\n <div\n class=\"calendar_indicator ta-font-bold\"\n [class.full_calendar]=\"_listPreview === 'full_list'\"\n [class.current_year]=\"\n isMonthAndYearOnly\n ? selectedYearFromInput === month.getFullYear()\n : selectedYearFromInput === month.getFullYear() &&\n selMonth === month.getMonth()\n \"\n [tabindex]=\"-1\"\n >\n @if (_listPreview === \"full_list\") {\n <span>{{ getMonth(month.getMonth()) }} </span>\n }\n {{ month.getFullYear() }}\n </div>\n @if (_listPreview === \"full_list\") {\n <div>\n <cai-custom-datetime-picker-calendar-days\n (selectDay)=\"selectDay($event)\"\n [index]=\"indx\"\n [month]=\"month\"\n [selectedMonth]=\"month.getMonth().toString()\"\n [year]=\"selectedYear\"\n [dateTime]=\"dateTime\"\n [activeMonth]=\"\n selectedYearFromInput === month.getFullYear() &&\n selMonth === month.getMonth()\n \"\n ></cai-custom-datetime-picker-calendar-days>\n </div>\n }\n @if (_listPreview === \"month_list\") {\n <div>\n <div\n class=\"month_list\"\n [class.current_year]=\"selectedYearFromInput === month.getFullYear()\"\n >\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(0, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 0 === selMonth,\n }\"\n >\n JAN\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(1, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 1 === selMonth,\n }\"\n >\n FEB\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(2, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 2 === selMonth,\n }\"\n >\n MAR\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(3, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 3 === selMonth,\n }\"\n >\n APR\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(4, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 4 === selMonth,\n }\"\n >\n MAY\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(5, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 5 === selMonth,\n }\"\n >\n JUN\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(6, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 6 === selMonth,\n }\"\n >\n JUL\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(7, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 7 === selMonth,\n }\"\n >\n AUG\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(8, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 8 === selMonth,\n }\"\n >\n SEP\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(9, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 9 === selMonth,\n }\"\n >\n OCT\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(10, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 10 === selMonth,\n }\"\n >\n NOV\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(11, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 11 === selMonth,\n }\"\n >\n DEC\n </div>\n </div>\n </div>\n }\n </div>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n</div>\n", styles: [".calendar_month_block.month_block_full{height:182px;box-sizing:border-box;overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i3.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i3.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: CaCustomDateTimePickersCalendarDaysComponent, selector: "cai-custom-datetime-picker-calendar-days", inputs: ["dateTime", "year", "selectedMonth", "index", "activeMonth", "month"], outputs: ["selectDay"] }] });
|
|
6502
6373
|
}
|
|
6503
6374
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CaCustomDateTimePickerCalendarDatesMainComponent, decorators: [{
|
|
6504
6375
|
type: Component,
|
|
@@ -6515,8 +6386,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
6515
6386
|
forwardRef(() => CaCustomDateTimePickerCalendarDatesMainComponent),
|
|
6516
6387
|
],
|
|
6517
6388
|
},
|
|
6518
|
-
], template: "<div (mouseover)=\"mouseOverSetItem()\">\n <cdk-virtual-scroll-viewport\n #monthsScrollRef\n [tabindex]=\"-1\"\n (scrolledIndexChange)=\"onMonthChange($event)\"\n style=\"height: 200px; width: 100%; margin: 0\"\n >\n <ng-container\n *cdkVirtualFor=\"\n let month of months;\n let indx = index;\n templateCacheSize: 10\n \"\n >\n <div\n class=\"calendar_indicator ta-font-bold\"\n [class.full_calendar]=\"_listPreview === 'full_list'\"\n [class.current_year]=\"\n isMonthAndYearOnly\n ? selectedYearFromInput === month.getFullYear()\n : selectedYearFromInput === month.getFullYear() &&\n selMonth === month.getMonth()\n \"\n [tabindex]=\"-1\"\n >\n @if (_listPreview === \"full_list\") {\n <span>{{ getMonth(month.getMonth()) }} </span>\n }\n {{ month.getFullYear() }}\n </div>\n @if (_listPreview === \"full_list\") {\n <div>\n <cai-custom-datetime-picker-calendar-days\n (selectDay)=\"selectDay($event)\"\n [index]=\"indx\"\n [month]=\"month\"\n [selectedMonth]=\"month.getMonth().toString()\"\n [year]=\"selectedYear\"\n [dateTime]=\"dateTime\"\n [activeMonth]=\"\n selectedYearFromInput === month.getFullYear() &&\n selMonth === month.getMonth()\n \"\n ></cai-custom-datetime-picker-calendar-days>\n </div>\n }\n @if (_listPreview === \"month_list\") {\n <div>\n <div\n class=\"month_list\"\n [class.current_year]=\"selectedYearFromInput === month.getFullYear()\"\n >\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(0, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 0 === selMonth,\n }\"\n >\n JAN\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(1, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 1 === selMonth,\n }\"\n >\n FEB\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(2, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 2 === selMonth,\n }\"\n >\n MAR\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(3, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 3 === selMonth,\n }\"\n >\n APR\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(4, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 4 === selMonth,\n }\"\n >\n MAY\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(5, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 5 === selMonth,\n }\"\n >\n JUN\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(6, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 6 === selMonth,\n }\"\n >\n JUL\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(7, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 7 === selMonth,\n }\"\n >\n AUG\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(8, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 8 === selMonth,\n }\"\n >\n SEP\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(9, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 9 === selMonth,\n }\"\n >\n OCT\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(10, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 10 === selMonth,\n }\"\n >\n NOV\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(11, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 11 === selMonth,\n }\"\n >\n DEC\n </div>\n </div>\n </div>\n }\n </ng-container>\n </cdk-virtual-scroll-viewport>\n</div>\n" }]
|
|
6519
|
-
}], ctorParameters: () => [{ type: CalendarDateTimePickerService }], propDecorators: { months: [{
|
|
6389
|
+
], template: "<div (mouseover)=\"mouseOverSetItem()\">\n <cdk-virtual-scroll-viewport\n #monthsScrollRef\n [tabindex]=\"-1\"\n (scrolledIndexChange)=\"onMonthChange($event)\"\n style=\"height: 200px; width: 100%; margin: 0\"\n [style.visibility]=\"contentReady ? 'visible' : 'hidden'\"\n >\n <ng-container\n *cdkVirtualFor=\"\n let month of months;\n let indx = index;\n templateCacheSize: 10\n \"\n >\n <div\n class=\"calendar_month_block\"\n [class.month_block_full]=\"_listPreview === 'full_list'\"\n >\n <div\n class=\"calendar_indicator ta-font-bold\"\n [class.full_calendar]=\"_listPreview === 'full_list'\"\n [class.current_year]=\"\n isMonthAndYearOnly\n ? selectedYearFromInput === month.getFullYear()\n : selectedYearFromInput === month.getFullYear() &&\n selMonth === month.getMonth()\n \"\n [tabindex]=\"-1\"\n >\n @if (_listPreview === \"full_list\") {\n <span>{{ getMonth(month.getMonth()) }} </span>\n }\n {{ month.getFullYear() }}\n </div>\n @if (_listPreview === \"full_list\") {\n <div>\n <cai-custom-datetime-picker-calendar-days\n (selectDay)=\"selectDay($event)\"\n [index]=\"indx\"\n [month]=\"month\"\n [selectedMonth]=\"month.getMonth().toString()\"\n [year]=\"selectedYear\"\n [dateTime]=\"dateTime\"\n [activeMonth]=\"\n selectedYearFromInput === month.getFullYear() &&\n selMonth === month.getMonth()\n \"\n ></cai-custom-datetime-picker-calendar-days>\n </div>\n }\n @if (_listPreview === \"month_list\") {\n <div>\n <div\n class=\"month_list\"\n [class.current_year]=\"selectedYearFromInput === month.getFullYear()\"\n >\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(0, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 0 === selMonth,\n }\"\n >\n JAN\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(1, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 1 === selMonth,\n }\"\n >\n FEB\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(2, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 2 === selMonth,\n }\"\n >\n MAR\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(3, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 3 === selMonth,\n }\"\n >\n APR\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(4, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 4 === selMonth,\n }\"\n >\n MAY\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(5, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 5 === selMonth,\n }\"\n >\n JUN\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(6, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 6 === selMonth,\n }\"\n >\n JUL\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(7, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 7 === selMonth,\n }\"\n >\n AUG\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(8, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 8 === selMonth,\n }\"\n >\n SEP\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(9, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 9 === selMonth,\n }\"\n >\n OCT\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(10, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 10 === selMonth,\n }\"\n >\n NOV\n </div>\n <div\n class=\"month_list_item ta-font-medium\"\n (click)=\"setCalendarListPreview(11, indx, $event)\"\n [ngClass]=\"{\n 'current_month ta-font-bold':\n selectedYearFromInput === month.getFullYear() &&\n 11 === selMonth,\n }\"\n >\n DEC\n </div>\n </div>\n </div>\n }\n </div>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n</div>\n", styles: [".calendar_month_block.month_block_full{height:182px;box-sizing:border-box;overflow:hidden}\n"] }]
|
|
6390
|
+
}], ctorParameters: () => [{ type: CalendarDateTimePickerService }, { type: i0.NgZone }], propDecorators: { months: [{
|
|
6520
6391
|
type: Input
|
|
6521
6392
|
}], dateTime: [{
|
|
6522
6393
|
type: Input
|
|
@@ -6570,6 +6441,7 @@ function factory(dir) {
|
|
|
6570
6441
|
}
|
|
6571
6442
|
class CaCustomDateTimePickersCalendarLeftComponent {
|
|
6572
6443
|
calendarService;
|
|
6444
|
+
zone;
|
|
6573
6445
|
months;
|
|
6574
6446
|
currentIndex;
|
|
6575
6447
|
isMonthAndYearOnly = false;
|
|
@@ -6591,17 +6463,15 @@ class CaCustomDateTimePickersCalendarLeftComponent {
|
|
|
6591
6463
|
_activeIndex = 0;
|
|
6592
6464
|
set activeIndex(value) {
|
|
6593
6465
|
this._activeIndex = value;
|
|
6594
|
-
if (!this.isMonthAndYearOnly && this._activeIndex)
|
|
6595
|
-
setTimeout(() => {
|
|
6596
|
-
this.scrollStrategy.scrollToIndex(this._activeIndex, CalendarStringEnum.AUTO);
|
|
6597
|
-
}, 200);
|
|
6598
6466
|
}
|
|
6599
6467
|
isHovered;
|
|
6600
6468
|
isFirstCall = true;
|
|
6469
|
+
contentReady = false;
|
|
6601
6470
|
destroy$ = new Subject();
|
|
6602
|
-
constructor(calendarService) {
|
|
6471
|
+
constructor(calendarService, zone) {
|
|
6603
6472
|
this.calendarService = calendarService;
|
|
6604
|
-
this.
|
|
6473
|
+
this.zone = zone;
|
|
6474
|
+
this.scrollStrategy = new CalendarStrategy(this.calendarService, CalendarLeftStringEnum.CYCLE_HEIGHT, CalendarLeftStringEnum.FULL_SIZE, CalendarStringEnum.LEFT, this.zone);
|
|
6605
6475
|
}
|
|
6606
6476
|
scrollStrategy;
|
|
6607
6477
|
ngOnInit() {
|
|
@@ -6627,12 +6497,12 @@ class CaCustomDateTimePickersCalendarLeftComponent {
|
|
|
6627
6497
|
.pipe(takeUntil(this.destroy$))
|
|
6628
6498
|
.subscribe((res) => {
|
|
6629
6499
|
setTimeout(() => {
|
|
6630
|
-
|
|
6631
|
-
|
|
6632
|
-
|
|
6633
|
-
|
|
6634
|
-
|
|
6635
|
-
|
|
6500
|
+
const indx = this.isMonthAndYearOnly
|
|
6501
|
+
? this._currentYearIndex
|
|
6502
|
+
: res
|
|
6503
|
+
? this.findIndexInMonth(res)
|
|
6504
|
+
: this.currentIndex;
|
|
6505
|
+
this.scrollStrategy.scrollToIndex(indx, CalendarStringEnum.AUTO, () => (this.contentReady = true));
|
|
6636
6506
|
});
|
|
6637
6507
|
});
|
|
6638
6508
|
if (this.isMonthAndYearOnly) {
|
|
@@ -6665,14 +6535,14 @@ class CaCustomDateTimePickersCalendarLeftComponent {
|
|
|
6665
6535
|
this.destroy$.next();
|
|
6666
6536
|
this.destroy$.complete();
|
|
6667
6537
|
}
|
|
6668
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CaCustomDateTimePickersCalendarLeftComponent, deps: [{ token: CalendarDateTimePickerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
6538
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CaCustomDateTimePickersCalendarLeftComponent, deps: [{ token: CalendarDateTimePickerService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
6669
6539
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: CaCustomDateTimePickersCalendarLeftComponent, isStandalone: true, selector: "cai-custom-datetime-pickers-calendar-left", inputs: { months: "months", currentIndex: "currentIndex", isMonthAndYearOnly: "isMonthAndYearOnly", listPreview: "listPreview", currentYearIndex: "currentYearIndex", activeIndex: "activeIndex" }, providers: [
|
|
6670
6540
|
{
|
|
6671
6541
|
provide: VIRTUAL_SCROLL_STRATEGY,
|
|
6672
6542
|
useFactory: factory,
|
|
6673
6543
|
deps: [forwardRef(() => CaCustomDateTimePickersCalendarLeftComponent)],
|
|
6674
6544
|
},
|
|
6675
|
-
], ngImport: i0, template: "<div (mouseover)=\"mouseOverSetItem()\">\n <cdk-virtual-scroll-viewport\n #leftSideRef\n (scrolledIndexChange)=\"onScrollChanged($event)\"\n style=\"height: 290px; width: 100%; margin: 0\"\n [tabindex]=\"-1\"\n >\n <ng-container\n *cdkVirtualFor=\"\n let month of months;\n let indx = index;\n templateCacheSize: 10\n \"\n >\n <div\n (click)=\"selectMonth(indx, $event)\"\n class=\"month-year-item ta-font-medium\"\n [ngClass]=\"{\n 'current_month_year ta-font-bold': isMonthAndYearOnly\n ? indx === _currentYearIndex\n : indx === _activeIndex,\n }\"\n [innerHTML]=\"month | calendarmonths: _listPreview\"\n ></div>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type:
|
|
6545
|
+
], ngImport: i0, template: "<div (mouseover)=\"mouseOverSetItem()\">\n <cdk-virtual-scroll-viewport\n #leftSideRef\n (scrolledIndexChange)=\"onScrollChanged($event)\"\n style=\"height: 290px; width: 100%; margin: 0\"\n [tabindex]=\"-1\"\n [style.visibility]=\"contentReady ? 'visible' : 'hidden'\"\n >\n <ng-container\n *cdkVirtualFor=\"\n let month of months;\n let indx = index;\n templateCacheSize: 10\n \"\n >\n <div\n (click)=\"selectMonth(indx, $event)\"\n class=\"month-year-item ta-font-medium\"\n [ngClass]=\"{\n 'current_month_year ta-font-bold': isMonthAndYearOnly\n ? indx === _currentYearIndex\n : indx === _activeIndex,\n }\"\n [innerHTML]=\"month | calendarmonths: _listPreview\"\n ></div>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i3.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i3.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "pipe", type: CalendarMonthsPipe, name: "calendarmonths" }] });
|
|
6676
6546
|
}
|
|
6677
6547
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CaCustomDateTimePickersCalendarLeftComponent, decorators: [{
|
|
6678
6548
|
type: Component,
|
|
@@ -6682,8 +6552,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
6682
6552
|
useFactory: factory,
|
|
6683
6553
|
deps: [forwardRef(() => CaCustomDateTimePickersCalendarLeftComponent)],
|
|
6684
6554
|
},
|
|
6685
|
-
], template: "<div (mouseover)=\"mouseOverSetItem()\">\n <cdk-virtual-scroll-viewport\n #leftSideRef\n (scrolledIndexChange)=\"onScrollChanged($event)\"\n style=\"height: 290px; width: 100%; margin: 0\"\n [tabindex]=\"-1\"\n >\n <ng-container\n *cdkVirtualFor=\"\n let month of months;\n let indx = index;\n templateCacheSize: 10\n \"\n >\n <div\n (click)=\"selectMonth(indx, $event)\"\n class=\"month-year-item ta-font-medium\"\n [ngClass]=\"{\n 'current_month_year ta-font-bold': isMonthAndYearOnly\n ? indx === _currentYearIndex\n : indx === _activeIndex,\n }\"\n [innerHTML]=\"month | calendarmonths: _listPreview\"\n ></div>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n</div>\n" }]
|
|
6686
|
-
}], ctorParameters: () => [{ type: CalendarDateTimePickerService }], propDecorators: { months: [{
|
|
6555
|
+
], template: "<div (mouseover)=\"mouseOverSetItem()\">\n <cdk-virtual-scroll-viewport\n #leftSideRef\n (scrolledIndexChange)=\"onScrollChanged($event)\"\n style=\"height: 290px; width: 100%; margin: 0\"\n [tabindex]=\"-1\"\n [style.visibility]=\"contentReady ? 'visible' : 'hidden'\"\n >\n <ng-container\n *cdkVirtualFor=\"\n let month of months;\n let indx = index;\n templateCacheSize: 10\n \"\n >\n <div\n (click)=\"selectMonth(indx, $event)\"\n class=\"month-year-item ta-font-medium\"\n [ngClass]=\"{\n 'current_month_year ta-font-bold': isMonthAndYearOnly\n ? indx === _currentYearIndex\n : indx === _activeIndex,\n }\"\n [innerHTML]=\"month | calendarmonths: _listPreview\"\n ></div>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n</div>\n" }]
|
|
6556
|
+
}], ctorParameters: () => [{ type: CalendarDateTimePickerService }, { type: i0.NgZone }], propDecorators: { months: [{
|
|
6687
6557
|
type: Input
|
|
6688
6558
|
}], currentIndex: [{
|
|
6689
6559
|
type: Input
|
|
@@ -7065,7 +6935,7 @@ class CaCustomDatetimePickersComponent {
|
|
|
7065
6935
|
this.listPreview = CalendarListPreviewStringEnum.FULL_LIST;
|
|
7066
6936
|
}
|
|
7067
6937
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CaCustomDatetimePickersComponent, deps: [{ token: CalendarDateTimePickerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
7068
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: CaCustomDatetimePickersComponent, isStandalone: true, selector: "cai-custom-datetime-pickers", inputs: { dateTime: "dateTime", inputConfig: "inputConfig", calendarType: "calendarType", placeholder: "placeholder" }, outputs: { closePopover: "closePopover", onRefocusInput: "onRefocusInput" }, viewQueries: [{ propertyName: "ref", first: true, predicate: ["ref"], descendants: true, read: ViewContainerRef }, { propertyName: "dateCalendar", first: true, predicate: CaCustomDateTimePickersDateCalendarsComponent, descendants: true }, { propertyName: "pmAmScroll", first: true, predicate: ["pmAmScroll"], descendants: true }, { propertyName: "minutesScroll", first: true, predicate: ["minutesScroll"], descendants: true }, { propertyName: "hourScroll", first: true, predicate: ["hourScroll"], descendants: true }], ngImport: i0, template: "<div class=\"temp_inp_holder\" (pointerdown)=\"refocusInput($event)\">\n <div>\n <div class=\"pickers_holder dark_picker\">\n @if (calendarMainType === \"date\") {\n <div class=\"date_picker\">\n <cai-custom-datetime-pickers-date-calendars\n [listPreview]=\"listPreview\"\n [dateTime]=\"dateTime\"\n [isMonthAndYearOnly]=\"_inputConfig.name === 'datepickerBankCard'\"\n (setListPreviewValue)=\"setListPreview($event)\"\n (onRefocusInput)=\"refocusInput($event)\"\n ></cai-custom-datetime-pickers-date-calendars>\n </div>\n }\n @if (calendarMainType === \"time\") {\n <div class=\"time_picker\">\n <div class=\"time_picker_head d-flex\">\n <div class=\"selected_time ta-font-bold\">\n {{ selectedTime || (dateTime | date: \"hh:mm aa\") }}\n </div>\n <div class=\"sel_now ta-font-bold\" (click)=\"setDefaultTime($event)\">\n Default\n </div>\n </div>\n <div class=\"time_picker_body\">\n <div class=\"picker_body_head\">\n <div\n class=\"ta-font-bold\"\n [class.active]=\"hoveredItem === 'hours'\"\n >\n Hour\n </div>\n <div\n class=\"ta-font-bold\"\n [class.active]=\"hoveredItem === 'minutes'\"\n >\n Minute\n </div>\n <div\n class=\"ta-font-bold\"\n [class.active]=\"hoveredItem === 'times'\"\n >\n AM/PM\n </div>\n </div>\n <div class=\"picker_body\">\n <div\n #hourScroll\n (mouseout)=\"hoveredItem = null\"\n (mouseover)=\"hoveredItem = 'hours'\"\n (scroll)=\"onScroll($event, 'hourScroll')\"\n class=\"scroll_pickers\"\n [tabindex]=\"-1\"\n >\n @for (hour of hourTimes; let indx = $index; track indx) {\n <div\n class=\"scroll_item ta-font-medium\"\n [ngClass]=\"{\n 'active_item ta-font-bold':\n scrollTypes.hourScroll === indx,\n }\"\n (click)=\"onScroll($event, 'hourScroll', indx)\"\n >\n {{ hour }}\n </div>\n }\n </div>\n <div\n #minutesScroll\n (mouseout)=\"hoveredItem = null\"\n (mouseover)=\"hoveredItem = 'minutes'\"\n (scroll)=\"onScroll($event, 'minutesScroll')\"\n class=\"scroll_pickers\"\n [tabindex]=\"-1\"\n >\n @for (minutes of timeMinutes; let indx = $index; track indx) {\n <div\n class=\"scroll_item ta-font-medium\"\n [ngClass]=\"{\n 'active_item ta-font-bold':\n scrollTypes.minutesScroll === indx,\n }\"\n (click)=\"onScroll($event, 'minutesScroll', indx)\"\n >\n {{ minutes }}\n </div>\n }\n </div>\n <div\n #pmAmScroll\n (mouseout)=\"hoveredItem = null\"\n (mouseover)=\"hoveredItem = 'times'\"\n (scroll)=\"onScroll($event, 'pmAmScroll')\"\n class=\"scroll_pickers\"\n [tabindex]=\"-1\"\n >\n @for (when of timeOfDay; let indx = $index; track indx) {\n <div\n class=\"scroll_item ta-font-medium\"\n [ngClass]=\"{\n 'active_item ta-font-bold':\n scrollTypes.pmAmScroll === indx,\n }\"\n (click)=\"onScroll($event, 'pmAmScroll', indx)\"\n >\n {{ when }}\n </div>\n }\n </div>\n <div class=\"picker_line\">\n <span class=\"border_line\"></span>\n <span class=\"border_line line_2\"></span>\n </div>\n </div>\n <div class=\"picker_buttons\">\n <div\n (click)=\"closePopup($event)\"\n class=\"pick_button ta-font-bold\"\n >\n Cancel\n </div>\n <div\n (click)=\"setTime($event)\"\n class=\"pick_button set_button ta-font-bold\"\n >\n Set\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type:
|
|
6938
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: CaCustomDatetimePickersComponent, isStandalone: true, selector: "cai-custom-datetime-pickers", inputs: { dateTime: "dateTime", inputConfig: "inputConfig", calendarType: "calendarType", placeholder: "placeholder" }, outputs: { closePopover: "closePopover", onRefocusInput: "onRefocusInput" }, viewQueries: [{ propertyName: "ref", first: true, predicate: ["ref"], descendants: true, read: ViewContainerRef }, { propertyName: "dateCalendar", first: true, predicate: CaCustomDateTimePickersDateCalendarsComponent, descendants: true }, { propertyName: "pmAmScroll", first: true, predicate: ["pmAmScroll"], descendants: true }, { propertyName: "minutesScroll", first: true, predicate: ["minutesScroll"], descendants: true }, { propertyName: "hourScroll", first: true, predicate: ["hourScroll"], descendants: true }], ngImport: i0, template: "<div class=\"temp_inp_holder\" (pointerdown)=\"refocusInput($event)\">\n <div>\n <div class=\"pickers_holder dark_picker\">\n @if (calendarMainType === \"date\") {\n <div class=\"date_picker\">\n <cai-custom-datetime-pickers-date-calendars\n [listPreview]=\"listPreview\"\n [dateTime]=\"dateTime\"\n [isMonthAndYearOnly]=\"_inputConfig.name === 'datepickerBankCard'\"\n (setListPreviewValue)=\"setListPreview($event)\"\n (onRefocusInput)=\"refocusInput($event)\"\n ></cai-custom-datetime-pickers-date-calendars>\n </div>\n }\n @if (calendarMainType === \"time\") {\n <div class=\"time_picker\">\n <div class=\"time_picker_head d-flex\">\n <div class=\"selected_time ta-font-bold\">\n {{ selectedTime || (dateTime | date: \"hh:mm aa\") }}\n </div>\n <div class=\"sel_now ta-font-bold\" (click)=\"setDefaultTime($event)\">\n Default\n </div>\n </div>\n <div class=\"time_picker_body\">\n <div class=\"picker_body_head\">\n <div\n class=\"ta-font-bold\"\n [class.active]=\"hoveredItem === 'hours'\"\n >\n Hour\n </div>\n <div\n class=\"ta-font-bold\"\n [class.active]=\"hoveredItem === 'minutes'\"\n >\n Minute\n </div>\n <div\n class=\"ta-font-bold\"\n [class.active]=\"hoveredItem === 'times'\"\n >\n AM/PM\n </div>\n </div>\n <div class=\"picker_body\">\n <div\n #hourScroll\n (mouseout)=\"hoveredItem = null\"\n (mouseover)=\"hoveredItem = 'hours'\"\n (scroll)=\"onScroll($event, 'hourScroll')\"\n class=\"scroll_pickers\"\n [tabindex]=\"-1\"\n >\n @for (hour of hourTimes; let indx = $index; track indx) {\n <div\n class=\"scroll_item ta-font-medium\"\n [ngClass]=\"{\n 'active_item ta-font-bold':\n scrollTypes.hourScroll === indx,\n }\"\n (click)=\"onScroll($event, 'hourScroll', indx)\"\n >\n {{ hour }}\n </div>\n }\n </div>\n <div\n #minutesScroll\n (mouseout)=\"hoveredItem = null\"\n (mouseover)=\"hoveredItem = 'minutes'\"\n (scroll)=\"onScroll($event, 'minutesScroll')\"\n class=\"scroll_pickers\"\n [tabindex]=\"-1\"\n >\n @for (minutes of timeMinutes; let indx = $index; track indx) {\n <div\n class=\"scroll_item ta-font-medium\"\n [ngClass]=\"{\n 'active_item ta-font-bold':\n scrollTypes.minutesScroll === indx,\n }\"\n (click)=\"onScroll($event, 'minutesScroll', indx)\"\n >\n {{ minutes }}\n </div>\n }\n </div>\n <div\n #pmAmScroll\n (mouseout)=\"hoveredItem = null\"\n (mouseover)=\"hoveredItem = 'times'\"\n (scroll)=\"onScroll($event, 'pmAmScroll')\"\n class=\"scroll_pickers\"\n [tabindex]=\"-1\"\n >\n @for (when of timeOfDay; let indx = $index; track indx) {\n <div\n class=\"scroll_item ta-font-medium\"\n [ngClass]=\"{\n 'active_item ta-font-bold':\n scrollTypes.pmAmScroll === indx,\n }\"\n (click)=\"onScroll($event, 'pmAmScroll', indx)\"\n >\n {{ when }}\n </div>\n }\n </div>\n <div class=\"picker_line\">\n <span class=\"border_line\"></span>\n <span class=\"border_line line_2\"></span>\n </div>\n </div>\n <div class=\"picker_buttons\">\n <div\n (click)=\"closePopup($event)\"\n class=\"pick_button ta-font-bold\"\n >\n Cancel\n </div>\n <div\n (click)=\"setTime($event)\"\n class=\"pick_button set_button ta-font-bold\"\n >\n Set\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: CaCustomDateTimePickersDateCalendarsComponent, selector: "cai-custom-datetime-pickers-date-calendars", inputs: ["listPreview", "dateTime", "isMonthAndYearOnly"], outputs: ["setListPreviewValue", "onRefocusInput"] }, { kind: "pipe", type: i1$1.DatePipe, name: "date" }] });
|
|
7069
6939
|
}
|
|
7070
6940
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CaCustomDatetimePickersComponent, decorators: [{
|
|
7071
6941
|
type: Component,
|
|
@@ -9215,7 +9085,7 @@ class ReviewModalComponent {
|
|
|
9215
9085
|
}
|
|
9216
9086
|
}
|
|
9217
9087
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ReviewModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9218
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: ReviewModalComponent, isStandalone: true, selector: "cai-review-modal", inputs: { ratingReviews: "ratingReviews", modaltype: "modaltype", titleInput: "titleInput" }, outputs: { reviewDeleted: "reviewDeleted" }, usesOnChanges: true, ngImport: i0, template: "@let reviewsLength = presentReviews.length;\n@let isTable = modaltype === ReviewType.Table;\n@let isModal = modaltype === ReviewType.Modal;\n@let isDetails = modaltype === ReviewType.Details;\n\n<div\n [class]=\"{\n 'modal-wrapper': isModal,\n 'table-wrapper': isTable,\n 'details-wrapper': isDetails,\n }\"\n>\n <div class=\"main-window\">\n <!-- FILTER BOX -->\n <div class=\"box\">\n <div class=\"filter\">\n <div class=\"column\">\n <div class=\"rating_review\">\n @if(!isDetails){\n <div class=\"left-side\">\n <p class=\"count-heading\">Rating & Review</p>\n <div class=\"circle\">\n {{ countReviews }}\n </div>\n @if(isModal && reviewsLength > 0){\n <div class=\"y-divider\"></div>\n }\n </div>\n } @if(!isTable){\n <div class=\"counter\">\n <div\n (click)=\"onSelectFilter(FilterType.LIKES)\"\n [class]=\"{\n 'filter-group': true,\n 'active-group': activeLikes(),\n 'non-active-group': !activeLikes(),\n 'empty-state': countLikes === 0\n }\"\n [ngbTooltip]=\"activeLikes() ? 'Remove Filter' : 'Filter Likes'\"\n triggers=\"mouseenter:mouseleave\"\n tabindex=\"0\"\n tooltipClass=\"tooltip tooltip-m-b-2\"\n placement=\"bottom\"\n >\n <svg-icon\n name=\"cai-like\"\n class=\"like-icon\"\n [class.active]=\"activeLikes()\"\n [class.most-likes]=\"onReturnMost() === FilterType.LIKES\"\n ></svg-icon>\n <svg-icon\n name=\"cai-cancel\"\n class=\"cancel-icon\"\n (click)=\"onCancelFilter($event, FilterType.LIKES)\"\n ></svg-icon>\n <span class=\"count\">{{ countLikes }}</span>\n </div>\n <div\n (click)=\"onSelectFilter(FilterType.DISLIKES)\"\n [class]=\"{\n 'filter-group': true,\n 'active-group': activeDislikes(),\n 'non-active-group': !activeDislikes(),\n 'empty-state': countDislikes === 0\n }\"\n [ngbTooltip]=\"\n activeDislikes() ? 'Remove Filter' : 'Filter Dislikes'\n \"\n triggers=\"mouseenter:mouseleave\"\n tabindex=\"0\"\n tooltipClass=\"tooltip tooltip-m-b-2\"\n placement=\"bottom\"\n >\n <svg-icon\n name=\"cai-dislike\"\n [class.active]=\"activeDislikes()\"\n [class.most-dislikes]=\"onReturnMost() === FilterType.DISLIKES\"\n class=\"dislike-icon\"\n ></svg-icon>\n <svg-icon\n name=\"cai-cancel\"\n class=\"cancel-icon\"\n (click)=\"onCancelFilter($event, FilterType.DISLIKES)\"\n ></svg-icon>\n <span class=\"count\">{{ countDislikes }}</span>\n </div>\n <div\n (click)=\"onSelectFilter(FilterType.REVIEWS)\"\n [class]=\"{\n 'filter-group': true,\n 'active-group': activeReviews(),\n 'non-active-group': !activeReviews(),\n 'empty-state': countReviews === 0\n }\"\n [ngbTooltip]=\"\n activeReviews() ? 'Remove Filter' : 'Filter Reviews'\n \"\n triggers=\"mouseenter:mouseleave\"\n tabindex=\"0\"\n tooltipClass=\"tooltip tooltip-m-b-2\"\n placement=\"bottom\"\n >\n <svg-icon\n name=\"cai-edit2\"\n [class.active]=\"activeReviews()\"\n class=\"pencil-icon\"\n ></svg-icon>\n\n <svg-icon\n name=\"cai-cancel\"\n class=\"cancel-icon\"\n (click)=\"onCancelFilter($event, FilterType.REVIEWS)\"\n ></svg-icon>\n\n <span class=\"count\">{{ countReviews }}</span>\n </div>\n </div>\n }\n </div>\n @if(ratingReviews && reviewsLength > 0){\n <div class=\"date-group\">\n <span>Date</span>\n <svg-icon name=\"cai-sort-descending\"></svg-icon>\n </div>\n\n } @if(isModal || isDetails){\n <div\n class=\"filter-group\"\n [ngStyle]=\"{\n display: addingReview() && reviewsLength === 0 ? 'none' : 'flex'\n }\"\n ngbTooltip=\"Add New\"\n triggers=\"mouseenter:mouseleave\"\n tabindex=\"0\"\n tooltipClass=\"tooltip tooltip-m-b-2\"\n placement=\"bottom\"\n >\n <svg-icon\n name=\"cai-plus\"\n class=\"plus-icon\"\n (click)=\"onAddReview()\"\n [class.disabled]=\"disabled()\"\n ></svg-icon>\n </div>\n }\n </div>\n @if(isDetails){\n <div class=\"bottom-divider-light\"></div>\n }\n </div>\n @if(isTable && reviewsLength <= 1){\n <div class=\"x-divider\"></div>\n } @if(isTable && reviewsLength > 0){\n <div class=\"input-container\">\n <cai-input\n id=\"search\"\n formControlName=\"search\"\n [config]=\"{\n type: 'text',\n icon: 'cai-search',\n inverse: true,\n size: 22,\n name: titleInput,\n placeholderBehavior: 'fade',\n placeholderColor: '#AAAAAA',\n }\"\n (onValueChange)=\"handleSearch($event)\"\n (onClear)=\"handleClear($event)\"\n ></cai-input>\n </div>\n <div class=\"btn-filters\">\n <div\n [class.active]=\"currentActiveFilter === FilterType.ALL\"\n (click)=\"onChangePresentReviews(FilterType.ALL)\"\n >\n ALL\n </div>\n <div\n [class.active]=\"currentActiveFilter === FilterType.RATING\"\n (click)=\"onChangePresentReviews(FilterType.RATING)\"\n >\n RATING\n </div>\n <div\n [class.active]=\"currentActiveFilter === FilterType.REVIEWS\"\n (click)=\"onChangePresentReviews(FilterType.REVIEWS)\"\n >\n REVIEW\n </div>\n </div>\n }\n </div>\n\n <!-- MAIN MODAL -->\n <div class=\"reviews-window\">\n @if(isTable && !hasPersonalReview){\n <div class=\"add-review\" (click)=\"onAddReview()\">\n <span>ADD REVIEW</span>\n <div class=\"filter-group\">\n <svg-icon\n name=\"cai-plus\"\n class=\"plus-icon\"\n [class.disabled]=\"disabled()\"\n ></svg-icon>\n </div>\n </div>\n } @if(ratingReviews && reviewsLength == 0 && !addingReview()){\n <div class=\"ilustration\">\n <svg-icon\n [name]=\"\n !isTable\n ? 'cai-illustration'\n : 'cai-illustration-dark'\n \"\n ></svg-icon>\n </div>\n }@else { @if (addingReview()) {\n <cai-single-review\n [type]=\"modaltype\"\n [singleReview]=\"testReview\"\n (deleteReview)=\"onDeleteReview($event)\"\n (onEditedReview)=\"onEditedReview($event)\"\n (onAddedReview)=\"onGetReview($event)\"\n />\n } @for(review of presentReviews; track review.ratingId){\n <cai-single-review\n [type]=\"modaltype\"\n [singleReview]=\"review\"\n (deleteReview)=\"onDeleteReview($event)\"\n (onEditedReview)=\"onEditedReview($event)\"\n (onAddedReview)=\"onGetReview($event)\"\n />\n } }\n </div>\n </div>\n</div>\n", styles: ["svg-icon svg{width:18px;height:18px}svg-icon svg path{fill-opacity:1}p{margin:0!important}button{border:none!important}.y-divider{border:1px solid #DADADA;height:18px}.x-divider{width:100%;margin-bottom:4px;border:1px solid #424242}.column{display:flex;width:100%;height:26px!important}.disabled-btn{background-color:#f7f7f7!important;color:#ccc!important}.modal-wrapper{max-width:468px;display:flex;flex-direction:column;gap:4px;position:absolute;width:100%}.modal-wrapper .filter{padding:4px 6px}.modal-wrapper .filter .left-side .count-heading{line-height:18px;font-size:14px;color:#424242}.modal-wrapper .filter .left-side .circle{padding:2px 5px;width:21px}.modal-wrapper .filter-group{padding:0}.modal-wrapper .heading-wrapper{display:flex;flex-direction:column;gap:12px;padding:4px 6px}.table-wrapper{max-width:260px;padding:4px;border-radius:3px}.table-wrapper .reviews-window{height:100%!important;display:flex;flex-direction:column;gap:2px}.table-wrapper .filter{padding:0 0 0 4px;margin-bottom:4px;height:18px}.table-wrapper .filter .left-side{display:flex;align-items:center}.table-wrapper .filter .left-side .count-heading{text-transform:uppercase;font-size:11px;line-height:14px;font-weight:800;color:#fff}.table-wrapper .filter .left-side .circle{background-color:#424242}.table-wrapper .filter .date-group span{font-size:11px;line-height:14px;font-weight:500;color:#fff}.table-wrapper .filter .date-group svg-icon{width:18px;height:18px}.table-wrapper .btn-filters{margin:4px 0}.table-wrapper .btn-filters div{font-size:11px;line-height:14px;font-weight:700}.table-wrapper .add-review{display:flex;justify-content:space-between;align-items:center;padding:4px 6px 4px 4px;height:26px;border-radius:2px;transition:background-color .2s ease}.table-wrapper .add-review span{line-height:18px;font-size:11px;font-weight:700;color:#92b1f5}.table-wrapper .add-review .filter-group{padding:0!important;display:flex;align-items:center}.table-wrapper .add-review .filter-group svg{width:14px;height:14px}.table-wrapper .add-review .filter-group .plus-icon{width:14px!important;height:14px!important;background-color:transparent!important}.table-wrapper .add-review .filter-group .plus-icon path{fill:#6692f1!important}.table-wrapper .add-review:hover{background-color:#3b73ed3f;cursor:pointer}.table-wrapper .add-review:hover span path{fill:#fff}.table-wrapper .add-review:hover .filter-group .plus-icon path{fill:#92b1f5!important}.details-wrapper{max-width:300px}.heading{display:flex;width:100%;justify-content:space-between;padding:4px 6px}.heading .heading-text{display:flex;gap:6px;align-items:center}.heading .heading-text p{font-weight:800;font-size:18px}.heading .heading-text span{background-color:#919191;color:#fff;font-weight:700;vertical-align:middle;padding:4px 8px;border-radius:2px}.heading .icons{display:flex;justify-content:space-between;align-items:center;min-width:60px}.heading .icons svg-icon{width:18px;height:18px;display:grid;place-items:center;cursor:pointer}.heading .icons svg-icon path{fill:#919191}.box{display:flex;flex-direction:column}.btn-filters{display:flex;border-radius:2px;padding:4px;gap:4px;justify-content:space-between;background-color:#1d1d1d}.btn-filters div{width:33%;text-align:center;border-radius:1px;padding:2px 8px;gap:10px;font-weight:700;color:#919191;transition:background-color .4s ease,color .4s ease}.btn-filters div:hover{cursor:pointer}.btn-filters div.active{background-color:#2f2f2f;color:#fff}.filter{display:flex;align-items:center;flex-direction:column}.rating_review{display:flex;align-items:center;gap:6px;margin-right:auto}.rating_review .left-side{display:flex;gap:4px;align-items:center}.rating_review .counter{display:flex;align-items:center;gap:4px}.filter-group{display:flex;justify-content:center;position:relative;align-items:center;border-radius:2px;padding:4px!important;gap:4px}.filter-group.active-group{background-color:#6c6c6c;cursor:pointer}.filter-group.active-group .cancel-icon path{fill:#fff}.filter-group.active-group .count{color:#fff}.filter-group.active-group:hover{background-color:#424242}.filter-group.active-group:hover .cancel-icon{display:flex}.filter-group.active-group:hover .count{display:none}.filter-group.non-active-group:hover{background-color:#eee!important;cursor:pointer}.filter-group.non-active-group:hover svg-icon path{fill:#424242!important}.filter-group.non-active-group:hover:has(.most-likes) .like-icon path{fill:#56b4ac!important}.filter-group.non-active-group:hover:has(.most-dislikes) .dislike-icon path{fill:#e66767!important}.filter-group svg-icon{width:18px;height:18px;display:grid;place-items:center;color:#919191;background-color:transparent}.filter-group svg-icon:hover{background-color:transparent}.filter-group .cancel-icon{width:14px;height:14px;display:none}.filter-group .like-icon svg{margin-bottom:auto!important}.filter-group .like-icon.active,.filter-group .like-icon.most-likes{color:#56b4ac;background-color:transparent}.filter-group .dislike-icon.active,.filter-group .dislike-icon.most-dislikes{color:#e66767;background-color:transparent}.filter-group .pencil-icon.active{opacity:.7;background-color:transparent}.filter-group .pencil-icon.active path{fill:#fff!important}.filter-group .plus-icon{width:26px;height:26px;display:grid;place-items:center;position:relative}.filter-group .plus-icon svg{width:18px;height:18px}.filter-group .plus-icon path{fill:#6692f1}.filter-group .plus-icon:hover{cursor:pointer;background-color:#e9effd}.filter-group .plus-icon:hover path{fill:#0b49d1}.filter-group .count{font-weight:800;font-size:11px;width:14px;height:14px;display:flex;align-items:center;justify-content:center;color:#919191}.filter-group .most-likes .like-icon{color:green!important}.filter-group .most-dislikes .dislike-icon{color:red!important}p{font-weight:800}.date-group{font-weight:500;display:flex;align-items:center;gap:4px;padding-left:6px;line-height:18px}.date-group svg-icon{width:18px;height:18px;display:grid;place-items:center}.circle{width:18px;height:18px;border-radius:60px;background-color:#6c6c6c;color:#fff;padding:4px 5px;display:flex;justify-content:center;align-items:center;font-size:11px;font-weight:700}.disabled{pointer-events:none!important}.disabled svg path{fill:#ccc!important}.main-window .ilustration{width:100%!important;object-fit:contain;object-position:center}.main-window .ilustration svg-icon{width:100%!important}.main-window .ilustration svg-icon svg{width:100%!important;height:100%!important}.reviews-window{height:100%!important;display:flex;flex-direction:column;gap:4px}.button-wrapper{display:flex;flex-direction:column;gap:12px}.buttons{display:flex;justify-content:space-between}.buttons button{font-size:14px;font-weight:700;padding:6px;border-radius:2px;cursor:pointer}.buttons .delete-close{display:flex;gap:12px}.buttons .delete-close .delete{color:#df3c3c;width:100px}.buttons .delete-close .close{width:150px}.buttons .save-btn{background-color:#3b73ed;color:#fff;min-width:150px}.empty-state{cursor:none;pointer-events:none}.empty-state svg-icon path{fill:#91919166}.empty-state span{color:#91919166}.bottom-divider-light{width:100%;margin-top:6px;margin-bottom:4px;border-bottom:1px solid #DADADA}\n"], dependencies: [{ kind: "component", type: SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "svgClass", "class", "viewBox", "svgAriaLabel", "onSVGLoaded", "svgStyle"] }, { kind: "component", type: SingleReviewComponent, selector: "cai-single-review", inputs: ["type", "singleReview"], outputs: ["deleteReview", "onAddedReview", "onEditedReview"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: NgbTooltipModule }, { kind: "directive", type: i2.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type: InputComponent, selector: "cai-input", inputs: ["id", "config", "options", "preselectedOptions", "isLoading", "hideValidation", "showNoResults", "preselectedUnit", "unassignedCount", "forceInvalidStyling"], outputs: ["onBlur", "onFocused", "onReset", "onValueChange", "onOptionAdded", "onAdd", "onSelectionChange", "onSelectedObject", "onSelectedGroup", "onClear", "onAutofill", "onScrolledToBottom", "onScrolledToBottomGroup", "onSearch", "onValueAdded", "onRemove", "onHoverRemove"] }] });
|
|
9088
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: ReviewModalComponent, isStandalone: true, selector: "cai-review-modal", inputs: { ratingReviews: "ratingReviews", modaltype: "modaltype", titleInput: "titleInput" }, outputs: { reviewDeleted: "reviewDeleted" }, usesOnChanges: true, ngImport: i0, template: "@let reviewsLength = presentReviews.length;\n@let isTable = modaltype === ReviewType.Table;\n@let isModal = modaltype === ReviewType.Modal;\n@let isDetails = modaltype === ReviewType.Details;\n\n<div\n [class]=\"{\n 'modal-wrapper': isModal,\n 'table-wrapper': isTable,\n 'details-wrapper': isDetails,\n }\"\n>\n <div class=\"main-window\">\n <!-- FILTER BOX -->\n <div class=\"box\">\n <div class=\"filter\">\n <div class=\"column\">\n <div class=\"rating_review\">\n @if(!isDetails){\n <div class=\"left-side\">\n <p class=\"count-heading\">Rating & Review</p>\n <div class=\"circle\">\n {{ countReviews }}\n </div>\n @if(isModal && reviewsLength > 0){\n <div class=\"y-divider\"></div>\n }\n </div>\n } @if(!isTable){\n <div class=\"counter\">\n <div\n (click)=\"onSelectFilter(FilterType.LIKES)\"\n [class]=\"{\n 'filter-group': true,\n 'active-group': activeLikes(),\n 'non-active-group': !activeLikes(),\n 'empty-state': countLikes === 0\n }\"\n [ngbTooltip]=\"activeLikes() ? 'Remove Filter' : 'Filter Likes'\"\n triggers=\"mouseenter:mouseleave\"\n tabindex=\"0\"\n tooltipClass=\"tooltip tooltip-m-b-2\"\n placement=\"bottom\"\n >\n <svg-icon\n name=\"cai-like\"\n class=\"like-icon\"\n [class.active]=\"activeLikes()\"\n [class.most-likes]=\"onReturnMost() === FilterType.LIKES\"\n ></svg-icon>\n <svg-icon\n name=\"cai-cancel\"\n class=\"cancel-icon\"\n (click)=\"onCancelFilter($event, FilterType.LIKES)\"\n ></svg-icon>\n <span class=\"count\">{{ countLikes }}</span>\n </div>\n <div\n (click)=\"onSelectFilter(FilterType.DISLIKES)\"\n [class]=\"{\n 'filter-group': true,\n 'active-group': activeDislikes(),\n 'non-active-group': !activeDislikes(),\n 'empty-state': countDislikes === 0\n }\"\n [ngbTooltip]=\"\n activeDislikes() ? 'Remove Filter' : 'Filter Dislikes'\n \"\n triggers=\"mouseenter:mouseleave\"\n tabindex=\"0\"\n tooltipClass=\"tooltip tooltip-m-b-2\"\n placement=\"bottom\"\n >\n <svg-icon\n name=\"cai-dislike\"\n [class.active]=\"activeDislikes()\"\n [class.most-dislikes]=\"onReturnMost() === FilterType.DISLIKES\"\n class=\"dislike-icon\"\n ></svg-icon>\n <svg-icon\n name=\"cai-cancel\"\n class=\"cancel-icon\"\n (click)=\"onCancelFilter($event, FilterType.DISLIKES)\"\n ></svg-icon>\n <span class=\"count\">{{ countDislikes }}</span>\n </div>\n <div\n (click)=\"onSelectFilter(FilterType.REVIEWS)\"\n [class]=\"{\n 'filter-group': true,\n 'active-group': activeReviews(),\n 'non-active-group': !activeReviews(),\n 'empty-state': countReviews === 0\n }\"\n [ngbTooltip]=\"\n activeReviews() ? 'Remove Filter' : 'Filter Reviews'\n \"\n triggers=\"mouseenter:mouseleave\"\n tabindex=\"0\"\n tooltipClass=\"tooltip tooltip-m-b-2\"\n placement=\"bottom\"\n >\n <svg-icon\n name=\"cai-edit2\"\n [class.active]=\"activeReviews()\"\n class=\"pencil-icon\"\n ></svg-icon>\n\n <svg-icon\n name=\"cai-cancel\"\n class=\"cancel-icon\"\n (click)=\"onCancelFilter($event, FilterType.REVIEWS)\"\n ></svg-icon>\n\n <span class=\"count\">{{ countReviews }}</span>\n </div>\n </div>\n }\n </div>\n @if(ratingReviews && reviewsLength > 0){\n <div class=\"date-group\">\n <span>Date</span>\n <svg-icon name=\"cai-sort-descending\"></svg-icon>\n </div>\n\n } @if(isModal || isDetails){\n <div\n class=\"filter-group\"\n [ngStyle]=\"{\n display: addingReview() && reviewsLength === 0 ? 'none' : 'flex'\n }\"\n ngbTooltip=\"Add New\"\n triggers=\"mouseenter:mouseleave\"\n tabindex=\"0\"\n tooltipClass=\"tooltip tooltip-m-b-2\"\n placement=\"bottom\"\n >\n <svg-icon\n name=\"cai-plus\"\n class=\"plus-icon\"\n (click)=\"onAddReview()\"\n [class.disabled]=\"disabled()\"\n ></svg-icon>\n </div>\n }\n </div>\n @if(isDetails){\n <div class=\"bottom-divider-light\"></div>\n }\n </div>\n @if(isTable && reviewsLength <= 1){\n <div class=\"x-divider\"></div>\n } @if(isTable && reviewsLength > 0){\n <div class=\"input-container\">\n <cai-input\n id=\"search\"\n formControlName=\"search\"\n [config]=\"{\n type: 'text',\n icon: 'cai-search',\n inverse: true,\n size: 22,\n name: titleInput,\n placeholderBehavior: 'fade',\n placeholderColor: '#AAAAAA',\n }\"\n (onValueChange)=\"handleSearch($event)\"\n (onClear)=\"handleClear($event)\"\n ></cai-input>\n </div>\n <div class=\"btn-filters\">\n <div\n [class.active]=\"currentActiveFilter === FilterType.ALL\"\n (click)=\"onChangePresentReviews(FilterType.ALL)\"\n >\n ALL\n </div>\n <div\n [class.active]=\"currentActiveFilter === FilterType.RATING\"\n (click)=\"onChangePresentReviews(FilterType.RATING)\"\n >\n RATING\n </div>\n <div\n [class.active]=\"currentActiveFilter === FilterType.REVIEWS\"\n (click)=\"onChangePresentReviews(FilterType.REVIEWS)\"\n >\n REVIEW\n </div>\n </div>\n }\n </div>\n\n <!-- MAIN MODAL -->\n <div class=\"reviews-window\">\n @if(isTable && !hasPersonalReview){\n <div class=\"add-review\" (click)=\"onAddReview()\">\n <span>ADD REVIEW</span>\n <div class=\"filter-group\">\n <svg-icon\n name=\"cai-plus\"\n class=\"plus-icon\"\n [class.disabled]=\"disabled()\"\n ></svg-icon>\n </div>\n </div>\n } @if(ratingReviews && reviewsLength == 0 && !addingReview()){\n <div class=\"ilustration\">\n <svg-icon\n [name]=\"\n !isTable\n ? 'cai-illustration'\n : 'cai-illustration-dark'\n \"\n ></svg-icon>\n </div>\n }@else { @if (addingReview()) {\n <cai-single-review\n [type]=\"modaltype\"\n [singleReview]=\"testReview\"\n (deleteReview)=\"onDeleteReview($event)\"\n (onEditedReview)=\"onEditedReview($event)\"\n (onAddedReview)=\"onGetReview($event)\"\n />\n } @for(review of presentReviews; track review.ratingId){\n <cai-single-review\n [type]=\"modaltype\"\n [singleReview]=\"review\"\n (deleteReview)=\"onDeleteReview($event)\"\n (onEditedReview)=\"onEditedReview($event)\"\n (onAddedReview)=\"onGetReview($event)\"\n />\n } }\n </div>\n </div>\n</div>\n", styles: ["svg-icon svg{width:18px;height:18px}svg-icon svg path{fill-opacity:1}p{margin:0!important}button{border:none!important}.y-divider{border:1px solid #DADADA;height:18px}.x-divider{width:100%;margin-bottom:4px;border:1px solid #424242}.column{display:flex;width:100%;height:26px!important}.disabled-btn{background-color:#f7f7f7!important;color:#ccc!important}.modal-wrapper{max-width:468px;display:flex;flex-direction:column;gap:4px;position:absolute;width:100%}.modal-wrapper .filter{padding:4px 6px}.modal-wrapper .filter .left-side .count-heading{line-height:18px;font-size:14px;color:#424242}.modal-wrapper .filter .left-side .circle{padding:2px 5px;width:21px}.modal-wrapper .filter-group{padding:0}.modal-wrapper .heading-wrapper{display:flex;flex-direction:column;gap:12px;padding:4px 6px}.table-wrapper{max-width:260px;padding:4px;border-radius:3px}.table-wrapper .reviews-window{height:100%!important;display:flex;flex-direction:column;gap:2px}.table-wrapper .filter{padding:0 0 0 4px;margin-bottom:4px;height:18px}.table-wrapper .filter .left-side{display:flex;align-items:center}.table-wrapper .filter .left-side .count-heading{text-transform:uppercase;font-size:11px;line-height:14px;font-weight:800;color:#fff}.table-wrapper .filter .left-side .circle{background-color:#424242}.table-wrapper .filter .date-group span{font-size:11px;line-height:14px;font-weight:500;color:#fff}.table-wrapper .filter .date-group svg-icon{width:18px;height:18px}.table-wrapper .btn-filters{margin:4px 0}.table-wrapper .btn-filters div{font-size:11px;line-height:14px;font-weight:700}.table-wrapper .add-review{display:flex;justify-content:space-between;align-items:center;padding:4px 6px 4px 4px;height:26px;border-radius:2px;transition:background-color .2s ease}.table-wrapper .add-review span{line-height:18px;font-size:11px;font-weight:700;color:#92b1f5}.table-wrapper .add-review .filter-group{padding:0!important;display:flex;align-items:center}.table-wrapper .add-review .filter-group svg{width:14px;height:14px}.table-wrapper .add-review .filter-group .plus-icon{width:14px!important;height:14px!important;background-color:transparent!important}.table-wrapper .add-review .filter-group .plus-icon path{fill:#6692f1!important}.table-wrapper .add-review:hover{background-color:#3b73ed3f;cursor:pointer}.table-wrapper .add-review:hover span path{fill:#fff}.table-wrapper .add-review:hover .filter-group .plus-icon path{fill:#92b1f5!important}.details-wrapper{max-width:300px}.heading{display:flex;width:100%;justify-content:space-between;padding:4px 6px}.heading .heading-text{display:flex;gap:6px;align-items:center}.heading .heading-text p{font-weight:800;font-size:18px}.heading .heading-text span{background-color:#919191;color:#fff;font-weight:700;vertical-align:middle;padding:4px 8px;border-radius:2px}.heading .icons{display:flex;justify-content:space-between;align-items:center;min-width:60px}.heading .icons svg-icon{width:18px;height:18px;display:grid;place-items:center;cursor:pointer}.heading .icons svg-icon path{fill:#919191}.box{display:flex;flex-direction:column}.btn-filters{display:flex;border-radius:2px;padding:4px;gap:4px;justify-content:space-between;background-color:#1d1d1d}.btn-filters div{width:33%;text-align:center;border-radius:1px;padding:2px 8px;gap:10px;font-weight:700;color:#919191;transition:background-color .4s ease,color .4s ease}.btn-filters div:hover{cursor:pointer}.btn-filters div.active{background-color:#2f2f2f;color:#fff}.filter{display:flex;align-items:center;flex-direction:column}.rating_review{display:flex;align-items:center;gap:6px;margin-right:auto}.rating_review .left-side{display:flex;gap:4px;align-items:center}.rating_review .counter{display:flex;align-items:center;gap:4px}.filter-group{display:flex;justify-content:center;position:relative;align-items:center;border-radius:2px;padding:4px!important;gap:4px}.filter-group.active-group{background-color:#6c6c6c;cursor:pointer}.filter-group.active-group .cancel-icon path{fill:#fff}.filter-group.active-group .count{color:#fff}.filter-group.active-group:hover{background-color:#424242}.filter-group.active-group:hover .cancel-icon{display:flex}.filter-group.active-group:hover .count{display:none}.filter-group.non-active-group:hover{background-color:#eee!important;cursor:pointer}.filter-group.non-active-group:hover svg-icon path{fill:#424242!important}.filter-group.non-active-group:hover:has(.most-likes) .like-icon path{fill:#56b4ac!important}.filter-group.non-active-group:hover:has(.most-dislikes) .dislike-icon path{fill:#e66767!important}.filter-group svg-icon{width:18px;height:18px;display:grid;place-items:center;color:#919191;background-color:transparent}.filter-group svg-icon:hover{background-color:transparent}.filter-group .cancel-icon{width:14px;height:14px;display:none}.filter-group .like-icon svg{margin-bottom:auto!important}.filter-group .like-icon.active,.filter-group .like-icon.most-likes{color:#56b4ac;background-color:transparent}.filter-group .dislike-icon.active,.filter-group .dislike-icon.most-dislikes{color:#e66767;background-color:transparent}.filter-group .pencil-icon.active{opacity:.7;background-color:transparent}.filter-group .pencil-icon.active path{fill:#fff!important}.filter-group .plus-icon{width:26px;height:26px;display:grid;place-items:center;position:relative}.filter-group .plus-icon svg{width:18px;height:18px}.filter-group .plus-icon path{fill:#6692f1}.filter-group .plus-icon:hover{cursor:pointer;background-color:#e9effd}.filter-group .plus-icon:hover path{fill:#0b49d1}.filter-group .count{font-weight:800;font-size:11px;width:14px;height:14px;display:flex;align-items:center;justify-content:center;color:#919191}.filter-group .most-likes .like-icon{color:green!important}.filter-group .most-dislikes .dislike-icon{color:red!important}p{font-weight:800}.date-group{font-weight:500;display:flex;align-items:center;gap:4px;padding-left:6px;line-height:18px}.date-group svg-icon{width:18px;height:18px;display:grid;place-items:center}.circle{width:18px;height:18px;border-radius:60px;background-color:#6c6c6c;color:#fff;padding:4px 5px;display:flex;justify-content:center;align-items:center;font-size:11px;font-weight:700}.disabled{pointer-events:none!important}.disabled svg path{fill:#ccc!important}.main-window .ilustration{width:100%!important;object-fit:contain;object-position:center}.main-window .ilustration svg-icon{width:100%!important}.main-window .ilustration svg-icon svg{width:100%!important;height:100%!important}.reviews-window{height:100%!important;display:flex;flex-direction:column;gap:4px}.button-wrapper{display:flex;flex-direction:column;gap:12px}.buttons{display:flex;justify-content:space-between}.buttons button{font-size:14px;font-weight:700;padding:6px;border-radius:2px;cursor:pointer}.buttons .delete-close{display:flex;gap:12px}.buttons .delete-close .delete{color:#df3c3c;width:100px}.buttons .delete-close .close{width:150px}.buttons .save-btn{background-color:#3b73ed;color:#fff;min-width:150px}.empty-state{cursor:none;pointer-events:none}.empty-state svg-icon path{fill:#91919166}.empty-state span{color:#91919166}.bottom-divider-light{width:100%;margin-top:6px;margin-bottom:4px;border-bottom:1px solid #DADADA}\n"], dependencies: [{ kind: "component", type: SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "svgClass", "class", "viewBox", "svgAriaLabel", "onSVGLoaded", "svgStyle"] }, { kind: "component", type: SingleReviewComponent, selector: "cai-single-review", inputs: ["type", "singleReview"], outputs: ["deleteReview", "onAddedReview", "onEditedReview"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: NgbTooltipModule }, { kind: "directive", type: i2.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type: InputComponent, selector: "cai-input", inputs: ["id", "config", "options", "preselectedOptions", "isLoading", "hideValidation", "showNoResults", "preselectedUnit", "unassignedCount", "forceInvalidStyling"], outputs: ["onBlur", "onFocused", "onReset", "onValueChange", "onOptionAdded", "onAdd", "onSelectionChange", "onSelectedObject", "onSelectedGroup", "onClear", "onAutofill", "onScrolledToBottom", "onScrolledToBottomGroup", "onSearch", "onValueAdded", "onRemove", "onHoverRemove"] }] });
|
|
9219
9089
|
}
|
|
9220
9090
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ReviewModalComponent, decorators: [{
|
|
9221
9091
|
type: Component,
|
|
@@ -9565,7 +9435,7 @@ class ListContactDropdownComponent {
|
|
|
9565
9435
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ListContactDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9566
9436
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: ListContactDropdownComponent, isStandalone: true, selector: "cai-list-contact-dropdown", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, contacts: { classPropertyName: "contacts", publicName: "contacts", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onAdd: "onAdd", onDelete: "onDelete", onEdit: "onEdit", onOpen: "onOpen", onClose: "onClose" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], ngImport: i0, template: "@let contactLists = contacts() | mapContacts: form.get('search')?.value;\n@if(!!contacts().length){\n<div\n class=\"list-item\"\n [class.focus]=\"open()\"\n [ngbPopover]=\"popoverRef\"\n #dropdown=\"ngbPopover\"\n popoverClass=\"cai-dropdown cai-dropdown-popover\"\n container=\"body\"\n placement=\"bottom-start\"\n [positionTarget]=\"anchor\"\n [animation]=\"true\"\n [autoClose]=\"'outside'\"\n (hidden)=\"handleCloseDropdown()\"\n (shown)=\"handleOpenDropdown()\"\n (click)=\"handleClick()\"\n>\n <div\n class=\"container\"\n [ngbTooltip]=\"!open() ? 'View Contacts' : null\"\n tooltipClass=\"tooltip input-tooltip \"\n placement=\"bottom\"\n [openDelay]=\"600\"\n >\n <svg-icon name=\"cai-contact\" class=\"icon\"></svg-icon>\n <p>{{ contacts().length }}</p>\n </div>\n <div #anchor class=\"dropdown-anchor\"></div>\n</div>\n} @let maxHeight = contactLists | departmentsHeight: selectedIds();\n<ng-template #popoverRef>\n <div\n class=\"popover-dropdown-menu\"\n [class]=\"{\n 'animate-dropdown': true,\n }\"\n [class.closing]=\"closing()\"\n [style.--max-height]=\"maxHeight > 306 ? '306px' : maxHeight + 'px'\"\n (click)=\"$event.stopPropagation()\"\n >\n <ng-container *ngTemplateOutlet=\"contactsTemplate\"></ng-container>\n </div>\n</ng-template>\n<ng-template #contactsTemplate>\n <div class=\"header\">\n <div class=\"title\">\n <p class=\"title-text\">CONTACT</p>\n <div class=\"counter\">{{ contactLists | contactCount }}</div>\n </div>\n <div\n class=\"add\"\n ngbTooltip=\"Add New\"\n tooltipClass=\"tooltip input-tooltip tooltip-m-t-4\"\n placement=\"top\"\n [openDelay]=\"600\"\n (click)=\"emitOnAdd($event)\"\n >\n <svg-icon name=\"cai-plus\" class=\"icon\"></svg-icon>\n </div>\n </div>\n <div [formGroup]=\"form\" class=\"search\">\n <cai-input\n id=\"search\"\n formControlName=\"search\"\n [config]=\"{\n type: 'text',\n icon: 'cai-search',\n inverse: true,\n size: 22,\n name: 'Search',\n placeholderBehavior: 'fade',\n placeholderColor: '#AAAAAA', \n }\"\n ></cai-input>\n </div>\n\n @if(contactLists.length > 0){ @for (contactList of contactLists; track\n contactList.department?.id; let isLast = $last) {\n <div\n class=\"department\"\n [class.open]=\"isDepartmentOpen(contactList.department?.id)\"\n (click)=\"handleDepartmentClick(contactList.department?.id || 0)\"\n >\n <div class=\"department-subtitle\">\n <p class=\"subtitle\">\n {{ contactList.department?.name }}\n </p>\n <div class=\"counter\">{{ contactList.department?.count }}</div>\n </div>\n <div class=\"dropdown-icon\">\n <svg-icon name=\"cai-arrow-primary-up\" class=\"icon\"></svg-icon>\n </div>\n </div>\n <div\n class=\"contacts\"\n [class.open]=\"isDepartmentOpen(contactList.department?.id)\"\n [style.--max-height]=\"\n (contactList.department?.id || 0\n | contactsHeight : contactList : selectedIds()) + 'px'\n \"\n >\n @for (contact of contactList.contacts; track contact.id) {\n <ng-container\n *ngTemplateOutlet=\"contactRef; context: { contact }\"\n ></ng-container>\n }\n </div>\n\n @if (!isLast) {\n <div class=\"divider\"></div>\n } } } @else {\n <div class=\"no-results\">\n <p>No Results</p>\n </div>\n }\n</ng-template>\n\n<ng-template #contactRef let-contact=\"contact\">\n <div\n class=\"contact-item\"\n [class.active]=\"isContactOpen(contact?.id)\"\n (click)=\"handleContactClick(contact?.id)\"\n >\n <div class=\"contact-header\">\n <p\n class=\"contact-name text-truncate\"\n [innerHTML]=\"\n contact?.contactName || contact?.fullName\n | highlightSearch : form.get('search')?.value\n \"\n ></p>\n\n <div class=\"contact-actions-container\">\n <div class=\"contact-actions\">\n <div\n class=\"contact-action edit\"\n (click)=\"emitOnEdit($event)\"\n ngbTooltip=\"Edit\"\n tooltipClass=\"tooltip input-tooltip tooltip-bg-white-700 tooltip-text-black-500\"\n placement=\"top\"\n [openDelay]=\"600\"\n [container]=\"'body'\"\n >\n <svg-icon name=\"cai-edit\" class=\"action-icon\"></svg-icon>\n </div>\n\n <div\n class=\"contact-action delete\"\n (click)=\"emitOnDelete($event)\"\n ngbTooltip=\"Delete\"\n tooltipClass=\"tooltip input-tooltip tooltip-bg-red-500\"\n placement=\"top\"\n [openDelay]=\"600\"\n [container]=\"'body'\"\n >\n <svg-icon name=\"cai-delete\" class=\"action-icon\"></svg-icon>\n </div>\n </div>\n\n <div class=\"dropdown-icon\">\n <svg-icon name=\"cai-arrow-primary-up\" class=\"icon\"></svg-icon>\n </div>\n </div>\n </div>\n\n <div class=\"contact-info\">\n <div class=\"info-container\">\n <cai-copy\n [value]=\"\n contact?.phone +\n (contact?.extensionPhone ? ' x' + contact?.extensionPhone : '')\n \"\n [inverse]=\"true\"\n >\n <div class=\"info-item\">\n <svg-icon name=\"cai-phone\" class=\"icon\"></svg-icon>\n <p>{{ contact?.phone }}</p>\n <p class=\"text-black-100\">\n {{ contact?.extensionPhone ? \"x\" + contact?.extensionPhone : \"\" }}\n </p>\n </div>\n </cai-copy>\n </div>\n <div class=\"info-container\">\n <cai-copy [value]=\"contact?.email\" [inverse]=\"true\">\n <div class=\"info-item\">\n <svg-icon name=\"cai-email\" class=\"icon\"></svg-icon>\n <p class=\"email\">{{ contact?.email }}</p>\n </div>\n </cai-copy>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: ["input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{transition:background-color 5000s ease-in-out 0s!important}input:-webkit-autofill:focus{-webkit-text-fill-color:#ffffff!important}input:-moz-autofill,input:-moz-autofill-preview{filter:none}*,*:before,*:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}p,ul,ol,dl,blockquote,figure,pre{margin:0}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button{background:none;border:none;padding:0}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle;max-width:100%;height:auto}ul,ol{padding-left:1.5rem;list-style-position:outside}a{color:inherit;text-decoration:inherit}table{border-collapse:collapse;border-spacing:0}:focus:not(:focus-visible){outline:none}.list-item{height:26px;width:46px;border-radius:2px;-webkit-user-select:none;user-select:none;background-color:transparent;cursor:pointer;transition:background-color .2s ease-in-out,color .2s ease-in-out;position:relative;color:#2f2f2f;text-align:center;font-family:Montserrat;font-size:11px;font-style:normal;font-weight:600;line-height:14px}.list-item .container{padding:4px;display:flex;align-items:center;justify-content:center;gap:4px}.list-item p{width:16px}.list-item .icon{width:18px;height:18px;color:#919191;transition:color .2s ease-in-out}.list-item:hover{background-color:#91919133}.list-item:hover .icon{color:#424242}.list-item.focus{background-color:#2f2f2f;color:#fff}.list-item.focus .icon{color:#ffffffb3}.dropdown-anchor{position:absolute;width:100%;-webkit-user-select:none;user-select:none;pointer-events:none;opacity:0;bottom:4px;left:-4px}.popover-dropdown-menu{min-width:0px!important;width:260px;background-color:#2f2f2f;border:0;border-radius:3px;padding:4px;max-height:306px;z-index:1100!important;overflow-y:scroll;font-family:Montserrat;font-style:normal}.popover-dropdown-menu::-webkit-scrollbar{display:none}.popover-dropdown-menu{transition:max-height .2s ease-in-out,opacity .2s ease-in-out,height .1s ease-in-out;animation:dropdown-menu-opening .2s ease-in-out}.popover-dropdown-menu.animate-dropdown{max-height:var(--max-height);height:var(--max-height)}.closing{animation:dropdown-menu-closing .2s ease-in-out;opacity:0;max-height:0}@keyframes dropdown-menu-opening{0%{max-height:0;opacity:0}to{max-height:306px;opacity:1}}@keyframes dropdown-menu-closing{0%{max-height:306px;opacity:1}to{max-height:0;opacity:0}}.header{display:flex;justify-content:space-between;align-items:center;padding-left:4px;margin-bottom:4px;-webkit-user-select:none;user-select:none}.header .title{display:flex;align-items:center;gap:4px}.header .title .title-text{color:#fff;font-size:11px;font-weight:800;line-height:14px;text-transform:uppercase}.header .add{cursor:pointer;background-color:transparent;border-radius:1px;padding:2px;transition:background-color .2s ease-in-out}.header .add:hover{background-color:#3b73ed66}.header .add:hover .icon{color:#bed0f9}.header .add .icon{width:14px;height:14px;color:#6692f1}.counter{color:#fff;font-size:11px;font-weight:700;line-height:14px;min-width:18px;padding:2px 5px;background-color:#424242;border-radius:60px;display:flex;align-items:center;justify-content:center}.department{padding:4px;margin-top:2px;margin-bottom:2px;border-radius:2px;display:flex;justify-content:space-between;align-items:center;position:relative;cursor:pointer}.department:hover .subtitle,.department.open .subtitle,.department:hover .counter,.department.open .counter{color:#fff}.department.open .dropdown-icon{transform:rotate(0)}.department:hover .dropdown-icon{opacity:1;pointer-events:auto}.department:hover .dropdown-icon .icon{color:#ffffffb3}.department .department-subtitle{display:flex;align-items:center;gap:4px;-webkit-user-select:none;user-select:none}.department .subtitle{-webkit-user-select:none;user-select:none;color:#aaa;font-size:11px;font-weight:800;line-height:14px;text-transform:uppercase;transition:color .2s ease-in-out}.department .counter{color:#aaa;transition:color .2s ease-in-out}.department .dropdown-icon{margin:4px}.contact-item{padding:4px;color:#fff;font-size:14px;font-weight:400;line-height:18px;cursor:pointer;background-color:transparent;transition:background-color .2s ease-in-out,font-weight .2s ease-in-out;border-radius:2px;margin-top:2px;margin-bottom:2px}.contact-item .contact-name{max-width:200px}.contact-item:hover{background-color:#424242}.contact-item:hover:not(.active) .dropdown-icon{opacity:1!important;pointer-events:auto!important}.contact-item.active{font-weight:500;background-color:#424242}.contact-item.active .contact-info{max-height:44px;opacity:1}.contact-item.active .contact-actions{opacity:1!important;pointer-events:auto!important}.contact-item.active .dropdown-icon{opacity:0!important;pointer-events:none!important;transform:rotate(0)}.contact-item.active .dropdown-icon .icon{color:#ffffffb3!important}.contact-item.active .contact-name:hover~.contact-actions-container .dropdown-icon{opacity:1!important;pointer-events:auto!important}.contact-item.active .contact-name:hover~.contact-actions-container .contact-actions{opacity:0!important;pointer-events:none!important}.contact-item .contact-info{max-height:0;opacity:0;overflow:hidden;transition:max-height .2s ease-in-out,opacity .2s ease-in-out;font-weight:400}.contact-item .contact-info .info-container{margin-top:4px}.contact-item .contact-info .info-item{display:flex;align-items:center;gap:4px;-webkit-user-select:none;user-select:none}.contact-item .contact-info .info-item .email{min-width:0;flex:1;word-break:break-all;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-item .contact-info .info-item .icon{width:18px;height:18px;color:#919191;display:flex;align-items:center;justify-content:center}.contact-item .contact-header{display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none}.contact-item .contact-actions-container{display:flex;position:relative;height:18px}.contact-item .contact-actions{position:absolute;right:0;top:0;display:flex;gap:4px;opacity:0;transition:opacity .2s ease-in-out;pointer-events:none}.contact-item .contact-actions .contact-action{cursor:pointer;background-color:transparent;transition:background-color .2s ease-in-out;width:18px;height:18px;border-radius:2px;padding:2px}.contact-item .contact-actions .contact-action .action-icon{color:#919191;transition:color .2s ease-in-out}.contact-item .contact-actions .contact-action:hover.edit{background-color:#6c6c6c}.contact-item .contact-actions .contact-action:hover.edit .action-icon{color:#dadada}.contact-item .contact-actions .contact-action:hover.delete{background-color:#df3c3c66}.contact-item .contact-actions .contact-action:hover.delete .action-icon{color:#f4bebe}.dropdown-icon{position:absolute;right:0;top:0;opacity:0;pointer-events:none;width:18px;height:18px;padding:2px;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease-in-out,transform .2s ease-in-out;transform:rotate(180deg)}.dropdown-icon .icon{color:#919191;transition:color .2s ease-in-out}.divider{height:1px;background-color:#424242;width:100%}.contacts{max-height:0;opacity:0;overflow:hidden;transition:max-height .2s ease-in-out,opacity .2s ease-in-out}.contacts.open{max-height:var(--max-height);opacity:1}.no-results{background-color:#424242;color:#6c6c6c;padding:4px;margin-top:4px;border-radius:2px;height:78px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;font-family:Montserrat;font-weight:800;font-style:ExtraBold;font-size:20px;line-height:100%;letter-spacing:0%;text-align:center;vertical-align:middle;-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "ngmodule", type:
|
|
9567
9437
|
// Modules
|
|
9568
|
-
CommonModule }, { kind: "directive", type:
|
|
9438
|
+
CommonModule }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type:
|
|
9569
9439
|
// Components
|
|
9570
9440
|
InputComponent, selector: "cai-input", inputs: ["id", "config", "options", "preselectedOptions", "isLoading", "hideValidation", "showNoResults", "preselectedUnit", "unassignedCount", "forceInvalidStyling"], outputs: ["onBlur", "onFocused", "onReset", "onValueChange", "onOptionAdded", "onAdd", "onSelectionChange", "onSelectedObject", "onSelectedGroup", "onClear", "onAutofill", "onScrolledToBottom", "onScrolledToBottomGroup", "onSearch", "onValueAdded", "onRemove", "onHoverRemove"] }, { kind: "component", type: SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "svgClass", "class", "viewBox", "svgAriaLabel", "onSVGLoaded", "svgStyle"] }, { kind: "component", type: CopyComponent, selector: "cai-copy", inputs: ["value", "alignment", "copyTooltip", "copyArea", "icon", "iconSize", "iconColor", "tooltipClass", "tooltipPlacement", "inverse", "hasNoIcon"] }, { kind: "ngmodule", type:
|
|
9571
9441
|
// Bootstrap
|
|
@@ -9983,7 +9853,7 @@ class IntervalDropdownComponent {
|
|
|
9983
9853
|
}
|
|
9984
9854
|
}
|
|
9985
9855
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: IntervalDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9986
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: IntervalDropdownComponent, isStandalone: true, selector: "cai-interval-dropdown", inputs: { selectedOption: { classPropertyName: "selectedOption", publicName: "selectedOption", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, companyDays: { classPropertyName: "companyDays", publicName: "companyDays", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClose: "onClose", onOpen: "onOpen", onSelectionChange: "onSelectionChange" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }, { propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: "@let isFormValid = form?.valid;\n<div\n class=\"dropdown-container\"\n [class.focus]=\"open()\"\n [ngbPopover]=\"popoverRef\"\n #container\n #dropdown=\"ngbPopover\"\n popoverClass=\"cai-dropdown cai-dropdown-popover\"\n container=\"body\"\n placement=\"bottom-start\"\n [positionTarget]=\"anchor\"\n [animation]=\"true\"\n [autoClose]=\"'outside'\"\n (hidden)=\"handleCloseDropdown()\"\n (shown)=\"handleOpenDropdown()\"\n (click)=\"handleClick()\"\n>\n <div>{{ custom() ? \"Custom\" : selectedOption()?.name }}</div>\n <svg-icon name=\"cai-arrow-secondary-down\" class=\"dropdown-icon\"></svg-icon>\n <div #anchor class=\"dropdown-anchor\" [class.custom]=\"custom()\"></div>\n</div>\n@let maxHeight = (options()?.length || 1) * 28 + 6;\n<ng-template #popoverRef>\n <div\n class=\"popover-dropdown-menu\"\n [style.--container-width]=\"containerWidth() + 'px'\"\n [style.--max-height]=\"\n custom() ? '124px' : maxHeight > 306 ? '306px' : maxHeight + 'px'\n \"\n [class.custom]=\"custom()\"\n (click)=\"$event.stopPropagation()\"\n >\n <div class=\"options-container\">\n <ng-container *ngTemplateOutlet=\"optionsRef\"></ng-container>\n </div>\n <div class=\"custom-container\">\n <ng-container *ngTemplateOutlet=\"customRef\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #optionsRef>\n @if (options()?.length) {\n @for (option of options(); track option.id) {\n @let isSelected = option.id === selectedOption()?.id;\n @let isCustomSelected = option.name === \"Custom\" && isSelected;\n <div\n class=\"dropdown-item\"\n [class.selected]=\"isSelected\"\n [class.custom-selected]=\"isCustomSelected\"\n (pointerdown)=\"handleOption($event, option)\"\n >\n <p>{{ option.name }}</p>\n <svg-icon name=\"cai-checkmark\" class=\"dropdown-item-icon\"></svg-icon>\n </div>\n }\n } @else {\n <div class=\"dropdown-item no-results\">\n <p>No results</p>\n </div>\n }\n</ng-template>\n\n<ng-template #customRef>\n <div class=\"custom-range-header\">CUSTOM RANGE</div>\n @if (form) {\n <div class=\"custom-range-content\" [formGroup]=\"form\">\n <div class=\"custom-range-content-item\" [class.disabled]=\"!custom()\">\n <cai-input-datetime-picker\n formControlName=\"from\"\n [inputConfig]=\"{ configType: 'from' } | dropdownFilterInputConfig\"\n ></cai-input-datetime-picker>\n </div>\n <div class=\"custom-range-content-item\" [class.disabled]=\"!custom()\">\n <cai-input-datetime-picker\n formControlName=\"to\"\n [inputConfig]=\"{ configType: 'to' } | dropdownFilterInputConfig\"\n ></cai-input-datetime-picker>\n </div>\n </div>\n }\n <div class=\"custom-range-footer\">\n <button\n class=\"custom-range-button clear\"\n [class.valid]=\"isFormValid\"\n (click)=\"handleClearAll($event)\"\n >\n CLEAR ALL\n </button>\n <button\n class=\"custom-range-button set\"\n [class.valid]=\"isFormValid\"\n (click)=\"handleSet($event)\"\n >\n SET\n </button>\n </div>\n</ng-template>\n", styles: ["input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{transition:background-color 5000s cubic-bezier(.46,.03,.51,.95) 0s!important}input:-webkit-autofill:focus{-webkit-text-fill-color:#ffffff!important}input:-moz-autofill,input:-moz-autofill-preview{filter:none}*,*:before,*:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}p,ul,ol,dl,blockquote,figure,pre{margin:0}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button{background:none;border:none;padding:0}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle;max-width:100%;height:auto}ul,ol{padding-left:1.5rem;list-style-position:outside}a{color:inherit;text-decoration:inherit}table{border-collapse:collapse;border-spacing:0}:focus:not(:focus-visible){outline:none}.dropdown-container{width:100%;position:relative;padding:4px 6px;display:flex;align-items:center;justify-content:space-between;gap:6px;-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:2px;font-weight:800;font-size:14px;line-height:18px;letter-spacing:0%;transition:background-color .2s cubic-bezier(.46,.03,.51,.95),color .2s cubic-bezier(.46,.03,.51,.95);background-color:#eee;color:#6c6c6c}.dropdown-container .dropdown-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:#919191;transition:color .2s cubic-bezier(.46,.03,.51,.95),transform .2s cubic-bezier(.46,.03,.51,.95);transform:rotate(0)}.dropdown-container:hover:not(.focus){background-color:#dadada;color:#424242}.dropdown-container:hover:not(.focus) .dropdown-icon{color:#424242}.dropdown-container.focus{background-color:#2f2f2f;color:#fff}.dropdown-container.focus .dropdown-icon{transform:rotate(180deg);color:#ffffffb3}.dropdown-anchor{position:absolute;width:100%;-webkit-user-select:none;user-select:none;pointer-events:none;opacity:0;bottom:4px;left:0;transition:transform .2s cubic-bezier(.46,.03,.51,.95)}.popover-dropdown-menu{min-width:0px!important;background-color:#2f2f2f;width:var(--container-width);border:0;border-radius:3px;padding:4px;max-height:306px;z-index:1100!important;overflow-y:scroll;font-family:Montserrat;font-style:normal;position:relative;transition:max-height .2s cubic-bezier(.46,.03,.51,.95),opacity .2s cubic-bezier(.46,.03,.51,.95),height .1s cubic-bezier(.46,.03,.51,.95),width .2s cubic-bezier(.46,.03,.51,.95),transform .2s cubic-bezier(.46,.03,.51,.95);animation:dropdown-menu-opening .2s cubic-bezier(.46,.03,.51,.95);max-height:var(--max-height);height:var(--max-height)}.popover-dropdown-menu::-webkit-scrollbar{display:none}.closing{animation:dropdown-menu-closing .2s cubic-bezier(.46,.03,.51,.95);opacity:0;max-height:0}.options-container{padding:4px;position:absolute;top:0;left:0;width:100%;opacity:1;transition:opacity .1s cubic-bezier(.46,.03,.51,.95)}.custom-container{position:absolute;top:0;left:0;pointer-events:none;opacity:0;transition:opacity .1s cubic-bezier(.46,.03,.51,.95);width:100%;padding:4px}.popover-dropdown-menu.custom{width:300px;transform:translate(-78px);overflow:hidden}.popover-dropdown-menu.custom .options-container{opacity:0;pointer-events:none}.popover-dropdown-menu.custom .custom-container{opacity:1;pointer-events:auto}@keyframes dropdown-menu-opening{0%{max-height:0;opacity:0}to{max-height:306px;opacity:1}}@keyframes dropdown-menu-closing{0%{max-height:306px;opacity:1}to{max-height:0;opacity:0}}.dropdown-item{color:#fff;font-weight:400;font-size:14px;line-height:18px;height:26px;padding:4px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:4px;-webkit-user-select:none;user-select:none;cursor:pointer;background-color:#2f2f2f;transition:background-color .2s cubic-bezier(.46,.03,.51,.95),color .2s cubic-bezier(.46,.03,.51,.95);border-radius:2px;position:relative}.dropdown-item:hover{background-color:#424242;color:#fff}.dropdown-item:focus-visible{background-color:#424242;border:0;outline:none}.dropdown-item.selected{font-weight:700;cursor:default}.dropdown-item.selected .dropdown-item-icon{opacity:1}.dropdown-item.custom-selected{cursor:pointer!important}.dropdown-item .dropdown-item-icon{opacity:0;transition:opacity .2s cubic-bezier(.46,.03,.51,.95);color:#6692f1}.dropdown-item:not(:first-child){margin-top:2px}.no-results{color:#919191;font-weight:700;pointer-events:none}.custom-range-header{color:#fff;font-size:11px;font-weight:800;line-height:14px;text-transform:uppercase;padding:2px 4px 6px;border-bottom:1px solid #424242;margin-bottom:2px;-webkit-user-select:none;user-select:none}.custom-range-footer{padding-top:4px;border-top:1px solid #424242;margin-top:2px;display:flex;align-items:center;justify-content:center;gap:4px}.custom-range-content{padding-top:22px;padding-bottom:18px;margin-top:4px;margin-bottom:4px;display:flex;align-items:center;justify-content:center;gap:4px;-webkit-user-select:none;user-select:none}.custom-range-button{padding:2px;background-color:#91919133;color:#919191;text-align:center;font-size:11px;font-weight:700;line-height:14px;text-transform:uppercase;border-radius:2px;flex:1;cursor:default!important;transition:background-color .2s cubic-bezier(.46,.03,.51,.95),color .2s cubic-bezier(.46,.03,.51,.95);-webkit-user-select:none;user-select:none}.custom-range-button.valid{color:#dadada;cursor:pointer!important}.custom-range-content-item{flex:1}.custom-range-content-item.disabled{pointer-events:none!important;cursor:default!important;z-index:-1!important}.clear.valid:hover{background-color:#eee;color:#424242}.set.valid{background-color:#3b73ed}.set.valid:hover{background-color:#e9effd;color:#0b49d1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type:
|
|
9856
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: IntervalDropdownComponent, isStandalone: true, selector: "cai-interval-dropdown", inputs: { selectedOption: { classPropertyName: "selectedOption", publicName: "selectedOption", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, companyDays: { classPropertyName: "companyDays", publicName: "companyDays", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClose: "onClose", onOpen: "onOpen", onSelectionChange: "onSelectionChange" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }, { propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: "@let isFormValid = form?.valid;\n<div\n class=\"dropdown-container\"\n [class.focus]=\"open()\"\n [ngbPopover]=\"popoverRef\"\n #container\n #dropdown=\"ngbPopover\"\n popoverClass=\"cai-dropdown cai-dropdown-popover\"\n container=\"body\"\n placement=\"bottom-start\"\n [positionTarget]=\"anchor\"\n [animation]=\"true\"\n [autoClose]=\"'outside'\"\n (hidden)=\"handleCloseDropdown()\"\n (shown)=\"handleOpenDropdown()\"\n (click)=\"handleClick()\"\n>\n <div>{{ custom() ? \"Custom\" : selectedOption()?.name }}</div>\n <svg-icon name=\"cai-arrow-secondary-down\" class=\"dropdown-icon\"></svg-icon>\n <div #anchor class=\"dropdown-anchor\" [class.custom]=\"custom()\"></div>\n</div>\n@let maxHeight = (options()?.length || 1) * 28 + 6;\n<ng-template #popoverRef>\n <div\n class=\"popover-dropdown-menu\"\n [style.--container-width]=\"containerWidth() + 'px'\"\n [style.--max-height]=\"\n custom() ? '124px' : maxHeight > 306 ? '306px' : maxHeight + 'px'\n \"\n [class.custom]=\"custom()\"\n (click)=\"$event.stopPropagation()\"\n >\n <div class=\"options-container\">\n <ng-container *ngTemplateOutlet=\"optionsRef\"></ng-container>\n </div>\n <div class=\"custom-container\">\n <ng-container *ngTemplateOutlet=\"customRef\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #optionsRef>\n @if (options()?.length) {\n @for (option of options(); track option.id) {\n @let isSelected = option.id === selectedOption()?.id;\n @let isCustomSelected = option.name === \"Custom\" && isSelected;\n <div\n class=\"dropdown-item\"\n [class.selected]=\"isSelected\"\n [class.custom-selected]=\"isCustomSelected\"\n (pointerdown)=\"handleOption($event, option)\"\n >\n <p>{{ option.name }}</p>\n <svg-icon name=\"cai-checkmark\" class=\"dropdown-item-icon\"></svg-icon>\n </div>\n }\n } @else {\n <div class=\"dropdown-item no-results\">\n <p>No results</p>\n </div>\n }\n</ng-template>\n\n<ng-template #customRef>\n <div class=\"custom-range-header\">CUSTOM RANGE</div>\n @if (form) {\n <div class=\"custom-range-content\" [formGroup]=\"form\">\n <div class=\"custom-range-content-item\" [class.disabled]=\"!custom()\">\n <cai-input-datetime-picker\n formControlName=\"from\"\n [inputConfig]=\"{ configType: 'from' } | dropdownFilterInputConfig\"\n ></cai-input-datetime-picker>\n </div>\n <div class=\"custom-range-content-item\" [class.disabled]=\"!custom()\">\n <cai-input-datetime-picker\n formControlName=\"to\"\n [inputConfig]=\"{ configType: 'to' } | dropdownFilterInputConfig\"\n ></cai-input-datetime-picker>\n </div>\n </div>\n }\n <div class=\"custom-range-footer\">\n <button\n class=\"custom-range-button clear\"\n [class.valid]=\"isFormValid\"\n (click)=\"handleClearAll($event)\"\n >\n CLEAR ALL\n </button>\n <button\n class=\"custom-range-button set\"\n [class.valid]=\"isFormValid\"\n (click)=\"handleSet($event)\"\n >\n SET\n </button>\n </div>\n</ng-template>\n", styles: ["input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{transition:background-color 5000s cubic-bezier(.46,.03,.51,.95) 0s!important}input:-webkit-autofill:focus{-webkit-text-fill-color:#ffffff!important}input:-moz-autofill,input:-moz-autofill-preview{filter:none}*,*:before,*:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}p,ul,ol,dl,blockquote,figure,pre{margin:0}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button{background:none;border:none;padding:0}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle;max-width:100%;height:auto}ul,ol{padding-left:1.5rem;list-style-position:outside}a{color:inherit;text-decoration:inherit}table{border-collapse:collapse;border-spacing:0}:focus:not(:focus-visible){outline:none}.dropdown-container{width:100%;position:relative;padding:4px 6px;display:flex;align-items:center;justify-content:space-between;gap:6px;-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:2px;font-weight:800;font-size:14px;line-height:18px;letter-spacing:0%;transition:background-color .2s cubic-bezier(.46,.03,.51,.95),color .2s cubic-bezier(.46,.03,.51,.95);background-color:#eee;color:#6c6c6c}.dropdown-container .dropdown-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:#919191;transition:color .2s cubic-bezier(.46,.03,.51,.95),transform .2s cubic-bezier(.46,.03,.51,.95);transform:rotate(0)}.dropdown-container:hover:not(.focus){background-color:#dadada;color:#424242}.dropdown-container:hover:not(.focus) .dropdown-icon{color:#424242}.dropdown-container.focus{background-color:#2f2f2f;color:#fff}.dropdown-container.focus .dropdown-icon{transform:rotate(180deg);color:#ffffffb3}.dropdown-anchor{position:absolute;width:100%;-webkit-user-select:none;user-select:none;pointer-events:none;opacity:0;bottom:4px;left:0;transition:transform .2s cubic-bezier(.46,.03,.51,.95)}.popover-dropdown-menu{min-width:0px!important;background-color:#2f2f2f;width:var(--container-width);border:0;border-radius:3px;padding:4px;max-height:306px;z-index:1100!important;overflow-y:scroll;font-family:Montserrat;font-style:normal;position:relative;transition:max-height .2s cubic-bezier(.46,.03,.51,.95),opacity .2s cubic-bezier(.46,.03,.51,.95),height .1s cubic-bezier(.46,.03,.51,.95),width .2s cubic-bezier(.46,.03,.51,.95),transform .2s cubic-bezier(.46,.03,.51,.95);animation:dropdown-menu-opening .2s cubic-bezier(.46,.03,.51,.95);max-height:var(--max-height);height:var(--max-height)}.popover-dropdown-menu::-webkit-scrollbar{display:none}.closing{animation:dropdown-menu-closing .2s cubic-bezier(.46,.03,.51,.95);opacity:0;max-height:0}.options-container{padding:4px;position:absolute;top:0;left:0;width:100%;opacity:1;transition:opacity .1s cubic-bezier(.46,.03,.51,.95)}.custom-container{position:absolute;top:0;left:0;pointer-events:none;opacity:0;transition:opacity .1s cubic-bezier(.46,.03,.51,.95);width:100%;padding:4px}.popover-dropdown-menu.custom{width:300px;transform:translate(-78px);overflow:hidden}.popover-dropdown-menu.custom .options-container{opacity:0;pointer-events:none}.popover-dropdown-menu.custom .custom-container{opacity:1;pointer-events:auto}@keyframes dropdown-menu-opening{0%{max-height:0;opacity:0}to{max-height:306px;opacity:1}}@keyframes dropdown-menu-closing{0%{max-height:306px;opacity:1}to{max-height:0;opacity:0}}.dropdown-item{color:#fff;font-weight:400;font-size:14px;line-height:18px;height:26px;padding:4px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:4px;-webkit-user-select:none;user-select:none;cursor:pointer;background-color:#2f2f2f;transition:background-color .2s cubic-bezier(.46,.03,.51,.95),color .2s cubic-bezier(.46,.03,.51,.95);border-radius:2px;position:relative}.dropdown-item:hover{background-color:#424242;color:#fff}.dropdown-item:focus-visible{background-color:#424242;border:0;outline:none}.dropdown-item.selected{font-weight:700;cursor:default}.dropdown-item.selected .dropdown-item-icon{opacity:1}.dropdown-item.custom-selected{cursor:pointer!important}.dropdown-item .dropdown-item-icon{opacity:0;transition:opacity .2s cubic-bezier(.46,.03,.51,.95);color:#6692f1}.dropdown-item:not(:first-child){margin-top:2px}.no-results{color:#919191;font-weight:700;pointer-events:none}.custom-range-header{color:#fff;font-size:11px;font-weight:800;line-height:14px;text-transform:uppercase;padding:2px 4px 6px;border-bottom:1px solid #424242;margin-bottom:2px;-webkit-user-select:none;user-select:none}.custom-range-footer{padding-top:4px;border-top:1px solid #424242;margin-top:2px;display:flex;align-items:center;justify-content:center;gap:4px}.custom-range-content{padding-top:22px;padding-bottom:18px;margin-top:4px;margin-bottom:4px;display:flex;align-items:center;justify-content:center;gap:4px;-webkit-user-select:none;user-select:none}.custom-range-button{padding:2px;background-color:#91919133;color:#919191;text-align:center;font-size:11px;font-weight:700;line-height:14px;text-transform:uppercase;border-radius:2px;flex:1;cursor:default!important;transition:background-color .2s cubic-bezier(.46,.03,.51,.95),color .2s cubic-bezier(.46,.03,.51,.95);-webkit-user-select:none;user-select:none}.custom-range-button.valid{color:#dadada;cursor:pointer!important}.custom-range-content-item{flex:1}.custom-range-content-item.disabled{pointer-events:none!important;cursor:default!important;z-index:-1!important}.clear.valid:hover{background-color:#eee;color:#424242}.set.valid{background-color:#3b73ed}.set.valid:hover{background-color:#e9effd;color:#0b49d1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type:
|
|
9987
9857
|
// Components
|
|
9988
9858
|
CaiInputDatetimePickerComponent, selector: "cai-input-datetime-picker, ca-date-time", inputs: ["id", "inputConfig", "forceInvalidStyling"], outputs: ["clear", "blurInput", "onFocusEmitter"] }, { kind: "component", type: SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "svgClass", "class", "viewBox", "svgAriaLabel", "onSVGLoaded", "svgStyle"] }, { kind: "ngmodule", type:
|
|
9989
9859
|
// Bootstrap
|
|
@@ -11082,7 +10952,7 @@ class DispatchDropdownComponent {
|
|
|
11082
10952
|
event.preventDefault();
|
|
11083
10953
|
}
|
|
11084
10954
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DispatchDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11085
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: DispatchDropdownComponent, isStandalone: true, selector: "cai-dispatch-dropdown", inputs: { selectedOption: { classPropertyName: "selectedOption", publicName: "selectedOption", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, isEditable: { classPropertyName: "isEditable", publicName: "isEditable", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, isLocked: { classPropertyName: "isLocked", publicName: "isLocked", isSignal: true, isRequired: false, transformFunction: null }, hasNoRemoveButton: { classPropertyName: "hasNoRemoveButton", publicName: "hasNoRemoveButton", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, disabledTooltip: { classPropertyName: "disabledTooltip", publicName: "disabledTooltip", isSignal: true, isRequired: false, transformFunction: null }, contentTemplate: { classPropertyName: "contentTemplate", publicName: "contentTemplate", isSignal: true, isRequired: false, transformFunction: null }, optionTemplateLeft: { classPropertyName: "optionTemplateLeft", publicName: "optionTemplateLeft", isSignal: true, isRequired: false, transformFunction: null }, optionTemplateRight: { classPropertyName: "optionTemplateRight", publicName: "optionTemplateRight", isSignal: true, isRequired: false, transformFunction: null }, noContentTemplate: { classPropertyName: "noContentTemplate", publicName: "noContentTemplate", isSignal: true, isRequired: false, transformFunction: null }, hideDropdownMenu: { classPropertyName: "hideDropdownMenu", publicName: "hideDropdownMenu", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelectionChange: "onSelectionChange", onRemove: "onRemove", onAddNew: "onAddNew", onSearch: "onSearch", onToggleDropdown: "onToggleDropdown", onBlur: "onBlur" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }, { propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }, { propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }], ngImport: i0, template: "@let hasNoAdd = config().hasNoAdd ?? false;\n@let hasNoAddNew = config().hasNoAddNew ?? false;\n@let optionLabel = config().optionLabel ?? \"name\";\n@let groupLabel = config().groupLabel ?? \"name\";\n\n<div\n #container\n class=\"dispatch-dropdown\"\n [ngClass]=\"{\n open: dropdownOpen(),\n 'has-data': !!data(),\n 'is-locked': isLocked(),\n 'has-no-remove-button': hasNoRemoveButton(),\n 'has-no-add': hasNoAdd,\n 'has-no-content-template': noContentTemplate(),\n editable: isEditable(),\n }\"\n ngbDropdown\n #dropdown=\"ngbDropdown\"\n dropdownClass=\"cai-dropdown\"\n [autoClose]=\"false\"\n [container]=\"'body'\"\n (pointerdown)=\"handleClick($event)\"\n (openChange)=\"handleOpenChange($event)\"\n>\n <div class=\"main-container\">\n <div class=\"dispatch-template\">\n @if (data()) {\n <ng-container\n *ngTemplateOutlet=\"contentTemplate(); context: { $implicit: data() }\"\n ></ng-container>\n }\n </div>\n\n <div class=\"no-content\">\n @if (noContentTemplate()) {\n <ng-container\n *ngTemplateOutlet=\"\n noContentTemplate();\n context: { $implicit: data() }\n \"\n ></ng-container>\n } @else {\n <span class=\"default-add\">ADD</span>\n }\n </div>\n\n <div class=\"dropdown-input-container\">\n <input\n #inputRef\n type=\"text\"\n class=\"dispatch-dropdown-input\"\n [tabIndex]=\"!!data() || isLocked() ? -1 : 0\"\n (focus)=\"handleFocus()\"\n (blur)=\"handleBlur()\"\n (keydown)=\"handleKeydown($event)\"\n [placeholder]=\"config().placeholder\"\n [(ngModel)]=\"searchValue\"\n (input)=\"handleSearch($event)\"\n />\n </div>\n </div>\n\n @let isButtonLocked =\n isLocked() || (hasNoRemoveButton() && !!data() && !isEditable());\n\n @let buttonTooltip =\n isDisabled()\n ? disabledTooltip()\n : dropdownOpen()\n ? \"Cancel\"\n : data()\n ? \"Remove\"\n : \"\";\n\n @let buttonTooltipClass =\n isDisabled()\n ? \"input-tooltip tooltip-m-t-4\"\n : dropdownOpen() || !data() || isEditable()\n ? \"input-tooltip tooltip-m-t-4 tooltip-bg-white-700 tooltip-text-black-500\"\n : \"input-tooltip tooltip-m-t-4 tooltip-bg-red-500\";\n\n <div class=\"buttons-container\" [class.locked]=\"isButtonLocked\">\n <div\n class=\"primary-button\"\n [class.disabled]=\"isDisabled()\"\n (pointerdown)=\"isDisabled() ? null : handlePrimaryButtonClick($event)\"\n [ngbTooltip]=\"buttonTooltip\"\n [tooltipClass]=\"buttonTooltipClass\"\n [container]=\"'body'\"\n [autoClose]=\"true\"\n [openDelay]=\"600\"\n [placement]=\"'bottom'\"\n >\n <svg-icon name=\"cai-plus\" class=\"primary-button-icon\"></svg-icon>\n </div>\n <div class=\"dragging-indicator\">\n <svg-icon name=\"cai-drag\" class=\"dragging-icon\"></svg-icon>\n </div>\n </div>\n\n <div class=\"dropdown-anchor\" ngbDropdownAnchor></div>\n\n <div\n class=\"dropdown-menu dispatch-dropdown-menu\"\n [class.hide-dropdown]=\"hideDropdownMenu()\"\n #dropdownMenu\n ngbDropdownMenu\n (click)=\"stopEventPropagationAndPreventDefault($event)\"\n (pointerdown)=\"stopEventPropagationAndPreventDefault($event)\"\n [style.width.px]=\"containerWidth()\"\n [class.closing]=\"closing()\"\n [style.--max-height]=\"\n config().isGrouped ? groupMaxHeightStyle() : maxHeightStyle()\n \"\n [style.--container-height]=\"\n config().hasPagination || config().isGrouped\n ? '244px'\n : containerHeightStyle()\n \"\n >\n <div class=\"dropdown-menu-content\">\n <div class=\"dropdown-menu-separator\"></div>\n\n @if (config().isGrouped) {\n <ng-container *ngTemplateOutlet=\"groupedOptionsTemplate\"></ng-container>\n } @else {\n <ng-container *ngTemplateOutlet=\"optionsTemplate\"></ng-container>\n }\n </div>\n </div>\n</div>\n\n<ng-template #optionsTemplate>\n @if (highlightedOptions().length) {\n @for (option of highlightedOptions(); track option?.id ?? $index) {\n <ng-container\n *ngTemplateOutlet=\"dropdownItemTemplate; context: { $implicit: option }\"\n ></ng-container>\n }\n } @else {\n <ng-container *ngTemplateOutlet=\"noResultsTemplate\"></ng-container>\n }\n</ng-template>\n\n<ng-template #groupedOptionsTemplate>\n @if (filteredGroupedOptions().length) {\n @for (group of filteredGroupedOptions(); track group?.id ?? $index) {\n <div class=\"dropdown-group-container\">\n <div\n class=\"dropdown-group-header\"\n [class.collapsed]=\"group.isCollapsed\"\n (pointerdown)=\"toggleGroup($event, group.groupName)\"\n >\n <p class=\"dropdown-group-label\" [innerHTML]=\"group.groupName\"></p>\n <div class=\"header-right\">\n <div class=\"counter\">{{ group.highlightedOptions.length }}</div>\n <svg-icon\n name=\"cai-arrow-primary-up\"\n class=\"dropdown-icon\"\n ></svg-icon>\n </div>\n </div>\n\n @let groupHeight =\n (group.highlightedOptions.length || (config().hasNoAddNew ? 1 : 2)) *\n 30 +\n \"px\";\n <div\n class=\"dropdown-group\"\n [class.collapsed]=\"group.isCollapsed\"\n [style.--group-height]=\"groupHeight\"\n >\n @if (group.highlightedOptions.length) {\n @for (\n option of group.highlightedOptions;\n track option?.id ?? $index\n ) {\n <ng-container\n *ngTemplateOutlet=\"\n dropdownItemTemplate;\n context: { $implicit: option }\n \"\n ></ng-container>\n }\n } @else {\n <ng-container\n *ngTemplateOutlet=\"noResultsTemplate; context: { id: group.id }\"\n ></ng-container>\n }\n </div>\n </div>\n }\n } @else {\n <ng-container\n *ngTemplateOutlet=\"noResultsTemplate; context: { id: null }\"\n ></ng-container>\n }\n</ng-template>\n\n<ng-template #noResultsTemplate let-id=\"id\">\n @if (!hasNoAddNew) {\n <div class=\"dropdown-item add-new\" (pointerdown)=\"handleAddNew(id ?? null)\">\n <p class=\"add-new-text\">ADD NEW</p>\n <svg-icon name=\"cai-plus\" class=\"add-item-icon\"></svg-icon>\n </div>\n }\n <div class=\"dropdown-item no-results\">\n <p>No results</p>\n </div>\n</ng-template>\n\n<ng-template #dropdownItemTemplate let-option>\n <div class=\"dropdown-item\" (pointerdown)=\"handleOption($event, option)\">\n <ng-container\n *ngTemplateOutlet=\"optionTemplateLeft(); context: { $implicit: option }\"\n ></ng-container>\n <p [innerHTML]=\"option.highlighted\"></p>\n <ng-container\n *ngTemplateOutlet=\"optionTemplateRight(); context: { $implicit: option }\"\n ></ng-container>\n </div>\n</ng-template>\n", styles: ["input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{transition:background-color 5000s ease-in-out 0s!important}input:-webkit-autofill:focus{-webkit-text-fill-color:#ffffff!important}input:-moz-autofill,input:-moz-autofill-preview{filter:none}*,*:before,*:after{box-sizing:border-box;border-width:0;border-style:solid}p,ul,ol,dl,blockquote,figure,pre{margin:0}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button{background:none;border:none;padding:0}img,svg,video,canvas,audio,iframe,embed,object{display:block;max-width:100%;height:auto}ul,ol{padding-left:1.5rem;list-style-position:outside}a{color:inherit;text-decoration:inherit}table{border-collapse:collapse;border-spacing:0}:focus:not(:focus-visible){outline:none}.dispatch-dropdown{height:34px;border-radius:3px;background-color:transparent;transition:background-color .1s cubic-bezier(.46,.03,.51,.95),border-radius .1s cubic-bezier(.46,.03,.51,.95);isolation:isolate;padding:4px;display:flex;align-items:center}.dispatch-dropdown.editable{cursor:pointer}.dispatch-dropdown:not(.open):not(.has-data):not(.is-locked){cursor:pointer}.dispatch-dropdown:not(.open):not(.has-data):not(.is-locked) .no-content{opacity:1;pointer-events:auto}.dispatch-dropdown:not(.open):not(.has-data):not(.is-locked):hover{background-color:#0b49d1}.dispatch-dropdown:not(.open):not(.has-data):not(.is-locked):hover .primary-button-icon{color:#bed0f9}.dispatch-dropdown:not(.open):not(.has-data):not(.is-locked):hover .default-add{color:#fff}.dispatch-dropdown.is-locked:not(.has-data) .no-content{opacity:0!important;pointer-events:none!important}.dispatch-dropdown.has-no-add:not(.open) .primary-button,.dispatch-dropdown.has-no-content-template:not(.open) .primary-button{opacity:0;pointer-events:none}.dispatch-dropdown.has-no-add:not(.open) .buttons-container,.dispatch-dropdown.has-no-content-template:not(.open) .buttons-container{width:0px}.dispatch-dropdown.has-no-add:not(.open) .primary-button-icon,.dispatch-dropdown.has-no-content-template:not(.open) .primary-button-icon{color:transparent!important;transform:rotate(45deg)}.dispatch-dropdown.has-no-add:not(.open):hover,.dispatch-dropdown.has-no-content-template:not(.open):hover{background-color:transparent!important}.dispatch-dropdown.has-no-content-template .no-content{margin-left:0!important}.dispatch-dropdown.has-no-add:not(.open) .no-content{opacity:0!important;pointer-events:none!important}.dispatch-dropdown.has-data:not(.open) .dispatch-template{opacity:1;pointer-events:auto;-webkit-user-select:auto;user-select:auto}.dispatch-dropdown.has-data:not(.open) .no-content{opacity:0!important;pointer-events:none!important}.dispatch-dropdown.has-data:not(.open) .dropdown-input-container{opacity:0;pointer-events:none}.dispatch-dropdown.has-data:not(.open):not(.editable) .primary-button{pointer-events:auto}.dispatch-dropdown.has-data:not(.open):not(.editable) .primary-button .primary-button-icon{color:#919191;transform:rotate(45deg)}.dispatch-dropdown.has-data:not(.open):not(.editable) .primary-button:hover:not(.disabled){background-color:#f4bebe!important}.dispatch-dropdown.has-data:not(.open):not(.editable) .primary-button:hover:not(.disabled) .primary-button-icon{color:#c20c0c!important}.dispatch-dropdown.is-locked .buttons-container,.dispatch-dropdown.has-no-remove-button.has-data .buttons-container{width:0px}.dispatch-dropdown.open{background-color:#2f2f2f}.dispatch-dropdown.open .no-content{opacity:0;pointer-events:none}.dispatch-dropdown.open .dispatch-dropdown-input{opacity:1;pointer-events:auto;-webkit-user-select:auto;user-select:auto}.dispatch-dropdown.open .primary-button-icon{transform:rotate(45deg);color:#919191}.dispatch-dropdown.open .dispatch-template{opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none}.dispatch-dropdown.open .primary-button{pointer-events:auto}.dispatch-dropdown.open .primary-button:hover{background-color:#91919166!important}.dispatch-dropdown.open .primary-button:hover .primary-button-icon{color:#dadada!important}.main-container{position:relative;flex:1;height:26px}.dispatch-template{opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:26px}.dispatch-template,.no-content,.dropdown-input-container{position:absolute;top:0;left:0;transition:opacity .1s cubic-bezier(.46,.03,.51,.95)}.no-content{height:26px;display:flex;align-items:center;transition:opacity .1s cubic-bezier(.46,.03,.51,.95);margin-left:10px;-webkit-user-select:none;user-select:none}.default-add{color:#424242;font-size:11px;font-weight:500;text-transform:uppercase;transition:color .1s cubic-bezier(.46,.03,.51,.95)}.buttons-container{position:relative;z-index:1;height:26px;-webkit-user-select:none;user-select:none;width:26px}.buttons-container.locked .primary-button{pointer-events:none!important;opacity:0}.buttons-container.dragging .dragging-indicator{opacity:1!important;pointer-events:auto}.buttons-container.dragging .primary-button{opacity:0!important;pointer-events:none}.buttons-container .primary-button{opacity:1;pointer-events:auto}.buttons-container .dragging-indicator{opacity:0;pointer-events:none}.primary-button,.dragging-indicator{position:absolute;bottom:0;right:0;z-index:1;transition:opacity .1s cubic-bezier(.46,.03,.51,.95)}.dragging-indicator{padding:4px;width:26px;height:26px}.primary-button{position:absolute;right:0;bottom:0;-webkit-user-select:none;user-select:none;cursor:pointer;padding:4px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:2px;transition:opacity .1s cubic-bezier(.46,.03,.51,.95),background-color .1s cubic-bezier(.46,.03,.51,.95)}.primary-button .primary-button-icon{display:flex;align-items:center;justify-content:center;color:#6692f1;transition:color .1s cubic-bezier(.46,.03,.51,.95),opacity .1s cubic-bezier(.46,.03,.51,.95),transform .1s cubic-bezier(.46,.03,.51,.95)}.primary-button .primary-button-icon svg{height:18px;width:18px}.primary-button.disabled{cursor:default}.primary-button.disabled .primary-button-icon{color:#ccc!important}.dropdown-input-container{padding:4px 8px 4px 6px;height:26px;display:flex;align-items:center;justify-content:flex-start}.dispatch-dropdown-input{height:18px;border:0;outline:none;background-color:transparent;color:#fff;padding:0;margin:0;width:100%;font-size:14px;font-weight:400;line-height:18px;opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;transition:opacity .1s cubic-bezier(.46,.03,.51,.95)}.dispatch-dropdown-input ::placeholder{color:#6c6c6c}.dropdown-anchor{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:0;opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none}.dropdown-menu{min-width:0px!important;width:100%;background-color:transparent;border:0;padding:0!important;z-index:1100!important;height:var(--container-height);max-height:var(--container-height);transition:opacity .1s cubic-bezier(.46,.03,.51,.95)!important}.dropdown-menu .dropdown-menu-content{position:absolute;width:100%;padding:2px 0 4px 4px;background-color:#2f2f2f;max-height:var(--max-height);height:var(--max-height);overflow-y:scroll;scrollbar-gutter:stable}.dropdown-menu .dropdown-menu-content::-webkit-scrollbar{background-color:#2f2f2f;border-radius:0 3px 3px 0;width:6px}.dropdown-menu .dropdown-menu-content::-webkit-scrollbar-thumb{background-color:#919191;width:2px;border:2px solid #2f2f2f;border-radius:3px}@supports (-moz-appearance: none){.dropdown-menu .dropdown-menu-content{padding-right:6px;scrollbar-width:4px;scrollbar-color:#919191 transparent;scrollbar-gutter:stable!important}.dropdown-menu .dropdown-menu-content:hover{scrollbar-color:#919191 transparent;scrollbar-width:4px!important;scrollbar-gutter:stable!important}}@-moz-document url-prefix(){.dropdown-menu .dropdown-menu-content{overflow:-moz-scrollbars-vertical;scrollbar-width:4px;scrollbar-color:#919191 transparent}}.dropdown-menu .dropdown-menu-content{transition:max-height .1s cubic-bezier(.46,.03,.51,.95),height .1s cubic-bezier(.46,.03,.51,.95)!important}@starting-style{.dropdown-menu .dropdown-menu-content{max-height:0;overflow-y:hidden}}.dropdown-menu .dropdown-menu-content{animation:dropdown-menu-opening .1s cubic-bezier(.46,.03,.51,.95)}@starting-style{.dropdown-menu{opacity:0;overflow-y:hidden}}.dropdown-menu.closing,.dropdown-menu.hide-dropdown{opacity:0}.dropdown-menu.closing .dropdown-menu-content,.dropdown-menu.hide-dropdown .dropdown-menu-content{max-height:0;overflow-y:hidden;animation:none}@keyframes dropdown-menu-opening{0%{overflow-y:hidden}99%{overflow-y:hidden}to{overflow-y:scroll}}.dropdown-item{color:#fff;font-weight:400;font-size:14px;line-height:18px;height:26px;padding:4px 6px;width:100%;display:flex;align-items:center;gap:4px;-webkit-user-select:none;user-select:none;cursor:pointer;background-color:#2f2f2f;transition:background-color .1s cubic-bezier(.46,.03,.51,.95),color .1s cubic-bezier(.46,.03,.51,.95);border-radius:2px;position:relative;margin-top:4px}.dropdown-item:hover{background-color:#424242;color:#fff}.dropdown-item:focus-visible{background-color:#424242;border:0;outline:none}.dropdown-item p{flex-shrink:1;max-width:max-content;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-group-header{color:#fff;font-weight:700;font-size:11px;line-height:18px;height:30px;padding:8px 4px 4px;width:100%;display:flex;align-items:center;gap:4px;-webkit-user-select:none;user-select:none;cursor:pointer;background-color:#2f2f2f;transition:background-color .1s cubic-bezier(.46,.03,.51,.95),color .1s cubic-bezier(.46,.03,.51,.95);position:relative}.dropdown-group-header:hover{color:#fff!important}.dropdown-group-header:hover .dropdown-icon{opacity:1!important;color:#ffffffb3!important}.dropdown-group-header:hover .counter{opacity:0!important}.dropdown-group-header:focus-visible{border:0;outline:none}.dropdown-group-header p{flex-shrink:1;max-width:max-content;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:18px}.dropdown-group-header .dropdown-icon{transition:color .1s cubic-bezier(.46,.03,.51,.95),transform .1s cubic-bezier(.46,.03,.51,.95),opacity .1s cubic-bezier(.46,.03,.51,.95);color:#ffffffb3;position:absolute;top:2px;right:2px;opacity:0}.dropdown-group-header .counter{display:flex;padding:1px 4px;flex-direction:column;justify-content:center;align-items:center;min-width:16px;color:#eee;text-align:center;font-size:11px;font-weight:600;line-height:14px;border-radius:60px;background-color:#424242;-webkit-user-select:none;user-select:none;transition:opacity .1s cubic-bezier(.46,.03,.51,.95)}.dropdown-group-header.collapsed{color:#aaa}.dropdown-group-header.collapsed .counter{opacity:0}.dropdown-group-header.collapsed .dropdown-icon{color:#919191;transform:rotateX(180deg);opacity:1!important}.dropdown-group-container{position:relative}.dropdown-group-container:not(:nth-child(2)) .dropdown-group-header{border-top:1px solid #424242;margin-top:3px}.header-right{height:18px;padding-left:4px;position:relative;margin-left:auto}.dropdown-group{overflow:hidden;height:var(--group-height);max-height:var(--group-height);transition:height .1s cubic-bezier(.46,.03,.51,.95),max-height .1s cubic-bezier(.46,.03,.51,.95)}.dropdown-group.collapsed{height:0;max-height:0}.no-results{color:#919191;font-weight:700;font-size:11px;line-height:14px;pointer-events:none}.dropdown-menu-separator{position:fixed;z-index:30;width:calc(100% - 8px);height:1px;background-color:transparent;border-bottom:1px solid #424242;margin-top:-1px}.add-new{font-size:11px;line-height:14px;font-weight:700;color:#92b1f5;border-radius:2px;background-color:transparent;transition:background-color .1s cubic-bezier(.46,.03,.51,.95),color .1s cubic-bezier(.46,.03,.51,.95)}.add-new:hover{background-color:#3b73ed66;color:#fff}.add-new .add-item-icon{opacity:1;color:#92b1f5;margin-left:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type:
|
|
10955
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: DispatchDropdownComponent, isStandalone: true, selector: "cai-dispatch-dropdown", inputs: { selectedOption: { classPropertyName: "selectedOption", publicName: "selectedOption", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, isEditable: { classPropertyName: "isEditable", publicName: "isEditable", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, isLocked: { classPropertyName: "isLocked", publicName: "isLocked", isSignal: true, isRequired: false, transformFunction: null }, hasNoRemoveButton: { classPropertyName: "hasNoRemoveButton", publicName: "hasNoRemoveButton", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, disabledTooltip: { classPropertyName: "disabledTooltip", publicName: "disabledTooltip", isSignal: true, isRequired: false, transformFunction: null }, contentTemplate: { classPropertyName: "contentTemplate", publicName: "contentTemplate", isSignal: true, isRequired: false, transformFunction: null }, optionTemplateLeft: { classPropertyName: "optionTemplateLeft", publicName: "optionTemplateLeft", isSignal: true, isRequired: false, transformFunction: null }, optionTemplateRight: { classPropertyName: "optionTemplateRight", publicName: "optionTemplateRight", isSignal: true, isRequired: false, transformFunction: null }, noContentTemplate: { classPropertyName: "noContentTemplate", publicName: "noContentTemplate", isSignal: true, isRequired: false, transformFunction: null }, hideDropdownMenu: { classPropertyName: "hideDropdownMenu", publicName: "hideDropdownMenu", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelectionChange: "onSelectionChange", onRemove: "onRemove", onAddNew: "onAddNew", onSearch: "onSearch", onToggleDropdown: "onToggleDropdown", onBlur: "onBlur" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }, { propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }, { propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }], ngImport: i0, template: "@let hasNoAdd = config().hasNoAdd ?? false;\n@let hasNoAddNew = config().hasNoAddNew ?? false;\n@let optionLabel = config().optionLabel ?? \"name\";\n@let groupLabel = config().groupLabel ?? \"name\";\n\n<div\n #container\n class=\"dispatch-dropdown\"\n [ngClass]=\"{\n open: dropdownOpen(),\n 'has-data': !!data(),\n 'is-locked': isLocked(),\n 'has-no-remove-button': hasNoRemoveButton(),\n 'has-no-add': hasNoAdd,\n 'has-no-content-template': noContentTemplate(),\n editable: isEditable(),\n }\"\n ngbDropdown\n #dropdown=\"ngbDropdown\"\n dropdownClass=\"cai-dropdown\"\n [autoClose]=\"false\"\n [container]=\"'body'\"\n (pointerdown)=\"handleClick($event)\"\n (openChange)=\"handleOpenChange($event)\"\n>\n <div class=\"main-container\">\n <div class=\"dispatch-template\">\n @if (data()) {\n <ng-container\n *ngTemplateOutlet=\"contentTemplate(); context: { $implicit: data() }\"\n ></ng-container>\n }\n </div>\n\n <div class=\"no-content\">\n @if (noContentTemplate()) {\n <ng-container\n *ngTemplateOutlet=\"\n noContentTemplate();\n context: { $implicit: data() }\n \"\n ></ng-container>\n } @else {\n <span class=\"default-add\">ADD</span>\n }\n </div>\n\n <div class=\"dropdown-input-container\">\n <input\n #inputRef\n type=\"text\"\n class=\"dispatch-dropdown-input\"\n [tabIndex]=\"!!data() || isLocked() ? -1 : 0\"\n (focus)=\"handleFocus()\"\n (blur)=\"handleBlur()\"\n (keydown)=\"handleKeydown($event)\"\n [placeholder]=\"config().placeholder\"\n [(ngModel)]=\"searchValue\"\n (input)=\"handleSearch($event)\"\n />\n </div>\n </div>\n\n @let isButtonLocked =\n isLocked() || (hasNoRemoveButton() && !!data() && !isEditable());\n\n @let buttonTooltip =\n isDisabled()\n ? disabledTooltip()\n : dropdownOpen()\n ? \"Cancel\"\n : data()\n ? \"Remove\"\n : \"\";\n\n @let buttonTooltipClass =\n isDisabled()\n ? \"input-tooltip tooltip-m-t-4\"\n : dropdownOpen() || !data() || isEditable()\n ? \"input-tooltip tooltip-m-t-4 tooltip-bg-white-700 tooltip-text-black-500\"\n : \"input-tooltip tooltip-m-t-4 tooltip-bg-red-500\";\n\n <div class=\"buttons-container\" [class.locked]=\"isButtonLocked\">\n <div\n class=\"primary-button\"\n [class.disabled]=\"isDisabled()\"\n (pointerdown)=\"isDisabled() ? null : handlePrimaryButtonClick($event)\"\n [ngbTooltip]=\"buttonTooltip\"\n [tooltipClass]=\"buttonTooltipClass\"\n [container]=\"'body'\"\n [autoClose]=\"true\"\n [openDelay]=\"600\"\n [placement]=\"'bottom'\"\n >\n <svg-icon name=\"cai-plus\" class=\"primary-button-icon\"></svg-icon>\n </div>\n <div class=\"dragging-indicator\">\n <svg-icon name=\"cai-drag\" class=\"dragging-icon\"></svg-icon>\n </div>\n </div>\n\n <div class=\"dropdown-anchor\" ngbDropdownAnchor></div>\n\n <div\n class=\"dropdown-menu dispatch-dropdown-menu\"\n [class.hide-dropdown]=\"hideDropdownMenu()\"\n #dropdownMenu\n ngbDropdownMenu\n (click)=\"stopEventPropagationAndPreventDefault($event)\"\n (pointerdown)=\"stopEventPropagationAndPreventDefault($event)\"\n [style.width.px]=\"containerWidth()\"\n [class.closing]=\"closing()\"\n [style.--max-height]=\"\n config().isGrouped ? groupMaxHeightStyle() : maxHeightStyle()\n \"\n [style.--container-height]=\"\n config().hasPagination || config().isGrouped\n ? '244px'\n : containerHeightStyle()\n \"\n >\n <div class=\"dropdown-menu-content\">\n <div class=\"dropdown-menu-separator\"></div>\n\n @if (config().isGrouped) {\n <ng-container *ngTemplateOutlet=\"groupedOptionsTemplate\"></ng-container>\n } @else {\n <ng-container *ngTemplateOutlet=\"optionsTemplate\"></ng-container>\n }\n </div>\n </div>\n</div>\n\n<ng-template #optionsTemplate>\n @if (highlightedOptions().length) {\n @for (option of highlightedOptions(); track option?.id ?? $index) {\n <ng-container\n *ngTemplateOutlet=\"dropdownItemTemplate; context: { $implicit: option }\"\n ></ng-container>\n }\n } @else {\n <ng-container *ngTemplateOutlet=\"noResultsTemplate\"></ng-container>\n }\n</ng-template>\n\n<ng-template #groupedOptionsTemplate>\n @if (filteredGroupedOptions().length) {\n @for (group of filteredGroupedOptions(); track group?.id ?? $index) {\n <div class=\"dropdown-group-container\">\n <div\n class=\"dropdown-group-header\"\n [class.collapsed]=\"group.isCollapsed\"\n (pointerdown)=\"toggleGroup($event, group.groupName)\"\n >\n <p class=\"dropdown-group-label\" [innerHTML]=\"group.groupName\"></p>\n <div class=\"header-right\">\n <div class=\"counter\">{{ group.highlightedOptions.length }}</div>\n <svg-icon\n name=\"cai-arrow-primary-up\"\n class=\"dropdown-icon\"\n ></svg-icon>\n </div>\n </div>\n\n @let groupHeight =\n (group.highlightedOptions.length || (config().hasNoAddNew ? 1 : 2)) *\n 30 +\n \"px\";\n <div\n class=\"dropdown-group\"\n [class.collapsed]=\"group.isCollapsed\"\n [style.--group-height]=\"groupHeight\"\n >\n @if (group.highlightedOptions.length) {\n @for (\n option of group.highlightedOptions;\n track option?.id ?? $index\n ) {\n <ng-container\n *ngTemplateOutlet=\"\n dropdownItemTemplate;\n context: { $implicit: option }\n \"\n ></ng-container>\n }\n } @else {\n <ng-container\n *ngTemplateOutlet=\"noResultsTemplate; context: { id: group.id }\"\n ></ng-container>\n }\n </div>\n </div>\n }\n } @else {\n <ng-container\n *ngTemplateOutlet=\"noResultsTemplate; context: { id: null }\"\n ></ng-container>\n }\n</ng-template>\n\n<ng-template #noResultsTemplate let-id=\"id\">\n @if (!hasNoAddNew) {\n <div class=\"dropdown-item add-new\" (pointerdown)=\"handleAddNew(id ?? null)\">\n <p class=\"add-new-text\">ADD NEW</p>\n <svg-icon name=\"cai-plus\" class=\"add-item-icon\"></svg-icon>\n </div>\n }\n <div class=\"dropdown-item no-results\">\n <p>No results</p>\n </div>\n</ng-template>\n\n<ng-template #dropdownItemTemplate let-option>\n <div class=\"dropdown-item\" (pointerdown)=\"handleOption($event, option)\">\n <ng-container\n *ngTemplateOutlet=\"optionTemplateLeft(); context: { $implicit: option }\"\n ></ng-container>\n <p [innerHTML]=\"option.highlighted\"></p>\n <ng-container\n *ngTemplateOutlet=\"optionTemplateRight(); context: { $implicit: option }\"\n ></ng-container>\n </div>\n</ng-template>\n", styles: ["input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{transition:background-color 5000s ease-in-out 0s!important}input:-webkit-autofill:focus{-webkit-text-fill-color:#ffffff!important}input:-moz-autofill,input:-moz-autofill-preview{filter:none}*,*:before,*:after{box-sizing:border-box;border-width:0;border-style:solid}p,ul,ol,dl,blockquote,figure,pre{margin:0}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button{background:none;border:none;padding:0}img,svg,video,canvas,audio,iframe,embed,object{display:block;max-width:100%;height:auto}ul,ol{padding-left:1.5rem;list-style-position:outside}a{color:inherit;text-decoration:inherit}table{border-collapse:collapse;border-spacing:0}:focus:not(:focus-visible){outline:none}.dispatch-dropdown{height:34px;border-radius:3px;background-color:transparent;transition:background-color .1s cubic-bezier(.46,.03,.51,.95),border-radius .1s cubic-bezier(.46,.03,.51,.95);isolation:isolate;padding:4px;display:flex;align-items:center}.dispatch-dropdown.editable{cursor:pointer}.dispatch-dropdown:not(.open):not(.has-data):not(.is-locked){cursor:pointer}.dispatch-dropdown:not(.open):not(.has-data):not(.is-locked) .no-content{opacity:1;pointer-events:auto}.dispatch-dropdown:not(.open):not(.has-data):not(.is-locked):hover{background-color:#0b49d1}.dispatch-dropdown:not(.open):not(.has-data):not(.is-locked):hover .primary-button-icon{color:#bed0f9}.dispatch-dropdown:not(.open):not(.has-data):not(.is-locked):hover .default-add{color:#fff}.dispatch-dropdown.is-locked:not(.has-data) .no-content{opacity:0!important;pointer-events:none!important}.dispatch-dropdown.has-no-add:not(.open) .primary-button,.dispatch-dropdown.has-no-content-template:not(.open) .primary-button{opacity:0;pointer-events:none}.dispatch-dropdown.has-no-add:not(.open) .buttons-container,.dispatch-dropdown.has-no-content-template:not(.open) .buttons-container{width:0px}.dispatch-dropdown.has-no-add:not(.open) .primary-button-icon,.dispatch-dropdown.has-no-content-template:not(.open) .primary-button-icon{color:transparent!important;transform:rotate(45deg)}.dispatch-dropdown.has-no-add:not(.open):hover,.dispatch-dropdown.has-no-content-template:not(.open):hover{background-color:transparent!important}.dispatch-dropdown.has-no-content-template .no-content{margin-left:0!important}.dispatch-dropdown.has-no-add:not(.open) .no-content{opacity:0!important;pointer-events:none!important}.dispatch-dropdown.has-data:not(.open) .dispatch-template{opacity:1;pointer-events:auto;-webkit-user-select:auto;user-select:auto}.dispatch-dropdown.has-data:not(.open) .no-content{opacity:0!important;pointer-events:none!important}.dispatch-dropdown.has-data:not(.open) .dropdown-input-container{opacity:0;pointer-events:none}.dispatch-dropdown.has-data:not(.open):not(.editable) .primary-button{pointer-events:auto}.dispatch-dropdown.has-data:not(.open):not(.editable) .primary-button .primary-button-icon{color:#919191;transform:rotate(45deg)}.dispatch-dropdown.has-data:not(.open):not(.editable) .primary-button:hover:not(.disabled){background-color:#f4bebe!important}.dispatch-dropdown.has-data:not(.open):not(.editable) .primary-button:hover:not(.disabled) .primary-button-icon{color:#c20c0c!important}.dispatch-dropdown.is-locked .buttons-container,.dispatch-dropdown.has-no-remove-button.has-data .buttons-container{width:0px}.dispatch-dropdown.open{background-color:#2f2f2f}.dispatch-dropdown.open .no-content{opacity:0;pointer-events:none}.dispatch-dropdown.open .dispatch-dropdown-input{opacity:1;pointer-events:auto;-webkit-user-select:auto;user-select:auto}.dispatch-dropdown.open .primary-button-icon{transform:rotate(45deg);color:#919191}.dispatch-dropdown.open .dispatch-template{opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none}.dispatch-dropdown.open .primary-button{pointer-events:auto}.dispatch-dropdown.open .primary-button:hover{background-color:#91919166!important}.dispatch-dropdown.open .primary-button:hover .primary-button-icon{color:#dadada!important}.main-container{position:relative;flex:1;height:26px}.dispatch-template{opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:26px}.dispatch-template,.no-content,.dropdown-input-container{position:absolute;top:0;left:0;transition:opacity .1s cubic-bezier(.46,.03,.51,.95)}.no-content{height:26px;display:flex;align-items:center;transition:opacity .1s cubic-bezier(.46,.03,.51,.95);margin-left:10px;-webkit-user-select:none;user-select:none}.default-add{color:#424242;font-size:11px;font-weight:500;text-transform:uppercase;transition:color .1s cubic-bezier(.46,.03,.51,.95)}.buttons-container{position:relative;z-index:1;height:26px;-webkit-user-select:none;user-select:none;width:26px}.buttons-container.locked .primary-button{pointer-events:none!important;opacity:0}.buttons-container.dragging .dragging-indicator{opacity:1!important;pointer-events:auto}.buttons-container.dragging .primary-button{opacity:0!important;pointer-events:none}.buttons-container .primary-button{opacity:1;pointer-events:auto}.buttons-container .dragging-indicator{opacity:0;pointer-events:none}.primary-button,.dragging-indicator{position:absolute;bottom:0;right:0;z-index:1;transition:opacity .1s cubic-bezier(.46,.03,.51,.95)}.dragging-indicator{padding:4px;width:26px;height:26px}.primary-button{position:absolute;right:0;bottom:0;-webkit-user-select:none;user-select:none;cursor:pointer;padding:4px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:2px;transition:opacity .1s cubic-bezier(.46,.03,.51,.95),background-color .1s cubic-bezier(.46,.03,.51,.95)}.primary-button .primary-button-icon{display:flex;align-items:center;justify-content:center;color:#6692f1;transition:color .1s cubic-bezier(.46,.03,.51,.95),opacity .1s cubic-bezier(.46,.03,.51,.95),transform .1s cubic-bezier(.46,.03,.51,.95)}.primary-button .primary-button-icon svg{height:18px;width:18px}.primary-button.disabled{cursor:default}.primary-button.disabled .primary-button-icon{color:#ccc!important}.dropdown-input-container{padding:4px 8px 4px 6px;height:26px;display:flex;align-items:center;justify-content:flex-start}.dispatch-dropdown-input{height:18px;border:0;outline:none;background-color:transparent;color:#fff;padding:0;margin:0;width:100%;font-size:14px;font-weight:400;line-height:18px;opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;transition:opacity .1s cubic-bezier(.46,.03,.51,.95)}.dispatch-dropdown-input ::placeholder{color:#6c6c6c}.dropdown-anchor{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:0;opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none}.dropdown-menu{min-width:0px!important;width:100%;background-color:transparent;border:0;padding:0!important;z-index:1100!important;height:var(--container-height);max-height:var(--container-height);transition:opacity .1s cubic-bezier(.46,.03,.51,.95)!important}.dropdown-menu .dropdown-menu-content{position:absolute;width:100%;padding:2px 0 4px 4px;background-color:#2f2f2f;max-height:var(--max-height);height:var(--max-height);overflow-y:scroll;scrollbar-gutter:stable}.dropdown-menu .dropdown-menu-content::-webkit-scrollbar{background-color:#2f2f2f;border-radius:0 3px 3px 0;width:6px}.dropdown-menu .dropdown-menu-content::-webkit-scrollbar-thumb{background-color:#919191;width:2px;border:2px solid #2f2f2f;border-radius:3px}@supports (-moz-appearance: none){.dropdown-menu .dropdown-menu-content{padding-right:6px;scrollbar-width:4px;scrollbar-color:#919191 transparent;scrollbar-gutter:stable!important}.dropdown-menu .dropdown-menu-content:hover{scrollbar-color:#919191 transparent;scrollbar-width:4px!important;scrollbar-gutter:stable!important}}@-moz-document url-prefix(){.dropdown-menu .dropdown-menu-content{overflow:-moz-scrollbars-vertical;scrollbar-width:4px;scrollbar-color:#919191 transparent}}.dropdown-menu .dropdown-menu-content{transition:max-height .1s cubic-bezier(.46,.03,.51,.95),height .1s cubic-bezier(.46,.03,.51,.95)!important}@starting-style{.dropdown-menu .dropdown-menu-content{max-height:0;overflow-y:hidden}}.dropdown-menu .dropdown-menu-content{animation:dropdown-menu-opening .1s cubic-bezier(.46,.03,.51,.95)}@starting-style{.dropdown-menu{opacity:0;overflow-y:hidden}}.dropdown-menu.closing,.dropdown-menu.hide-dropdown{opacity:0}.dropdown-menu.closing .dropdown-menu-content,.dropdown-menu.hide-dropdown .dropdown-menu-content{max-height:0;overflow-y:hidden;animation:none}@keyframes dropdown-menu-opening{0%{overflow-y:hidden}99%{overflow-y:hidden}to{overflow-y:scroll}}.dropdown-item{color:#fff;font-weight:400;font-size:14px;line-height:18px;height:26px;padding:4px 6px;width:100%;display:flex;align-items:center;gap:4px;-webkit-user-select:none;user-select:none;cursor:pointer;background-color:#2f2f2f;transition:background-color .1s cubic-bezier(.46,.03,.51,.95),color .1s cubic-bezier(.46,.03,.51,.95);border-radius:2px;position:relative;margin-top:4px}.dropdown-item:hover{background-color:#424242;color:#fff}.dropdown-item:focus-visible{background-color:#424242;border:0;outline:none}.dropdown-item p{flex-shrink:1;max-width:max-content;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-group-header{color:#fff;font-weight:700;font-size:11px;line-height:18px;height:30px;padding:8px 4px 4px;width:100%;display:flex;align-items:center;gap:4px;-webkit-user-select:none;user-select:none;cursor:pointer;background-color:#2f2f2f;transition:background-color .1s cubic-bezier(.46,.03,.51,.95),color .1s cubic-bezier(.46,.03,.51,.95);position:relative}.dropdown-group-header:hover{color:#fff!important}.dropdown-group-header:hover .dropdown-icon{opacity:1!important;color:#ffffffb3!important}.dropdown-group-header:hover .counter{opacity:0!important}.dropdown-group-header:focus-visible{border:0;outline:none}.dropdown-group-header p{flex-shrink:1;max-width:max-content;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:18px}.dropdown-group-header .dropdown-icon{transition:color .1s cubic-bezier(.46,.03,.51,.95),transform .1s cubic-bezier(.46,.03,.51,.95),opacity .1s cubic-bezier(.46,.03,.51,.95);color:#ffffffb3;position:absolute;top:2px;right:2px;opacity:0}.dropdown-group-header .counter{display:flex;padding:1px 4px;flex-direction:column;justify-content:center;align-items:center;min-width:16px;color:#eee;text-align:center;font-size:11px;font-weight:600;line-height:14px;border-radius:60px;background-color:#424242;-webkit-user-select:none;user-select:none;transition:opacity .1s cubic-bezier(.46,.03,.51,.95)}.dropdown-group-header.collapsed{color:#aaa}.dropdown-group-header.collapsed .counter{opacity:0}.dropdown-group-header.collapsed .dropdown-icon{color:#919191;transform:rotateX(180deg);opacity:1!important}.dropdown-group-container{position:relative}.dropdown-group-container:not(:nth-child(2)) .dropdown-group-header{border-top:1px solid #424242;margin-top:3px}.header-right{height:18px;padding-left:4px;position:relative;margin-left:auto}.dropdown-group{overflow:hidden;height:var(--group-height);max-height:var(--group-height);transition:height .1s cubic-bezier(.46,.03,.51,.95),max-height .1s cubic-bezier(.46,.03,.51,.95)}.dropdown-group.collapsed{height:0;max-height:0}.no-results{color:#919191;font-weight:700;font-size:11px;line-height:14px;pointer-events:none}.dropdown-menu-separator{position:fixed;z-index:30;width:calc(100% - 8px);height:1px;background-color:transparent;border-bottom:1px solid #424242;margin-top:-1px}.add-new{font-size:11px;line-height:14px;font-weight:700;color:#92b1f5;border-radius:2px;background-color:transparent;transition:background-color .1s cubic-bezier(.46,.03,.51,.95),color .1s cubic-bezier(.46,.03,.51,.95)}.add-new:hover{background-color:#3b73ed66;color:#fff}.add-new .add-item-icon{opacity:1;color:#92b1f5;margin-left:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type:
|
|
11086
10956
|
// Bootstrap
|
|
11087
10957
|
NgbDropdownModule }, { kind: "directive", type: i2.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i2.NgbDropdownAnchor, selector: "[ngbDropdownAnchor]" }, { kind: "directive", type: i2.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type:
|
|
11088
10958
|
// Components
|
|
@@ -11711,5 +11581,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
11711
11581
|
* Generated bundle index. Do not edit.
|
|
11712
11582
|
*/
|
|
11713
11583
|
|
|
11714
|
-
export { AvatarComponent, CaScrollableComponent, CaiInputDatetimePickerComponent, CopyComponent, CounterComponent, DEFAULT_DUAL_DROP_ZONES, DUAL_DROP_TARGETS, DispatchDropdownComponent, DispatchLocationComponent, DropZoneComponent, DropdownTypes, INPUT_CHARACTER_SETS, InputAddressComponent, InputComponent, IntervalDropdownComponent, ListContactDropdownComponent, PmComponent, RatingReviewComponent, ReviewModalComponent, SelectedBusinessFieldComponent, StickyScrollbarComponent, TabOptionDropdownComponent, TextAreaComponent, eScrollState, ignoreWhenAutofilled, sizes };
|
|
11584
|
+
export { AvatarComponent, CaScrollableComponent, CaiInputDatetimePickerComponent, CopyComponent, CounterComponent, DEFAULT_CROP_ZOOM, DEFAULT_DUAL_DROP_ZONES, DOCS_OR_VIDEO_VARIANTS, DUAL_DROP_TARGETS, DispatchDropdownComponent, DispatchLocationComponent, DropZoneComponent, DropdownTypes, IMAGE_PREVIEW_VARIANTS, INPUT_CHARACTER_SETS, InputAddressComponent, InputComponent, IntervalDropdownComponent, ListContactDropdownComponent, PmComponent, RatingReviewComponent, ReviewModalComponent, SelectedBusinessFieldComponent, StickyScrollbarComponent, TabOptionDropdownComponent, TextAreaComponent, eScrollState, ignoreWhenAutofilled, sizes };
|
|
11715
11585
|
//# sourceMappingURL=carriera-intern.mjs.map
|