@elxjs/ui 0.0.170
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/assets/fonts/electroluxsans_1_thin-demo.html +795 -0
- package/assets/fonts/electroluxsans_1_thin-webfont.eot +0 -0
- package/assets/fonts/electroluxsans_1_thin-webfont.svg +22258 -0
- package/assets/fonts/electroluxsans_1_thin-webfont.ttf +0 -0
- package/assets/fonts/electroluxsans_1_thin-webfont.woff +0 -0
- package/assets/fonts/electroluxsans_1_thin-webfont.woff2 +0 -0
- package/assets/fonts/electroluxsans_2_light-demo.html +795 -0
- package/assets/fonts/electroluxsans_2_light-webfont.eot +0 -0
- package/assets/fonts/electroluxsans_2_light-webfont.svg +22261 -0
- package/assets/fonts/electroluxsans_2_light-webfont.ttf +0 -0
- package/assets/fonts/electroluxsans_2_light-webfont.woff +0 -0
- package/assets/fonts/electroluxsans_2_light-webfont.woff2 +0 -0
- package/assets/fonts/electroluxsans_3_regular-demo.html +795 -0
- package/assets/fonts/electroluxsans_3_regular-webfont.eot +0 -0
- package/assets/fonts/electroluxsans_3_regular-webfont.svg +21871 -0
- package/assets/fonts/electroluxsans_3_regular-webfont.ttf +0 -0
- package/assets/fonts/electroluxsans_3_regular-webfont.woff +0 -0
- package/assets/fonts/electroluxsans_3_regular-webfont.woff2 +0 -0
- package/assets/fonts/electroluxsans_4_semibold-demo.html +795 -0
- package/assets/fonts/electroluxsans_4_semibold-webfont.eot +0 -0
- package/assets/fonts/electroluxsans_4_semibold-webfont.svg +24128 -0
- package/assets/fonts/electroluxsans_4_semibold-webfont.ttf +0 -0
- package/assets/fonts/electroluxsans_4_semibold-webfont.woff +0 -0
- package/assets/fonts/electroluxsans_4_semibold-webfont.woff2 +0 -0
- package/assets/fonts/electroluxsans_5_bold-demo.html +795 -0
- package/assets/fonts/electroluxsans_5_bold-webfont.eot +0 -0
- package/assets/fonts/electroluxsans_5_bold-webfont.svg +24066 -0
- package/assets/fonts/electroluxsans_5_bold-webfont.ttf +0 -0
- package/assets/fonts/electroluxsans_5_bold-webfont.woff +0 -0
- package/assets/fonts/electroluxsans_5_bold-webfont.woff2 +0 -0
- package/assets/fonts/electroluxsans_oblique_1_thin-demo.html +795 -0
- package/assets/fonts/electroluxsans_oblique_1_thin-webfont.eot +0 -0
- package/assets/fonts/electroluxsans_oblique_1_thin-webfont.svg +22374 -0
- package/assets/fonts/electroluxsans_oblique_1_thin-webfont.ttf +0 -0
- package/assets/fonts/electroluxsans_oblique_1_thin-webfont.woff +0 -0
- package/assets/fonts/electroluxsans_oblique_1_thin-webfont.woff2 +0 -0
- package/assets/fonts/electroluxsans_oblique_2_light-demo.html +795 -0
- package/assets/fonts/electroluxsans_oblique_2_light-webfont.eot +0 -0
- package/assets/fonts/electroluxsans_oblique_2_light-webfont.svg +22439 -0
- package/assets/fonts/electroluxsans_oblique_2_light-webfont.ttf +0 -0
- package/assets/fonts/electroluxsans_oblique_2_light-webfont.woff +0 -0
- package/assets/fonts/electroluxsans_oblique_2_light-webfont.woff2 +0 -0
- package/assets/fonts/electroluxsans_oblique_3_regular-demo.html +795 -0
- package/assets/fonts/electroluxsans_oblique_3_regular-webfont.eot +0 -0
- package/assets/fonts/electroluxsans_oblique_3_regular-webfont.svg +22295 -0
- package/assets/fonts/electroluxsans_oblique_3_regular-webfont.ttf +0 -0
- package/assets/fonts/electroluxsans_oblique_3_regular-webfont.woff2 +0 -0
- package/assets/fonts/electroluxsans_oblique_4_semibold-demo.html +795 -0
- package/assets/fonts/electroluxsans_oblique_4_semibold-webfont.svg +24396 -0
- package/assets/fonts/electroluxsans_oblique_4_semibold-webfont.ttf +0 -0
- package/assets/fonts/electroluxsans_oblique_4_semibold-webfont.woff +0 -0
- package/assets/fonts/electroluxsans_oblique_4_semibold-webfont.woff2 +0 -0
- package/assets/fonts/electroluxsans_oblique_5_bold-demo.html +795 -0
- package/assets/fonts/electroluxsans_oblique_5_bold-webfont.eot +0 -0
- package/assets/fonts/electroluxsans_oblique_5_bold-webfont.svg +24409 -0
- package/assets/fonts/electroluxsans_oblique_5_bold-webfont.ttf +0 -0
- package/assets/fonts/electroluxsans_oblique_5_bold-webfont.woff +0 -0
- package/assets/fonts/electroluxsans_oblique_5_bold-webfont.woff2 +0 -0
- package/assets/icons/Avatar.svg +5 -0
- package/assets/icons/Bell.svg +5 -0
- package/assets/icons/Block.svg +5 -0
- package/assets/icons/Blocked.svg +3 -0
- package/assets/icons/Book.svg +5 -0
- package/assets/icons/Calendar.svg +5 -0
- package/assets/icons/Camera.svg +3 -0
- package/assets/icons/Cart.svg +8 -0
- package/assets/icons/Chat.svg +6 -0
- package/assets/icons/Check.svg +4 -0
- package/assets/icons/Check_Tick.svg +5 -0
- package/assets/icons/Chevron_Down.svg +3 -0
- package/assets/icons/Chevron_Left.svg +3 -0
- package/assets/icons/Chevron_Left_Double.svg +8 -0
- package/assets/icons/Chevron_Right.svg +3 -0
- package/assets/icons/Chevron_Right_Double.svg +8 -0
- package/assets/icons/Chevron_Up.svg +3 -0
- package/assets/icons/Close.svg +11 -0
- package/assets/icons/Compare_Products.svg +5 -0
- package/assets/icons/Config.svg +5 -0
- package/assets/icons/Config_2.svg +5 -0
- package/assets/icons/Discount.svg +5 -0
- package/assets/icons/Edit.svg +5 -0
- package/assets/icons/Edit_2.svg +7 -0
- package/assets/icons/Eye_Hide.svg +5 -0
- package/assets/icons/Eye_View.svg +4 -0
- package/assets/icons/FAQ.svg +5 -0
- package/assets/icons/Facebook.svg +10 -0
- package/assets/icons/Fridge_And_Freezer.svg +10 -0
- package/assets/icons/Gift.svg +3 -0
- package/assets/icons/Hide.svg +9 -0
- package/assets/icons/Info.svg +6 -0
- package/assets/icons/Instagram.svg +10 -0
- package/assets/icons/Like.svg +3 -0
- package/assets/icons/Like_filled.svg +3 -0
- package/assets/icons/Link.svg +7 -0
- package/assets/icons/Load.svg +18 -0
- package/assets/icons/Loading.webp +0 -0
- package/assets/icons/Location.svg +8 -0
- package/assets/icons/Lock.svg +3 -0
- package/assets/icons/Logo.svg +20 -0
- package/assets/icons/Logo_new.svg +13 -0
- package/assets/icons/Mail.svg +6 -0
- package/assets/icons/Maintenance.svg +9 -0
- package/assets/icons/Nav.svg +5 -0
- package/assets/icons/Phone.svg +5 -0
- package/assets/icons/Pin.svg +3 -0
- package/assets/icons/Plus.svg +8 -0
- package/assets/icons/PriceTag.svg +6 -0
- package/assets/icons/Screwdriver.svg +10 -0
- package/assets/icons/Search.svg +6 -0
- package/assets/icons/Share.svg +3 -0
- package/assets/icons/Shield.svg +6 -0
- package/assets/icons/Star.svg +12 -0
- package/assets/icons/Star_Filled.svg +3 -0
- package/assets/icons/Stars.svg +9 -0
- package/assets/icons/Stars_2.svg +3 -0
- package/assets/icons/Top_Rating.svg +3 -0
- package/assets/icons/Trash.svg +5 -0
- package/assets/icons/Warning.svg +9 -0
- package/assets/icons/Whatsapp.svg +5 -0
- package/assets/icons/Youtube.svg +10 -0
- package/assets/images/placeholder.webp +0 -0
- package/assets/images/placeholder_2.webp +0 -0
- package/assets/images/placeholder_3.webp +0 -0
- package/assets/styles/colors.scss +36 -0
- package/assets/styles/fonts.scss +102 -0
- package/assets/styles/inputs.scss +139 -0
- package/assets/styles/typography.scss +117 -0
- package/esm2022/elxjs-ui.mjs +5 -0
- package/esm2022/index.mjs +2 -0
- package/esm2022/lib/components/accordion/accordion.component.mjs +28 -0
- package/esm2022/lib/components/accordion/index.mjs +2 -0
- package/esm2022/lib/components/arrow-link/arrow-link.component.mjs +29 -0
- package/esm2022/lib/components/arrow-link/index.mjs +2 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +48 -0
- package/esm2022/lib/components/breadcrumb/index.mjs +2 -0
- package/esm2022/lib/components/button/button.component.mjs +89 -0
- package/esm2022/lib/components/button/index.mjs +2 -0
- package/esm2022/lib/components/card-1/card1.component.mjs +20 -0
- package/esm2022/lib/components/card-1/index.mjs +2 -0
- package/esm2022/lib/components/card-2/card2.component.mjs +16 -0
- package/esm2022/lib/components/card-2/index.mjs +2 -0
- package/esm2022/lib/components/card-3/card3.component.mjs +18 -0
- package/esm2022/lib/components/card-3/index.mjs +2 -0
- package/esm2022/lib/components/card-4/card4.component.mjs +16 -0
- package/esm2022/lib/components/card-4/index.mjs +2 -0
- package/esm2022/lib/components/carousel/carousel.component.mjs +155 -0
- package/esm2022/lib/components/carousel/index.mjs +2 -0
- package/esm2022/lib/components/chip/chip.component.mjs +27 -0
- package/esm2022/lib/components/chip/index.mjs +2 -0
- package/esm2022/lib/components/datatable/datatable.component.mjs +148 -0
- package/esm2022/lib/components/datatable/datatable.component.types.mjs +2 -0
- package/esm2022/lib/components/datatable/index.mjs +3 -0
- package/esm2022/lib/components/datepicker/datepicker.component.mjs +382 -0
- package/esm2022/lib/components/datepicker/index.mjs +2 -0
- package/esm2022/lib/components/dropdown/dropdown.component.mjs +145 -0
- package/esm2022/lib/components/dropdown/index.mjs +2 -0
- package/esm2022/lib/components/dropdown-multiple/dropdown-multiple.component.mjs +76 -0
- package/esm2022/lib/components/dropdown-multiple/index.mjs +2 -0
- package/esm2022/lib/components/icon/icon.component.mjs +58 -0
- package/esm2022/lib/components/icon/index.mjs +2 -0
- package/esm2022/lib/components/index.mjs +63 -0
- package/esm2022/lib/components/input-search/index.mjs +2 -0
- package/esm2022/lib/components/input-search/input-search.component.mjs +73 -0
- package/esm2022/lib/components/input-search-modal/index.mjs +2 -0
- package/esm2022/lib/components/input-search-modal/input-search-modal.component.mjs +29 -0
- package/esm2022/lib/components/loading/index.mjs +2 -0
- package/esm2022/lib/components/loading/loading.component.mjs +21 -0
- package/esm2022/lib/components/loading-2/index.mjs +2 -0
- package/esm2022/lib/components/loading-2/loading-2.component.mjs +16 -0
- package/esm2022/lib/components/modal/index.mjs +2 -0
- package/esm2022/lib/components/modal/modal.component.mjs +31 -0
- package/esm2022/lib/components/paginator/index.mjs +2 -0
- package/esm2022/lib/components/paginator/paginator.component.mjs +128 -0
- package/esm2022/lib/components/stepbar/index.mjs +2 -0
- package/esm2022/lib/components/stepbar/stepbar.component.mjs +41 -0
- package/esm2022/lib/components/switch/index.mjs +2 -0
- package/esm2022/lib/components/switch/switch.component.mjs +47 -0
- package/esm2022/lib/components/toast/index.mjs +2 -0
- package/esm2022/lib/components/toast/toast.component.mjs +28 -0
- package/esm2022/lib/index.mjs +4 -0
- package/esm2022/lib/modules/electrolux-design-system.module.mjs +35 -0
- package/esm2022/lib/modules/index.mjs +2 -0
- package/esm2022/lib/services/index.mjs +2 -0
- package/esm2022/lib/services/toaster.service.mjs +53 -0
- package/fesm2022/elxjs-ui.mjs +1647 -0
- package/fesm2022/elxjs-ui.mjs.map +1 -0
- package/index.d.ts +1 -0
- package/lib/components/accordion/accordion.component.d.ts +10 -0
- package/lib/components/accordion/index.d.ts +1 -0
- package/lib/components/arrow-link/arrow-link.component.d.ts +9 -0
- package/lib/components/arrow-link/index.d.ts +1 -0
- package/lib/components/breadcrumb/breadcrumb.component.d.ts +17 -0
- package/lib/components/breadcrumb/index.d.ts +1 -0
- package/lib/components/button/button.component.d.ts +27 -0
- package/lib/components/button/index.d.ts +1 -0
- package/lib/components/card-1/card1.component.d.ts +8 -0
- package/lib/components/card-1/index.d.ts +1 -0
- package/lib/components/card-2/card2.component.d.ts +7 -0
- package/lib/components/card-2/index.d.ts +1 -0
- package/lib/components/card-3/card3.component.d.ts +8 -0
- package/lib/components/card-3/index.d.ts +1 -0
- package/lib/components/card-4/card4.component.d.ts +7 -0
- package/lib/components/card-4/index.d.ts +1 -0
- package/lib/components/carousel/carousel.component.d.ts +41 -0
- package/lib/components/carousel/index.d.ts +1 -0
- package/lib/components/chip/chip.component.d.ts +10 -0
- package/lib/components/chip/index.d.ts +1 -0
- package/lib/components/datatable/datatable.component.d.ts +43 -0
- package/lib/components/datatable/datatable.component.types.d.ts +55 -0
- package/lib/components/datatable/index.d.ts +2 -0
- package/lib/components/datepicker/datepicker.component.d.ts +81 -0
- package/lib/components/datepicker/index.d.ts +1 -0
- package/lib/components/dropdown/dropdown.component.d.ts +42 -0
- package/lib/components/dropdown/index.d.ts +1 -0
- package/lib/components/dropdown-multiple/dropdown-multiple.component.d.ts +27 -0
- package/lib/components/dropdown-multiple/index.d.ts +1 -0
- package/lib/components/icon/icon.component.d.ts +29 -0
- package/lib/components/icon/index.d.ts +1 -0
- package/lib/components/index.d.ts +26 -0
- package/lib/components/input-search/index.d.ts +1 -0
- package/lib/components/input-search/input-search.component.d.ts +26 -0
- package/lib/components/input-search-modal/index.d.ts +1 -0
- package/lib/components/input-search-modal/input-search-modal.component.d.ts +13 -0
- package/lib/components/loading/index.d.ts +1 -0
- package/lib/components/loading/loading.component.d.ts +7 -0
- package/lib/components/loading-2/index.d.ts +1 -0
- package/lib/components/loading-2/loading-2.component.d.ts +6 -0
- package/lib/components/modal/index.d.ts +1 -0
- package/lib/components/modal/modal.component.d.ts +10 -0
- package/lib/components/paginator/index.d.ts +1 -0
- package/lib/components/paginator/paginator.component.d.ts +33 -0
- package/lib/components/stepbar/index.d.ts +1 -0
- package/lib/components/stepbar/stepbar.component.d.ts +14 -0
- package/lib/components/switch/index.d.ts +1 -0
- package/lib/components/switch/switch.component.d.ts +10 -0
- package/lib/components/toast/index.d.ts +1 -0
- package/lib/components/toast/toast.component.d.ts +11 -0
- package/lib/index.d.ts +3 -0
- package/lib/modules/electrolux-design-system.module.d.ts +25 -0
- package/lib/modules/index.d.ts +1 -0
- package/lib/services/index.d.ts +1 -0
- package/lib/services/toaster.service.d.ts +14 -0
- package/package.json +29 -0
|
@@ -0,0 +1,1647 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Component, ViewChild, Input, EventEmitter, Output, forwardRef, HostListener, Injectable, booleanAttribute, ElementRef, ContentChildren, NgModule } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
|
+
import { ReactiveFormsModule, NgControl, NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
|
|
6
|
+
import * as i1$1 from '@angular/router';
|
|
7
|
+
import { RouterModule } from '@angular/router';
|
|
8
|
+
import { Subject, debounceTime } from 'rxjs';
|
|
9
|
+
|
|
10
|
+
class EluxIcon {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.color = '#011e41';
|
|
13
|
+
this.useSubscription = false;
|
|
14
|
+
this.icon = '';
|
|
15
|
+
this.description = '';
|
|
16
|
+
this.size = '';
|
|
17
|
+
this.height = '';
|
|
18
|
+
this.width = '';
|
|
19
|
+
this.sizeType = 'px';
|
|
20
|
+
}
|
|
21
|
+
iconMask() {
|
|
22
|
+
return {
|
|
23
|
+
height: this.size ? `${this.size}${this.sizeType}` : `${this.height}${this.sizeType}`,
|
|
24
|
+
width: this.size ? `${this.size}${this.sizeType}` : `${this.width}${this.sizeType}`,
|
|
25
|
+
mask: `url(./assets/icons/${this.icon}) no-repeat`,
|
|
26
|
+
'-webkit-mask': `url(./assets/icons/${this.icon}) no-repeat`,
|
|
27
|
+
'background-color': this.color,
|
|
28
|
+
'-webkit-mask-size': 'contain',
|
|
29
|
+
'mask-size': 'contain',
|
|
30
|
+
'mask-repeat': 'no-repeat',
|
|
31
|
+
'-webkit-mask-repeat': 'no-repeat',
|
|
32
|
+
'mask-position': 'center',
|
|
33
|
+
'-webkit-mask-position': 'center'
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxIcon, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: EluxIcon, isStandalone: true, selector: "lib-elux-icon", inputs: { color: "color", useSubscription: "useSubscription", icon: "icon", description: "description", size: "size", height: "height", width: "width", sizeType: "sizeType" }, viewQueries: [{ propertyName: "iconSpan", first: true, predicate: ["iconSpan"], descendants: true }], ngImport: i0, template: "@if (icon) {\r\n<span #iconSpan class=\"icon\" [ngStyle]=\"iconMask()\"></span>\r\n}", styles: [".icon{display:inline-block;height:48px;width:48px;-webkit-mask-size:cover;mask-size:cover;vertical-align:middle}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: ReactiveFormsModule }] }); }
|
|
38
|
+
}
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxIcon, decorators: [{
|
|
40
|
+
type: Component,
|
|
41
|
+
args: [{ selector: 'lib-elux-icon', standalone: true, imports: [CommonModule, ReactiveFormsModule], template: "@if (icon) {\r\n<span #iconSpan class=\"icon\" [ngStyle]=\"iconMask()\"></span>\r\n}", styles: [".icon{display:inline-block;height:48px;width:48px;-webkit-mask-size:cover;mask-size:cover;vertical-align:middle}\n"] }]
|
|
42
|
+
}], ctorParameters: () => [], propDecorators: { iconSpan: [{
|
|
43
|
+
type: ViewChild,
|
|
44
|
+
args: ['iconSpan']
|
|
45
|
+
}], color: [{
|
|
46
|
+
type: Input
|
|
47
|
+
}], useSubscription: [{
|
|
48
|
+
type: Input
|
|
49
|
+
}], icon: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}], description: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}], size: [{
|
|
54
|
+
type: Input
|
|
55
|
+
}], height: [{
|
|
56
|
+
type: Input
|
|
57
|
+
}], width: [{
|
|
58
|
+
type: Input
|
|
59
|
+
}], sizeType: [{
|
|
60
|
+
type: Input
|
|
61
|
+
}] } });
|
|
62
|
+
|
|
63
|
+
class EluxBreadcrumb {
|
|
64
|
+
constructor(
|
|
65
|
+
//private previousRouteService: PreviousRouteService,
|
|
66
|
+
elementRef) {
|
|
67
|
+
this.elementRef = elementRef;
|
|
68
|
+
this.routes = [];
|
|
69
|
+
//@Input() canChange: boolean = true;
|
|
70
|
+
this.showBreadcrumbDrop = false;
|
|
71
|
+
}
|
|
72
|
+
ngOnChanges(changes) {
|
|
73
|
+
// if ((!this.canChange && changes.routes.previousValue) || !changes.routes.currentValue) {
|
|
74
|
+
// return;
|
|
75
|
+
// }
|
|
76
|
+
// this.previousRouteService.setPreviousBreadcrumb(changes.routes.currentValue);
|
|
77
|
+
}
|
|
78
|
+
toggleBreadcrumbDrop() {
|
|
79
|
+
this.showBreadcrumbDrop = !this.showBreadcrumbDrop;
|
|
80
|
+
if (this.showBreadcrumbDrop) {
|
|
81
|
+
document.addEventListener('click', this.closeDropdown.bind(this));
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
document.removeEventListener('click', this.closeDropdown.bind(this));
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
closeDropdown(event) {
|
|
88
|
+
if (!this.elementRef.nativeElement.contains(event.target)) {
|
|
89
|
+
this.showBreadcrumbDrop = false;
|
|
90
|
+
document.removeEventListener('click', this.closeDropdown.bind(this));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxBreadcrumb, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
94
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EluxBreadcrumb, isStandalone: true, selector: "lib-elux-breadcrumb", inputs: { routes: "routes" }, usesOnChanges: true, ngImport: i0, template: "<div aria-label=\"breadcrumb\" class=\"breadCrumb\" *ngIf=\"routes && routes.length > 0\">\r\n <div class=\"breadcrumbMobile\">\r\n <div>\r\n <div class=\"dots\" (click)=\"toggleBreadcrumbDrop()\">...</div>\r\n <div class=\"dropGroup\" *ngIf=\"showBreadcrumbDrop\">\r\n <div *ngFor=\"let route of routes; let i = index\">\r\n <a class=\"text-decoration-none\" *ngIf=\"i != routes.length - 1\" [routerLink]=\"route.route\">\r\n <div class=\"dropOption\">\r\n {{ route.name }}\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"divBreadCrumbDesktop\">\r\n <lib-elux-icon class=\"align-middle mr-1\" color=\"#011E41\" icon=\"Chevron_Right.svg\" size=\"15\" sizeType=\"px\"></lib-elux-icon>\r\n <span class=\"lastRoute\" aria-current>{{ routes[routes.length-1].name }}</span>\r\n </div>\r\n </div>\r\n <div class=\"breadcrumbDesktop\">\r\n <div class=\"divBreadCrumbDesktop\" *ngFor=\"let route of routes; let i = index\">\r\n <a [routerLink]=\"route.route\" class=\"route\" *ngIf=\"i != routes.length - 1\">\r\n {{ route.name }}\r\n </a>\r\n <span class=\"lastRoute\" aria-current *ngIf=\"i == routes.length - 1\">\r\n {{ route.name }}\r\n </span>\r\n <lib-elux-icon class=\"align-middle mr-1 \" *ngIf=\"i != routes.length - 1\" color=\"#011E41\" icon=\"Chevron_Right.svg\"\r\n size=\"15\" sizeType=\"px\"></lib-elux-icon>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body,:host .breadCrumb{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body,:host .breadCrumb{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}:host .breadCrumb .route{color:#515253;text-decoration:none}:host .breadCrumb .lastRoute{text-decoration:underline;color:#011e41}:host .breadCrumb .text-decoration-none{text-decoration:none}:host .breadCrumb .breadcrumbMobile{display:none}@media (max-width: 991px){:host .breadCrumb .breadcrumbMobile{display:flex}}:host .breadCrumb .breadcrumbMobile .dots{font-weight:600;font-size:30px;line-height:1px;margin-right:3px;cursor:pointer}:host .breadCrumb .breadcrumbMobile .dropGroup{position:absolute;box-shadow:0 1px 3px #0003;z-index:4;background-color:#fff;margin-top:25px}:host .breadCrumb .breadcrumbMobile .dropOption{border-bottom:solid 1px #DEE7EA;padding:10px 16px;color:#515253}:host .breadCrumb .breadcrumbDesktop{display:none}@media (min-width: 991px){:host .breadCrumb .breadcrumbDesktop{display:flex}}:host .breadCrumb .divBreadCrumbDesktop{display:flex}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: EluxIcon, selector: "lib-elux-icon", inputs: ["color", "useSubscription", "icon", "description", "size", "height", "width", "sizeType"] }] }); }
|
|
95
|
+
}
|
|
96
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxBreadcrumb, decorators: [{
|
|
97
|
+
type: Component,
|
|
98
|
+
args: [{ selector: 'lib-elux-breadcrumb', standalone: true, imports: [CommonModule, ReactiveFormsModule, RouterModule, EluxIcon], template: "<div aria-label=\"breadcrumb\" class=\"breadCrumb\" *ngIf=\"routes && routes.length > 0\">\r\n <div class=\"breadcrumbMobile\">\r\n <div>\r\n <div class=\"dots\" (click)=\"toggleBreadcrumbDrop()\">...</div>\r\n <div class=\"dropGroup\" *ngIf=\"showBreadcrumbDrop\">\r\n <div *ngFor=\"let route of routes; let i = index\">\r\n <a class=\"text-decoration-none\" *ngIf=\"i != routes.length - 1\" [routerLink]=\"route.route\">\r\n <div class=\"dropOption\">\r\n {{ route.name }}\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"divBreadCrumbDesktop\">\r\n <lib-elux-icon class=\"align-middle mr-1\" color=\"#011E41\" icon=\"Chevron_Right.svg\" size=\"15\" sizeType=\"px\"></lib-elux-icon>\r\n <span class=\"lastRoute\" aria-current>{{ routes[routes.length-1].name }}</span>\r\n </div>\r\n </div>\r\n <div class=\"breadcrumbDesktop\">\r\n <div class=\"divBreadCrumbDesktop\" *ngFor=\"let route of routes; let i = index\">\r\n <a [routerLink]=\"route.route\" class=\"route\" *ngIf=\"i != routes.length - 1\">\r\n {{ route.name }}\r\n </a>\r\n <span class=\"lastRoute\" aria-current *ngIf=\"i == routes.length - 1\">\r\n {{ route.name }}\r\n </span>\r\n <lib-elux-icon class=\"align-middle mr-1 \" *ngIf=\"i != routes.length - 1\" color=\"#011E41\" icon=\"Chevron_Right.svg\"\r\n size=\"15\" sizeType=\"px\"></lib-elux-icon>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body,:host .breadCrumb{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body,:host .breadCrumb{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}:host .breadCrumb .route{color:#515253;text-decoration:none}:host .breadCrumb .lastRoute{text-decoration:underline;color:#011e41}:host .breadCrumb .text-decoration-none{text-decoration:none}:host .breadCrumb .breadcrumbMobile{display:none}@media (max-width: 991px){:host .breadCrumb .breadcrumbMobile{display:flex}}:host .breadCrumb .breadcrumbMobile .dots{font-weight:600;font-size:30px;line-height:1px;margin-right:3px;cursor:pointer}:host .breadCrumb .breadcrumbMobile .dropGroup{position:absolute;box-shadow:0 1px 3px #0003;z-index:4;background-color:#fff;margin-top:25px}:host .breadCrumb .breadcrumbMobile .dropOption{border-bottom:solid 1px #DEE7EA;padding:10px 16px;color:#515253}:host .breadCrumb .breadcrumbDesktop{display:none}@media (min-width: 991px){:host .breadCrumb .breadcrumbDesktop{display:flex}}:host .breadCrumb .divBreadCrumbDesktop{display:flex}\n"] }]
|
|
99
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { routes: [{
|
|
100
|
+
type: Input
|
|
101
|
+
}] } });
|
|
102
|
+
|
|
103
|
+
class EluxLoading {
|
|
104
|
+
constructor() {
|
|
105
|
+
this.size = 50;
|
|
106
|
+
this.white = false;
|
|
107
|
+
}
|
|
108
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxLoading, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
109
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EluxLoading, isStandalone: true, selector: "lib-elux-loading", inputs: { size: "size", white: "white" }, ngImport: i0, template: "<div class=\"backdrop\">\r\n <div class=\"spinner\" [ngClass]=\"{ white: white, blue: !white }\" [ngStyle]=\"{ 'width.px': size, 'height.px': size }\"></div>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}.spinner{border:5px solid rgba(255,255,255,0);border-radius:50%;animation:spin 1s linear infinite}.blue{border-top:5px solid #011E41}.white{border-top:5px solid #FFFFFF}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
|
|
110
|
+
}
|
|
111
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxLoading, decorators: [{
|
|
112
|
+
type: Component,
|
|
113
|
+
args: [{ selector: 'lib-elux-loading', standalone: true, imports: [CommonModule], template: "<div class=\"backdrop\">\r\n <div class=\"spinner\" [ngClass]=\"{ white: white, blue: !white }\" [ngStyle]=\"{ 'width.px': size, 'height.px': size }\"></div>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}.spinner{border:5px solid rgba(255,255,255,0);border-radius:50%;animation:spin 1s linear infinite}.blue{border-top:5px solid #011E41}.white{border-top:5px solid #FFFFFF}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
|
|
114
|
+
}], propDecorators: { size: [{
|
|
115
|
+
type: Input
|
|
116
|
+
}], white: [{
|
|
117
|
+
type: Input
|
|
118
|
+
}] } });
|
|
119
|
+
|
|
120
|
+
class EluxButton {
|
|
121
|
+
constructor(router) {
|
|
122
|
+
this.router = router;
|
|
123
|
+
this.disabled = false;
|
|
124
|
+
this.type = 'basic';
|
|
125
|
+
this.typeButton = 'button';
|
|
126
|
+
this.done = false;
|
|
127
|
+
this.icon = '';
|
|
128
|
+
this.externalLink = false;
|
|
129
|
+
this.loading = false;
|
|
130
|
+
this.onlyfirstLetterUpper = true;
|
|
131
|
+
this.onClick = new EventEmitter();
|
|
132
|
+
}
|
|
133
|
+
ngOnInit() {
|
|
134
|
+
if (this.done) {
|
|
135
|
+
this.icon = 'Check.svg';
|
|
136
|
+
}
|
|
137
|
+
if (this.externalLink) {
|
|
138
|
+
this.icon = 'Link.svg';
|
|
139
|
+
}
|
|
140
|
+
if (this.loading) {
|
|
141
|
+
this.icon = 'Loading.svg';
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
ngOnChanges(changes) {
|
|
145
|
+
if (changes['loading']) {
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
firstLetterUpper(value) {
|
|
149
|
+
if (value) {
|
|
150
|
+
return value.charAt(0).toUpperCase() + value.slice(1).toLowerCase();
|
|
151
|
+
}
|
|
152
|
+
return '';
|
|
153
|
+
}
|
|
154
|
+
clickButton($event) {
|
|
155
|
+
if (this.loading == false) {
|
|
156
|
+
this.onClick.emit($event);
|
|
157
|
+
if (this.routerLink) {
|
|
158
|
+
this.router.navigateByUrl(this.routerLink);
|
|
159
|
+
}
|
|
160
|
+
else if (this.link) {
|
|
161
|
+
this.router.navigateByUrl(this.link);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxButton, deps: [{ token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
166
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EluxButton, isStandalone: true, selector: "lib-elux-button", inputs: { disabled: "disabled", type: "type", typeButton: "typeButton", content: "content", done: "done", routerLink: "routerLink", link: "link", size: "size", icon: "icon", iconAlign: "iconAlign", externalLink: "externalLink", loading: "loading", onlyfirstLetterUpper: "onlyfirstLetterUpper" }, outputs: { onClick: "onClick" }, usesOnChanges: true, ngImport: i0, template: "<button\r\n [type]=\"typeButton\"\r\n class=\"btn elux-button size-{{ size }}\"\r\n [disabled]=\"disabled\"\r\n [ngClass]=\"type\"\r\n (click)=\"clickButton($event)\"\r\n (keyup.enter)=\"clickButton($event)\"\r\n>\r\n <div *ngIf=\"loading\" [ngStyle]=\"{ 'width': '24px', 'margin': 'auto' , 'margin-top' : '3px' }\">\r\n <lib-elux-loading [size]=\"30\" [white]=\"true\"></lib-elux-loading>\r\n </div>\r\n <div [ngClass]=\"iconAlign\">\r\n <lib-elux-icon *ngIf=\"icon !== ''\" [icon]=\"icon\" [size]=\"'24'\" [sizeType]=\"'px'\"></lib-elux-icon>\r\n <span *ngIf=\"!done && !loading\">\r\n {{ onlyfirstLetterUpper ? firstLetterUpper(content) : content }}\r\n </span>\r\n </div>\r\n</button>\r\n", styles: [":host .elux-button{width:100%;height:48px;text-align:center;padding-left:20px;padding-right:20px;min-height:36px;border:none;border-radius:2px}:host .elux-button span{font-weight:600;font-size:14px;font-stretch:normal;font-style:normal;line-height:1.14;letter-spacing:normal}:host .elux-button:disabled{cursor:default;pointer-events:none}:host .elux-button.basic{color:#fff;background:#011e41}:host .elux-button.basic ::ng-deep lib-elux-icon span{background-color:#fff!important}:host .elux-button.basic:hover{opacity:.85}:host .elux-button.basic:disabled{background:#5b6a78;opacity:.85}:host .elux-button.basic:focus-visible{outline:2px solid #16A748!important;box-shadow:inherit!important;outline-offset:-2px}:host .elux-button.basic-action{color:#fff;background:#a5742e}:host .elux-button.basic-action ::ng-deep lib-elux-icon span{background-color:#fff!important}:host .elux-button.basic-action:hover{opacity:.85}:host .elux-button.basic-action:disabled{background:#d9ba91;opacity:.85}:host .elux-button.outline{background-color:#fff;border:solid 1px #011E41;color:#011e41}:host .elux-button.outline ::ng-deep lib-elux-icon span{background-color:#011e41!important}:host .elux-button.outline:hover{color:#fff;background-color:#011e41}:host .elux-button.outline:hover:disabled{background-color:#fff}:host .elux-button.outline:hover ::ng-deep lib-elux-icon span{background-color:#fff!important}:host .elux-button.outline:disabled{opacity:.85;color:#5b6a78;border:solid 1px #5b6a78}:host .elux-button.outline-noborder{background-color:#fff;border:none;color:#011e41}:host .elux-button.outline-noborder ::ng-deep lib-elux-icon span{background-color:#011e41!important}:host .elux-button.outline-noborder:hover{color:#fff;background-color:#011e41}:host .elux-button.outline-noborder:hover:disabled{background-color:#fff}:host .elux-button.outline-noborder:hover ::ng-deep lib-elux-icon span{background-color:#fff!important}:host .elux-button.outline-noborder:disabled{opacity:.85;color:#5b6a78;border:solid 1px #5b6a78}:host .elux-button.text{border:none;color:#011e41;padding:0}:host .elux-button.text:hover{text-decoration:underline}:host .elux-button.text:hover:disabled{text-decoration:none}:host .elux-button.text:disabled{opacity:.85;color:#5b6a78}:host .elux-button.text ::ng-deep lib-elux-icon span{background-color:#011e41!important}:host .elux-button.text:focus-visible{outline:2px solid #16A748!important;box-shadow:inherit!important;outline-offset:-2px}:host .elux-button.basicBlue{background-color:#011e41!important;color:#fff!important;border:1px solid #011E41!important}:host .elux-button.basicBlue:hover{background-color:#fff!important;color:#011e41!important}:host .elux-button.basicBlue:hover ::ng-deep lib-elux-icon span{background-color:#a5742e!important}:host .elux-button.basicBlue:disabled{background:#dee7ea!important;color:#c9c9ca!important}:host .elux-button.basicBlue:disabled ::ng-deep lib-elux-icon span{background-color:#c9c9ca!important}:host .elux-button.basicWhite{color:#011e41;background:#fff;border:1px solid #011E41}:host .elux-button.basicWhite:hover{border-radius:2px;font-weight:600;color:#a5742e}:host .elux-button.basicWhite:hover ::ng-deep lib-elux-icon span{background-color:#a5742e!important}:host .elux-button.basicWhite:disabled{background:#dee7ea;color:#c9c9ca}:host .elux-button.basicWhite:disabled ::ng-deep lib-elux-icon span{background-color:#c9c9ca!important}:host .elux-button.basic-dark{background-color:#fff;color:#011e41}:host .elux-button.basic-dark:hover{background-color:#dee7ea}:host .elux-button.basic-dark:hover:disabled{background-color:#5b6a78}:host .elux-button.basic-dark:disabled{opacity:.85;color:#fff!important;background-color:#5b6a78}:host .elux-button.basic-dark ::ng-deep lib-elux-icon span{background-color:#011e41!important}:host .elux-button.outline-dark{color:#fff;background-color:transparent;border:solid 1px #FFFFFF}:host .elux-button.outline-dark ::ng-deep lib-elux-icon span{background-color:#fff!important}:host .elux-button.outline-dark:hover{background-color:#fff;color:#011e41}:host .elux-button.outline-dark:hover:disabled{background-color:transparent}:host .elux-button.outline-dark:hover ::ng-deep lib-elux-icon span{background-color:#011e41!important}:host .elux-button.outline-dark:disabled{opacity:.85;color:#5b6a78;border:solid 1px #5b6a78}:host .elux-button.uppercase{text-transform:uppercase}:host .elux-button lib-elux-icon{vertical-align:middle}:host .elux-button .left{display:flex;align-items:center}:host .elux-button .right{display:flex;flex-direction:row-reverse;align-items:center;justify-content:center}:host .elux-button .right lib-elux-icon{line-height:1}:host .elux-button .right ::ng-deep lib-elux-icon span{background-color:#a5742e!important}:host .elux-button.primary,:host .elux-button.primary-negative,:host .elux-button.secondary,:host .elux-button.secondary-negative{height:48px;padding:0 24px;border:none}:host .elux-button.primary span,:host .elux-button.primary-negative span,:host .elux-button.secondary span,:host .elux-button.secondary-negative span{font-size:16px}:host .elux-button.primary:focus-visible,:host .elux-button.primary-negative:focus-visible,:host .elux-button.secondary:focus-visible,:host .elux-button.secondary-negative:focus-visible{outline:2px solid #16A748!important;box-shadow:inherit!important;outline-offset:-2px}:host .elux-button.primary{color:#fff;background-color:#011e41}:host .elux-button.primary:hover{opacity:.85}:host .elux-button.primary:disabled{background:#adb9c3;color:#fff}:host .elux-button.primary-negative{color:#011e41;background-color:#fff}:host .elux-button.primary-negative:hover{opacity:.85}:host .elux-button.primary-negative:disabled{background:#adb9c3;color:#fff}:host .elux-button.secondary{color:#011e41;background-color:#fff;border:1px solid #011E41}:host .elux-button.secondary:hover{background:#011e41;color:#fff}:host .elux-button.secondary:disabled{border-color:#7a8a9b;color:#7a8a9b}:host .elux-button.secondary-negative{color:#fff;background-color:#011e41;border:1px solid #FFFFFF}:host .elux-button.secondary-negative:hover{background-color:#fff;color:#011e41;border:1px solid #011E41}:host .elux-button.secondary-negative:disabled{border-color:#7a8a9b;color:#7a8a9b}:host .elux-button.size-2{height:48px;padding:0 66px}:host .elux-button.size-2 span{font-size:16px}:host .elux-button.size-3{height:48px;padding:0}:host .elux-button.size-3 span{font-size:16px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: EluxIcon, selector: "lib-elux-icon", inputs: ["color", "useSubscription", "icon", "description", "size", "height", "width", "sizeType"] }, { kind: "component", type: EluxLoading, selector: "lib-elux-loading", inputs: ["size", "white"] }] }); }
|
|
167
|
+
}
|
|
168
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxButton, decorators: [{
|
|
169
|
+
type: Component,
|
|
170
|
+
args: [{ selector: 'lib-elux-button', standalone: true, imports: [CommonModule, ReactiveFormsModule, EluxIcon, EluxLoading], template: "<button\r\n [type]=\"typeButton\"\r\n class=\"btn elux-button size-{{ size }}\"\r\n [disabled]=\"disabled\"\r\n [ngClass]=\"type\"\r\n (click)=\"clickButton($event)\"\r\n (keyup.enter)=\"clickButton($event)\"\r\n>\r\n <div *ngIf=\"loading\" [ngStyle]=\"{ 'width': '24px', 'margin': 'auto' , 'margin-top' : '3px' }\">\r\n <lib-elux-loading [size]=\"30\" [white]=\"true\"></lib-elux-loading>\r\n </div>\r\n <div [ngClass]=\"iconAlign\">\r\n <lib-elux-icon *ngIf=\"icon !== ''\" [icon]=\"icon\" [size]=\"'24'\" [sizeType]=\"'px'\"></lib-elux-icon>\r\n <span *ngIf=\"!done && !loading\">\r\n {{ onlyfirstLetterUpper ? firstLetterUpper(content) : content }}\r\n </span>\r\n </div>\r\n</button>\r\n", styles: [":host .elux-button{width:100%;height:48px;text-align:center;padding-left:20px;padding-right:20px;min-height:36px;border:none;border-radius:2px}:host .elux-button span{font-weight:600;font-size:14px;font-stretch:normal;font-style:normal;line-height:1.14;letter-spacing:normal}:host .elux-button:disabled{cursor:default;pointer-events:none}:host .elux-button.basic{color:#fff;background:#011e41}:host .elux-button.basic ::ng-deep lib-elux-icon span{background-color:#fff!important}:host .elux-button.basic:hover{opacity:.85}:host .elux-button.basic:disabled{background:#5b6a78;opacity:.85}:host .elux-button.basic:focus-visible{outline:2px solid #16A748!important;box-shadow:inherit!important;outline-offset:-2px}:host .elux-button.basic-action{color:#fff;background:#a5742e}:host .elux-button.basic-action ::ng-deep lib-elux-icon span{background-color:#fff!important}:host .elux-button.basic-action:hover{opacity:.85}:host .elux-button.basic-action:disabled{background:#d9ba91;opacity:.85}:host .elux-button.outline{background-color:#fff;border:solid 1px #011E41;color:#011e41}:host .elux-button.outline ::ng-deep lib-elux-icon span{background-color:#011e41!important}:host .elux-button.outline:hover{color:#fff;background-color:#011e41}:host .elux-button.outline:hover:disabled{background-color:#fff}:host .elux-button.outline:hover ::ng-deep lib-elux-icon span{background-color:#fff!important}:host .elux-button.outline:disabled{opacity:.85;color:#5b6a78;border:solid 1px #5b6a78}:host .elux-button.outline-noborder{background-color:#fff;border:none;color:#011e41}:host .elux-button.outline-noborder ::ng-deep lib-elux-icon span{background-color:#011e41!important}:host .elux-button.outline-noborder:hover{color:#fff;background-color:#011e41}:host .elux-button.outline-noborder:hover:disabled{background-color:#fff}:host .elux-button.outline-noborder:hover ::ng-deep lib-elux-icon span{background-color:#fff!important}:host .elux-button.outline-noborder:disabled{opacity:.85;color:#5b6a78;border:solid 1px #5b6a78}:host .elux-button.text{border:none;color:#011e41;padding:0}:host .elux-button.text:hover{text-decoration:underline}:host .elux-button.text:hover:disabled{text-decoration:none}:host .elux-button.text:disabled{opacity:.85;color:#5b6a78}:host .elux-button.text ::ng-deep lib-elux-icon span{background-color:#011e41!important}:host .elux-button.text:focus-visible{outline:2px solid #16A748!important;box-shadow:inherit!important;outline-offset:-2px}:host .elux-button.basicBlue{background-color:#011e41!important;color:#fff!important;border:1px solid #011E41!important}:host .elux-button.basicBlue:hover{background-color:#fff!important;color:#011e41!important}:host .elux-button.basicBlue:hover ::ng-deep lib-elux-icon span{background-color:#a5742e!important}:host .elux-button.basicBlue:disabled{background:#dee7ea!important;color:#c9c9ca!important}:host .elux-button.basicBlue:disabled ::ng-deep lib-elux-icon span{background-color:#c9c9ca!important}:host .elux-button.basicWhite{color:#011e41;background:#fff;border:1px solid #011E41}:host .elux-button.basicWhite:hover{border-radius:2px;font-weight:600;color:#a5742e}:host .elux-button.basicWhite:hover ::ng-deep lib-elux-icon span{background-color:#a5742e!important}:host .elux-button.basicWhite:disabled{background:#dee7ea;color:#c9c9ca}:host .elux-button.basicWhite:disabled ::ng-deep lib-elux-icon span{background-color:#c9c9ca!important}:host .elux-button.basic-dark{background-color:#fff;color:#011e41}:host .elux-button.basic-dark:hover{background-color:#dee7ea}:host .elux-button.basic-dark:hover:disabled{background-color:#5b6a78}:host .elux-button.basic-dark:disabled{opacity:.85;color:#fff!important;background-color:#5b6a78}:host .elux-button.basic-dark ::ng-deep lib-elux-icon span{background-color:#011e41!important}:host .elux-button.outline-dark{color:#fff;background-color:transparent;border:solid 1px #FFFFFF}:host .elux-button.outline-dark ::ng-deep lib-elux-icon span{background-color:#fff!important}:host .elux-button.outline-dark:hover{background-color:#fff;color:#011e41}:host .elux-button.outline-dark:hover:disabled{background-color:transparent}:host .elux-button.outline-dark:hover ::ng-deep lib-elux-icon span{background-color:#011e41!important}:host .elux-button.outline-dark:disabled{opacity:.85;color:#5b6a78;border:solid 1px #5b6a78}:host .elux-button.uppercase{text-transform:uppercase}:host .elux-button lib-elux-icon{vertical-align:middle}:host .elux-button .left{display:flex;align-items:center}:host .elux-button .right{display:flex;flex-direction:row-reverse;align-items:center;justify-content:center}:host .elux-button .right lib-elux-icon{line-height:1}:host .elux-button .right ::ng-deep lib-elux-icon span{background-color:#a5742e!important}:host .elux-button.primary,:host .elux-button.primary-negative,:host .elux-button.secondary,:host .elux-button.secondary-negative{height:48px;padding:0 24px;border:none}:host .elux-button.primary span,:host .elux-button.primary-negative span,:host .elux-button.secondary span,:host .elux-button.secondary-negative span{font-size:16px}:host .elux-button.primary:focus-visible,:host .elux-button.primary-negative:focus-visible,:host .elux-button.secondary:focus-visible,:host .elux-button.secondary-negative:focus-visible{outline:2px solid #16A748!important;box-shadow:inherit!important;outline-offset:-2px}:host .elux-button.primary{color:#fff;background-color:#011e41}:host .elux-button.primary:hover{opacity:.85}:host .elux-button.primary:disabled{background:#adb9c3;color:#fff}:host .elux-button.primary-negative{color:#011e41;background-color:#fff}:host .elux-button.primary-negative:hover{opacity:.85}:host .elux-button.primary-negative:disabled{background:#adb9c3;color:#fff}:host .elux-button.secondary{color:#011e41;background-color:#fff;border:1px solid #011E41}:host .elux-button.secondary:hover{background:#011e41;color:#fff}:host .elux-button.secondary:disabled{border-color:#7a8a9b;color:#7a8a9b}:host .elux-button.secondary-negative{color:#fff;background-color:#011e41;border:1px solid #FFFFFF}:host .elux-button.secondary-negative:hover{background-color:#fff;color:#011e41;border:1px solid #011E41}:host .elux-button.secondary-negative:disabled{border-color:#7a8a9b;color:#7a8a9b}:host .elux-button.size-2{height:48px;padding:0 66px}:host .elux-button.size-2 span{font-size:16px}:host .elux-button.size-3{height:48px;padding:0}:host .elux-button.size-3 span{font-size:16px}\n"] }]
|
|
171
|
+
}], ctorParameters: () => [{ type: i1$1.Router }], propDecorators: { disabled: [{
|
|
172
|
+
type: Input
|
|
173
|
+
}], type: [{
|
|
174
|
+
type: Input
|
|
175
|
+
}], typeButton: [{
|
|
176
|
+
type: Input
|
|
177
|
+
}], content: [{
|
|
178
|
+
type: Input
|
|
179
|
+
}], done: [{
|
|
180
|
+
type: Input
|
|
181
|
+
}], routerLink: [{
|
|
182
|
+
type: Input
|
|
183
|
+
}], link: [{
|
|
184
|
+
type: Input
|
|
185
|
+
}], size: [{
|
|
186
|
+
type: Input
|
|
187
|
+
}], icon: [{
|
|
188
|
+
type: Input
|
|
189
|
+
}], iconAlign: [{
|
|
190
|
+
type: Input
|
|
191
|
+
}], externalLink: [{
|
|
192
|
+
type: Input
|
|
193
|
+
}], loading: [{
|
|
194
|
+
type: Input
|
|
195
|
+
}], onlyfirstLetterUpper: [{
|
|
196
|
+
type: Input
|
|
197
|
+
}], onClick: [{
|
|
198
|
+
type: Output
|
|
199
|
+
}] } });
|
|
200
|
+
|
|
201
|
+
class EluxDropdown {
|
|
202
|
+
constructor(injector) {
|
|
203
|
+
this.injector = injector;
|
|
204
|
+
this.placeholder = 'Selecione';
|
|
205
|
+
this.options = [];
|
|
206
|
+
this.selectedOption = '';
|
|
207
|
+
this.disabled = false;
|
|
208
|
+
this.idInput = '';
|
|
209
|
+
this.showSearch = false;
|
|
210
|
+
this.optionSelected = new EventEmitter();
|
|
211
|
+
this.isOpen = false;
|
|
212
|
+
this.selectedOptionText = '';
|
|
213
|
+
this.optionsFiltered = [];
|
|
214
|
+
this.onChange = () => undefined;
|
|
215
|
+
this.onTouched = () => undefined;
|
|
216
|
+
}
|
|
217
|
+
ngOnInit() {
|
|
218
|
+
this.injectParentFormControl();
|
|
219
|
+
this.addPlaceholderOption();
|
|
220
|
+
this.updateSelectedOption();
|
|
221
|
+
if (!this.idInput) {
|
|
222
|
+
this.idInput = `dropdown-${Math.random().toString(36).substring(2, 11)}`;
|
|
223
|
+
}
|
|
224
|
+
this.optionsFiltered = this.options;
|
|
225
|
+
}
|
|
226
|
+
ngOnChanges(changes) {
|
|
227
|
+
if (changes['selectedOption'] && !changes['selectedOption'].isFirstChange()) {
|
|
228
|
+
this.updateSelectedOption();
|
|
229
|
+
}
|
|
230
|
+
if (changes['placeholder'] && !changes['placeholder'].isFirstChange()) {
|
|
231
|
+
this.updatePlaceholderOption();
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
injectParentFormControl() {
|
|
235
|
+
const ngControl = this.injector.get(NgControl, null);
|
|
236
|
+
if (ngControl) {
|
|
237
|
+
this.parentFormControl = ngControl.control;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
addPlaceholderOption() {
|
|
241
|
+
if (!this.options.some((option) => option.value === null)) {
|
|
242
|
+
this.options.unshift({ value: null, text: this.placeholder });
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
updateSelectedOption() {
|
|
246
|
+
const selectedOption = this.options.find((option) => option.value === this.selectedOption);
|
|
247
|
+
this.selectedOptionText = selectedOption ? selectedOption.text : this.showSearch ? '' : this.placeholder;
|
|
248
|
+
}
|
|
249
|
+
updatePlaceholderOption() {
|
|
250
|
+
const placeholderOptionIndex = this.options.findIndex(option => option.value === null);
|
|
251
|
+
if (placeholderOptionIndex !== -1) {
|
|
252
|
+
this.options[placeholderOptionIndex].text = this.placeholder;
|
|
253
|
+
}
|
|
254
|
+
else {
|
|
255
|
+
this.addPlaceholderOption();
|
|
256
|
+
}
|
|
257
|
+
if (!this.showSearch && !this.selectedOption) {
|
|
258
|
+
this.selectedOptionText = this.placeholder;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
toggleDropdown() {
|
|
262
|
+
if (!this.disabled) {
|
|
263
|
+
this.isOpen = !this.isOpen;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
onDocumentClick(event) {
|
|
267
|
+
const target = event.target;
|
|
268
|
+
if (!target.closest(`#${this.idInput}`)) {
|
|
269
|
+
this.isOpen = false;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
selectOption(option) {
|
|
273
|
+
this.selectedOptionText = option.text;
|
|
274
|
+
this.optionSelected.emit(option.value);
|
|
275
|
+
this.onChange(option.value);
|
|
276
|
+
this.onTouched();
|
|
277
|
+
this.isOpen = false;
|
|
278
|
+
this.optionsFiltered = this.options;
|
|
279
|
+
}
|
|
280
|
+
writeValue(value) {
|
|
281
|
+
this.selectedOption = value;
|
|
282
|
+
this.updateSelectedOption();
|
|
283
|
+
}
|
|
284
|
+
registerOnChange(fn) {
|
|
285
|
+
this.onChange = fn;
|
|
286
|
+
}
|
|
287
|
+
registerOnTouched(fn) {
|
|
288
|
+
this.onTouched = fn;
|
|
289
|
+
}
|
|
290
|
+
setDisabledState(isDisabled) {
|
|
291
|
+
this.disabled = isDisabled;
|
|
292
|
+
}
|
|
293
|
+
onChangeFilter(event) {
|
|
294
|
+
const term = event?.target?.value?.toLowerCase() || '';
|
|
295
|
+
this.optionsFiltered = this.options.filter(option => option.text.toLowerCase().includes(term));
|
|
296
|
+
}
|
|
297
|
+
get isTouched() {
|
|
298
|
+
return this.parentFormControl?.touched || this.parentFormControl?.dirty;
|
|
299
|
+
}
|
|
300
|
+
get isInvalid() {
|
|
301
|
+
return this.parentFormControl?.invalid;
|
|
302
|
+
}
|
|
303
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxDropdown, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
304
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EluxDropdown, isStandalone: true, selector: "lib-elux-dropdown", inputs: { placeholder: "placeholder", options: "options", selectedOption: "selectedOption", disabled: "disabled", idInput: "idInput", showSearch: "showSearch" }, outputs: { optionSelected: "optionSelected" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, providers: [
|
|
305
|
+
{
|
|
306
|
+
provide: NG_VALUE_ACCESSOR,
|
|
307
|
+
useExisting: forwardRef(() => EluxDropdown),
|
|
308
|
+
multi: true,
|
|
309
|
+
},
|
|
310
|
+
], usesOnChanges: true, ngImport: i0, template: "<div class=\"custom-dropdown\">\r\n <input\r\n type=\"text\"\r\n class=\"selected-option\"\r\n [id]=\"idInput\"\r\n [readonly]=\"showSearch ? false : true\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"placeholder\"\r\n [value]=\"selectedOptionText ? selectedOptionText : ''\"\r\n [ngClass]=\"{\r\n 'ng-invalid': isInvalid,\r\n 'ng-touched': isTouched,\r\n 'selected-option-border': !isInvalid || !isTouched,\r\n }\"\r\n (click)=\"toggleDropdown()\"\r\n (input)=\"onChangeFilter($event)\"\r\n />\r\n <lib-elux-icon\r\n class=\"arrow-icon noClick\"\r\n [color]=\"'#7A8A9B'\"\r\n [icon]=\"'Chevron_Down.svg'\"\r\n [ngClass]=\"{ 'arrow-rotate': isOpen }\"\r\n [size]=\"'16'\"\r\n [sizeType]=\"'px'\"\r\n ></lib-elux-icon>\r\n <ul class=\"dropdown-list\" *ngIf=\"isOpen\">\r\n <li *ngFor=\"let option of showSearch ? optionsFiltered : options\" (click)=\"selectOption(option)\">\r\n {{ option.text }}\r\n </li>\r\n </ul>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body,:host{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body,:host{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}:host{color:\"darkest-grey\"}:host .noClick{pointer-events:none}:host .custom-dropdown{position:relative;width:100%}:host .selected-option{padding:10px 16px;cursor:pointer}:host .selected-option-border{border:1px solid #7A8A9B}:host .dropdown-list{list-style-type:none;padding:0;margin:0;border:1px solid #EAEBED;position:absolute;top:100%;width:100%;left:0;background-color:#fff;display:block;max-height:256px;overflow:auto;z-index:10}:host .dropdown-list::-webkit-scrollbar{width:4px}:host .dropdown-list::-webkit-scrollbar-track{background:#f4f5f7}:host .dropdown-list::-webkit-scrollbar-thumb{background:#adb9c3}:host .dropdown-list li{padding:13px 16px;cursor:pointer}:host .dropdown-list li:hover{background-color:#eaebed}:host .arrow-icon{display:flex;position:absolute;top:calc(50% - 8px);right:10px;cursor:pointer;transition:all .3s ease-in-out}:host .arrow-rotate{transform:rotate(180deg)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: EluxIcon, selector: "lib-elux-icon", inputs: ["color", "useSubscription", "icon", "description", "size", "height", "width", "sizeType"] }] }); }
|
|
311
|
+
}
|
|
312
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxDropdown, decorators: [{
|
|
313
|
+
type: Component,
|
|
314
|
+
args: [{ selector: 'lib-elux-dropdown', standalone: true, imports: [CommonModule, FormsModule, ReactiveFormsModule, EluxIcon], providers: [
|
|
315
|
+
{
|
|
316
|
+
provide: NG_VALUE_ACCESSOR,
|
|
317
|
+
useExisting: forwardRef(() => EluxDropdown),
|
|
318
|
+
multi: true,
|
|
319
|
+
},
|
|
320
|
+
], template: "<div class=\"custom-dropdown\">\r\n <input\r\n type=\"text\"\r\n class=\"selected-option\"\r\n [id]=\"idInput\"\r\n [readonly]=\"showSearch ? false : true\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"placeholder\"\r\n [value]=\"selectedOptionText ? selectedOptionText : ''\"\r\n [ngClass]=\"{\r\n 'ng-invalid': isInvalid,\r\n 'ng-touched': isTouched,\r\n 'selected-option-border': !isInvalid || !isTouched,\r\n }\"\r\n (click)=\"toggleDropdown()\"\r\n (input)=\"onChangeFilter($event)\"\r\n />\r\n <lib-elux-icon\r\n class=\"arrow-icon noClick\"\r\n [color]=\"'#7A8A9B'\"\r\n [icon]=\"'Chevron_Down.svg'\"\r\n [ngClass]=\"{ 'arrow-rotate': isOpen }\"\r\n [size]=\"'16'\"\r\n [sizeType]=\"'px'\"\r\n ></lib-elux-icon>\r\n <ul class=\"dropdown-list\" *ngIf=\"isOpen\">\r\n <li *ngFor=\"let option of showSearch ? optionsFiltered : options\" (click)=\"selectOption(option)\">\r\n {{ option.text }}\r\n </li>\r\n </ul>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body,:host{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body,:host{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}:host{color:\"darkest-grey\"}:host .noClick{pointer-events:none}:host .custom-dropdown{position:relative;width:100%}:host .selected-option{padding:10px 16px;cursor:pointer}:host .selected-option-border{border:1px solid #7A8A9B}:host .dropdown-list{list-style-type:none;padding:0;margin:0;border:1px solid #EAEBED;position:absolute;top:100%;width:100%;left:0;background-color:#fff;display:block;max-height:256px;overflow:auto;z-index:10}:host .dropdown-list::-webkit-scrollbar{width:4px}:host .dropdown-list::-webkit-scrollbar-track{background:#f4f5f7}:host .dropdown-list::-webkit-scrollbar-thumb{background:#adb9c3}:host .dropdown-list li{padding:13px 16px;cursor:pointer}:host .dropdown-list li:hover{background-color:#eaebed}:host .arrow-icon{display:flex;position:absolute;top:calc(50% - 8px);right:10px;cursor:pointer;transition:all .3s ease-in-out}:host .arrow-rotate{transform:rotate(180deg)}\n"] }]
|
|
321
|
+
}], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { placeholder: [{
|
|
322
|
+
type: Input
|
|
323
|
+
}], options: [{
|
|
324
|
+
type: Input
|
|
325
|
+
}], selectedOption: [{
|
|
326
|
+
type: Input
|
|
327
|
+
}], disabled: [{
|
|
328
|
+
type: Input
|
|
329
|
+
}], idInput: [{
|
|
330
|
+
type: Input
|
|
331
|
+
}], showSearch: [{
|
|
332
|
+
type: Input
|
|
333
|
+
}], optionSelected: [{
|
|
334
|
+
type: Output
|
|
335
|
+
}], onDocumentClick: [{
|
|
336
|
+
type: HostListener,
|
|
337
|
+
args: ['document:click', ['$event']]
|
|
338
|
+
}] } });
|
|
339
|
+
|
|
340
|
+
class EluxPaginator {
|
|
341
|
+
constructor() {
|
|
342
|
+
this.length = 0;
|
|
343
|
+
this.current = 0;
|
|
344
|
+
this.anchor = true;
|
|
345
|
+
this.scrollTo = undefined;
|
|
346
|
+
this.paginationEvents = new EventEmitter();
|
|
347
|
+
this.pages = [];
|
|
348
|
+
this.previousPages = [];
|
|
349
|
+
this.nextPages = [];
|
|
350
|
+
}
|
|
351
|
+
ngOnInit() {
|
|
352
|
+
this.showPages();
|
|
353
|
+
}
|
|
354
|
+
ngOnChanges(changes) {
|
|
355
|
+
if (changes['length'] || changes['current']) {
|
|
356
|
+
this.showPages();
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
scrollToElement(event) {
|
|
360
|
+
let el = event.target;
|
|
361
|
+
if (this.anchor && !this.scrollTo) {
|
|
362
|
+
const container = el.closest('.table-container');
|
|
363
|
+
setTimeout(() => {
|
|
364
|
+
if (container) {
|
|
365
|
+
container.closest('.table-container').scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'nearest' });
|
|
366
|
+
}
|
|
367
|
+
}, 100);
|
|
368
|
+
}
|
|
369
|
+
if (this.scrollTo != undefined) {
|
|
370
|
+
el = document.querySelector(this.scrollTo);
|
|
371
|
+
setTimeout(() => {
|
|
372
|
+
el.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'nearest' });
|
|
373
|
+
}, 100);
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
goLast() {
|
|
377
|
+
this.goToPage(this.length);
|
|
378
|
+
}
|
|
379
|
+
goFirst() {
|
|
380
|
+
this.goToPage(1);
|
|
381
|
+
}
|
|
382
|
+
nextPage() {
|
|
383
|
+
this.goToPage(this.current + 1);
|
|
384
|
+
}
|
|
385
|
+
prevPage() {
|
|
386
|
+
this.goToPage(this.current - 1);
|
|
387
|
+
}
|
|
388
|
+
goToPage(page) {
|
|
389
|
+
this.paginationEvents.emit({ type: 'goTo', page: page });
|
|
390
|
+
this.current = page;
|
|
391
|
+
this.showPages();
|
|
392
|
+
}
|
|
393
|
+
goToSpecPage(page, event) {
|
|
394
|
+
this.paginationEvents.emit({ type: 'goTo', page: page });
|
|
395
|
+
this.current = page;
|
|
396
|
+
this.showPages();
|
|
397
|
+
setTimeout(() => {
|
|
398
|
+
this.scrollToElement(event);
|
|
399
|
+
}, 400);
|
|
400
|
+
}
|
|
401
|
+
showPages() {
|
|
402
|
+
this.previousPages = [];
|
|
403
|
+
this.nextPages = [];
|
|
404
|
+
this.pages = [];
|
|
405
|
+
if (!this.current) {
|
|
406
|
+
return;
|
|
407
|
+
}
|
|
408
|
+
if (this.length <= 5) {
|
|
409
|
+
for (let i = 0; i < this.length; i++) {
|
|
410
|
+
this.pages.push(i + 1);
|
|
411
|
+
}
|
|
412
|
+
return;
|
|
413
|
+
}
|
|
414
|
+
if (this.current < 4) {
|
|
415
|
+
for (let i = 0; i < 5 - this.current; i++) {
|
|
416
|
+
const element = i + 1;
|
|
417
|
+
this.nextPages.push(element + this.current);
|
|
418
|
+
}
|
|
419
|
+
for (let i = 0; i < this.current - 1; i++) {
|
|
420
|
+
const element = i + 1;
|
|
421
|
+
this.previousPages.push(element);
|
|
422
|
+
}
|
|
423
|
+
return;
|
|
424
|
+
}
|
|
425
|
+
if (this.current > 3 && this.current <= this.length - 2) {
|
|
426
|
+
this.nextPages.push(this.current + 1);
|
|
427
|
+
this.nextPages.push(this.current + 2);
|
|
428
|
+
this.previousPages.push(this.current - 2);
|
|
429
|
+
this.previousPages.push(this.current - 1);
|
|
430
|
+
return;
|
|
431
|
+
}
|
|
432
|
+
if (this.current > this.length - 2) {
|
|
433
|
+
for (let i = 0; i < this.length - this.current; i++) {
|
|
434
|
+
const element = i + 1;
|
|
435
|
+
this.nextPages.push(element + this.current);
|
|
436
|
+
}
|
|
437
|
+
for (let i = 0; i < 4 - this.nextPages.length; i++) {
|
|
438
|
+
const element = this.current - (i + 1);
|
|
439
|
+
this.previousPages.push(element);
|
|
440
|
+
}
|
|
441
|
+
this.previousPages.reverse();
|
|
442
|
+
return;
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxPaginator, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
446
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EluxPaginator, isStandalone: true, selector: "lib-elux-paginator", inputs: { length: "length", current: "current", anchor: "anchor", scrollTo: "scrollTo" }, outputs: { paginationEvents: "paginationEvents" }, usesOnChanges: true, ngImport: i0, template: "<nav>\r\n <ul class=\"paginator\" *ngIf=\"length > 5\">\r\n <li class=\"pagination-number\">\r\n <div *ngIf=\"current !== 1\" (click)=\"goFirst(); scrollToElement($event)\">\r\n <lib-elux-icon [icon]=\"'Chevron_Left_Double.svg'\" [sizeType]=\"'px'\" [size]=\"'16'\"> </lib-elux-icon>\r\n </div>\r\n </li>\r\n\r\n <li class=\"last-page\">\r\n <div *ngIf=\"current !== 1\" (click)=\"prevPage(); scrollToElement($event)\" title=\"next page\">\r\n <lib-elux-icon [icon]=\"'Chevron_Left.svg'\" [size]=\"'16'\" [sizeType]=\"'px'\"> </lib-elux-icon>\r\n </div>\r\n </li>\r\n\r\n <li class=\"pages-before pagination-number\" *ngFor=\"let page of previousPages\">\r\n <div (click)=\"goToSpecPage(page, $event)\">{{ page }}</div>\r\n </li>\r\n\r\n <li class=\"pagination-number current-page\">\r\n <div>\r\n {{ current }}\r\n </div>\r\n </li>\r\n\r\n <li class=\"pages-after pagination-number\" *ngFor=\"let page of nextPages\">\r\n <div (click)=\"goToSpecPage(page, $event); scrollToElement($event)\">{{ page }}</div>\r\n </li>\r\n\r\n <li class=\"next-page\">\r\n <div *ngIf=\"current !== length\" (click)=\"nextPage(); scrollToElement($event)\" title=\"next page\">\r\n <lib-elux-icon [icon]=\"'Chevron_Right.svg'\" [size]=\"'16'\" [sizeType]=\"'px'\"></lib-elux-icon>\r\n </div>\r\n </li>\r\n\r\n <li class=\"pagination-number\">\r\n <div *ngIf=\"current !== length\" (click)=\"goLast(); scrollToElement($event)\">\r\n <lib-elux-icon [icon]=\"'Chevron_Right_Double.svg'\" [sizeType]=\"'px'\" [size]=\"'16'\"></lib-elux-icon>\r\n </div>\r\n </li>\r\n </ul>\r\n\r\n <ul class=\"paginator\" *ngIf=\"length <= 5\">\r\n <li *ngFor=\"let page of pages\" class=\"pagination-number\" [ngClass]=\"current === page ? 'current-page' : ''\">\r\n <div (click)=\"goToSpecPage(page, $event);\">\r\n {{ page }}\r\n </div>\r\n </li>\r\n </ul>\r\n</nav>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body,:host nav ul li.pagination-number div{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body,:host nav ul li.pagination-number div{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}:host nav{display:flex}:host nav ul{padding:0;margin:0!important;display:flex;align-items:center}:host nav ul li{list-style:none;margin-right:8px;margin-left:8px;height:24px;width:24px;display:flex;align-items:center;justify-content:center;border-radius:24px;cursor:pointer}:host nav ul li.pagination-number div{background-color:transparent;border-radius:24px;height:24px;width:24px;text-align:center;line-height:16px;display:flex;align-items:center;justify-content:center}:host nav ul li.pagination-number.current-page div{background-color:#011e41;border-radius:24px;color:#fff}:host nav ul li.next-page,:host nav ul li.last-page{height:24px;width:24px}:host nav ul li.next-page div,:host nav ul li.last-page div{background-color:transparent;border-radius:24px;height:24px;width:24px;border:1px solid #011E41;text-align:center;line-height:14px;display:flex;justify-content:center;align-items:center}:host nav ul li.next-page div:hover,:host nav ul li.last-page div:hover{border-color:#011e41}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: EluxIcon, selector: "lib-elux-icon", inputs: ["color", "useSubscription", "icon", "description", "size", "height", "width", "sizeType"] }] }); }
|
|
447
|
+
}
|
|
448
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxPaginator, decorators: [{
|
|
449
|
+
type: Component,
|
|
450
|
+
args: [{ selector: 'lib-elux-paginator', standalone: true, imports: [CommonModule, EluxIcon], template: "<nav>\r\n <ul class=\"paginator\" *ngIf=\"length > 5\">\r\n <li class=\"pagination-number\">\r\n <div *ngIf=\"current !== 1\" (click)=\"goFirst(); scrollToElement($event)\">\r\n <lib-elux-icon [icon]=\"'Chevron_Left_Double.svg'\" [sizeType]=\"'px'\" [size]=\"'16'\"> </lib-elux-icon>\r\n </div>\r\n </li>\r\n\r\n <li class=\"last-page\">\r\n <div *ngIf=\"current !== 1\" (click)=\"prevPage(); scrollToElement($event)\" title=\"next page\">\r\n <lib-elux-icon [icon]=\"'Chevron_Left.svg'\" [size]=\"'16'\" [sizeType]=\"'px'\"> </lib-elux-icon>\r\n </div>\r\n </li>\r\n\r\n <li class=\"pages-before pagination-number\" *ngFor=\"let page of previousPages\">\r\n <div (click)=\"goToSpecPage(page, $event)\">{{ page }}</div>\r\n </li>\r\n\r\n <li class=\"pagination-number current-page\">\r\n <div>\r\n {{ current }}\r\n </div>\r\n </li>\r\n\r\n <li class=\"pages-after pagination-number\" *ngFor=\"let page of nextPages\">\r\n <div (click)=\"goToSpecPage(page, $event); scrollToElement($event)\">{{ page }}</div>\r\n </li>\r\n\r\n <li class=\"next-page\">\r\n <div *ngIf=\"current !== length\" (click)=\"nextPage(); scrollToElement($event)\" title=\"next page\">\r\n <lib-elux-icon [icon]=\"'Chevron_Right.svg'\" [size]=\"'16'\" [sizeType]=\"'px'\"></lib-elux-icon>\r\n </div>\r\n </li>\r\n\r\n <li class=\"pagination-number\">\r\n <div *ngIf=\"current !== length\" (click)=\"goLast(); scrollToElement($event)\">\r\n <lib-elux-icon [icon]=\"'Chevron_Right_Double.svg'\" [sizeType]=\"'px'\" [size]=\"'16'\"></lib-elux-icon>\r\n </div>\r\n </li>\r\n </ul>\r\n\r\n <ul class=\"paginator\" *ngIf=\"length <= 5\">\r\n <li *ngFor=\"let page of pages\" class=\"pagination-number\" [ngClass]=\"current === page ? 'current-page' : ''\">\r\n <div (click)=\"goToSpecPage(page, $event);\">\r\n {{ page }}\r\n </div>\r\n </li>\r\n </ul>\r\n</nav>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body,:host nav ul li.pagination-number div{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body,:host nav ul li.pagination-number div{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}:host nav{display:flex}:host nav ul{padding:0;margin:0!important;display:flex;align-items:center}:host nav ul li{list-style:none;margin-right:8px;margin-left:8px;height:24px;width:24px;display:flex;align-items:center;justify-content:center;border-radius:24px;cursor:pointer}:host nav ul li.pagination-number div{background-color:transparent;border-radius:24px;height:24px;width:24px;text-align:center;line-height:16px;display:flex;align-items:center;justify-content:center}:host nav ul li.pagination-number.current-page div{background-color:#011e41;border-radius:24px;color:#fff}:host nav ul li.next-page,:host nav ul li.last-page{height:24px;width:24px}:host nav ul li.next-page div,:host nav ul li.last-page div{background-color:transparent;border-radius:24px;height:24px;width:24px;border:1px solid #011E41;text-align:center;line-height:14px;display:flex;justify-content:center;align-items:center}:host nav ul li.next-page div:hover,:host nav ul li.last-page div:hover{border-color:#011e41}\n"] }]
|
|
451
|
+
}], ctorParameters: () => [], propDecorators: { length: [{
|
|
452
|
+
type: Input
|
|
453
|
+
}], current: [{
|
|
454
|
+
type: Input
|
|
455
|
+
}], anchor: [{
|
|
456
|
+
type: Input
|
|
457
|
+
}], scrollTo: [{
|
|
458
|
+
type: Input
|
|
459
|
+
}], paginationEvents: [{
|
|
460
|
+
type: Output
|
|
461
|
+
}] } });
|
|
462
|
+
|
|
463
|
+
class EluxStepBar {
|
|
464
|
+
constructor() {
|
|
465
|
+
this.steps = 0;
|
|
466
|
+
this.currentStep = 0;
|
|
467
|
+
this.stepClicked = new EventEmitter();
|
|
468
|
+
}
|
|
469
|
+
stepClickedHandler(step) {
|
|
470
|
+
this.stepClicked.emit(step);
|
|
471
|
+
}
|
|
472
|
+
isLastStep() {
|
|
473
|
+
return this.currentStep === this.steps;
|
|
474
|
+
}
|
|
475
|
+
getStepsArray() {
|
|
476
|
+
return new Array(this.steps);
|
|
477
|
+
}
|
|
478
|
+
getProgressWidth() {
|
|
479
|
+
if (this.steps <= 1)
|
|
480
|
+
return '0%';
|
|
481
|
+
const segmentWidth = 100 / this.steps;
|
|
482
|
+
const adjustment = this.isLastStep() ? 1 : 0.95;
|
|
483
|
+
const progress = (this.currentStep - 1 + adjustment) * segmentWidth;
|
|
484
|
+
return `${progress}%`;
|
|
485
|
+
}
|
|
486
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxStepBar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
487
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EluxStepBar, isStandalone: true, selector: "lib-elux-stepbar", inputs: { steps: "steps", currentStep: "currentStep" }, outputs: { stepClicked: "stepClicked" }, ngImport: i0, template: "<div class=\"progress-bar\">\r\n <div class=\"steps-container\">\r\n <div class=\"step\" \r\n *ngFor=\"let step of [].constructor(steps + 1); let i = index\"\r\n #stepElement\r\n [class.hidden]=\"i === steps\"\r\n (click)=\"i < steps && stepClickedHandler(i)\">\r\n {{ i < steps ? (i + 1) : '' }}\r\n </div>\r\n </div>\r\n <div class=\"progress\" [style.width]=\"getProgressWidth()\"></div>\r\n <div class=\"progress-background\" [style.width]=\"'100%'\"></div>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1,:host .step{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1,:host .step{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}:host .progress-bar{position:relative;width:100%}:host .steps-container{display:flex;justify-content:space-between;padding:5px}:host .step{color:#011e41;cursor:pointer;width:16px}:host .progress{margin-top:4px;width:0%;background-color:#011e41;transition:width .3s;border-radius:8px;height:8px;z-index:5}:host .progress-background{height:8px;width:0%;background-color:#eaebed;position:absolute;bottom:0;z-index:3}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
|
|
488
|
+
}
|
|
489
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxStepBar, decorators: [{
|
|
490
|
+
type: Component,
|
|
491
|
+
args: [{ selector: 'lib-elux-stepbar', standalone: true, imports: [CommonModule], template: "<div class=\"progress-bar\">\r\n <div class=\"steps-container\">\r\n <div class=\"step\" \r\n *ngFor=\"let step of [].constructor(steps + 1); let i = index\"\r\n #stepElement\r\n [class.hidden]=\"i === steps\"\r\n (click)=\"i < steps && stepClickedHandler(i)\">\r\n {{ i < steps ? (i + 1) : '' }}\r\n </div>\r\n </div>\r\n <div class=\"progress\" [style.width]=\"getProgressWidth()\"></div>\r\n <div class=\"progress-background\" [style.width]=\"'100%'\"></div>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1,:host .step{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1,:host .step{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}:host .progress-bar{position:relative;width:100%}:host .steps-container{display:flex;justify-content:space-between;padding:5px}:host .step{color:#011e41;cursor:pointer;width:16px}:host .progress{margin-top:4px;width:0%;background-color:#011e41;transition:width .3s;border-radius:8px;height:8px;z-index:5}:host .progress-background{height:8px;width:0%;background-color:#eaebed;position:absolute;bottom:0;z-index:3}\n"] }]
|
|
492
|
+
}], ctorParameters: () => [], propDecorators: { steps: [{
|
|
493
|
+
type: Input
|
|
494
|
+
}], currentStep: [{
|
|
495
|
+
type: Input
|
|
496
|
+
}], stepClicked: [{
|
|
497
|
+
type: Output
|
|
498
|
+
}] } });
|
|
499
|
+
|
|
500
|
+
class EluxDatepicker {
|
|
501
|
+
constructor(injector) {
|
|
502
|
+
this.injector = injector;
|
|
503
|
+
this.value = '';
|
|
504
|
+
this.locale = 'pt-BR';
|
|
505
|
+
this.idInput = '';
|
|
506
|
+
this.placeholder = '00/00/0000';
|
|
507
|
+
this.dateSelected = new EventEmitter();
|
|
508
|
+
this.invalidDate = new EventEmitter();
|
|
509
|
+
this.disabled = false;
|
|
510
|
+
this.showCalendar = false;
|
|
511
|
+
this.pickerView = 'week';
|
|
512
|
+
this.currentDate = new Date();
|
|
513
|
+
this.selectedDate = null;
|
|
514
|
+
this.formatedDate = '';
|
|
515
|
+
this.days = [];
|
|
516
|
+
this.months = [];
|
|
517
|
+
this.years = [];
|
|
518
|
+
this.onChange = () => undefined;
|
|
519
|
+
this.onTouched = () => undefined;
|
|
520
|
+
}
|
|
521
|
+
injectParentFormControl() {
|
|
522
|
+
const ngControl = this.injector.get(NgControl, null);
|
|
523
|
+
if (ngControl) {
|
|
524
|
+
this.parentFormControl = ngControl.control;
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
writeValue(value) {
|
|
528
|
+
this.formatedDate = value;
|
|
529
|
+
this.onBlur();
|
|
530
|
+
}
|
|
531
|
+
registerOnChange(fn) {
|
|
532
|
+
this.onChange = fn;
|
|
533
|
+
}
|
|
534
|
+
registerOnTouched(fn) {
|
|
535
|
+
this.onTouched = fn;
|
|
536
|
+
}
|
|
537
|
+
get isTouched() {
|
|
538
|
+
return this.parentFormControl?.touched || this.parentFormControl?.dirty;
|
|
539
|
+
}
|
|
540
|
+
get isInvalid() {
|
|
541
|
+
return this.parentFormControl?.invalid;
|
|
542
|
+
}
|
|
543
|
+
headerDate() {
|
|
544
|
+
return `${this.currentDate.toLocaleString(this.locale, {
|
|
545
|
+
month: 'long',
|
|
546
|
+
})} ${this.currentDate.getFullYear()}`;
|
|
547
|
+
}
|
|
548
|
+
headerDateWeek() {
|
|
549
|
+
const daysOfWeek = [];
|
|
550
|
+
const baseDate = new Date();
|
|
551
|
+
for (let i = 0; i < 7; i++) {
|
|
552
|
+
const day = new Date(baseDate.setDate(baseDate.getDate() - baseDate.getDay() + i));
|
|
553
|
+
daysOfWeek.push(day.toLocaleDateString(this.locale, { weekday: 'narrow' }));
|
|
554
|
+
}
|
|
555
|
+
return daysOfWeek;
|
|
556
|
+
}
|
|
557
|
+
ngOnInit() {
|
|
558
|
+
this.injectParentFormControl();
|
|
559
|
+
if (this.value) {
|
|
560
|
+
this.formatedDate = this.value;
|
|
561
|
+
this.onBlur();
|
|
562
|
+
}
|
|
563
|
+
this.generateCalendar(this.currentDate);
|
|
564
|
+
}
|
|
565
|
+
setDisabledState(isDisabled) {
|
|
566
|
+
this.disabled = isDisabled;
|
|
567
|
+
}
|
|
568
|
+
ngOnChanges(changes) {
|
|
569
|
+
if (changes['value'] && !changes['value'].isFirstChange()) {
|
|
570
|
+
this.formatedDate = this.value;
|
|
571
|
+
this.onBlur();
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
onChangeValue(event) {
|
|
575
|
+
const input = event.target;
|
|
576
|
+
let value = input.value.replace(/\D/g, '');
|
|
577
|
+
const separator = this.detectLocaleDateSeparator(this.locale);
|
|
578
|
+
if (value.length <= 2) {
|
|
579
|
+
this.formatedDate = value;
|
|
580
|
+
}
|
|
581
|
+
else if (value.length <= 4) {
|
|
582
|
+
this.formatedDate = `${value.slice(0, 2)}${separator}${value.slice(2)}`;
|
|
583
|
+
}
|
|
584
|
+
else {
|
|
585
|
+
this.formatedDate = `${value.slice(0, 2)}${separator}${value.slice(2, 4)}${separator}${value.slice(4, 8)}`;
|
|
586
|
+
}
|
|
587
|
+
input.value = this.formatedDate;
|
|
588
|
+
input.setSelectionRange(input.value.length, input.value.length);
|
|
589
|
+
}
|
|
590
|
+
detectLocaleDateSeparator(locale) {
|
|
591
|
+
const sampleDate = new Date(2000, 0, 15);
|
|
592
|
+
const formatted = sampleDate.toLocaleDateString(locale);
|
|
593
|
+
const match = formatted.match(/[^0-9]/);
|
|
594
|
+
return match ? match[0] : '/';
|
|
595
|
+
}
|
|
596
|
+
toggleCalendar() {
|
|
597
|
+
this.showCalendar = !this.showCalendar;
|
|
598
|
+
if (this.showCalendar) {
|
|
599
|
+
this.pickerView = 'week';
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
changeView() {
|
|
603
|
+
switch (this.pickerView) {
|
|
604
|
+
case 'week':
|
|
605
|
+
this.pickerView = 'month';
|
|
606
|
+
this.generateMonths();
|
|
607
|
+
break;
|
|
608
|
+
case 'month':
|
|
609
|
+
this.pickerView = 'year';
|
|
610
|
+
this.generateYears();
|
|
611
|
+
break;
|
|
612
|
+
case 'year':
|
|
613
|
+
break;
|
|
614
|
+
default:
|
|
615
|
+
break;
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
closeCalendar() {
|
|
619
|
+
this.showCalendar = false;
|
|
620
|
+
}
|
|
621
|
+
previous() {
|
|
622
|
+
switch (this.pickerView) {
|
|
623
|
+
case 'week':
|
|
624
|
+
this.prevMonth();
|
|
625
|
+
break;
|
|
626
|
+
case 'month':
|
|
627
|
+
this.prevYear(1);
|
|
628
|
+
break;
|
|
629
|
+
case 'year':
|
|
630
|
+
this.prevYear(30);
|
|
631
|
+
break;
|
|
632
|
+
default:
|
|
633
|
+
break;
|
|
634
|
+
}
|
|
635
|
+
}
|
|
636
|
+
next() {
|
|
637
|
+
switch (this.pickerView) {
|
|
638
|
+
case 'week':
|
|
639
|
+
this.nextMonth();
|
|
640
|
+
break;
|
|
641
|
+
case 'month':
|
|
642
|
+
this.nextYear(1);
|
|
643
|
+
break;
|
|
644
|
+
case 'year':
|
|
645
|
+
this.nextYear(30);
|
|
646
|
+
break;
|
|
647
|
+
default:
|
|
648
|
+
break;
|
|
649
|
+
}
|
|
650
|
+
}
|
|
651
|
+
prevMonth() {
|
|
652
|
+
this.currentDate = new Date(this.currentDate.setMonth(this.currentDate.getMonth() - 1));
|
|
653
|
+
this.generateCalendar(this.currentDate);
|
|
654
|
+
}
|
|
655
|
+
nextMonth() {
|
|
656
|
+
this.currentDate = new Date(this.currentDate.setMonth(this.currentDate.getMonth() + 1));
|
|
657
|
+
this.generateCalendar(this.currentDate);
|
|
658
|
+
}
|
|
659
|
+
prevYear(yearQtde) {
|
|
660
|
+
this.onChangeYear(this.currentDate.getFullYear() - yearQtde);
|
|
661
|
+
this.generateYears();
|
|
662
|
+
}
|
|
663
|
+
nextYear(yearQtde) {
|
|
664
|
+
this.onChangeYear(this.currentDate.getFullYear() + yearQtde);
|
|
665
|
+
this.generateYears();
|
|
666
|
+
}
|
|
667
|
+
selectDate(day) {
|
|
668
|
+
const selected = new Date(this.currentDate.getFullYear(), this.currentDate.getMonth(), day.day);
|
|
669
|
+
this.selectedDate = selected;
|
|
670
|
+
this.formatedDate = this.selectedDate.toLocaleDateString(this.locale, {
|
|
671
|
+
day: '2-digit',
|
|
672
|
+
month: '2-digit',
|
|
673
|
+
year: 'numeric',
|
|
674
|
+
});
|
|
675
|
+
this.generateCalendar(this.currentDate);
|
|
676
|
+
this.closeCalendar();
|
|
677
|
+
this.onBlur();
|
|
678
|
+
}
|
|
679
|
+
selectMonth(monthValue) {
|
|
680
|
+
const maxDate = this.maxDate ? new Date(this.maxDate) : null;
|
|
681
|
+
const selectedMonth = new Date(this.currentDate.getFullYear(), monthValue, 1);
|
|
682
|
+
if (maxDate && selectedMonth > new Date(maxDate.getFullYear(), maxDate.getMonth(), 1)) {
|
|
683
|
+
return;
|
|
684
|
+
}
|
|
685
|
+
this.currentDate = new Date(this.currentDate.getFullYear(), monthValue, 10);
|
|
686
|
+
this.pickerView = 'week';
|
|
687
|
+
this.generateCalendar(this.currentDate);
|
|
688
|
+
}
|
|
689
|
+
onChangeYear(year) {
|
|
690
|
+
this.currentDate = new Date(this.currentDate.setFullYear(year));
|
|
691
|
+
this.generateMonths();
|
|
692
|
+
}
|
|
693
|
+
selectYear(year) {
|
|
694
|
+
this.onChangeYear(year);
|
|
695
|
+
this.pickerView = 'month';
|
|
696
|
+
}
|
|
697
|
+
generateCalendar(date) {
|
|
698
|
+
this.days = [];
|
|
699
|
+
const year = date.getFullYear();
|
|
700
|
+
const month = date.getMonth();
|
|
701
|
+
const minDate = this.minDate ? new Date(this.minDate) : null;
|
|
702
|
+
const maxDate = this.maxDate ? new Date(this.maxDate) : null;
|
|
703
|
+
const today = new Date();
|
|
704
|
+
const isTodayMonth = today.getMonth() === month && today.getFullYear() === year;
|
|
705
|
+
const selectedYear = this.selectedDate?.getFullYear();
|
|
706
|
+
const selectedMonth = this.selectedDate?.getMonth();
|
|
707
|
+
const selectedDay = this.selectedDate?.getDate();
|
|
708
|
+
const firstWeekDayOfMonth = new Date(year, month, 1).getDay();
|
|
709
|
+
const lastWeekDayOfMonth = new Date(year, month + 1, 0).getDate();
|
|
710
|
+
// Preenche os dias do mês anterior, se necessário
|
|
711
|
+
for (let i = firstWeekDayOfMonth; i > 0; i--) {
|
|
712
|
+
this.days.push({ day: 0, disabled: true });
|
|
713
|
+
}
|
|
714
|
+
// Preenche os dias do mês atual
|
|
715
|
+
for (let i = 1; i <= lastWeekDayOfMonth; i++) {
|
|
716
|
+
const dateValue = new Date(year, month, i);
|
|
717
|
+
const isToday = isTodayMonth && today.getDate() === i;
|
|
718
|
+
const isSelected = selectedYear === year && selectedMonth === month && selectedDay === i;
|
|
719
|
+
const disabled = ((minDate && dateValue < minDate) || (maxDate && dateValue > maxDate)) ?? false;
|
|
720
|
+
this.days.push({ day: i, today: isToday, selected: isSelected, disabled: disabled });
|
|
721
|
+
}
|
|
722
|
+
}
|
|
723
|
+
generateMonths() {
|
|
724
|
+
this.months = [];
|
|
725
|
+
const currentYear = this.currentDate.getFullYear();
|
|
726
|
+
const maxDate = this.maxDate ? new Date(this.maxDate) : null;
|
|
727
|
+
const minDate = this.minDate ? new Date(this.minDate) : null;
|
|
728
|
+
for (let i = 0; i < 12; i++) {
|
|
729
|
+
// Usar o dia 1 para evitar problemas com meses que não têm 31 dias
|
|
730
|
+
const dateValue = new Date(currentYear, i, 1);
|
|
731
|
+
const isDisabled = ((minDate && dateValue < minDate) || (maxDate && dateValue > maxDate)) ?? false;
|
|
732
|
+
this.months.push({ value: i, text: dateValue.toLocaleString(this.locale, { month: 'long' }), disabled: isDisabled });
|
|
733
|
+
}
|
|
734
|
+
}
|
|
735
|
+
generateYears() {
|
|
736
|
+
this.years = [];
|
|
737
|
+
const currentYear = this.currentDate.getFullYear();
|
|
738
|
+
const maxDate = this.maxDate ? new Date(this.maxDate) : null;
|
|
739
|
+
const minDate = this.minDate ? new Date(this.minDate) : null;
|
|
740
|
+
for (let i = currentYear - 19; i <= currentYear + 10; i++) {
|
|
741
|
+
const isDisabled = ((minDate && i < minDate.getFullYear()) || (maxDate && i > maxDate.getFullYear())) ?? false;
|
|
742
|
+
this.years.push({ value: i, disabled: isDisabled });
|
|
743
|
+
}
|
|
744
|
+
}
|
|
745
|
+
validDate(date) {
|
|
746
|
+
return date instanceof Date && !isNaN(date.getTime());
|
|
747
|
+
}
|
|
748
|
+
onBlur() {
|
|
749
|
+
const order = this.detectDateOrder(this.locale);
|
|
750
|
+
const separator = this.detectDateSeparator(this.formatedDate);
|
|
751
|
+
const parts = this.formatedDate.split(separator).map(Number);
|
|
752
|
+
let isValid = false;
|
|
753
|
+
let date = undefined;
|
|
754
|
+
if (parts.length === 3 && !parts.some(isNaN)) {
|
|
755
|
+
const dateMap = {};
|
|
756
|
+
[dateMap[order[0]], dateMap[order[1]], dateMap[order[2]]] = parts;
|
|
757
|
+
const { day, month, year } = dateMap;
|
|
758
|
+
date = new Date(year, month - 1, day);
|
|
759
|
+
isValid = this.validDate(date) && date.getFullYear() === year && date.getMonth() === month - 1 && date.getDate() === day;
|
|
760
|
+
}
|
|
761
|
+
this.onTouched();
|
|
762
|
+
this.onChange(this.formatedDate);
|
|
763
|
+
if (isValid && date) {
|
|
764
|
+
this.dateSelected.emit(this.formatedDate);
|
|
765
|
+
this.selectedDate = date;
|
|
766
|
+
this.generateCalendar(this.currentDate);
|
|
767
|
+
}
|
|
768
|
+
else {
|
|
769
|
+
this.invalidDate.emit(this.formatedDate);
|
|
770
|
+
}
|
|
771
|
+
}
|
|
772
|
+
detectDateOrder(locale) {
|
|
773
|
+
const sample = new Date(2025, 10, 23); // 23/11/2025
|
|
774
|
+
const formatted = new Intl.DateTimeFormat(locale).format(sample);
|
|
775
|
+
const parts = formatted.match(/\d+/g);
|
|
776
|
+
if (!parts || parts.length !== 3)
|
|
777
|
+
return ['year', 'month', 'day']; // fallback
|
|
778
|
+
const order = [];
|
|
779
|
+
for (const part of parts) {
|
|
780
|
+
if (part === '23')
|
|
781
|
+
order.push('day');
|
|
782
|
+
else if (part === '11')
|
|
783
|
+
order.push('month');
|
|
784
|
+
else if (part === '2025')
|
|
785
|
+
order.push('year');
|
|
786
|
+
}
|
|
787
|
+
return order;
|
|
788
|
+
}
|
|
789
|
+
detectDateSeparator(dateStr) {
|
|
790
|
+
if (dateStr.includes('/'))
|
|
791
|
+
return '/';
|
|
792
|
+
if (dateStr.includes('-'))
|
|
793
|
+
return '-';
|
|
794
|
+
return ''; // fallback
|
|
795
|
+
}
|
|
796
|
+
clickOutside(event) {
|
|
797
|
+
const target = event.target;
|
|
798
|
+
if (!target.closest('.date-picker') && !target.closest('.month-body') && !target.closest('.year-body')) {
|
|
799
|
+
this.showCalendar = false;
|
|
800
|
+
}
|
|
801
|
+
}
|
|
802
|
+
isPreviousDisabled() {
|
|
803
|
+
if (!this.minDate) {
|
|
804
|
+
return false;
|
|
805
|
+
}
|
|
806
|
+
const minDate = new Date(this.minDate);
|
|
807
|
+
switch (this.pickerView) {
|
|
808
|
+
case 'week':
|
|
809
|
+
return this.currentDate.getFullYear() === minDate.getFullYear() && this.currentDate.getMonth() === minDate.getMonth();
|
|
810
|
+
case 'month':
|
|
811
|
+
return this.currentDate.getFullYear() === minDate.getFullYear();
|
|
812
|
+
case 'year':
|
|
813
|
+
return this.currentDate.getFullYear() - 30 < minDate.getFullYear();
|
|
814
|
+
default:
|
|
815
|
+
return false;
|
|
816
|
+
}
|
|
817
|
+
}
|
|
818
|
+
isNextDisabled() {
|
|
819
|
+
if (!this.maxDate) {
|
|
820
|
+
return false;
|
|
821
|
+
}
|
|
822
|
+
const maxDate = new Date(this.maxDate);
|
|
823
|
+
switch (this.pickerView) {
|
|
824
|
+
case 'week':
|
|
825
|
+
return this.currentDate.getFullYear() === maxDate.getFullYear() && this.currentDate.getMonth() === maxDate.getMonth();
|
|
826
|
+
case 'month':
|
|
827
|
+
return this.currentDate.getFullYear() === maxDate.getFullYear();
|
|
828
|
+
case 'year':
|
|
829
|
+
return this.currentDate.getFullYear() + 30 > maxDate.getFullYear();
|
|
830
|
+
default:
|
|
831
|
+
return false;
|
|
832
|
+
}
|
|
833
|
+
}
|
|
834
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxDatepicker, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
835
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EluxDatepicker, isStandalone: true, selector: "lib-elux-datepicker", inputs: { value: "value", locale: "locale", idInput: "idInput", placeholder: "placeholder", minDate: "minDate", maxDate: "maxDate" }, outputs: { dateSelected: "dateSelected", invalidDate: "invalidDate" }, host: { listeners: { "document:click": "clickOutside($event)" } }, providers: [
|
|
836
|
+
{
|
|
837
|
+
provide: NG_VALUE_ACCESSOR,
|
|
838
|
+
useExisting: forwardRef(() => EluxDatepicker),
|
|
839
|
+
multi: true,
|
|
840
|
+
},
|
|
841
|
+
], viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["datepicker"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"date-picker\" #datepicker>\r\n <div class=\"div-calendar-icon\" (click)=\"!disabled ? toggleCalendar() : ''\">\r\n <lib-elux-icon class=\"calendar-icon\" [icon]=\"'Calendar.svg'\" [color]=\"'#011E41'\" [size]=\"'24'\" [sizeType]=\"'px'\"></lib-elux-icon>\r\n </div>\r\n <input\r\n [ngClass]=\"{\r\n 'date-input': true,\r\n 'ng-invalid': isInvalid,\r\n 'ng-touched': isTouched,\r\n }\"\r\n [value]=\"formatedDate\"\r\n (input)=\"onChangeValue($event)\"\r\n [id]=\"idInput\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"placeholder\"\r\n maxlength=\"10\"\r\n type=\"text\"\r\n (blur)=\"onBlur()\"\r\n />\r\n <div class=\"calendar\" *ngIf=\"showCalendar\">\r\n <div class=\"calendar-header\">\r\n <div class=\"previous\" (click)=\"previous()\">\r\n <lib-elux-icon [hidden]=\"isPreviousDisabled()\" [icon]=\"'Chevron_Left.svg'\" [size]=\"'22'\" [sizeType]=\"'px'\"> </lib-elux-icon>\r\n </div>\r\n <span (click)=\"changeView()\">{{ pickerView === 'week' ? headerDate() : currentDate.getFullYear() }}</span>\r\n <div class=\"next\" (click)=\"next()\">\r\n <lib-elux-icon [hidden]=\"isNextDisabled()\" [icon]=\"'Chevron_Right.svg'\" [size]=\"'22'\" [sizeType]=\"'px'\"> </lib-elux-icon>\r\n </div>\r\n </div>\r\n <div class=\"calendar-body\" *ngIf=\"pickerView === 'week'\">\r\n <div class=\"day-labels\">\r\n <span *ngFor=\"let day of headerDateWeek()\">{{ day }}</span>\r\n </div>\r\n <ng-container *ngFor=\"let day of days\">\r\n <div class=\"day\" [ngClass]=\"{ disabled: day.disabled, today: day.today, selected: day.selected }\" (click)=\"day.disabled ? null : selectDate(day)\">\r\n <span>{{ day.day }}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"year-body\" *ngIf=\"pickerView === 'year'\">\r\n <ng-container *ngFor=\"let year of years\">\r\n <div class=\"year\" *ngIf=\"!year.disabled\" (click)=\"!year.disabled && selectYear(year.value)\">\r\n {{ year.value }}\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"month-body\" *ngIf=\"pickerView === 'month'\">\r\n <ng-container *ngFor=\"let month of months\">\r\n <div class=\"month\" *ngIf=\"!month.disabled\" (click)=\"!month.disabled && selectMonth(month.value)\">\r\n {{ month.text }}\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body,:host .month-body .month,:host .year-body .year,:host .calendar-body .day,:host .calendar-body .day-labels,:host .calendar-header span{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body,:host .month-body .month,:host .year-body .year,:host .calendar-body .day,:host .calendar-body .day-labels,:host .calendar-header span{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}:host .date-picker{position:relative}:host .div-calendar-icon{border-left:solid 1px #7A8A9B;height:100%;position:absolute;right:0;display:flex;justify-content:center;align-items:center;width:50px;cursor:pointer}:host .calendar{position:absolute;top:50px;left:0;background:#f4f5f7;border-radius:2px;box-shadow:4px 4px 8px #0000001a;padding:32px 24px;z-index:1000}:host .calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;border-bottom:solid 1px #DEE7EA;padding-bottom:8px}:host .calendar-header button{background:none;border:none;cursor:pointer;font-size:18px}:host .calendar-header span{font-weight:600;color:#515253;cursor:pointer}:host .calendar-body{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}:host .calendar-body .day-labels{display:contents;text-align:center;margin-bottom:5px;font-weight:600;color:#515253}:host .calendar-body .day{font-size:12px;color:#515253;width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease-in-out;border-radius:50%}:host .calendar-body .day:not(.disabled):hover{background:#dee7ea}:host .calendar-body .day.disabled{cursor:default;height:0px}:host .calendar-body .day.disabled span{display:none}:host .calendar-body .day:not(.disabled).today{border:1px solid #011E41}:host .calendar-body .day:not(.disabled).selected{font-size:12px;font-weight:600;background:#011e41;color:#fff}:host .previous,:host .next{cursor:pointer;width:25px}:host .year-body{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}:host .year-body .year{color:#515253;text-align:center;cursor:pointer;display:flex;align-items:center;justify-content:center;width:45px;height:45px;transition:all .15s ease-in-out}:host .year-body .year:hover{background:#dee7ea;border-radius:50%}:host .month-body{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}:host .month-body .month{color:#515253;text-align:center;cursor:pointer;display:flex;align-items:center;justify-content:center;width:auto;height:40px;transition:all .15s ease-in-out}:host .month-body .month:hover{color:#c9c9ca}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: EluxIcon, selector: "lib-elux-icon", inputs: ["color", "useSubscription", "icon", "description", "size", "height", "width", "sizeType"] }] }); }
|
|
842
|
+
}
|
|
843
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxDatepicker, decorators: [{
|
|
844
|
+
type: Component,
|
|
845
|
+
args: [{ selector: 'lib-elux-datepicker', standalone: true, imports: [CommonModule, ReactiveFormsModule, FormsModule, EluxIcon], providers: [
|
|
846
|
+
{
|
|
847
|
+
provide: NG_VALUE_ACCESSOR,
|
|
848
|
+
useExisting: forwardRef(() => EluxDatepicker),
|
|
849
|
+
multi: true,
|
|
850
|
+
},
|
|
851
|
+
], template: "<div class=\"date-picker\" #datepicker>\r\n <div class=\"div-calendar-icon\" (click)=\"!disabled ? toggleCalendar() : ''\">\r\n <lib-elux-icon class=\"calendar-icon\" [icon]=\"'Calendar.svg'\" [color]=\"'#011E41'\" [size]=\"'24'\" [sizeType]=\"'px'\"></lib-elux-icon>\r\n </div>\r\n <input\r\n [ngClass]=\"{\r\n 'date-input': true,\r\n 'ng-invalid': isInvalid,\r\n 'ng-touched': isTouched,\r\n }\"\r\n [value]=\"formatedDate\"\r\n (input)=\"onChangeValue($event)\"\r\n [id]=\"idInput\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"placeholder\"\r\n maxlength=\"10\"\r\n type=\"text\"\r\n (blur)=\"onBlur()\"\r\n />\r\n <div class=\"calendar\" *ngIf=\"showCalendar\">\r\n <div class=\"calendar-header\">\r\n <div class=\"previous\" (click)=\"previous()\">\r\n <lib-elux-icon [hidden]=\"isPreviousDisabled()\" [icon]=\"'Chevron_Left.svg'\" [size]=\"'22'\" [sizeType]=\"'px'\"> </lib-elux-icon>\r\n </div>\r\n <span (click)=\"changeView()\">{{ pickerView === 'week' ? headerDate() : currentDate.getFullYear() }}</span>\r\n <div class=\"next\" (click)=\"next()\">\r\n <lib-elux-icon [hidden]=\"isNextDisabled()\" [icon]=\"'Chevron_Right.svg'\" [size]=\"'22'\" [sizeType]=\"'px'\"> </lib-elux-icon>\r\n </div>\r\n </div>\r\n <div class=\"calendar-body\" *ngIf=\"pickerView === 'week'\">\r\n <div class=\"day-labels\">\r\n <span *ngFor=\"let day of headerDateWeek()\">{{ day }}</span>\r\n </div>\r\n <ng-container *ngFor=\"let day of days\">\r\n <div class=\"day\" [ngClass]=\"{ disabled: day.disabled, today: day.today, selected: day.selected }\" (click)=\"day.disabled ? null : selectDate(day)\">\r\n <span>{{ day.day }}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"year-body\" *ngIf=\"pickerView === 'year'\">\r\n <ng-container *ngFor=\"let year of years\">\r\n <div class=\"year\" *ngIf=\"!year.disabled\" (click)=\"!year.disabled && selectYear(year.value)\">\r\n {{ year.value }}\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"month-body\" *ngIf=\"pickerView === 'month'\">\r\n <ng-container *ngFor=\"let month of months\">\r\n <div class=\"month\" *ngIf=\"!month.disabled\" (click)=\"!month.disabled && selectMonth(month.value)\">\r\n {{ month.text }}\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body,:host .month-body .month,:host .year-body .year,:host .calendar-body .day,:host .calendar-body .day-labels,:host .calendar-header span{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body,:host .month-body .month,:host .year-body .year,:host .calendar-body .day,:host .calendar-body .day-labels,:host .calendar-header span{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}:host .date-picker{position:relative}:host .div-calendar-icon{border-left:solid 1px #7A8A9B;height:100%;position:absolute;right:0;display:flex;justify-content:center;align-items:center;width:50px;cursor:pointer}:host .calendar{position:absolute;top:50px;left:0;background:#f4f5f7;border-radius:2px;box-shadow:4px 4px 8px #0000001a;padding:32px 24px;z-index:1000}:host .calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;border-bottom:solid 1px #DEE7EA;padding-bottom:8px}:host .calendar-header button{background:none;border:none;cursor:pointer;font-size:18px}:host .calendar-header span{font-weight:600;color:#515253;cursor:pointer}:host .calendar-body{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}:host .calendar-body .day-labels{display:contents;text-align:center;margin-bottom:5px;font-weight:600;color:#515253}:host .calendar-body .day{font-size:12px;color:#515253;width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease-in-out;border-radius:50%}:host .calendar-body .day:not(.disabled):hover{background:#dee7ea}:host .calendar-body .day.disabled{cursor:default;height:0px}:host .calendar-body .day.disabled span{display:none}:host .calendar-body .day:not(.disabled).today{border:1px solid #011E41}:host .calendar-body .day:not(.disabled).selected{font-size:12px;font-weight:600;background:#011e41;color:#fff}:host .previous,:host .next{cursor:pointer;width:25px}:host .year-body{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}:host .year-body .year{color:#515253;text-align:center;cursor:pointer;display:flex;align-items:center;justify-content:center;width:45px;height:45px;transition:all .15s ease-in-out}:host .year-body .year:hover{background:#dee7ea;border-radius:50%}:host .month-body{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}:host .month-body .month{color:#515253;text-align:center;cursor:pointer;display:flex;align-items:center;justify-content:center;width:auto;height:40px;transition:all .15s ease-in-out}:host .month-body .month:hover{color:#c9c9ca}\n"] }]
|
|
852
|
+
}], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { value: [{
|
|
853
|
+
type: Input
|
|
854
|
+
}], locale: [{
|
|
855
|
+
type: Input
|
|
856
|
+
}], idInput: [{
|
|
857
|
+
type: Input
|
|
858
|
+
}], placeholder: [{
|
|
859
|
+
type: Input
|
|
860
|
+
}], minDate: [{
|
|
861
|
+
type: Input
|
|
862
|
+
}], maxDate: [{
|
|
863
|
+
type: Input
|
|
864
|
+
}], dateSelected: [{
|
|
865
|
+
type: Output
|
|
866
|
+
}], invalidDate: [{
|
|
867
|
+
type: Output
|
|
868
|
+
}], datepicker: [{
|
|
869
|
+
type: ViewChild,
|
|
870
|
+
args: ['datepicker']
|
|
871
|
+
}], clickOutside: [{
|
|
872
|
+
type: HostListener,
|
|
873
|
+
args: ['document:click', ['$event']]
|
|
874
|
+
}] } });
|
|
875
|
+
|
|
876
|
+
// toaster.service.ts
|
|
877
|
+
class ToasterService {
|
|
878
|
+
constructor() {
|
|
879
|
+
this.toasts = [];
|
|
880
|
+
this.toastIdCounter = 0;
|
|
881
|
+
}
|
|
882
|
+
success(message) {
|
|
883
|
+
this.showToast('success', 'Check_Tick.svg', '#0C5F29', message);
|
|
884
|
+
}
|
|
885
|
+
error(message) {
|
|
886
|
+
this.showToast('error', 'Warning.svg', '#9C231C', message);
|
|
887
|
+
}
|
|
888
|
+
warning(message) {
|
|
889
|
+
this.showToast('warning', 'Warning.svg', '#b19459', message);
|
|
890
|
+
}
|
|
891
|
+
info(message) {
|
|
892
|
+
this.showToast('info', 'Info.svg', '#557cb3', message);
|
|
893
|
+
}
|
|
894
|
+
showToast(type, iconName, iconColor, message) {
|
|
895
|
+
this.toastIdCounter++;
|
|
896
|
+
const id = `${Date.now()}-${this.toastIdCounter}`;
|
|
897
|
+
this.toasts.push({ id, type, iconName, iconColor, message, paused: false });
|
|
898
|
+
if (type === 'success' || type === 'info' || type === 'warning') {
|
|
899
|
+
this.removeToastAfter5Seconds(id);
|
|
900
|
+
}
|
|
901
|
+
}
|
|
902
|
+
removeToast(id) {
|
|
903
|
+
this.toasts = this.toasts.filter((toast) => toast.id !== id);
|
|
904
|
+
}
|
|
905
|
+
removeToastAfter5Seconds(id) {
|
|
906
|
+
setTimeout(() => {
|
|
907
|
+
const toast = this.toasts.find((toast) => toast.id === id);
|
|
908
|
+
const removableTypes = ['success', 'info', 'warning'];
|
|
909
|
+
if (toast && removableTypes.includes(toast.type) && !toast.paused) {
|
|
910
|
+
this.toasts = this.toasts.filter((toast) => toast.id !== id);
|
|
911
|
+
}
|
|
912
|
+
else if (toast) {
|
|
913
|
+
this.removeToastAfter5Seconds(id); // Recheck later if it was paused
|
|
914
|
+
}
|
|
915
|
+
}, 5000);
|
|
916
|
+
}
|
|
917
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToasterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
918
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToasterService, providedIn: 'root' }); }
|
|
919
|
+
}
|
|
920
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToasterService, decorators: [{
|
|
921
|
+
type: Injectable,
|
|
922
|
+
args: [{
|
|
923
|
+
providedIn: 'root',
|
|
924
|
+
}]
|
|
925
|
+
}] });
|
|
926
|
+
|
|
927
|
+
class EluxToast {
|
|
928
|
+
constructor(toasterService) {
|
|
929
|
+
this.toasterService = toasterService;
|
|
930
|
+
}
|
|
931
|
+
pauseToast(toast) {
|
|
932
|
+
toast.paused = true;
|
|
933
|
+
}
|
|
934
|
+
resumeToast(toast) {
|
|
935
|
+
toast.paused = false;
|
|
936
|
+
this.toasterService.removeToastAfter5Seconds(toast.id);
|
|
937
|
+
}
|
|
938
|
+
closeToast(toast) {
|
|
939
|
+
this.toasterService.removeToast(toast.id);
|
|
940
|
+
}
|
|
941
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxToast, deps: [{ token: ToasterService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
942
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EluxToast, isStandalone: true, selector: "lib-elux-toaster", ngImport: i0, template: "<div class=\"elux-toast-container\">\r\n <div class=\"d-flex\" *ngFor=\"let toast of toasterService.toasts\" [ngClass]=\"['elux-toast-element', toast.type]\" (mouseenter)=\"pauseToast(toast)\" (mouseleave)=\"resumeToast(toast)\">\r\n <lib-elux-icon class=\"me-2\" [color]=\"toast.iconColor\" [icon]=\"toast.iconName\" size=\"20\" sizeType=\"px\"></lib-elux-icon>\r\n <div>\r\n {{ toast.message }}\r\n </div>\r\n <lib-elux-icon (click)=\"closeToast(toast)\" class=\"ms-auto cursor-pointer\" [color]=\"toast.iconColor\" icon=\"Close.svg\" size=\"24\" sizeType=\"px\"></lib-elux-icon>\r\n </div>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}:host .elux-toast-container{position:fixed;top:80px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;z-index:20}@media (max-width: 768px){:host .elux-toast-container{width:90%}}:host .elux-toast-element{margin:10px 0;padding:10px;border-radius:5px;border:none;display:flex;animation:fadein .5s forwards;box-shadow:none}:host .cursor-pointer{cursor:pointer}:host .success{color:#0c5f29;background-color:#edf8f1}:host .error{color:#9c231c;background-color:#fff3f2}:host .warning{color:#b19459;background-color:#fff1d5}:host .info{color:#557cb3;background-color:#ddebff}@keyframes fadein{0%{opacity:0}to{opacity:1}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: EluxIcon, selector: "lib-elux-icon", inputs: ["color", "useSubscription", "icon", "description", "size", "height", "width", "sizeType"] }] }); }
|
|
943
|
+
}
|
|
944
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxToast, decorators: [{
|
|
945
|
+
type: Component,
|
|
946
|
+
args: [{ selector: 'lib-elux-toaster', standalone: true, imports: [CommonModule, EluxIcon], template: "<div class=\"elux-toast-container\">\r\n <div class=\"d-flex\" *ngFor=\"let toast of toasterService.toasts\" [ngClass]=\"['elux-toast-element', toast.type]\" (mouseenter)=\"pauseToast(toast)\" (mouseleave)=\"resumeToast(toast)\">\r\n <lib-elux-icon class=\"me-2\" [color]=\"toast.iconColor\" [icon]=\"toast.iconName\" size=\"20\" sizeType=\"px\"></lib-elux-icon>\r\n <div>\r\n {{ toast.message }}\r\n </div>\r\n <lib-elux-icon (click)=\"closeToast(toast)\" class=\"ms-auto cursor-pointer\" [color]=\"toast.iconColor\" icon=\"Close.svg\" size=\"24\" sizeType=\"px\"></lib-elux-icon>\r\n </div>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}:host .elux-toast-container{position:fixed;top:80px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;z-index:20}@media (max-width: 768px){:host .elux-toast-container{width:90%}}:host .elux-toast-element{margin:10px 0;padding:10px;border-radius:5px;border:none;display:flex;animation:fadein .5s forwards;box-shadow:none}:host .cursor-pointer{cursor:pointer}:host .success{color:#0c5f29;background-color:#edf8f1}:host .error{color:#9c231c;background-color:#fff3f2}:host .warning{color:#b19459;background-color:#fff1d5}:host .info{color:#557cb3;background-color:#ddebff}@keyframes fadein{0%{opacity:0}to{opacity:1}}\n"] }]
|
|
947
|
+
}], ctorParameters: () => [{ type: ToasterService }] });
|
|
948
|
+
|
|
949
|
+
class EluxDataTable {
|
|
950
|
+
constructor() {
|
|
951
|
+
this.columns = [];
|
|
952
|
+
this.rows = [];
|
|
953
|
+
this.totalRows = 1;
|
|
954
|
+
this.itemsPerPage = 15;
|
|
955
|
+
this.backendPagination = false;
|
|
956
|
+
this.emptyMessage = 'Nenhum item localizado com base nos critérios de busca.';
|
|
957
|
+
this.loading = false;
|
|
958
|
+
this.currentPageChange = new EventEmitter();
|
|
959
|
+
this.onClick = new EventEmitter();
|
|
960
|
+
this.onChecked = new EventEmitter();
|
|
961
|
+
this.ontInputChange = new EventEmitter();
|
|
962
|
+
this.currentPage = 1;
|
|
963
|
+
this.paginatorTotalPages = 1;
|
|
964
|
+
this.displayRows = [];
|
|
965
|
+
}
|
|
966
|
+
ngOnInit() {
|
|
967
|
+
this.paginatorTotalPages = Math.ceil(this.totalRows / this.itemsPerPage);
|
|
968
|
+
this.populateTable();
|
|
969
|
+
}
|
|
970
|
+
ngOnChanges(changes) {
|
|
971
|
+
if (changes['itemsPerPage']) {
|
|
972
|
+
this.refreshPaginator();
|
|
973
|
+
this.populateTable();
|
|
974
|
+
}
|
|
975
|
+
if (changes['totalRows']) {
|
|
976
|
+
this.refreshPaginator();
|
|
977
|
+
this.populateTable();
|
|
978
|
+
}
|
|
979
|
+
if (changes['rows']) {
|
|
980
|
+
this.populateTable();
|
|
981
|
+
}
|
|
982
|
+
}
|
|
983
|
+
onPageChange(event) {
|
|
984
|
+
this.currentPage = event.page;
|
|
985
|
+
if (this.backendPagination) {
|
|
986
|
+
this.currentPageChange.emit(event.page);
|
|
987
|
+
}
|
|
988
|
+
else {
|
|
989
|
+
this.populateTable();
|
|
990
|
+
}
|
|
991
|
+
}
|
|
992
|
+
refreshPaginator() {
|
|
993
|
+
this.paginatorTotalPages = Math.ceil(this.totalRows / this.itemsPerPage);
|
|
994
|
+
this.currentPage = 1;
|
|
995
|
+
}
|
|
996
|
+
populateTable() {
|
|
997
|
+
if (this.backendPagination) {
|
|
998
|
+
this.displayRows = this.rows;
|
|
999
|
+
}
|
|
1000
|
+
else {
|
|
1001
|
+
const startOfPage = (this.currentPage - 1) * this.itemsPerPage;
|
|
1002
|
+
const endOfPage = startOfPage + this.itemsPerPage;
|
|
1003
|
+
this.displayRows = this.rows.slice(startOfPage, endOfPage);
|
|
1004
|
+
}
|
|
1005
|
+
}
|
|
1006
|
+
onCheckboxChange(event, row, cell, index) {
|
|
1007
|
+
cell.value = event.target.checked;
|
|
1008
|
+
this.onChecked.emit({ event, row, cell, index });
|
|
1009
|
+
}
|
|
1010
|
+
onInputChange(event, row, cell, index) {
|
|
1011
|
+
cell.value = event.target.value;
|
|
1012
|
+
this.ontInputChange.emit({ event, row, cell, index });
|
|
1013
|
+
if (cell.type == 'input-number') {
|
|
1014
|
+
if (cell.value > cell.max) {
|
|
1015
|
+
cell.value = cell.max;
|
|
1016
|
+
event.target.value = cell.max;
|
|
1017
|
+
}
|
|
1018
|
+
if (cell.value < cell.min) {
|
|
1019
|
+
cell.value = cell.min;
|
|
1020
|
+
event.target.value = cell.min;
|
|
1021
|
+
}
|
|
1022
|
+
}
|
|
1023
|
+
}
|
|
1024
|
+
onRowClick(event, row, index) {
|
|
1025
|
+
if (this.isRowClickable) {
|
|
1026
|
+
this.onClick.emit({ event, row, index });
|
|
1027
|
+
}
|
|
1028
|
+
}
|
|
1029
|
+
onCellClick(event, row, cell, index) {
|
|
1030
|
+
if (this.isCellClickable) {
|
|
1031
|
+
this.onClick.emit({ event, row, cell, index });
|
|
1032
|
+
}
|
|
1033
|
+
}
|
|
1034
|
+
getCellClasses(cell) {
|
|
1035
|
+
let classes = {
|
|
1036
|
+
'clickable': this.isCellClickable
|
|
1037
|
+
};
|
|
1038
|
+
if (cell.customClass) {
|
|
1039
|
+
classes[cell.customClass] = true;
|
|
1040
|
+
}
|
|
1041
|
+
return classes;
|
|
1042
|
+
}
|
|
1043
|
+
getHeaderClasses(column) {
|
|
1044
|
+
let classes = {};
|
|
1045
|
+
if (column.customClass) {
|
|
1046
|
+
classes[column.customClass] = true;
|
|
1047
|
+
}
|
|
1048
|
+
return classes;
|
|
1049
|
+
}
|
|
1050
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxDataTable, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1051
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: EluxDataTable, isStandalone: true, selector: "lib-elux-datatable", inputs: { columns: "columns", rows: "rows", totalRows: "totalRows", itemsPerPage: "itemsPerPage", backendPagination: "backendPagination", emptyMessage: "emptyMessage", loading: "loading", isRowClickable: ["isRowClickable", "isRowClickable", booleanAttribute], isCellClickable: ["isCellClickable", "isCellClickable", booleanAttribute], hasPaginator: ["hasPaginator", "hasPaginator", booleanAttribute] }, outputs: { currentPageChange: "currentPageChange", onClick: "onClick", onChecked: "onChecked", ontInputChange: "ontInputChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"table-container\">\r\n <div class=\"table-header\">\r\n @for (column of columns; track $index) {\r\n <div class=\"header-row-cell\" [ngClass]=\"getHeaderClasses(column)\">\r\n {{column.text}}\r\n </div>\r\n }\r\n </div>\r\n\r\n @if(loading){\r\n <div class=\"table-row justify-content-center\">\r\n <lib-elux-loading></lib-elux-loading>\r\n </div>\r\n }\r\n\r\n @if (displayRows.length == 0) {\r\n <div class=\"table-row pt-3 pb-3\">\r\n {{emptyMessage}}\r\n </div>\r\n }\r\n\r\n @for (row of displayRows; track $index) {\r\n <div class=\"table-row\" [ngClass]=\"{'clickable': isRowClickable}\" (click)=\"onRowClick($event, row, $index)\">\r\n @for (cell of row; track $index) {\r\n @switch (cell.type) {\r\n @case (\"redirect-internal\") {\r\n <div class=\"row-cell\" [ngClass]=\"getCellClasses(cell)\" (click)=\"onCellClick($event, row, cell, $index)\">\r\n <a [routerLink]=\"cell.value.toString()\" class=\"route\">{{cell.name}}</a>\r\n </div>\r\n }\r\n @case (\"redirect-external\") {\r\n <div class=\"row-cell\" [ngClass]=\"getCellClasses(cell)\" (click)=\"onCellClick($event, row, cell, $index)\">\r\n <a [href]=\"cell.value\" class=\"route\" target=\"_blank\">{{cell.name}}</a>\r\n </div>\r\n }\r\n @case (\"checkbox\") {\r\n <div class=\"row-cell\" [ngClass]=\"getCellClasses(cell)\">\r\n <input type=\"checkbox\" [checked]=\"cell.value\" (change)=\"onCheckboxChange($event, row, cell, $index)\" [attr.disabled]=\"cell.disabled ? true : null\" />\r\n </div>\r\n }\r\n @case (\"input\") {\r\n <div class=\"row-cell\" [ngClass]=\"getCellClasses(cell)\">\r\n <input step=\"\" type=\"text\" [value]=\"cell.value\" (blur)=\"onInputChange($event, row, cell, $index)\" />\r\n </div>\r\n }\r\n @case (\"input-number\") {\r\n <div class=\"row-cell\" [ngClass]=\"getCellClasses(cell)\">\r\n <input step=\"\" type=\"number\" [value]=\"cell.value\" [min]=\"cell.min\" [max]=\"cell.max\" (blur)=\"onInputChange($event, row, cell, $index)\" />\r\n </div>\r\n }\r\n @default {\r\n <div class=\"row-cell\" [ngClass]=\"getCellClasses(cell)\" (click)=\"onCellClick($event, row, cell, $index)\">\r\n {{cell.value}}\r\n </div>\r\n }\r\n }\r\n }\r\n </div>\r\n }\r\n\r\n @if (hasPaginator && totalRows > itemsPerPage) {\r\n <div class=\"table-footer\">\r\n <lib-elux-paginator (paginationEvents)=\"onPageChange($event)\" [anchor]=\"true\" [length]=\"paginatorTotalPages\"\r\n [current]=\"currentPage\">\r\n </lib-elux-paginator>\r\n </div>\r\n }\r\n\r\n</div>", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}.table-container{font-family:Electrolux Sans;display:flex;flex-direction:column;flex-wrap:nowrap;border-top:1px solid #ADB9C3}.table-row{display:flex;flex-direction:row;flex-wrap:nowrap;width:100%;padding:8px 16px}.table-header{display:flex;flex-direction:row;flex-wrap:nowrap;font-size:14px;font-weight:600;padding:16px;margin-bottom:16px;color:#515253;border-bottom:1px solid #ADB9C3}.header-row-cell{display:flex;flex:1;justify-content:start;align-items:center}.row-cell{display:flex;flex:1;justify-content:start;align-items:center;font-size:14px;height:45px;font-family:Electrolux Sans;color:#515253;word-break:break-word}.row-cell a{font-family:Electrolux Sans;font-weight:700;font-size:16px;color:#515253}.clickable{cursor:pointer;transition:all .15s ease-in-out}.clickable:hover{background-color:#dee7ea}.table-footer{display:flex;flex-direction:column;justify-content:center;margin-top:16px;padding:16px 0;align-items:center;border-top:1px solid #ADB9C3}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: EluxPaginator, selector: "lib-elux-paginator", inputs: ["length", "current", "anchor", "scrollTo"], outputs: ["paginationEvents"] }, { kind: "component", type: EluxLoading, selector: "lib-elux-loading", inputs: ["size", "white"] }] }); }
|
|
1052
|
+
}
|
|
1053
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxDataTable, decorators: [{
|
|
1054
|
+
type: Component,
|
|
1055
|
+
args: [{ selector: 'lib-elux-datatable', standalone: true, imports: [CommonModule, RouterModule, EluxPaginator, EluxLoading], template: "<div class=\"table-container\">\r\n <div class=\"table-header\">\r\n @for (column of columns; track $index) {\r\n <div class=\"header-row-cell\" [ngClass]=\"getHeaderClasses(column)\">\r\n {{column.text}}\r\n </div>\r\n }\r\n </div>\r\n\r\n @if(loading){\r\n <div class=\"table-row justify-content-center\">\r\n <lib-elux-loading></lib-elux-loading>\r\n </div>\r\n }\r\n\r\n @if (displayRows.length == 0) {\r\n <div class=\"table-row pt-3 pb-3\">\r\n {{emptyMessage}}\r\n </div>\r\n }\r\n\r\n @for (row of displayRows; track $index) {\r\n <div class=\"table-row\" [ngClass]=\"{'clickable': isRowClickable}\" (click)=\"onRowClick($event, row, $index)\">\r\n @for (cell of row; track $index) {\r\n @switch (cell.type) {\r\n @case (\"redirect-internal\") {\r\n <div class=\"row-cell\" [ngClass]=\"getCellClasses(cell)\" (click)=\"onCellClick($event, row, cell, $index)\">\r\n <a [routerLink]=\"cell.value.toString()\" class=\"route\">{{cell.name}}</a>\r\n </div>\r\n }\r\n @case (\"redirect-external\") {\r\n <div class=\"row-cell\" [ngClass]=\"getCellClasses(cell)\" (click)=\"onCellClick($event, row, cell, $index)\">\r\n <a [href]=\"cell.value\" class=\"route\" target=\"_blank\">{{cell.name}}</a>\r\n </div>\r\n }\r\n @case (\"checkbox\") {\r\n <div class=\"row-cell\" [ngClass]=\"getCellClasses(cell)\">\r\n <input type=\"checkbox\" [checked]=\"cell.value\" (change)=\"onCheckboxChange($event, row, cell, $index)\" [attr.disabled]=\"cell.disabled ? true : null\" />\r\n </div>\r\n }\r\n @case (\"input\") {\r\n <div class=\"row-cell\" [ngClass]=\"getCellClasses(cell)\">\r\n <input step=\"\" type=\"text\" [value]=\"cell.value\" (blur)=\"onInputChange($event, row, cell, $index)\" />\r\n </div>\r\n }\r\n @case (\"input-number\") {\r\n <div class=\"row-cell\" [ngClass]=\"getCellClasses(cell)\">\r\n <input step=\"\" type=\"number\" [value]=\"cell.value\" [min]=\"cell.min\" [max]=\"cell.max\" (blur)=\"onInputChange($event, row, cell, $index)\" />\r\n </div>\r\n }\r\n @default {\r\n <div class=\"row-cell\" [ngClass]=\"getCellClasses(cell)\" (click)=\"onCellClick($event, row, cell, $index)\">\r\n {{cell.value}}\r\n </div>\r\n }\r\n }\r\n }\r\n </div>\r\n }\r\n\r\n @if (hasPaginator && totalRows > itemsPerPage) {\r\n <div class=\"table-footer\">\r\n <lib-elux-paginator (paginationEvents)=\"onPageChange($event)\" [anchor]=\"true\" [length]=\"paginatorTotalPages\"\r\n [current]=\"currentPage\">\r\n </lib-elux-paginator>\r\n </div>\r\n }\r\n\r\n</div>", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}.table-container{font-family:Electrolux Sans;display:flex;flex-direction:column;flex-wrap:nowrap;border-top:1px solid #ADB9C3}.table-row{display:flex;flex-direction:row;flex-wrap:nowrap;width:100%;padding:8px 16px}.table-header{display:flex;flex-direction:row;flex-wrap:nowrap;font-size:14px;font-weight:600;padding:16px;margin-bottom:16px;color:#515253;border-bottom:1px solid #ADB9C3}.header-row-cell{display:flex;flex:1;justify-content:start;align-items:center}.row-cell{display:flex;flex:1;justify-content:start;align-items:center;font-size:14px;height:45px;font-family:Electrolux Sans;color:#515253;word-break:break-word}.row-cell a{font-family:Electrolux Sans;font-weight:700;font-size:16px;color:#515253}.clickable{cursor:pointer;transition:all .15s ease-in-out}.clickable:hover{background-color:#dee7ea}.table-footer{display:flex;flex-direction:column;justify-content:center;margin-top:16px;padding:16px 0;align-items:center;border-top:1px solid #ADB9C3}\n"] }]
|
|
1056
|
+
}], propDecorators: { columns: [{
|
|
1057
|
+
type: Input
|
|
1058
|
+
}], rows: [{
|
|
1059
|
+
type: Input
|
|
1060
|
+
}], totalRows: [{
|
|
1061
|
+
type: Input
|
|
1062
|
+
}], itemsPerPage: [{
|
|
1063
|
+
type: Input
|
|
1064
|
+
}], backendPagination: [{
|
|
1065
|
+
type: Input
|
|
1066
|
+
}], emptyMessage: [{
|
|
1067
|
+
type: Input
|
|
1068
|
+
}], loading: [{
|
|
1069
|
+
type: Input
|
|
1070
|
+
}], isRowClickable: [{
|
|
1071
|
+
type: Input,
|
|
1072
|
+
args: [{ transform: booleanAttribute }]
|
|
1073
|
+
}], isCellClickable: [{
|
|
1074
|
+
type: Input,
|
|
1075
|
+
args: [{ transform: booleanAttribute }]
|
|
1076
|
+
}], hasPaginator: [{
|
|
1077
|
+
type: Input,
|
|
1078
|
+
args: [{ transform: booleanAttribute }]
|
|
1079
|
+
}], currentPageChange: [{
|
|
1080
|
+
type: Output
|
|
1081
|
+
}], onClick: [{
|
|
1082
|
+
type: Output
|
|
1083
|
+
}], onChecked: [{
|
|
1084
|
+
type: Output
|
|
1085
|
+
}], ontInputChange: [{
|
|
1086
|
+
type: Output
|
|
1087
|
+
}] } });
|
|
1088
|
+
|
|
1089
|
+
class EluxAccordion {
|
|
1090
|
+
constructor() {
|
|
1091
|
+
this.leftArrow = false;
|
|
1092
|
+
this.toggleEventEmitter = new EventEmitter();
|
|
1093
|
+
this.isOpen = false;
|
|
1094
|
+
}
|
|
1095
|
+
toggle() {
|
|
1096
|
+
this.isOpen = !this.isOpen;
|
|
1097
|
+
this.toggleEventEmitter.emit(this.isOpen);
|
|
1098
|
+
}
|
|
1099
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxAccordion, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1100
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EluxAccordion, isStandalone: true, selector: "lib-elux-accordion", inputs: { leftArrow: "leftArrow" }, outputs: { toggleEventEmitter: "toggleEventEmitter" }, ngImport: i0, template: "<div class=\"accordion\">\r\n <div class=\"accordion-header\" [class.left-arrow]=\"leftArrow\" (click)=\"toggle()\">\r\n <lib-elux-icon *ngIf=\"leftArrow\" class=\"header-icon me-4\" [icon]=\"isOpen ? 'Chevron_Up.svg' : 'Chevron_Down.svg'\" [color]=\"'#011E41'\" [size]=\"'24'\" [sizeType]=\"'px'\"></lib-elux-icon>\r\n <ng-content select=\"[header]\"></ng-content>\r\n <lib-elux-icon *ngIf=\"!leftArrow\" class=\"header-icon\" [icon]=\"isOpen ? 'Chevron_Up.svg' : 'Chevron_Down.svg'\" [color]=\"'#011E41'\" [size]=\"'24'\" [sizeType]=\"'px'\"></lib-elux-icon>\r\n </div>\r\n <div class=\"accordion-body\" [ngClass]=\"{ open: isOpen }\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1,:host .accordion-header{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1,:host .accordion-header{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}:host .accordion-header{display:flex;padding:16px 0;cursor:pointer;border-bottom:1px solid #ADB9C3;color:#011e41}:host .accordion-header:not(.left-arrow){justify-content:space-between}:host .accordion-body{display:none;padding:16px}:host .accordion-body.open{display:flex}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: EluxIcon, selector: "lib-elux-icon", inputs: ["color", "useSubscription", "icon", "description", "size", "height", "width", "sizeType"] }] }); }
|
|
1101
|
+
}
|
|
1102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxAccordion, decorators: [{
|
|
1103
|
+
type: Component,
|
|
1104
|
+
args: [{ selector: 'lib-elux-accordion', standalone: true, imports: [CommonModule, ReactiveFormsModule, EluxIcon], template: "<div class=\"accordion\">\r\n <div class=\"accordion-header\" [class.left-arrow]=\"leftArrow\" (click)=\"toggle()\">\r\n <lib-elux-icon *ngIf=\"leftArrow\" class=\"header-icon me-4\" [icon]=\"isOpen ? 'Chevron_Up.svg' : 'Chevron_Down.svg'\" [color]=\"'#011E41'\" [size]=\"'24'\" [sizeType]=\"'px'\"></lib-elux-icon>\r\n <ng-content select=\"[header]\"></ng-content>\r\n <lib-elux-icon *ngIf=\"!leftArrow\" class=\"header-icon\" [icon]=\"isOpen ? 'Chevron_Up.svg' : 'Chevron_Down.svg'\" [color]=\"'#011E41'\" [size]=\"'24'\" [sizeType]=\"'px'\"></lib-elux-icon>\r\n </div>\r\n <div class=\"accordion-body\" [ngClass]=\"{ open: isOpen }\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1,:host .accordion-header{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1,:host .accordion-header{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}:host .accordion-header{display:flex;padding:16px 0;cursor:pointer;border-bottom:1px solid #ADB9C3;color:#011e41}:host .accordion-header:not(.left-arrow){justify-content:space-between}:host .accordion-body{display:none;padding:16px}:host .accordion-body.open{display:flex}\n"] }]
|
|
1105
|
+
}], propDecorators: { leftArrow: [{
|
|
1106
|
+
type: Input
|
|
1107
|
+
}], toggleEventEmitter: [{
|
|
1108
|
+
type: Output
|
|
1109
|
+
}] } });
|
|
1110
|
+
|
|
1111
|
+
class EluxModal {
|
|
1112
|
+
constructor() {
|
|
1113
|
+
this.open = false;
|
|
1114
|
+
this.buttonClose = true;
|
|
1115
|
+
this.onClose = new EventEmitter();
|
|
1116
|
+
}
|
|
1117
|
+
handleClose() {
|
|
1118
|
+
this.onClose.emit();
|
|
1119
|
+
}
|
|
1120
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxModal, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1121
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EluxModal, isStandalone: true, selector: "lib-elux-modal", inputs: { open: "open", buttonClose: "buttonClose" }, outputs: { onClose: "onClose" }, ngImport: i0, template: "<div class=\"modal\" [class.open]=\"open\">\r\n <div class=\"modal-content\">\r\n <lib-elux-icon *ngIf=\"buttonClose\" class=\"close-icon\" [icon]=\"'Close.svg'\" [color]=\"'#011E41'\" [size]=\"'28'\" [sizeType]=\"'px'\"\r\n (click)=\"handleClose()\"></lib-elux-icon>\r\n <div class=\"modal-header\">\r\n <ng-content select=\"[modal-header]\"></ng-content>\r\n </div>\r\n <div class=\"modal-body\">\r\n <ng-content select=\"[modal-body]\"></ng-content>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <ng-content select=\"[modal-footer]\"></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"modal-backdrop\" (click)=\"handleClose()\"></div>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto}.modal .close-icon{position:absolute;right:15px;top:15px;cursor:pointer}.modal.open{display:block}.modal-content{background-color:#fff;margin:10% auto;padding:64px;width:80%;max-width:800px;position:relative;border-radius:8px;border:none;z-index:10}@media (max-width: 991px){.modal-content{padding:12px!important}}.modal-header,.modal-body,.modal-footer{border:none;padding:10px}@media (max-width: 991px){.modal-footer{display:block}}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0006;z-index:9}\n"], dependencies: [{ kind: "component", type: EluxIcon, selector: "lib-elux-icon", inputs: ["color", "useSubscription", "icon", "description", "size", "height", "width", "sizeType"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
1122
|
+
}
|
|
1123
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxModal, decorators: [{
|
|
1124
|
+
type: Component,
|
|
1125
|
+
args: [{ selector: 'lib-elux-modal', imports: [
|
|
1126
|
+
EluxIcon,
|
|
1127
|
+
CommonModule
|
|
1128
|
+
], standalone: true, template: "<div class=\"modal\" [class.open]=\"open\">\r\n <div class=\"modal-content\">\r\n <lib-elux-icon *ngIf=\"buttonClose\" class=\"close-icon\" [icon]=\"'Close.svg'\" [color]=\"'#011E41'\" [size]=\"'28'\" [sizeType]=\"'px'\"\r\n (click)=\"handleClose()\"></lib-elux-icon>\r\n <div class=\"modal-header\">\r\n <ng-content select=\"[modal-header]\"></ng-content>\r\n </div>\r\n <div class=\"modal-body\">\r\n <ng-content select=\"[modal-body]\"></ng-content>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <ng-content select=\"[modal-footer]\"></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"modal-backdrop\" (click)=\"handleClose()\"></div>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto}.modal .close-icon{position:absolute;right:15px;top:15px;cursor:pointer}.modal.open{display:block}.modal-content{background-color:#fff;margin:10% auto;padding:64px;width:80%;max-width:800px;position:relative;border-radius:8px;border:none;z-index:10}@media (max-width: 991px){.modal-content{padding:12px!important}}.modal-header,.modal-body,.modal-footer{border:none;padding:10px}@media (max-width: 991px){.modal-footer{display:block}}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0006;z-index:9}\n"] }]
|
|
1129
|
+
}], propDecorators: { open: [{
|
|
1130
|
+
type: Input
|
|
1131
|
+
}], buttonClose: [{
|
|
1132
|
+
type: Input
|
|
1133
|
+
}], onClose: [{
|
|
1134
|
+
type: Output
|
|
1135
|
+
}] } });
|
|
1136
|
+
|
|
1137
|
+
class EluxInputSearchComponent {
|
|
1138
|
+
constructor() {
|
|
1139
|
+
this.options = [];
|
|
1140
|
+
this.placeholder = '';
|
|
1141
|
+
this.value = '';
|
|
1142
|
+
this.loading = false;
|
|
1143
|
+
this.disabled = false;
|
|
1144
|
+
this.valueSelected = new EventEmitter();
|
|
1145
|
+
this.keyUpValue = new EventEmitter();
|
|
1146
|
+
this.isOpen = false;
|
|
1147
|
+
this.keyUpSubject = new Subject();
|
|
1148
|
+
this.keyUpSubject.pipe(debounceTime(500)).subscribe(value => {
|
|
1149
|
+
if (value.length > 2) {
|
|
1150
|
+
this.keyUpValue.emit(value);
|
|
1151
|
+
this.isOpen = true;
|
|
1152
|
+
}
|
|
1153
|
+
else {
|
|
1154
|
+
this.isOpen = false;
|
|
1155
|
+
}
|
|
1156
|
+
});
|
|
1157
|
+
}
|
|
1158
|
+
ngOnInit() {
|
|
1159
|
+
}
|
|
1160
|
+
selectOption(option) {
|
|
1161
|
+
this.valueSelected.emit(option);
|
|
1162
|
+
this.value = option.text;
|
|
1163
|
+
this.isOpen = false;
|
|
1164
|
+
}
|
|
1165
|
+
keyUp(event) {
|
|
1166
|
+
this.value = event.srcElement.value;
|
|
1167
|
+
this.keyUpSubject.next(this.value);
|
|
1168
|
+
}
|
|
1169
|
+
onClickOutside(event) {
|
|
1170
|
+
if (!this.inputsearch.nativeElement.contains(event.target)) {
|
|
1171
|
+
this.isOpen = false;
|
|
1172
|
+
}
|
|
1173
|
+
}
|
|
1174
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxInputSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1175
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EluxInputSearchComponent, isStandalone: true, selector: "lib-elux-input-search", inputs: { options: "options", placeholder: "placeholder", value: "value", loading: "loading", disabled: "disabled" }, outputs: { valueSelected: "valueSelected", keyUpValue: "keyUpValue" }, host: { listeners: { "document:click": "onClickOutside($event)" } }, viewQueries: [{ propertyName: "inputsearch", first: true, predicate: ["inputsearch"], descendants: true }], ngImport: i0, template: "<div class=\"input-search\" #inputsearch>\r\n <input type=\"search\" class=\"input-field\" [disabled]=\"disabled\" [placeholder]=\"placeholder\" (keyup)=\"keyUp($event)\" [value]=\"value\" />\r\n <lib-elux-loading class=\"loading\" *ngIf=\"loading\" [size]=\"32\"></lib-elux-loading>\r\n <div class=\"search-list\" *ngIf=\"isOpen\">\r\n <div *ngFor=\"let item of options\">\r\n <div class=\"item-search\" *ngIf=\"item.text.toLowerCase().includes(value.toLowerCase())\" (click)=\"selectOption(item)\">\r\n {{ item.text }}\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}:host .input-search{position:relative}:host .input-field{width:100%;padding-left:47px;box-sizing:border-box;position:relative}:host .search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);pointer-events:none}:host .loading{position:absolute;right:10px;top:8px}:host .search-list{position:absolute;left:0;top:100%;width:100%;max-height:160px;overflow-y:auto;z-index:1;color:#515253;background-color:#fff}:host .item-search{padding:8px 15px;cursor:pointer}:host .item-search:hover{background-color:#eaebed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: EluxLoading, selector: "lib-elux-loading", inputs: ["size", "white"] }] }); }
|
|
1176
|
+
}
|
|
1177
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxInputSearchComponent, decorators: [{
|
|
1178
|
+
type: Component,
|
|
1179
|
+
args: [{ selector: 'lib-elux-input-search', standalone: true, imports: [EluxIcon, CommonModule, FormsModule, EluxLoading, EluxLoading], template: "<div class=\"input-search\" #inputsearch>\r\n <input type=\"search\" class=\"input-field\" [disabled]=\"disabled\" [placeholder]=\"placeholder\" (keyup)=\"keyUp($event)\" [value]=\"value\" />\r\n <lib-elux-loading class=\"loading\" *ngIf=\"loading\" [size]=\"32\"></lib-elux-loading>\r\n <div class=\"search-list\" *ngIf=\"isOpen\">\r\n <div *ngFor=\"let item of options\">\r\n <div class=\"item-search\" *ngIf=\"item.text.toLowerCase().includes(value.toLowerCase())\" (click)=\"selectOption(item)\">\r\n {{ item.text }}\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}:host .input-search{position:relative}:host .input-field{width:100%;padding-left:47px;box-sizing:border-box;position:relative}:host .search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);pointer-events:none}:host .loading{position:absolute;right:10px;top:8px}:host .search-list{position:absolute;left:0;top:100%;width:100%;max-height:160px;overflow-y:auto;z-index:1;color:#515253;background-color:#fff}:host .item-search{padding:8px 15px;cursor:pointer}:host .item-search:hover{background-color:#eaebed}\n"] }]
|
|
1180
|
+
}], ctorParameters: () => [], propDecorators: { options: [{
|
|
1181
|
+
type: Input
|
|
1182
|
+
}], placeholder: [{
|
|
1183
|
+
type: Input
|
|
1184
|
+
}], value: [{
|
|
1185
|
+
type: Input
|
|
1186
|
+
}], loading: [{
|
|
1187
|
+
type: Input
|
|
1188
|
+
}], disabled: [{
|
|
1189
|
+
type: Input
|
|
1190
|
+
}], inputsearch: [{
|
|
1191
|
+
type: ViewChild,
|
|
1192
|
+
args: ['inputsearch']
|
|
1193
|
+
}], valueSelected: [{
|
|
1194
|
+
type: Output
|
|
1195
|
+
}], keyUpValue: [{
|
|
1196
|
+
type: Output
|
|
1197
|
+
}], onClickOutside: [{
|
|
1198
|
+
type: HostListener,
|
|
1199
|
+
args: ['document:click', ['$event']]
|
|
1200
|
+
}] } });
|
|
1201
|
+
|
|
1202
|
+
class EluxInputSearchModalComponent {
|
|
1203
|
+
constructor() {
|
|
1204
|
+
this.value = '';
|
|
1205
|
+
this.placeholder = '';
|
|
1206
|
+
this.searchClickEvent = new EventEmitter();
|
|
1207
|
+
}
|
|
1208
|
+
ngOnInit() { }
|
|
1209
|
+
ngOnChanges(changes) { }
|
|
1210
|
+
searchClick(event) {
|
|
1211
|
+
this.searchClickEvent.emit(event);
|
|
1212
|
+
}
|
|
1213
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxInputSearchModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1214
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EluxInputSearchModalComponent, isStandalone: true, selector: "lib-elux-input-search-modal", inputs: { value: "value", placeholder: "placeholder" }, outputs: { searchClickEvent: "searchClickEvent" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"input-search\">\r\n <input\r\n type=\"text\"\r\n class=\"input-field\"\r\n [placeholder]=\"placeholder\"\r\n [value]=\"value\"\r\n disabled\r\n />\r\n <lib-elux-button [icon]=\"'Search.svg'\" type=\"basic\" (onClick)=\"searchClick($event)\"></lib-elux-button>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}:host .input-search{position:relative;display:flex}:host .input-field{width:100%;box-sizing:border-box;position:relative;margin-right:16px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: EluxButton, selector: "lib-elux-button", inputs: ["disabled", "type", "typeButton", "content", "done", "routerLink", "link", "size", "icon", "iconAlign", "externalLink", "loading", "onlyfirstLetterUpper"], outputs: ["onClick"] }] }); }
|
|
1215
|
+
}
|
|
1216
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxInputSearchModalComponent, decorators: [{
|
|
1217
|
+
type: Component,
|
|
1218
|
+
args: [{ selector: 'lib-elux-input-search-modal', standalone: true, imports: [CommonModule, EluxButton], template: "<div class=\"input-search\">\r\n <input\r\n type=\"text\"\r\n class=\"input-field\"\r\n [placeholder]=\"placeholder\"\r\n [value]=\"value\"\r\n disabled\r\n />\r\n <lib-elux-button [icon]=\"'Search.svg'\" type=\"basic\" (onClick)=\"searchClick($event)\"></lib-elux-button>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}:host .input-search{position:relative;display:flex}:host .input-field{width:100%;box-sizing:border-box;position:relative;margin-right:16px}\n"] }]
|
|
1219
|
+
}], ctorParameters: () => [], propDecorators: { value: [{
|
|
1220
|
+
type: Input
|
|
1221
|
+
}], placeholder: [{
|
|
1222
|
+
type: Input
|
|
1223
|
+
}], searchClickEvent: [{
|
|
1224
|
+
type: Output
|
|
1225
|
+
}] } });
|
|
1226
|
+
|
|
1227
|
+
class EluxDropdownMultiple {
|
|
1228
|
+
constructor() {
|
|
1229
|
+
this.disabled = false;
|
|
1230
|
+
this.idInput = '';
|
|
1231
|
+
this.placeholder = 'Selecione';
|
|
1232
|
+
this.options = [];
|
|
1233
|
+
this.selectedOptions = [];
|
|
1234
|
+
this.optionSelected = new EventEmitter();
|
|
1235
|
+
this.isOpen = false;
|
|
1236
|
+
this.selectedOptionsText = [];
|
|
1237
|
+
}
|
|
1238
|
+
ngOnInit() {
|
|
1239
|
+
this.updateSelectedOptions();
|
|
1240
|
+
if (!this.idInput) {
|
|
1241
|
+
this.idInput = `dropdown-multiple-${Math.random().toString(36).substring(2, 11)}`;
|
|
1242
|
+
}
|
|
1243
|
+
}
|
|
1244
|
+
ngOnChanges(changes) {
|
|
1245
|
+
if (changes['selectedOptions'] && !changes['selectedOptions'].isFirstChange()) {
|
|
1246
|
+
this.updateSelectedOptions();
|
|
1247
|
+
}
|
|
1248
|
+
}
|
|
1249
|
+
updateSelectedOptions() {
|
|
1250
|
+
this.selectedOptionsText = this.options.filter((option) => this.selectedOptions.includes(option.value)).map((option) => option.text);
|
|
1251
|
+
}
|
|
1252
|
+
toggleDropdown() {
|
|
1253
|
+
if (!this.disabled) {
|
|
1254
|
+
this.isOpen = !this.isOpen;
|
|
1255
|
+
}
|
|
1256
|
+
}
|
|
1257
|
+
selectOption(option) {
|
|
1258
|
+
const index = this.selectedOptions.indexOf(option.value);
|
|
1259
|
+
if (index > -1) {
|
|
1260
|
+
this.selectedOptions.splice(index, 1);
|
|
1261
|
+
}
|
|
1262
|
+
else {
|
|
1263
|
+
this.selectedOptions.push(option.value);
|
|
1264
|
+
}
|
|
1265
|
+
this.updateSelectedOptions();
|
|
1266
|
+
this.optionSelected.emit(this.selectedOptions);
|
|
1267
|
+
}
|
|
1268
|
+
onDocumentClick(event) {
|
|
1269
|
+
const target = event.target;
|
|
1270
|
+
if (!target.closest(`#${this.idInput}`)) {
|
|
1271
|
+
this.isOpen = false;
|
|
1272
|
+
}
|
|
1273
|
+
}
|
|
1274
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxDropdownMultiple, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1275
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EluxDropdownMultiple, isStandalone: true, selector: "lib-elux-dropdown-multiple", inputs: { disabled: "disabled", idInput: "idInput", placeholder: "placeholder", options: "options", selectedOptions: "selectedOptions" }, outputs: { optionSelected: "optionSelected" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"custom-dropdown\">\r\n <input class=\"selected-option\" type=\"text\" [id]=\"idInput\" [placeholder]=\"placeholder\" [value]=\"selectedOptionsText.length ? selectedOptionsText.join(', ') : ''\" readonly (click)=\"toggleDropdown()\" />\r\n <lib-elux-icon class=\"arrow-icon noClick\" [color]=\"'#7A8A9B'\" [icon]=\"'Chevron_Down.svg'\" [ngClass]=\"{ 'arrow-rotate': isOpen }\" [size]=\"'16'\" [sizeType]=\"'px'\"></lib-elux-icon>\r\n <ul class=\"dropdown-list\" *ngIf=\"isOpen\">\r\n <li *ngFor=\"let option of options\" (click)=\"selectOption(option)\" class=\"d-flex align-items-center\" [class.selected]=\"selectedOptions.includes(option.value)\">\r\n <input class=\"me-2 col-3 ml-\" type=\"checkbox\" [checked]=\"selectedOptions.includes(option.value)\" />\r\n <span class=\"col-9\">\r\n {{ option.text }}\r\n </span>\r\n </li>\r\n </ul>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}.display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body,:host{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body,:host{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}:host{color:\"darkest-grey\"}:host .noClick{pointer-events:none}:host .custom-dropdown{position:relative;width:100%}:host .selected-option{padding:10px 16px;border:1px solid #7A8A9B;cursor:pointer}:host .dropdown-list{list-style-type:none;padding:0;margin:0;border:1px solid #EAEBED;position:absolute;top:100%;width:100%;left:0;background-color:#fff;display:block;max-height:256px;overflow:auto;z-index:10}:host .dropdown-list::-webkit-scrollbar{width:4px}:host .dropdown-list::-webkit-scrollbar-track{background:#f4f5f7}:host .dropdown-list::-webkit-scrollbar-thumb{background:#adb9c3}:host .dropdown-list li{padding:13px 16px;cursor:pointer}:host .dropdown-list li:hover{background-color:#eaebed}:host .arrow-icon{display:flex;position:absolute;top:calc(50% - 8px);right:10px;cursor:pointer;transition:all .3s ease-in-out}:host .arrow-rotate{transform:rotate(180deg)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: EluxIcon, selector: "lib-elux-icon", inputs: ["color", "useSubscription", "icon", "description", "size", "height", "width", "sizeType"] }] }); }
|
|
1276
|
+
}
|
|
1277
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxDropdownMultiple, decorators: [{
|
|
1278
|
+
type: Component,
|
|
1279
|
+
args: [{ selector: 'lib-elux-dropdown-multiple', imports: [CommonModule, FormsModule, ReactiveFormsModule, EluxIcon], standalone: true, template: "<div class=\"custom-dropdown\">\r\n <input class=\"selected-option\" type=\"text\" [id]=\"idInput\" [placeholder]=\"placeholder\" [value]=\"selectedOptionsText.length ? selectedOptionsText.join(', ') : ''\" readonly (click)=\"toggleDropdown()\" />\r\n <lib-elux-icon class=\"arrow-icon noClick\" [color]=\"'#7A8A9B'\" [icon]=\"'Chevron_Down.svg'\" [ngClass]=\"{ 'arrow-rotate': isOpen }\" [size]=\"'16'\" [sizeType]=\"'px'\"></lib-elux-icon>\r\n <ul class=\"dropdown-list\" *ngIf=\"isOpen\">\r\n <li *ngFor=\"let option of options\" (click)=\"selectOption(option)\" class=\"d-flex align-items-center\" [class.selected]=\"selectedOptions.includes(option.value)\">\r\n <input class=\"me-2 col-3 ml-\" type=\"checkbox\" [checked]=\"selectedOptions.includes(option.value)\" />\r\n <span class=\"col-9\">\r\n {{ option.text }}\r\n </span>\r\n </li>\r\n </ul>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}.display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body,:host{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body,:host{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}:host{color:\"darkest-grey\"}:host .noClick{pointer-events:none}:host .custom-dropdown{position:relative;width:100%}:host .selected-option{padding:10px 16px;border:1px solid #7A8A9B;cursor:pointer}:host .dropdown-list{list-style-type:none;padding:0;margin:0;border:1px solid #EAEBED;position:absolute;top:100%;width:100%;left:0;background-color:#fff;display:block;max-height:256px;overflow:auto;z-index:10}:host .dropdown-list::-webkit-scrollbar{width:4px}:host .dropdown-list::-webkit-scrollbar-track{background:#f4f5f7}:host .dropdown-list::-webkit-scrollbar-thumb{background:#adb9c3}:host .dropdown-list li{padding:13px 16px;cursor:pointer}:host .dropdown-list li:hover{background-color:#eaebed}:host .arrow-icon{display:flex;position:absolute;top:calc(50% - 8px);right:10px;cursor:pointer;transition:all .3s ease-in-out}:host .arrow-rotate{transform:rotate(180deg)}\n"] }]
|
|
1280
|
+
}], ctorParameters: () => [], propDecorators: { disabled: [{
|
|
1281
|
+
type: Input
|
|
1282
|
+
}], idInput: [{
|
|
1283
|
+
type: Input
|
|
1284
|
+
}], placeholder: [{
|
|
1285
|
+
type: Input
|
|
1286
|
+
}], options: [{
|
|
1287
|
+
type: Input
|
|
1288
|
+
}], selectedOptions: [{
|
|
1289
|
+
type: Input
|
|
1290
|
+
}], optionSelected: [{
|
|
1291
|
+
type: Output
|
|
1292
|
+
}], onDocumentClick: [{
|
|
1293
|
+
type: HostListener,
|
|
1294
|
+
args: ['document:click', ['$event']]
|
|
1295
|
+
}] } });
|
|
1296
|
+
|
|
1297
|
+
class EluxCarouselComponent {
|
|
1298
|
+
constructor(renderer) {
|
|
1299
|
+
this.renderer = renderer;
|
|
1300
|
+
this.itemsPerSlide = 4;
|
|
1301
|
+
this.removeArrows = false;
|
|
1302
|
+
this.removeDots = false;
|
|
1303
|
+
this.autoPlayInterval = null;
|
|
1304
|
+
this.previousClickEventEmitter = new EventEmitter();
|
|
1305
|
+
this.nextClickEventEmitter = new EventEmitter();
|
|
1306
|
+
this.dotClickEventEmitter = new EventEmitter();
|
|
1307
|
+
this.currentIndex = 0;
|
|
1308
|
+
this.offset = 0;
|
|
1309
|
+
this.touchStartX = 0;
|
|
1310
|
+
this.touchEndX = 0;
|
|
1311
|
+
}
|
|
1312
|
+
ngAfterContentInit() {
|
|
1313
|
+
this.setItemWidths();
|
|
1314
|
+
if (this.autoPlayInterval) {
|
|
1315
|
+
this.startAutoPlay();
|
|
1316
|
+
}
|
|
1317
|
+
this.items.changes.subscribe(() => {
|
|
1318
|
+
this.setItemWidths();
|
|
1319
|
+
this.updateOffset();
|
|
1320
|
+
this.goToFirstSlide();
|
|
1321
|
+
});
|
|
1322
|
+
}
|
|
1323
|
+
setItemWidths() {
|
|
1324
|
+
this.items.forEach((item) => {
|
|
1325
|
+
const minWidth = `calc(100% / ${this.itemsPerSlide})`;
|
|
1326
|
+
this.renderer.setStyle(item.nativeElement, 'minWidth', minWidth);
|
|
1327
|
+
});
|
|
1328
|
+
}
|
|
1329
|
+
startAutoPlay() {
|
|
1330
|
+
this.stopAutoPlay(); // Garante que não há intervalos ativos
|
|
1331
|
+
this.autoPlayTimer = setInterval(() => {
|
|
1332
|
+
this.nextSlide();
|
|
1333
|
+
}, (this.autoPlayInterval || 0) * 1000);
|
|
1334
|
+
}
|
|
1335
|
+
stopAutoPlay() {
|
|
1336
|
+
if (this.autoPlayTimer) {
|
|
1337
|
+
clearInterval(this.autoPlayTimer);
|
|
1338
|
+
this.autoPlayTimer = null;
|
|
1339
|
+
}
|
|
1340
|
+
}
|
|
1341
|
+
onTouchStart(event) {
|
|
1342
|
+
this.touchStartX = event.touches[0].clientX;
|
|
1343
|
+
this.touchEndX = this.touchStartX; // reseta para evitar swipe falso
|
|
1344
|
+
}
|
|
1345
|
+
onTouchMove(event) {
|
|
1346
|
+
this.touchEndX = event.touches[0].clientX;
|
|
1347
|
+
}
|
|
1348
|
+
onTouchEnd() {
|
|
1349
|
+
const swipeDistance = this.touchEndX - this.touchStartX;
|
|
1350
|
+
// Só considera swipe se movimento for maior que 2px
|
|
1351
|
+
if (Math.abs(swipeDistance) < 2)
|
|
1352
|
+
return;
|
|
1353
|
+
if (swipeDistance > 0) {
|
|
1354
|
+
this.prevSlide();
|
|
1355
|
+
}
|
|
1356
|
+
else if (swipeDistance < 0) {
|
|
1357
|
+
this.nextSlide();
|
|
1358
|
+
}
|
|
1359
|
+
}
|
|
1360
|
+
getStepIndexes() {
|
|
1361
|
+
const totalSteps = Math.ceil(this.items.length / this.itemsPerSlide);
|
|
1362
|
+
return Array.from({ length: totalSteps }, (_, i) => i);
|
|
1363
|
+
}
|
|
1364
|
+
getCurrentStepIndex() {
|
|
1365
|
+
return Math.floor(this.currentIndex / this.itemsPerSlide);
|
|
1366
|
+
}
|
|
1367
|
+
goToFirstSlide() {
|
|
1368
|
+
this.currentIndex = 0;
|
|
1369
|
+
this.updateOffset();
|
|
1370
|
+
this.scrollActiveDotIntoView(0);
|
|
1371
|
+
}
|
|
1372
|
+
goToSlide(index) {
|
|
1373
|
+
this.currentIndex = index * this.itemsPerSlide;
|
|
1374
|
+
this.updateOffset();
|
|
1375
|
+
this.scrollActiveDotIntoView(index);
|
|
1376
|
+
this.dotClickEventEmitter.emit();
|
|
1377
|
+
}
|
|
1378
|
+
prevSlide() {
|
|
1379
|
+
if (this.currentIndex > 0) {
|
|
1380
|
+
this.currentIndex = Math.max(0, this.currentIndex - this.itemsPerSlide);
|
|
1381
|
+
this.updateOffset();
|
|
1382
|
+
this.scrollActiveDotIntoView(this.getCurrentStepIndex());
|
|
1383
|
+
this.previousClickEventEmitter.emit();
|
|
1384
|
+
}
|
|
1385
|
+
}
|
|
1386
|
+
nextSlide() {
|
|
1387
|
+
const maxIndex = this.items.length - this.itemsPerSlide;
|
|
1388
|
+
if (this.currentIndex >= maxIndex) {
|
|
1389
|
+
this.currentIndex = 0;
|
|
1390
|
+
}
|
|
1391
|
+
else {
|
|
1392
|
+
this.currentIndex = Math.min(maxIndex, this.currentIndex + this.itemsPerSlide);
|
|
1393
|
+
}
|
|
1394
|
+
this.updateOffset();
|
|
1395
|
+
this.scrollActiveDotIntoView(this.getCurrentStepIndex());
|
|
1396
|
+
this.nextClickEventEmitter.emit();
|
|
1397
|
+
}
|
|
1398
|
+
updateOffset() {
|
|
1399
|
+
this.offset = -100 * (this.currentIndex / this.itemsPerSlide);
|
|
1400
|
+
}
|
|
1401
|
+
scrollActiveDotIntoView(index) {
|
|
1402
|
+
setTimeout(() => {
|
|
1403
|
+
const dotsContainer = this.dotsContainer?.nativeElement;
|
|
1404
|
+
if (!dotsContainer)
|
|
1405
|
+
return;
|
|
1406
|
+
const dots = dotsContainer.getElementsByClassName('dot');
|
|
1407
|
+
if (!dots || !dots[index])
|
|
1408
|
+
return;
|
|
1409
|
+
const activeDot = dots[index];
|
|
1410
|
+
const containerWidth = dotsContainer.offsetWidth;
|
|
1411
|
+
const dotWidth = activeDot.offsetWidth + 10;
|
|
1412
|
+
const scrollPosition = dotWidth * index - containerWidth / 2 + dotWidth / 2;
|
|
1413
|
+
dotsContainer.scrollTo({
|
|
1414
|
+
left: Math.max(0, scrollPosition),
|
|
1415
|
+
behavior: 'smooth',
|
|
1416
|
+
});
|
|
1417
|
+
});
|
|
1418
|
+
}
|
|
1419
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxCarouselComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1420
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EluxCarouselComponent, isStandalone: true, selector: "lib-elux-carousel", inputs: { itemsPerSlide: "itemsPerSlide", removeArrows: "removeArrows", removeDots: "removeDots", autoPlayInterval: "autoPlayInterval" }, outputs: { previousClickEventEmitter: "previousClickEventEmitter", nextClickEventEmitter: "nextClickEventEmitter", dotClickEventEmitter: "dotClickEventEmitter" }, queries: [{ propertyName: "items", predicate: ["carouselItem"], read: ElementRef }], viewQueries: [{ propertyName: "dotsContainer", first: true, predicate: ["dotsContainer"], descendants: true }], ngImport: i0, template: "<div class=\"c-carousel-container\">\r\n <div class=\"c-carousel-slides\" [style.transform]=\"'translateX(' + offset + '%)'\" (touchstart)=\"onTouchStart($event)\" (touchmove)=\"onTouchMove($event)\" (touchend)=\"onTouchEnd()\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <div class=\"c-carousel-footer\">\r\n <button [hidden]=\"removeArrows\" class=\"c-carousel-nav prev\" title=\"Slide anterior\" aria-label=\"Slide anterior\" (click)=\"prevSlide()\">\r\n <lib-elux-icon [icon]=\"'Chevron_Left.svg'\" [size]=\"'16'\" [sizeType]=\"'px'\" [color]=\"'#020F2E'\"></lib-elux-icon>\r\n </button>\r\n\r\n <div [hidden]=\"removeDots\" class=\"c-carousel-dots\" #dotsContainer>\r\n <span\r\n role=\"button\"\r\n class=\"dot\"\r\n *ngFor=\"let index of getStepIndexes()\"\r\n (click)=\"goToSlide(index)\"\r\n (keyup)=\"goToSlide(index)\"\r\n [class.active]=\"index === getCurrentStepIndex()\"\r\n [attr.aria-disabled]=\"true\"\r\n [attr.aria-label]=\"'pagina' + (index + 1)\"\r\n >\r\n </span>\r\n </div>\r\n\r\n <button [hidden]=\"removeArrows\" class=\"c-carousel-nav next\" title=\"Pr\u00F3ximo slide\" aria-label=\"Pr\u00F3ximo slide\" (click)=\"nextSlide()\">\r\n <lib-elux-icon [icon]=\"'Chevron_Right.svg'\" [size]=\"'16'\" [sizeType]=\"'px'\" [color]=\"'#020F2E'\"></lib-elux-icon>\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}.c-carousel-container{position:relative;width:100%}.c-carousel-slides{display:flex;transition:transform .4s ease-in-out;touch-action:pan-y}.c-carousel-item{display:flex;flex-direction:column;text-align:center;align-items:center;justify-content:center;gap:16px;height:150px;margin:6px;border:1px solid #dee7ea;border-radius:2px;cursor:pointer}.c-carousel-item .c-span{font-weight:400;font-size:18px;color:#011e41}.c-carousel-footer{width:min-content;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:16px 0 24px}.c-carousel-footer .c-carousel-nav{background:none;border:none;cursor:pointer;padding:8px;border-radius:50px;background-color:#dfe7ea;transition:all ease-in-out .2s;z-index:2}.c-carousel-footer .c-carousel-nav:hover{transform:scale(1.1)}.c-carousel-footer .c-carousel-nav ::ng-deep span{display:block}.c-carousel-footer .c-carousel-dots{padding:6px;display:flex;text-align:center;border:1px solid #020f2e;border-radius:16px;margin:0 16px;max-width:120px;overflow:hidden;position:relative}@media (max-width: 768px){.c-carousel-footer .c-carousel-dots{margin:0 12px;max-width:100px}}.c-carousel-footer .dot{height:10px;width:10px;margin:0 5px;background-color:#dfe7ea;border-radius:50%;display:inline-block;cursor:pointer;transition:all ease-in-out .2s;flex-shrink:0}.c-carousel-footer .dot:hover,.c-carousel-footer .dot.active{background-color:#011e41}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: EluxIcon, selector: "lib-elux-icon", inputs: ["color", "useSubscription", "icon", "description", "size", "height", "width", "sizeType"] }] }); }
|
|
1421
|
+
}
|
|
1422
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxCarouselComponent, decorators: [{
|
|
1423
|
+
type: Component,
|
|
1424
|
+
args: [{ standalone: true, selector: 'lib-elux-carousel', imports: [CommonModule, EluxIcon], template: "<div class=\"c-carousel-container\">\r\n <div class=\"c-carousel-slides\" [style.transform]=\"'translateX(' + offset + '%)'\" (touchstart)=\"onTouchStart($event)\" (touchmove)=\"onTouchMove($event)\" (touchend)=\"onTouchEnd()\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <div class=\"c-carousel-footer\">\r\n <button [hidden]=\"removeArrows\" class=\"c-carousel-nav prev\" title=\"Slide anterior\" aria-label=\"Slide anterior\" (click)=\"prevSlide()\">\r\n <lib-elux-icon [icon]=\"'Chevron_Left.svg'\" [size]=\"'16'\" [sizeType]=\"'px'\" [color]=\"'#020F2E'\"></lib-elux-icon>\r\n </button>\r\n\r\n <div [hidden]=\"removeDots\" class=\"c-carousel-dots\" #dotsContainer>\r\n <span\r\n role=\"button\"\r\n class=\"dot\"\r\n *ngFor=\"let index of getStepIndexes()\"\r\n (click)=\"goToSlide(index)\"\r\n (keyup)=\"goToSlide(index)\"\r\n [class.active]=\"index === getCurrentStepIndex()\"\r\n [attr.aria-disabled]=\"true\"\r\n [attr.aria-label]=\"'pagina' + (index + 1)\"\r\n >\r\n </span>\r\n </div>\r\n\r\n <button [hidden]=\"removeArrows\" class=\"c-carousel-nav next\" title=\"Pr\u00F3ximo slide\" aria-label=\"Pr\u00F3ximo slide\" (click)=\"nextSlide()\">\r\n <lib-elux-icon [icon]=\"'Chevron_Right.svg'\" [size]=\"'16'\" [sizeType]=\"'px'\" [color]=\"'#020F2E'\"></lib-elux-icon>\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}.c-carousel-container{position:relative;width:100%}.c-carousel-slides{display:flex;transition:transform .4s ease-in-out;touch-action:pan-y}.c-carousel-item{display:flex;flex-direction:column;text-align:center;align-items:center;justify-content:center;gap:16px;height:150px;margin:6px;border:1px solid #dee7ea;border-radius:2px;cursor:pointer}.c-carousel-item .c-span{font-weight:400;font-size:18px;color:#011e41}.c-carousel-footer{width:min-content;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:16px 0 24px}.c-carousel-footer .c-carousel-nav{background:none;border:none;cursor:pointer;padding:8px;border-radius:50px;background-color:#dfe7ea;transition:all ease-in-out .2s;z-index:2}.c-carousel-footer .c-carousel-nav:hover{transform:scale(1.1)}.c-carousel-footer .c-carousel-nav ::ng-deep span{display:block}.c-carousel-footer .c-carousel-dots{padding:6px;display:flex;text-align:center;border:1px solid #020f2e;border-radius:16px;margin:0 16px;max-width:120px;overflow:hidden;position:relative}@media (max-width: 768px){.c-carousel-footer .c-carousel-dots{margin:0 12px;max-width:100px}}.c-carousel-footer .dot{height:10px;width:10px;margin:0 5px;background-color:#dfe7ea;border-radius:50%;display:inline-block;cursor:pointer;transition:all ease-in-out .2s;flex-shrink:0}.c-carousel-footer .dot:hover,.c-carousel-footer .dot.active{background-color:#011e41}\n"] }]
|
|
1425
|
+
}], ctorParameters: () => [{ type: i0.Renderer2 }], propDecorators: { items: [{
|
|
1426
|
+
type: ContentChildren,
|
|
1427
|
+
args: ['carouselItem', { read: ElementRef }]
|
|
1428
|
+
}], dotsContainer: [{
|
|
1429
|
+
type: ViewChild,
|
|
1430
|
+
args: ['dotsContainer']
|
|
1431
|
+
}], itemsPerSlide: [{
|
|
1432
|
+
type: Input
|
|
1433
|
+
}], removeArrows: [{
|
|
1434
|
+
type: Input
|
|
1435
|
+
}], removeDots: [{
|
|
1436
|
+
type: Input
|
|
1437
|
+
}], autoPlayInterval: [{
|
|
1438
|
+
type: Input
|
|
1439
|
+
}], previousClickEventEmitter: [{
|
|
1440
|
+
type: Output
|
|
1441
|
+
}], nextClickEventEmitter: [{
|
|
1442
|
+
type: Output
|
|
1443
|
+
}], dotClickEventEmitter: [{
|
|
1444
|
+
type: Output
|
|
1445
|
+
}] } });
|
|
1446
|
+
|
|
1447
|
+
class EluxSwitch {
|
|
1448
|
+
constructor() {
|
|
1449
|
+
this.checked = false;
|
|
1450
|
+
this.size = 'medium';
|
|
1451
|
+
this.onChange = new EventEmitter();
|
|
1452
|
+
}
|
|
1453
|
+
_onChange(event) {
|
|
1454
|
+
this.onChange.emit(event.target.checked);
|
|
1455
|
+
}
|
|
1456
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxSwitch, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1457
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EluxSwitch, isStandalone: true, selector: "lib-elux-switch", inputs: { checked: "checked", size: "size" }, outputs: { onChange: "onChange" }, ngImport: i0, template: `
|
|
1458
|
+
<div
|
|
1459
|
+
[class.small]="size === 'small'"
|
|
1460
|
+
[class.medium]="size === 'medium'"
|
|
1461
|
+
[class.large]="size === 'large'"
|
|
1462
|
+
>
|
|
1463
|
+
<label class="lib-elux-switch">
|
|
1464
|
+
<input type="checkbox" [checked]="checked" (change)="_onChange($event)" />
|
|
1465
|
+
<span class="slider"></span>
|
|
1466
|
+
</label>
|
|
1467
|
+
</div>
|
|
1468
|
+
`, isInline: true, styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}.small{transform:scale(.67)}.medium{transform:scale(1)}.large{transform:scale(1.33)}.lib-elux-switch{position:relative;display:inline-block;width:60px;height:34px;transform-origin:left center}.lib-elux-switch input{opacity:0;width:0;height:0}.lib-elux-switch .slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:17px}.lib-elux-switch .slider:before{position:absolute;content:\"\";height:26px;width:26px;border-radius:50%;left:4px;bottom:4px;background-color:#fff;transition:.4s;box-shadow:0 2px 4px #0003}.lib-elux-switch input:checked+.slider{background-color:#011e41}.lib-elux-switch input:checked+.slider:before{transform:translate(26px)}\n"] }); }
|
|
1469
|
+
}
|
|
1470
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxSwitch, decorators: [{
|
|
1471
|
+
type: Component,
|
|
1472
|
+
args: [{ selector: 'lib-elux-switch', standalone: true, template: `
|
|
1473
|
+
<div
|
|
1474
|
+
[class.small]="size === 'small'"
|
|
1475
|
+
[class.medium]="size === 'medium'"
|
|
1476
|
+
[class.large]="size === 'large'"
|
|
1477
|
+
>
|
|
1478
|
+
<label class="lib-elux-switch">
|
|
1479
|
+
<input type="checkbox" [checked]="checked" (change)="_onChange($event)" />
|
|
1480
|
+
<span class="slider"></span>
|
|
1481
|
+
</label>
|
|
1482
|
+
</div>
|
|
1483
|
+
`, styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}.small{transform:scale(.67)}.medium{transform:scale(1)}.large{transform:scale(1.33)}.lib-elux-switch{position:relative;display:inline-block;width:60px;height:34px;transform-origin:left center}.lib-elux-switch input{opacity:0;width:0;height:0}.lib-elux-switch .slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:17px}.lib-elux-switch .slider:before{position:absolute;content:\"\";height:26px;width:26px;border-radius:50%;left:4px;bottom:4px;background-color:#fff;transition:.4s;box-shadow:0 2px 4px #0003}.lib-elux-switch input:checked+.slider{background-color:#011e41}.lib-elux-switch input:checked+.slider:before{transform:translate(26px)}\n"] }]
|
|
1484
|
+
}], propDecorators: { checked: [{
|
|
1485
|
+
type: Input
|
|
1486
|
+
}], size: [{
|
|
1487
|
+
type: Input
|
|
1488
|
+
}], onChange: [{
|
|
1489
|
+
type: Output
|
|
1490
|
+
}] } });
|
|
1491
|
+
|
|
1492
|
+
class EluxChip {
|
|
1493
|
+
constructor() {
|
|
1494
|
+
this.value = '';
|
|
1495
|
+
this.ariaLabel = '';
|
|
1496
|
+
this.onClick = new EventEmitter();
|
|
1497
|
+
}
|
|
1498
|
+
_onClick() {
|
|
1499
|
+
this.onClick.emit();
|
|
1500
|
+
}
|
|
1501
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxChip, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1502
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EluxChip, isStandalone: true, selector: "lib-elux-chip", inputs: { value: "value", ariaLabel: "ariaLabel" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<div class=\"chip\" (click)=\"_onClick()\" tabindex=\"0\" role=\"button\" [attr.aria-label]=\"ariaLabel\">\r\n {{ value }}\r\n <lib-elux-icon icon=\"Close.svg\" size=\"24\" sizeType=\"px\" color=\"#fff\" />\r\n</div>\r\n", styles: [".chip{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:14px;background:#5b6a78;color:#fff;border-radius:16px;padding:4px 8px;margin-right:8px;margin-bottom:8px;min-height:24px;cursor:pointer}.chip ::ng-deep lib-elux-icon .icon{transition:color .2s;background-color:#fff!important}.chip:hover{background:#b1abbb;color:#2b2936}.chip:hover ::ng-deep lib-elux-icon .icon{background-color:#2b2936!important}.chip .close{background:none;border:none;outline:none;cursor:pointer;line-height:1}.chip .close:hover{color:#2b2936}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: EluxIcon, selector: "lib-elux-icon", inputs: ["color", "useSubscription", "icon", "description", "size", "height", "width", "sizeType"] }] }); }
|
|
1503
|
+
}
|
|
1504
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxChip, decorators: [{
|
|
1505
|
+
type: Component,
|
|
1506
|
+
args: [{ selector: 'lib-elux-chip', standalone: true, imports: [CommonModule, EluxIcon], template: "<div class=\"chip\" (click)=\"_onClick()\" tabindex=\"0\" role=\"button\" [attr.aria-label]=\"ariaLabel\">\r\n {{ value }}\r\n <lib-elux-icon icon=\"Close.svg\" size=\"24\" sizeType=\"px\" color=\"#fff\" />\r\n</div>\r\n", styles: [".chip{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:14px;background:#5b6a78;color:#fff;border-radius:16px;padding:4px 8px;margin-right:8px;margin-bottom:8px;min-height:24px;cursor:pointer}.chip ::ng-deep lib-elux-icon .icon{transition:color .2s;background-color:#fff!important}.chip:hover{background:#b1abbb;color:#2b2936}.chip:hover ::ng-deep lib-elux-icon .icon{background-color:#2b2936!important}.chip .close{background:none;border:none;outline:none;cursor:pointer;line-height:1}.chip .close:hover{color:#2b2936}\n"] }]
|
|
1507
|
+
}], propDecorators: { value: [{
|
|
1508
|
+
type: Input
|
|
1509
|
+
}], ariaLabel: [{
|
|
1510
|
+
type: Input
|
|
1511
|
+
}], onClick: [{
|
|
1512
|
+
type: Output
|
|
1513
|
+
}] } });
|
|
1514
|
+
|
|
1515
|
+
class EluxCard1 {
|
|
1516
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxCard1, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1517
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EluxCard1, isStandalone: true, selector: "lib-elux-card-1", inputs: { text: "text", iconLeft: "iconLeft", iconRight: "iconRight" }, ngImport: i0, template: "<div class=\"card1 p-3\">\r\n <lib-elux-icon *ngIf=\"iconLeft\" class=\"iconLeft\" [icon]=\"iconLeft\" [size]=\"'24'\" [sizeType]=\"'px'\"></lib-elux-icon>\r\n <div class=\"card-content\">\r\n <span class=\"subtitle-1\">{{ text }}</span>\r\n <lib-elux-icon class=\"iconRight\" [icon]=\"iconRight\" [size]=\"'24'\" [sizeType]=\"'px'\"></lib-elux-icon>\r\n </div>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}.card1{border:1px solid #ADB9C3;border-radius:2px;height:70px;background-color:#fff;display:flex;flex-direction:row;align-items:center;cursor:pointer}.card1 .card-content{width:100%;display:flex;justify-content:space-between;align-items:center}.card1 .iconLeft{margin-right:18px}.card1 .iconRight{transition:.3s}.card1:focus-visible{outline:2px solid #16A748;outline-offset:-2px}.card1:focus-visible .iconRight{margin-right:-10px}.card1:hover{border-color:#5b6a78}.card1:hover .iconRight{margin-right:-10px}\n"], dependencies: [{ kind: "component", type: EluxIcon, selector: "lib-elux-icon", inputs: ["color", "useSubscription", "icon", "description", "size", "height", "width", "sizeType"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
1518
|
+
}
|
|
1519
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxCard1, decorators: [{
|
|
1520
|
+
type: Component,
|
|
1521
|
+
args: [{ selector: 'lib-elux-card-1', standalone: true, imports: [EluxIcon, CommonModule], template: "<div class=\"card1 p-3\">\r\n <lib-elux-icon *ngIf=\"iconLeft\" class=\"iconLeft\" [icon]=\"iconLeft\" [size]=\"'24'\" [sizeType]=\"'px'\"></lib-elux-icon>\r\n <div class=\"card-content\">\r\n <span class=\"subtitle-1\">{{ text }}</span>\r\n <lib-elux-icon class=\"iconRight\" [icon]=\"iconRight\" [size]=\"'24'\" [sizeType]=\"'px'\"></lib-elux-icon>\r\n </div>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}.card1{border:1px solid #ADB9C3;border-radius:2px;height:70px;background-color:#fff;display:flex;flex-direction:row;align-items:center;cursor:pointer}.card1 .card-content{width:100%;display:flex;justify-content:space-between;align-items:center}.card1 .iconLeft{margin-right:18px}.card1 .iconRight{transition:.3s}.card1:focus-visible{outline:2px solid #16A748;outline-offset:-2px}.card1:focus-visible .iconRight{margin-right:-10px}.card1:hover{border-color:#5b6a78}.card1:hover .iconRight{margin-right:-10px}\n"] }]
|
|
1522
|
+
}], propDecorators: { text: [{
|
|
1523
|
+
type: Input
|
|
1524
|
+
}], iconLeft: [{
|
|
1525
|
+
type: Input
|
|
1526
|
+
}], iconRight: [{
|
|
1527
|
+
type: Input
|
|
1528
|
+
}] } });
|
|
1529
|
+
|
|
1530
|
+
class EluxCard2 {
|
|
1531
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxCard2, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1532
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EluxCard2, isStandalone: true, selector: "lib-elux-card-2", inputs: { text: "text", icon: "icon" }, ngImport: i0, template: "<div class=\"subtitle-1 card2 d-flex justify-content-between align-items-center\">\r\n <span class=\"subtitle-1 text-blue\">{{ text }}</span>\r\n <lib-elux-icon [icon]=\"icon\" [size]=\"'24'\" [sizeType]=\"'px'\"></lib-elux-icon>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}.card2{cursor:pointer;color:#011e41!important;height:52px!important;display:flex;align-items:center;border-bottom:1px solid #C9C9CA}\n"], dependencies: [{ kind: "component", type: EluxIcon, selector: "lib-elux-icon", inputs: ["color", "useSubscription", "icon", "description", "size", "height", "width", "sizeType"] }] }); }
|
|
1533
|
+
}
|
|
1534
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxCard2, decorators: [{
|
|
1535
|
+
type: Component,
|
|
1536
|
+
args: [{ selector: 'lib-elux-card-2', standalone: true, imports: [EluxIcon], template: "<div class=\"subtitle-1 card2 d-flex justify-content-between align-items-center\">\r\n <span class=\"subtitle-1 text-blue\">{{ text }}</span>\r\n <lib-elux-icon [icon]=\"icon\" [size]=\"'24'\" [sizeType]=\"'px'\"></lib-elux-icon>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}.card2{cursor:pointer;color:#011e41!important;height:52px!important;display:flex;align-items:center;border-bottom:1px solid #C9C9CA}\n"] }]
|
|
1537
|
+
}], propDecorators: { text: [{
|
|
1538
|
+
type: Input
|
|
1539
|
+
}], icon: [{
|
|
1540
|
+
type: Input
|
|
1541
|
+
}] } });
|
|
1542
|
+
|
|
1543
|
+
class EluxCard3 {
|
|
1544
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxCard3, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1545
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EluxCard3, isStandalone: true, selector: "lib-elux-card-3", inputs: { title: "title", text: "text", icon: "icon" }, ngImport: i0, template: "<div class=\"card3 p-3 subtitle-1 d-flex align-items-center\">\r\n <div class=\"pe-3\">\r\n <lib-elux-icon [icon]=\"icon\" [size]=\"'40'\" [sizeType]=\"'px'\"></lib-elux-icon>\r\n </div>\r\n <div class=\"d-flex flex-column\">\r\n <span class=\"heading-3 text-blue\">{{ title }}</span>\r\n <span class=\"body mt-2\">{{ text }}</span>\r\n </div>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}.card3{height:140px;background-color:#fff}\n"], dependencies: [{ kind: "component", type: EluxIcon, selector: "lib-elux-icon", inputs: ["color", "useSubscription", "icon", "description", "size", "height", "width", "sizeType"] }] }); }
|
|
1546
|
+
}
|
|
1547
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxCard3, decorators: [{
|
|
1548
|
+
type: Component,
|
|
1549
|
+
args: [{ selector: 'lib-elux-card-3', standalone: true, imports: [EluxIcon], template: "<div class=\"card3 p-3 subtitle-1 d-flex align-items-center\">\r\n <div class=\"pe-3\">\r\n <lib-elux-icon [icon]=\"icon\" [size]=\"'40'\" [sizeType]=\"'px'\"></lib-elux-icon>\r\n </div>\r\n <div class=\"d-flex flex-column\">\r\n <span class=\"heading-3 text-blue\">{{ title }}</span>\r\n <span class=\"body mt-2\">{{ text }}</span>\r\n </div>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}.card3{height:140px;background-color:#fff}\n"] }]
|
|
1550
|
+
}], propDecorators: { title: [{
|
|
1551
|
+
type: Input
|
|
1552
|
+
}], text: [{
|
|
1553
|
+
type: Input
|
|
1554
|
+
}], icon: [{
|
|
1555
|
+
type: Input
|
|
1556
|
+
}] } });
|
|
1557
|
+
|
|
1558
|
+
class EluxCard4 {
|
|
1559
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxCard4, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1560
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EluxCard4, isStandalone: true, selector: "lib-elux-card-4", inputs: { title: "title", text: "text" }, ngImport: i0, template: "<div class=\"card4 p-3\">\r\n <div class=\"d-flex flex-row justify-content-between align-items-center\">\r\n <span class=\"subtitle-1 text-blue\">{{ title }}</span>\r\n <lib-elux-icon [icon]=\"'Arrow_Right.svg'\" [size]=\"'24'\" [sizeType]=\"'px'\"></lib-elux-icon>\r\n </div>\r\n <div class=\"d-flex mt-2\">\r\n <span class=\"body\">{{ text }}</span>\r\n </div>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}.card4{border:1px solid #7A8A9B;border-radius:2px}\n"], dependencies: [{ kind: "component", type: EluxIcon, selector: "lib-elux-icon", inputs: ["color", "useSubscription", "icon", "description", "size", "height", "width", "sizeType"] }] }); }
|
|
1561
|
+
}
|
|
1562
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxCard4, decorators: [{
|
|
1563
|
+
type: Component,
|
|
1564
|
+
args: [{ selector: 'lib-elux-card-4', standalone: true, imports: [EluxIcon], template: "<div class=\"card4 p-3\">\r\n <div class=\"d-flex flex-row justify-content-between align-items-center\">\r\n <span class=\"subtitle-1 text-blue\">{{ title }}</span>\r\n <lib-elux-icon [icon]=\"'Arrow_Right.svg'\" [size]=\"'24'\" [sizeType]=\"'px'\"></lib-elux-icon>\r\n </div>\r\n <div class=\"d-flex mt-2\">\r\n <span class=\"body\">{{ text }}</span>\r\n </div>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}.card4{border:1px solid #7A8A9B;border-radius:2px}\n"] }]
|
|
1565
|
+
}], propDecorators: { title: [{
|
|
1566
|
+
type: Input
|
|
1567
|
+
}], text: [{
|
|
1568
|
+
type: Input
|
|
1569
|
+
}] } });
|
|
1570
|
+
|
|
1571
|
+
class EluxLoading2 {
|
|
1572
|
+
constructor() {
|
|
1573
|
+
this.open = false;
|
|
1574
|
+
}
|
|
1575
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxLoading2, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1576
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EluxLoading2, isStandalone: true, selector: "lib-elux-loading-2", inputs: { open: "open" }, ngImport: i0, template: "<div class=\"modal\" [class.open]=\"open\">\r\n <div class=\"modal-content\">\r\n <img class=\"content-icon mb-4\" src=\"/assets/icons/Loading.webp\" />\r\n <span class=\"content-title mt-2 mb-3\">Carregando...</span>\r\n <span class=\"content-description\">Por favor, aguarde enquanto buscamos a melhor solu\u00E7\u00E3o.</span>\r\n </div>\r\n <div class=\"modal-backdrop\"></div>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2,.modal-content .content-title{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3,.modal-content .content-description{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2,.modal-content .content-title{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3,.modal-content .content-description{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto}.modal .close-icon{position:absolute;right:15px;top:15px;cursor:pointer}.modal.open{display:block}.modal-content{display:flex;align-items:center;background-color:#fff;margin:15% auto;padding:48px 24px;width:80%;max-width:330px;border-radius:8px;z-index:10}.modal-content .content-icon{width:60px;height:60px}.modal-content .content-title{color:#011e41}.modal-content .content-description{color:#515253}@media (max-width: 991px){.modal-content{padding:12px!important}}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0006;z-index:9}\n"] }); }
|
|
1577
|
+
}
|
|
1578
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxLoading2, decorators: [{
|
|
1579
|
+
type: Component,
|
|
1580
|
+
args: [{ selector: 'lib-elux-loading-2', imports: [], standalone: true, template: "<div class=\"modal\" [class.open]=\"open\">\r\n <div class=\"modal-content\">\r\n <img class=\"content-icon mb-4\" src=\"/assets/icons/Loading.webp\" />\r\n <span class=\"content-title mt-2 mb-3\">Carregando...</span>\r\n <span class=\"content-description\">Por favor, aguarde enquanto buscamos a melhor solu\u00E7\u00E3o.</span>\r\n </div>\r\n <div class=\"modal-backdrop\"></div>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2,.modal-content .content-title{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3,.modal-content .content-description{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2,.modal-content .content-title{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3,.modal-content .content-description{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto}.modal .close-icon{position:absolute;right:15px;top:15px;cursor:pointer}.modal.open{display:block}.modal-content{display:flex;align-items:center;background-color:#fff;margin:15% auto;padding:48px 24px;width:80%;max-width:330px;border-radius:8px;z-index:10}.modal-content .content-icon{width:60px;height:60px}.modal-content .content-title{color:#011e41}.modal-content .content-description{color:#515253}@media (max-width: 991px){.modal-content{padding:12px!important}}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0006;z-index:9}\n"] }]
|
|
1581
|
+
}], propDecorators: { open: [{
|
|
1582
|
+
type: Input
|
|
1583
|
+
}] } });
|
|
1584
|
+
|
|
1585
|
+
class EluxArrowLink {
|
|
1586
|
+
constructor() {
|
|
1587
|
+
this.title = '';
|
|
1588
|
+
this.reverse = false;
|
|
1589
|
+
this.icon_name = '';
|
|
1590
|
+
this.icon_size = '26';
|
|
1591
|
+
}
|
|
1592
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxArrowLink, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1593
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EluxArrowLink, isStandalone: true, selector: "lib-elux-arrow-link", inputs: { title: "title", reverse: "reverse", icon_name: "icon_name", icon_size: "icon_size" }, ngImport: i0, template: "<div *ngIf=\"title\" class=\"single-action mat-elevation-z0\">\r\n <div class=\"text-container\">\r\n <lib-elux-icon *ngIf=\"reverse\" class=\"back\" [icon]=\"'Chevron_Left.svg'\" [color]=\"'#A5742E'\" [size]=\"'24'\" [sizeType]=\"'px'\"> </lib-elux-icon>\r\n <div class=\"content\">\r\n <lib-elux-icon class=\"content-icon\" *ngIf=\"!!icon_name\" [icon]=\"icon_name\" [sizeType]=\"'px'\" [size]=\"icon_size\"> </lib-elux-icon>\r\n <span>{{ title }}</span> \r\n </div>\r\n <lib-elux-icon *ngIf=\"!reverse\" class=\"go\" [icon]=\"'Chevron_Right.svg'\" [color]=\"'#A5742E'\" [size]=\"'24'\" [sizeType]=\"'px'\"> </lib-elux-icon>\r\n </div>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1,.single-action .content{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1,.single-action .content{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}.single-action{transition:margin-right ease-in-out .3s;padding-top:16px;padding-bottom:16px;padding-right:22px;display:inline-block;cursor:pointer}.single-action *{transition:margin-right ease-in-out .3s}.single-action .text-container{display:flex;align-items:center;justify-content:space-between;color:#011e41}.single-action .content{display:flex;align-items:center;color:#011e41;margin-right:8px}.single-action .content .content-icon{margin-right:10px}.single-action .go,.single-action .back{transition:.3s}.single-action:hover .text-container,.single-action:hover .text-container .content{color:#011e41}.single-action:hover .go{transform:translate(10px)}.single-action:hover .back{transform:translate(-10px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: RouterModule }, { kind: "component", type: EluxIcon, selector: "lib-elux-icon", inputs: ["color", "useSubscription", "icon", "description", "size", "height", "width", "sizeType"] }] }); }
|
|
1594
|
+
}
|
|
1595
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EluxArrowLink, decorators: [{
|
|
1596
|
+
type: Component,
|
|
1597
|
+
args: [{ selector: 'lib-elux-arrow-link', imports: [CommonModule, RouterModule, EluxIcon], standalone: true, template: "<div *ngIf=\"title\" class=\"single-action mat-elevation-z0\">\r\n <div class=\"text-container\">\r\n <lib-elux-icon *ngIf=\"reverse\" class=\"back\" [icon]=\"'Chevron_Left.svg'\" [color]=\"'#A5742E'\" [size]=\"'24'\" [sizeType]=\"'px'\"> </lib-elux-icon>\r\n <div class=\"content\">\r\n <lib-elux-icon class=\"content-icon\" *ngIf=\"!!icon_name\" [icon]=\"icon_name\" [sizeType]=\"'px'\" [size]=\"icon_size\"> </lib-elux-icon>\r\n <span>{{ title }}</span> \r\n </div>\r\n <lib-elux-icon *ngIf=\"!reverse\" class=\"go\" [icon]=\"'Chevron_Right.svg'\" [color]=\"'#A5742E'\" [size]=\"'24'\" [sizeType]=\"'px'\"> </lib-elux-icon>\r\n </div>\r\n</div>\r\n", styles: [".display{font-family:Electrolux Sans;font-size:48px;font-weight:700;line-height:56px}.heading-1{font-family:Electrolux Sans;font-size:34px;font-weight:700;line-height:40px}.heading-2{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1,.single-action .content{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}@media screen and (max-width: 768px){.display{font-family:Electrolux Sans;font-size:40px;font-weight:700;line-height:46px}.heading-1{font-family:Electrolux Sans;font-size:28px;font-weight:600;line-height:32px}.heading-2{font-family:Electrolux Sans;font-size:24px;font-weight:600;line-height:28px}.heading-3{font-family:Electrolux Sans;font-size:20px;font-weight:600;line-height:24px}.subtitle-1,.single-action .content{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:20px}.body{font-family:Electrolux Sans;font-size:16px;font-weight:400;line-height:21px}.caption{font-family:Electrolux Sans;font-size:14px;font-weight:400;line-height:normal}.links{font-family:Electrolux Sans;font-size:16px;font-weight:600;line-height:normal;text-decoration-line:underline}}.single-action{transition:margin-right ease-in-out .3s;padding-top:16px;padding-bottom:16px;padding-right:22px;display:inline-block;cursor:pointer}.single-action *{transition:margin-right ease-in-out .3s}.single-action .text-container{display:flex;align-items:center;justify-content:space-between;color:#011e41}.single-action .content{display:flex;align-items:center;color:#011e41;margin-right:8px}.single-action .content .content-icon{margin-right:10px}.single-action .go,.single-action .back{transition:.3s}.single-action:hover .text-container,.single-action:hover .text-container .content{color:#011e41}.single-action:hover .go{transform:translate(10px)}.single-action:hover .back{transform:translate(-10px)}\n"] }]
|
|
1598
|
+
}], propDecorators: { title: [{
|
|
1599
|
+
type: Input
|
|
1600
|
+
}], reverse: [{
|
|
1601
|
+
type: Input
|
|
1602
|
+
}], icon_name: [{
|
|
1603
|
+
type: Input
|
|
1604
|
+
}], icon_size: [{
|
|
1605
|
+
type: Input
|
|
1606
|
+
}] } });
|
|
1607
|
+
|
|
1608
|
+
const ElectroluxComponents = [
|
|
1609
|
+
EluxBreadcrumb,
|
|
1610
|
+
EluxButton,
|
|
1611
|
+
EluxDatepicker,
|
|
1612
|
+
EluxDropdown,
|
|
1613
|
+
EluxIcon,
|
|
1614
|
+
EluxPaginator,
|
|
1615
|
+
EluxStepBar,
|
|
1616
|
+
EluxToast,
|
|
1617
|
+
EluxDataTable,
|
|
1618
|
+
EluxAccordion,
|
|
1619
|
+
EluxModal,
|
|
1620
|
+
EluxInputSearchComponent,
|
|
1621
|
+
EluxInputSearchModalComponent,
|
|
1622
|
+
EluxLoading,
|
|
1623
|
+
EluxDropdownMultiple,
|
|
1624
|
+
EluxCarouselComponent,
|
|
1625
|
+
EluxSwitch,
|
|
1626
|
+
EluxChip,
|
|
1627
|
+
];
|
|
1628
|
+
|
|
1629
|
+
class ElectroluxDesignSystemModule {
|
|
1630
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElectroluxDesignSystemModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1631
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ElectroluxDesignSystemModule, imports: [CommonModule, EluxBreadcrumb, EluxButton, EluxDatepicker, EluxDropdown, EluxIcon, EluxPaginator, EluxStepBar, EluxToast, EluxDataTable, EluxAccordion, EluxModal, EluxInputSearchComponent, EluxInputSearchModalComponent, EluxLoading, EluxDropdownMultiple, EluxCarouselComponent, EluxSwitch, EluxChip], exports: [EluxBreadcrumb, EluxButton, EluxDatepicker, EluxDropdown, EluxIcon, EluxPaginator, EluxStepBar, EluxToast, EluxDataTable, EluxAccordion, EluxModal, EluxInputSearchComponent, EluxInputSearchModalComponent, EluxLoading, EluxDropdownMultiple, EluxCarouselComponent, EluxSwitch, EluxChip] }); }
|
|
1632
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElectroluxDesignSystemModule, imports: [CommonModule, EluxBreadcrumb, EluxButton, EluxDatepicker, EluxDropdown, EluxIcon, EluxPaginator, EluxStepBar, EluxToast, EluxDataTable, EluxAccordion, EluxModal, EluxInputSearchComponent, EluxInputSearchModalComponent, EluxLoading, EluxDropdownMultiple, EluxCarouselComponent, EluxChip] }); }
|
|
1633
|
+
}
|
|
1634
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElectroluxDesignSystemModule, decorators: [{
|
|
1635
|
+
type: NgModule,
|
|
1636
|
+
args: [{
|
|
1637
|
+
imports: [CommonModule, ...ElectroluxComponents],
|
|
1638
|
+
exports: [...ElectroluxComponents],
|
|
1639
|
+
}]
|
|
1640
|
+
}] });
|
|
1641
|
+
|
|
1642
|
+
/**
|
|
1643
|
+
* Generated bundle index. Do not edit.
|
|
1644
|
+
*/
|
|
1645
|
+
|
|
1646
|
+
export { ElectroluxComponents, ElectroluxDesignSystemModule, EluxAccordion, EluxArrowLink, EluxBreadcrumb, EluxButton, EluxCard1, EluxCard2, EluxCard3, EluxCard4, EluxCarouselComponent, EluxChip, EluxDataTable, EluxDatepicker, EluxDropdown, EluxDropdownMultiple, EluxIcon, EluxInputSearchComponent, EluxInputSearchModalComponent, EluxLoading, EluxLoading2, EluxModal, EluxPaginator, EluxStepBar, EluxSwitch, EluxToast, ToasterService };
|
|
1647
|
+
//# sourceMappingURL=elxjs-ui.mjs.map
|