@litigiovirtual/ius-design-components 1.0.181 → 1.0.183
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/esm2022/lib/dropdown/dropdown.component.mjs +20 -7
- package/esm2022/lib/nav-rail/nav-rail.component.mjs +16 -28
- package/fesm2022/litigiovirtual-ius-design-components.mjs +33 -32
- package/fesm2022/litigiovirtual-ius-design-components.mjs.map +1 -1
- package/lib/dropdown/dropdown.component.d.ts +4 -1
- package/package.json +1 -1
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
+
import { Component, EventEmitter, HostListener, Input, Output, } from '@angular/core';
|
|
3
3
|
import { IconSmComponent } from '../icon-sm/icon-sm.component';
|
|
4
4
|
import { IconMdComponent } from "../icon-md/icon-md.component";
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "@angular/common";
|
|
7
7
|
export class DropdownComponent {
|
|
8
|
-
constructor() {
|
|
8
|
+
constructor(elementRef) {
|
|
9
|
+
this.elementRef = elementRef;
|
|
9
10
|
this.isActive = false;
|
|
10
11
|
this.iconName = '';
|
|
11
12
|
this.disabled = false;
|
|
@@ -15,6 +16,15 @@ export class DropdownComponent {
|
|
|
15
16
|
this.isOpen = false;
|
|
16
17
|
this.selectedIndex = null;
|
|
17
18
|
}
|
|
19
|
+
onDocumentClick(event) {
|
|
20
|
+
if (!this.isOpen) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const target = event.target;
|
|
24
|
+
if (!this.elementRef.nativeElement.contains(target)) {
|
|
25
|
+
this.isOpen = false;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
18
28
|
onClick() {
|
|
19
29
|
this.isOpen = !this.isOpen;
|
|
20
30
|
this.buttonClicked.emit();
|
|
@@ -25,13 +35,13 @@ export class DropdownComponent {
|
|
|
25
35
|
this.selectedIndex = index;
|
|
26
36
|
this.optionSelected.emit(option);
|
|
27
37
|
}
|
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: DropdownComponent, isStandalone: true, selector: "ius-dropdown", inputs: { isActive: "isActive", iconName: "iconName", disabled: "disabled", options: "options" }, outputs: { buttonClicked: "buttonClicked", optionSelected: "optionSelected" }, ngImport: i0, template: "<div class=\"dropdown-container\">\r\n <button [disabled]=\"disabled\" (click)=\"onClick()\" class=\"ius-btn\" [ngClass]=\"{ isActive: isActive || selectedIndex }\">\r\n @if(iconName){\r\n <ius-icon-md [iconName]=\"iconName\" class=\"icon-color\"></ius-icon-md>\r\n }\r\n <ng-content></ng-content>\r\n <ius-icon-sm\r\n class=\"arrow\"\r\n [iconName]=\"\r\n isOpen ? 'icon-keyboard-arrow-up' : 'icon-keyboard-arrow-down'\r\n \"\r\n ></ius-icon-sm>\r\n </button>\r\n \r\n @if (isOpen) {\r\n <div class=\"dropdown-menu\">\r\n @for (option of options; track option; let i = $index) {\r\n <div\r\n class=\"dropdown-option\"\r\n [ngClass]=\"{\r\n isDisabled: option.disabled,\r\n isSelected: selectedIndex === i\r\n }\"\r\n (click)=\"onSelectOption(i, option)\"\r\n >\r\n <ius-icon-md iconName=\"icon-docs-2\" class=\"icon-doc-color\"></ius-icon-md>\r\n <span>{{ option.label }}</span>\r\n @if (selectedIndex === i && !option.disabled) {\r\n <ius-icon-sm iconName=\"icon-check-circle\" class=\"selected-check\"></ius-icon-sm>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n ", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.icon-color,.icon-doc-color{color:#5892ff}.arrow{margin-left:auto;padding-bottom:5px}.ius-btn{display:flex;width:
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: DropdownComponent, isStandalone: true, selector: "ius-dropdown", inputs: { isActive: "isActive", iconName: "iconName", disabled: "disabled", options: "options" }, outputs: { buttonClicked: "buttonClicked", optionSelected: "optionSelected" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, ngImport: i0, template: "<div class=\"dropdown-container\">\r\n <button [disabled]=\"disabled\" (click)=\"onClick()\" class=\"ius-btn\" [ngClass]=\"{ isActive: isActive || selectedIndex }\">\r\n @if(iconName){\r\n <ius-icon-md [iconName]=\"iconName\" class=\"icon-color\"></ius-icon-md>\r\n }\r\n <ng-content></ng-content>\r\n <ius-icon-sm\r\n class=\"arrow\"\r\n [iconName]=\"\r\n isOpen ? 'icon-keyboard-arrow-up' : 'icon-keyboard-arrow-down'\r\n \"\r\n ></ius-icon-sm>\r\n </button>\r\n \r\n @if (isOpen) {\r\n <div class=\"dropdown-menu\">\r\n @for (option of options; track option; let i = $index) {\r\n <div\r\n class=\"dropdown-option\"\r\n [ngClass]=\"{\r\n isDisabled: option.disabled,\r\n isSelected: selectedIndex === i\r\n }\"\r\n (click)=\"onSelectOption(i, option)\"\r\n >\r\n <ius-icon-md iconName=\"icon-docs-2\" class=\"icon-doc-color\"></ius-icon-md>\r\n <span>{{ option.label }}</span>\r\n @if (selectedIndex === i && !option.disabled) {\r\n <ius-icon-sm iconName=\"icon-check-circle\" class=\"selected-check\"></ius-icon-sm>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n ", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.icon-color,.icon-doc-color{color:#5892ff}.arrow{margin-left:auto;padding-bottom:5px}.ius-btn{display:flex;width:100%;height:40px;padding:4px 8px;align-items:center;gap:8px;border-radius:8px;background-color:#f5f5f5;color:#595959;border:none;cursor:pointer;font-family:Roboto,sans-serif;font-size:1.125rem;line-height:24px;letter-spacing:.18px;justify-content:space-between}.ius-btn:hover:not(:disabled){background-color:#f0f0f0}.ius-btn:active:not(:disabled){background-color:#eaeaea}.ius-btn:disabled{color:#bfbfbf;background-color:#f5f5f5;cursor:not-allowed}.ius-btn:disabled .icon-color{color:#bfbfbf}.ius-btn.isActive{border:.5px solid #0A2893;background-color:#f5f5f5}.dropdown-container{position:relative;display:inline-block}.dropdown-menu{position:absolute;top:100%;left:0;z-index:10;margin-top:4px;display:flex;flex-direction:column;border-radius:8px;box-shadow:0 2px 6px #00000024,0 1px 10px #0000001a;background-color:#fff;padding:4px;min-width:100%}.dropdown-option{display:flex;height:38px;padding:8px 20px 8px 12px;align-items:center;gap:8px;border-radius:8px;background-color:#fafafa;font-family:Rubik,sans-serif;font-size:1rem;line-height:22px;font-weight:400;border:none;cursor:pointer}.dropdown-option:hover:not(:disabled){background-color:#f0f0f0}.dropdown-option:active:not(:disabled){background-color:#c4dfff}.dropdown-option.isDisabled{cursor:not-allowed;color:#bfbfbf}.dropdown-option.isDisabled .icon-doc-color{color:#bfbfbf}.dropdown-option.isSelected .selected-check{margin-left:auto;color:#2167ff}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconSmComponent, selector: "ius-icon-sm", inputs: ["iconName", "color"] }, { kind: "component", type: IconMdComponent, selector: "ius-icon-md", inputs: ["iconName", "color"] }] }); }
|
|
30
40
|
}
|
|
31
41
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownComponent, decorators: [{
|
|
32
42
|
type: Component,
|
|
33
|
-
args: [{ selector: 'ius-dropdown', standalone: true, imports: [CommonModule, IconSmComponent, IconMdComponent], template: "<div class=\"dropdown-container\">\r\n <button [disabled]=\"disabled\" (click)=\"onClick()\" class=\"ius-btn\" [ngClass]=\"{ isActive: isActive || selectedIndex }\">\r\n @if(iconName){\r\n <ius-icon-md [iconName]=\"iconName\" class=\"icon-color\"></ius-icon-md>\r\n }\r\n <ng-content></ng-content>\r\n <ius-icon-sm\r\n class=\"arrow\"\r\n [iconName]=\"\r\n isOpen ? 'icon-keyboard-arrow-up' : 'icon-keyboard-arrow-down'\r\n \"\r\n ></ius-icon-sm>\r\n </button>\r\n \r\n @if (isOpen) {\r\n <div class=\"dropdown-menu\">\r\n @for (option of options; track option; let i = $index) {\r\n <div\r\n class=\"dropdown-option\"\r\n [ngClass]=\"{\r\n isDisabled: option.disabled,\r\n isSelected: selectedIndex === i\r\n }\"\r\n (click)=\"onSelectOption(i, option)\"\r\n >\r\n <ius-icon-md iconName=\"icon-docs-2\" class=\"icon-doc-color\"></ius-icon-md>\r\n <span>{{ option.label }}</span>\r\n @if (selectedIndex === i && !option.disabled) {\r\n <ius-icon-sm iconName=\"icon-check-circle\" class=\"selected-check\"></ius-icon-sm>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n ", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.icon-color,.icon-doc-color{color:#5892ff}.arrow{margin-left:auto;padding-bottom:5px}.ius-btn{display:flex;width:
|
|
34
|
-
}], propDecorators: { isActive: [{
|
|
43
|
+
args: [{ selector: 'ius-dropdown', standalone: true, imports: [CommonModule, IconSmComponent, IconMdComponent], template: "<div class=\"dropdown-container\">\r\n <button [disabled]=\"disabled\" (click)=\"onClick()\" class=\"ius-btn\" [ngClass]=\"{ isActive: isActive || selectedIndex }\">\r\n @if(iconName){\r\n <ius-icon-md [iconName]=\"iconName\" class=\"icon-color\"></ius-icon-md>\r\n }\r\n <ng-content></ng-content>\r\n <ius-icon-sm\r\n class=\"arrow\"\r\n [iconName]=\"\r\n isOpen ? 'icon-keyboard-arrow-up' : 'icon-keyboard-arrow-down'\r\n \"\r\n ></ius-icon-sm>\r\n </button>\r\n \r\n @if (isOpen) {\r\n <div class=\"dropdown-menu\">\r\n @for (option of options; track option; let i = $index) {\r\n <div\r\n class=\"dropdown-option\"\r\n [ngClass]=\"{\r\n isDisabled: option.disabled,\r\n isSelected: selectedIndex === i\r\n }\"\r\n (click)=\"onSelectOption(i, option)\"\r\n >\r\n <ius-icon-md iconName=\"icon-docs-2\" class=\"icon-doc-color\"></ius-icon-md>\r\n <span>{{ option.label }}</span>\r\n @if (selectedIndex === i && !option.disabled) {\r\n <ius-icon-sm iconName=\"icon-check-circle\" class=\"selected-check\"></ius-icon-sm>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n ", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.icon-color,.icon-doc-color{color:#5892ff}.arrow{margin-left:auto;padding-bottom:5px}.ius-btn{display:flex;width:100%;height:40px;padding:4px 8px;align-items:center;gap:8px;border-radius:8px;background-color:#f5f5f5;color:#595959;border:none;cursor:pointer;font-family:Roboto,sans-serif;font-size:1.125rem;line-height:24px;letter-spacing:.18px;justify-content:space-between}.ius-btn:hover:not(:disabled){background-color:#f0f0f0}.ius-btn:active:not(:disabled){background-color:#eaeaea}.ius-btn:disabled{color:#bfbfbf;background-color:#f5f5f5;cursor:not-allowed}.ius-btn:disabled .icon-color{color:#bfbfbf}.ius-btn.isActive{border:.5px solid #0A2893;background-color:#f5f5f5}.dropdown-container{position:relative;display:inline-block}.dropdown-menu{position:absolute;top:100%;left:0;z-index:10;margin-top:4px;display:flex;flex-direction:column;border-radius:8px;box-shadow:0 2px 6px #00000024,0 1px 10px #0000001a;background-color:#fff;padding:4px;min-width:100%}.dropdown-option{display:flex;height:38px;padding:8px 20px 8px 12px;align-items:center;gap:8px;border-radius:8px;background-color:#fafafa;font-family:Rubik,sans-serif;font-size:1rem;line-height:22px;font-weight:400;border:none;cursor:pointer}.dropdown-option:hover:not(:disabled){background-color:#f0f0f0}.dropdown-option:active:not(:disabled){background-color:#c4dfff}.dropdown-option.isDisabled{cursor:not-allowed;color:#bfbfbf}.dropdown-option.isDisabled .icon-doc-color{color:#bfbfbf}.dropdown-option.isSelected .selected-check{margin-left:auto;color:#2167ff}\n"] }]
|
|
44
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { isActive: [{
|
|
35
45
|
type: Input
|
|
36
46
|
}], iconName: [{
|
|
37
47
|
type: Input
|
|
@@ -43,5 +53,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
43
53
|
type: Output
|
|
44
54
|
}], optionSelected: [{
|
|
45
55
|
type: Output
|
|
56
|
+
}], onDocumentClick: [{
|
|
57
|
+
type: HostListener,
|
|
58
|
+
args: ['document:click', ['$event']]
|
|
46
59
|
}] } });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7OztBQVMvRCxNQUFNLE9BQU8saUJBQWlCO0lBVzVCLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFWakMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2QsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixZQUFPLEdBQTJDLEVBQUUsQ0FBQztRQUNwRCxrQkFBYSxHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3ZELG1CQUFjLEdBQXVELElBQUksWUFBWSxFQUFFLENBQUM7UUFFbEcsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLGtCQUFhLEdBQWtCLElBQUksQ0FBQztJQUVTLENBQUM7SUFHOUMsZUFBZSxDQUFDLEtBQVk7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNqQixPQUFPO1FBQ1QsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFxQixDQUFDO1FBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNwRCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMzQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBYSxFQUFFLE1BQTRDO1FBQ3hFLElBQUksTUFBTSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBRTVCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLENBQUM7K0dBbENVLGlCQUFpQjttR0FBakIsaUJBQWlCLCtUQ25COUIsa3hDQW1DRSxvZ0dEcEJVLFlBQVksNkhBQUUsZUFBZSx1RkFBRSxlQUFlOzs0RkFJN0MsaUJBQWlCO2tCQVA3QixTQUFTOytCQUNFLGNBQWMsY0FDWixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQzsrRUFLaEQsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFRUCxlQUFlO3NCQURkLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJY29uU21Db21wb25lbnQgfSBmcm9tICcuLi9pY29uLXNtL2ljb24tc20uY29tcG9uZW50JztcclxuaW1wb3J0IHsgSWNvbk1kQ29tcG9uZW50IH0gZnJvbSBcIi4uL2ljb24tbWQvaWNvbi1tZC5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaXVzLWRyb3Bkb3duJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEljb25TbUNvbXBvbmVudCwgSWNvbk1kQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9kcm9wZG93bi5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgaXNBY3RpdmUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBpY29uTmFtZSA9ICcnO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgb3B0aW9uczogeyBsYWJlbDogc3RyaW5nOyBkaXNhYmxlZDogYm9vbGVhbiB9W10gPSBbXTtcclxuICBAT3V0cHV0KCkgYnV0dG9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvcHRpb25TZWxlY3RlZDogRXZlbnRFbWl0dGVyPHsgbGFiZWw6IHN0cmluZzsgZGlzYWJsZWQ6IGJvb2xlYW4gfT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGlzT3BlbiA9IGZhbHNlO1xyXG4gIHNlbGVjdGVkSW5kZXg6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICBvbkRvY3VtZW50Q2xpY2soZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICBpZiAoIXRoaXMuaXNPcGVuKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgIGlmICghdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0KSkge1xyXG4gICAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DbGljaygpIHtcclxuICAgIHRoaXMuaXNPcGVuID0gIXRoaXMuaXNPcGVuO1xyXG4gICAgdGhpcy5idXR0b25DbGlja2VkLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0T3B0aW9uKGluZGV4OiBudW1iZXIsIG9wdGlvbjogeyBsYWJlbDogc3RyaW5nOyBkaXNhYmxlZDogYm9vbGVhbiB9KSB7XHJcbiAgICBpZiAob3B0aW9uLmRpc2FibGVkKSByZXR1cm47XHJcbiAgXHJcbiAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSBpbmRleDtcclxuICAgIHRoaXMub3B0aW9uU2VsZWN0ZWQuZW1pdChvcHRpb24pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZHJvcGRvd24tY29udGFpbmVyXCI+XHJcbiAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIChjbGljayk9XCJvbkNsaWNrKClcIiBjbGFzcz1cIml1cy1idG5cIiBbbmdDbGFzc109XCJ7IGlzQWN0aXZlOiBpc0FjdGl2ZSB8fCBzZWxlY3RlZEluZGV4IH1cIj5cclxuICAgICAgQGlmKGljb25OYW1lKXtcclxuICAgICAgICA8aXVzLWljb24tbWQgW2ljb25OYW1lXT1cImljb25OYW1lXCIgY2xhc3M9XCJpY29uLWNvbG9yXCI+PC9pdXMtaWNvbi1tZD5cclxuICAgICAgfVxyXG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICAgIDxpdXMtaWNvbi1zbVxyXG4gICAgICAgIGNsYXNzPVwiYXJyb3dcIlxyXG4gICAgICAgIFtpY29uTmFtZV09XCJcclxuICAgICAgICAgIGlzT3BlbiA/ICdpY29uLWtleWJvYXJkLWFycm93LXVwJyA6ICdpY29uLWtleWJvYXJkLWFycm93LWRvd24nXHJcbiAgICAgICAgXCJcclxuICAgICAgPjwvaXVzLWljb24tc20+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIFxyXG4gICAgQGlmIChpc09wZW4pIHtcclxuICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51XCI+XHJcbiAgICAgIEBmb3IgKG9wdGlvbiBvZiBvcHRpb25zOyB0cmFjayBvcHRpb247IGxldCBpID0gJGluZGV4KSB7XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJkcm9wZG93bi1vcHRpb25cIlxyXG4gICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICBpc0Rpc2FibGVkOiBvcHRpb24uZGlzYWJsZWQsXHJcbiAgICAgICAgICAgIGlzU2VsZWN0ZWQ6IHNlbGVjdGVkSW5kZXggPT09IGlcclxuICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0T3B0aW9uKGksIG9wdGlvbilcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxpdXMtaWNvbi1tZCBpY29uTmFtZT1cImljb24tZG9jcy0yXCIgY2xhc3M9XCJpY29uLWRvYy1jb2xvclwiPjwvaXVzLWljb24tbWQ+XHJcbiAgICAgICAgICA8c3Bhbj57eyBvcHRpb24ubGFiZWwgfX08L3NwYW4+XHJcbiAgICAgICAgICBAaWYgKHNlbGVjdGVkSW5kZXggPT09IGkgJiYgIW9wdGlvbi5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICA8aXVzLWljb24tc20gaWNvbk5hbWU9XCJpY29uLWNoZWNrLWNpcmNsZVwiIGNsYXNzPVwic2VsZWN0ZWQtY2hlY2tcIj48L2l1cy1pY29uLXNtPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuICAiXX0=
|
|
@@ -11,28 +11,22 @@ export class NavRailComponent {
|
|
|
11
11
|
this.isOpen = !this.isOpen;
|
|
12
12
|
}
|
|
13
13
|
onAnimDone(event) {
|
|
14
|
-
if (event.toState === '
|
|
14
|
+
if (event.toState === 'closed') {
|
|
15
15
|
this.onClose.emit();
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NavRailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
19
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NavRailComponent, isStandalone: true, selector: "ius-nav-rail", inputs: { isOpen: "isOpen" }, outputs: { onClose: "onClose" }, ngImport: i0, template: "<div class=\"container-general\">\r\n <div class=\"rail-container\" [class.collapsed]=\"!isOpen\" [@slideInOut]=\"isOpen ? 'open' : 'closed'\" (@slideInOut.done)=\"onAnimDone($event)\">\r\n <div class=\"rail-icon-container\">\r\n <ius-button-squared-secondary\r\n class=\"panel\"\r\n [iconName]=\"isOpen ? 'icon-left-panel-close' : 'icon-left-panel-open'\"\r\n (click)=\"toggle()\">\r\n </ius-button-squared-secondary>\r\n </div>\r\n <div class=\"rail-items-container\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>", styles: [".container-general{position:relative;height:100%}.panel{display:flex;align-items:center;gap:10px}.rail-container{display:inline-flex;height:calc(100% - 32px);width:239px;padding:16px 8px;flex-direction:column;align-items:flex-start;gap:12px;flex-shrink:0;border-right:1px solid #eaeaea;background-color:#fafafa;overflow:hidden}.rail-icon-container{display:flex;align-items:center;gap:10px;align-self:stretch}.rail-items-container{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:223px;min-width:223px;opacity:1;transition:opacity .2s ease}.collapsed .rail-items-container{opacity:0;pointer-events:none}.toggle-btn{border:none;background:none;cursor:pointer;padding:8px;align-self:flex-end}\n"], dependencies: [{ kind: "component", type: ButtonSquaredSecondaryComponent, selector: "ius-button-squared-secondary", inputs: ["disabled", "iconName"], outputs: ["buttonClicked"] }], animations: [
|
|
20
20
|
trigger('slideInOut', [
|
|
21
|
-
state('
|
|
22
|
-
width: '
|
|
23
|
-
opacity: 0,
|
|
24
|
-
overflow: 'hidden'
|
|
21
|
+
state('open', style({
|
|
22
|
+
width: '239px',
|
|
25
23
|
})),
|
|
26
|
-
state('
|
|
27
|
-
width: '
|
|
28
|
-
opacity: 1
|
|
24
|
+
state('closed', style({
|
|
25
|
+
width: '40px',
|
|
29
26
|
})),
|
|
30
|
-
transition('
|
|
31
|
-
animate('370ms ease-in')
|
|
27
|
+
transition('open <=> closed', [
|
|
28
|
+
animate('370ms ease-in-out')
|
|
32
29
|
]),
|
|
33
|
-
transition('* => void', [
|
|
34
|
-
animate('370ms ease-out')
|
|
35
|
-
])
|
|
36
30
|
])
|
|
37
31
|
] }); }
|
|
38
32
|
}
|
|
@@ -40,26 +34,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
40
34
|
type: Component,
|
|
41
35
|
args: [{ selector: 'ius-nav-rail', standalone: true, imports: [ButtonSquaredSecondaryComponent], animations: [
|
|
42
36
|
trigger('slideInOut', [
|
|
43
|
-
state('
|
|
44
|
-
width: '
|
|
45
|
-
opacity: 0,
|
|
46
|
-
overflow: 'hidden'
|
|
37
|
+
state('open', style({
|
|
38
|
+
width: '239px',
|
|
47
39
|
})),
|
|
48
|
-
state('
|
|
49
|
-
width: '
|
|
50
|
-
opacity: 1
|
|
40
|
+
state('closed', style({
|
|
41
|
+
width: '40px',
|
|
51
42
|
})),
|
|
52
|
-
transition('
|
|
53
|
-
animate('370ms ease-in')
|
|
43
|
+
transition('open <=> closed', [
|
|
44
|
+
animate('370ms ease-in-out')
|
|
54
45
|
]),
|
|
55
|
-
transition('* => void', [
|
|
56
|
-
animate('370ms ease-out')
|
|
57
|
-
])
|
|
58
46
|
])
|
|
59
|
-
], template: "<div class=\"container-general\">\r\n
|
|
47
|
+
], template: "<div class=\"container-general\">\r\n <div class=\"rail-container\" [class.collapsed]=\"!isOpen\" [@slideInOut]=\"isOpen ? 'open' : 'closed'\" (@slideInOut.done)=\"onAnimDone($event)\">\r\n <div class=\"rail-icon-container\">\r\n <ius-button-squared-secondary\r\n class=\"panel\"\r\n [iconName]=\"isOpen ? 'icon-left-panel-close' : 'icon-left-panel-open'\"\r\n (click)=\"toggle()\">\r\n </ius-button-squared-secondary>\r\n </div>\r\n <div class=\"rail-items-container\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>", styles: [".container-general{position:relative;height:100%}.panel{display:flex;align-items:center;gap:10px}.rail-container{display:inline-flex;height:calc(100% - 32px);width:239px;padding:16px 8px;flex-direction:column;align-items:flex-start;gap:12px;flex-shrink:0;border-right:1px solid #eaeaea;background-color:#fafafa;overflow:hidden}.rail-icon-container{display:flex;align-items:center;gap:10px;align-self:stretch}.rail-items-container{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:223px;min-width:223px;opacity:1;transition:opacity .2s ease}.collapsed .rail-items-container{opacity:0;pointer-events:none}.toggle-btn{border:none;background:none;cursor:pointer;padding:8px;align-self:flex-end}\n"] }]
|
|
60
48
|
}], propDecorators: { isOpen: [{
|
|
61
49
|
type: Input
|
|
62
50
|
}], onClose: [{
|
|
63
51
|
type: Output
|
|
64
52
|
}] } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXJhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvbmF2LXJhaWwvbmF2LXJhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvbmF2LXJhaWwvbmF2LXJhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssR0FBRyxNQUFNLHFCQUFxQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGdFQUFnRSxDQUFDOztBQXNCakgsTUFBTSxPQUFPLGdCQUFnQjtJQXBCN0I7UUFzQlcsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUN2QixZQUFPLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7S0FXN0Q7SUFUQyxNQUFNO1FBQ0osSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLENBQUM7SUFDSCxDQUFDOytHQWJVLGdCQUFnQjttR0FBaEIsZ0JBQWdCLHVJQ3hCN0Isd2tCQWFNLG93QkROTSwrQkFBK0IseUhBQzdCO1lBQ1YsT0FBTyxDQUFDLFlBQVksRUFBRTtnQkFDcEIsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7b0JBQ2xCLEtBQUssRUFBRSxPQUFPO2lCQUNmLENBQUMsQ0FBQztnQkFDSCxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQztvQkFDcEIsS0FBSyxFQUFFLE1BQU07aUJBQ2QsQ0FBQyxDQUFDO2dCQUNILFVBQVUsQ0FBQyxpQkFBaUIsRUFBRTtvQkFDNUIsT0FBTyxDQUFDLG1CQUFtQixDQUFDO2lCQUM3QixDQUFDO2FBQ0gsQ0FBQztTQUNIOzs0RkFJVSxnQkFBZ0I7a0JBcEI1QixTQUFTOytCQUNFLGNBQWMsY0FDWixJQUFJLFdBQ1AsQ0FBQywrQkFBK0IsQ0FBQyxjQUM5Qjt3QkFDVixPQUFPLENBQUMsWUFBWSxFQUFFOzRCQUNwQixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztnQ0FDbEIsS0FBSyxFQUFFLE9BQU87NkJBQ2YsQ0FBQyxDQUFDOzRCQUNILEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDO2dDQUNwQixLQUFLLEVBQUUsTUFBTTs2QkFDZCxDQUFDLENBQUM7NEJBQ0gsVUFBVSxDQUFDLGlCQUFpQixFQUFFO2dDQUM1QixPQUFPLENBQUMsbUJBQW1CLENBQUM7NkJBQzdCLENBQUM7eUJBQ0gsQ0FBQztxQkFDSDs4QkFNUSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHRyaWdnZXIsIHRyYW5zaXRpb24sIHN0eWxlLCBhbmltYXRlLCBzdGF0ZSwgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgQnV0dG9uU3F1YXJlZFNlY29uZGFyeUNvbXBvbmVudCB9IGZyb20gXCIuLi9idXR0b24tc3F1YXJlZC1zZWNvbmRhcnkvYnV0dG9uLXNxdWFyZWQtc2Vjb25kYXJ5LmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpdXMtbmF2LXJhaWwnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0J1dHRvblNxdWFyZWRTZWNvbmRhcnlDb21wb25lbnRdLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ3NsaWRlSW5PdXQnLCBbXHJcbiAgICAgIHN0YXRlKCdvcGVuJywgc3R5bGUoe1xyXG4gICAgICAgIHdpZHRoOiAnMjM5cHgnLFxyXG4gICAgICB9KSksXHJcbiAgICAgIHN0YXRlKCdjbG9zZWQnLCBzdHlsZSh7XHJcbiAgICAgICAgd2lkdGg6ICc0MHB4JyxcclxuICAgICAgfSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKCdvcGVuIDw9PiBjbG9zZWQnLCBbXHJcbiAgICAgICAgYW5pbWF0ZSgnMzcwbXMgZWFzZS1pbi1vdXQnKVxyXG4gICAgICBdKSxcclxuICAgIF0pXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbmF2LXJhaWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9uYXYtcmFpbC5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIE5hdlJhaWxDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKSBpc09wZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgb25DbG9zZSA6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgdG9nZ2xlKCkge1xyXG4gICAgdGhpcy5pc09wZW4gPSAhdGhpcy5pc09wZW47XHJcbiAgfVxyXG5cclxuICBvbkFuaW1Eb25lKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC50b1N0YXRlID09PSAnY2xvc2VkJykge1xyXG4gICAgICB0aGlzLm9uQ2xvc2UuZW1pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWdlbmVyYWxcIj5cclxuICA8ZGl2IGNsYXNzPVwicmFpbC1jb250YWluZXJcIiBbY2xhc3MuY29sbGFwc2VkXT1cIiFpc09wZW5cIiBbQHNsaWRlSW5PdXRdPVwiaXNPcGVuID8gJ29wZW4nIDogJ2Nsb3NlZCdcIiAoQHNsaWRlSW5PdXQuZG9uZSk9XCJvbkFuaW1Eb25lKCRldmVudClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyYWlsLWljb24tY29udGFpbmVyXCI+XHJcbiAgICAgIDxpdXMtYnV0dG9uLXNxdWFyZWQtc2Vjb25kYXJ5XHJcbiAgICAgICAgY2xhc3M9XCJwYW5lbFwiXHJcbiAgICAgICAgW2ljb25OYW1lXT1cImlzT3BlbiA/ICdpY29uLWxlZnQtcGFuZWwtY2xvc2UnIDogJ2ljb24tbGVmdC1wYW5lbC1vcGVuJ1wiXHJcbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZSgpXCI+XHJcbiAgICAgIDwvaXVzLWJ1dHRvbi1zcXVhcmVkLXNlY29uZGFyeT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInJhaWwtaXRlbXMtY29udGFpbmVyXCI+XHJcbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
@@ -2423,28 +2423,22 @@ class NavRailComponent {
|
|
|
2423
2423
|
this.isOpen = !this.isOpen;
|
|
2424
2424
|
}
|
|
2425
2425
|
onAnimDone(event) {
|
|
2426
|
-
if (event.toState === '
|
|
2426
|
+
if (event.toState === 'closed') {
|
|
2427
2427
|
this.onClose.emit();
|
|
2428
2428
|
}
|
|
2429
2429
|
}
|
|
2430
2430
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NavRailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2431
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
2431
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NavRailComponent, isStandalone: true, selector: "ius-nav-rail", inputs: { isOpen: "isOpen" }, outputs: { onClose: "onClose" }, ngImport: i0, template: "<div class=\"container-general\">\r\n <div class=\"rail-container\" [class.collapsed]=\"!isOpen\" [@slideInOut]=\"isOpen ? 'open' : 'closed'\" (@slideInOut.done)=\"onAnimDone($event)\">\r\n <div class=\"rail-icon-container\">\r\n <ius-button-squared-secondary\r\n class=\"panel\"\r\n [iconName]=\"isOpen ? 'icon-left-panel-close' : 'icon-left-panel-open'\"\r\n (click)=\"toggle()\">\r\n </ius-button-squared-secondary>\r\n </div>\r\n <div class=\"rail-items-container\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>", styles: [".container-general{position:relative;height:100%}.panel{display:flex;align-items:center;gap:10px}.rail-container{display:inline-flex;height:calc(100% - 32px);width:239px;padding:16px 8px;flex-direction:column;align-items:flex-start;gap:12px;flex-shrink:0;border-right:1px solid #eaeaea;background-color:#fafafa;overflow:hidden}.rail-icon-container{display:flex;align-items:center;gap:10px;align-self:stretch}.rail-items-container{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:223px;min-width:223px;opacity:1;transition:opacity .2s ease}.collapsed .rail-items-container{opacity:0;pointer-events:none}.toggle-btn{border:none;background:none;cursor:pointer;padding:8px;align-self:flex-end}\n"], dependencies: [{ kind: "component", type: ButtonSquaredSecondaryComponent, selector: "ius-button-squared-secondary", inputs: ["disabled", "iconName"], outputs: ["buttonClicked"] }], animations: [
|
|
2432
2432
|
trigger('slideInOut', [
|
|
2433
|
-
state('
|
|
2434
|
-
width: '
|
|
2435
|
-
opacity: 0,
|
|
2436
|
-
overflow: 'hidden'
|
|
2433
|
+
state('open', style({
|
|
2434
|
+
width: '239px',
|
|
2437
2435
|
})),
|
|
2438
|
-
state('
|
|
2439
|
-
width: '
|
|
2440
|
-
opacity: 1
|
|
2436
|
+
state('closed', style({
|
|
2437
|
+
width: '40px',
|
|
2441
2438
|
})),
|
|
2442
|
-
transition('
|
|
2443
|
-
animate('370ms ease-in')
|
|
2439
|
+
transition('open <=> closed', [
|
|
2440
|
+
animate('370ms ease-in-out')
|
|
2444
2441
|
]),
|
|
2445
|
-
transition('* => void', [
|
|
2446
|
-
animate('370ms ease-out')
|
|
2447
|
-
])
|
|
2448
2442
|
])
|
|
2449
2443
|
] }); }
|
|
2450
2444
|
}
|
|
@@ -2452,23 +2446,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
2452
2446
|
type: Component,
|
|
2453
2447
|
args: [{ selector: 'ius-nav-rail', standalone: true, imports: [ButtonSquaredSecondaryComponent], animations: [
|
|
2454
2448
|
trigger('slideInOut', [
|
|
2455
|
-
state('
|
|
2456
|
-
width: '
|
|
2457
|
-
opacity: 0,
|
|
2458
|
-
overflow: 'hidden'
|
|
2449
|
+
state('open', style({
|
|
2450
|
+
width: '239px',
|
|
2459
2451
|
})),
|
|
2460
|
-
state('
|
|
2461
|
-
width: '
|
|
2462
|
-
opacity: 1
|
|
2452
|
+
state('closed', style({
|
|
2453
|
+
width: '40px',
|
|
2463
2454
|
})),
|
|
2464
|
-
transition('
|
|
2465
|
-
animate('370ms ease-in')
|
|
2455
|
+
transition('open <=> closed', [
|
|
2456
|
+
animate('370ms ease-in-out')
|
|
2466
2457
|
]),
|
|
2467
|
-
transition('* => void', [
|
|
2468
|
-
animate('370ms ease-out')
|
|
2469
|
-
])
|
|
2470
2458
|
])
|
|
2471
|
-
], template: "<div class=\"container-general\">\r\n
|
|
2459
|
+
], template: "<div class=\"container-general\">\r\n <div class=\"rail-container\" [class.collapsed]=\"!isOpen\" [@slideInOut]=\"isOpen ? 'open' : 'closed'\" (@slideInOut.done)=\"onAnimDone($event)\">\r\n <div class=\"rail-icon-container\">\r\n <ius-button-squared-secondary\r\n class=\"panel\"\r\n [iconName]=\"isOpen ? 'icon-left-panel-close' : 'icon-left-panel-open'\"\r\n (click)=\"toggle()\">\r\n </ius-button-squared-secondary>\r\n </div>\r\n <div class=\"rail-items-container\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>", styles: [".container-general{position:relative;height:100%}.panel{display:flex;align-items:center;gap:10px}.rail-container{display:inline-flex;height:calc(100% - 32px);width:239px;padding:16px 8px;flex-direction:column;align-items:flex-start;gap:12px;flex-shrink:0;border-right:1px solid #eaeaea;background-color:#fafafa;overflow:hidden}.rail-icon-container{display:flex;align-items:center;gap:10px;align-self:stretch}.rail-items-container{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:223px;min-width:223px;opacity:1;transition:opacity .2s ease}.collapsed .rail-items-container{opacity:0;pointer-events:none}.toggle-btn{border:none;background:none;cursor:pointer;padding:8px;align-self:flex-end}\n"] }]
|
|
2472
2460
|
}], propDecorators: { isOpen: [{
|
|
2473
2461
|
type: Input
|
|
2474
2462
|
}], onClose: [{
|
|
@@ -2879,7 +2867,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
2879
2867
|
}] } });
|
|
2880
2868
|
|
|
2881
2869
|
class DropdownComponent {
|
|
2882
|
-
constructor() {
|
|
2870
|
+
constructor(elementRef) {
|
|
2871
|
+
this.elementRef = elementRef;
|
|
2883
2872
|
this.isActive = false;
|
|
2884
2873
|
this.iconName = '';
|
|
2885
2874
|
this.disabled = false;
|
|
@@ -2889,6 +2878,15 @@ class DropdownComponent {
|
|
|
2889
2878
|
this.isOpen = false;
|
|
2890
2879
|
this.selectedIndex = null;
|
|
2891
2880
|
}
|
|
2881
|
+
onDocumentClick(event) {
|
|
2882
|
+
if (!this.isOpen) {
|
|
2883
|
+
return;
|
|
2884
|
+
}
|
|
2885
|
+
const target = event.target;
|
|
2886
|
+
if (!this.elementRef.nativeElement.contains(target)) {
|
|
2887
|
+
this.isOpen = false;
|
|
2888
|
+
}
|
|
2889
|
+
}
|
|
2892
2890
|
onClick() {
|
|
2893
2891
|
this.isOpen = !this.isOpen;
|
|
2894
2892
|
this.buttonClicked.emit();
|
|
@@ -2899,13 +2897,13 @@ class DropdownComponent {
|
|
|
2899
2897
|
this.selectedIndex = index;
|
|
2900
2898
|
this.optionSelected.emit(option);
|
|
2901
2899
|
}
|
|
2902
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2903
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: DropdownComponent, isStandalone: true, selector: "ius-dropdown", inputs: { isActive: "isActive", iconName: "iconName", disabled: "disabled", options: "options" }, outputs: { buttonClicked: "buttonClicked", optionSelected: "optionSelected" }, ngImport: i0, template: "<div class=\"dropdown-container\">\r\n <button [disabled]=\"disabled\" (click)=\"onClick()\" class=\"ius-btn\" [ngClass]=\"{ isActive: isActive || selectedIndex }\">\r\n @if(iconName){\r\n <ius-icon-md [iconName]=\"iconName\" class=\"icon-color\"></ius-icon-md>\r\n }\r\n <ng-content></ng-content>\r\n <ius-icon-sm\r\n class=\"arrow\"\r\n [iconName]=\"\r\n isOpen ? 'icon-keyboard-arrow-up' : 'icon-keyboard-arrow-down'\r\n \"\r\n ></ius-icon-sm>\r\n </button>\r\n \r\n @if (isOpen) {\r\n <div class=\"dropdown-menu\">\r\n @for (option of options; track option; let i = $index) {\r\n <div\r\n class=\"dropdown-option\"\r\n [ngClass]=\"{\r\n isDisabled: option.disabled,\r\n isSelected: selectedIndex === i\r\n }\"\r\n (click)=\"onSelectOption(i, option)\"\r\n >\r\n <ius-icon-md iconName=\"icon-docs-2\" class=\"icon-doc-color\"></ius-icon-md>\r\n <span>{{ option.label }}</span>\r\n @if (selectedIndex === i && !option.disabled) {\r\n <ius-icon-sm iconName=\"icon-check-circle\" class=\"selected-check\"></ius-icon-sm>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n ", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.icon-color,.icon-doc-color{color:#5892ff}.arrow{margin-left:auto;padding-bottom:5px}.ius-btn{display:flex;width:
|
|
2900
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2901
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: DropdownComponent, isStandalone: true, selector: "ius-dropdown", inputs: { isActive: "isActive", iconName: "iconName", disabled: "disabled", options: "options" }, outputs: { buttonClicked: "buttonClicked", optionSelected: "optionSelected" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, ngImport: i0, template: "<div class=\"dropdown-container\">\r\n <button [disabled]=\"disabled\" (click)=\"onClick()\" class=\"ius-btn\" [ngClass]=\"{ isActive: isActive || selectedIndex }\">\r\n @if(iconName){\r\n <ius-icon-md [iconName]=\"iconName\" class=\"icon-color\"></ius-icon-md>\r\n }\r\n <ng-content></ng-content>\r\n <ius-icon-sm\r\n class=\"arrow\"\r\n [iconName]=\"\r\n isOpen ? 'icon-keyboard-arrow-up' : 'icon-keyboard-arrow-down'\r\n \"\r\n ></ius-icon-sm>\r\n </button>\r\n \r\n @if (isOpen) {\r\n <div class=\"dropdown-menu\">\r\n @for (option of options; track option; let i = $index) {\r\n <div\r\n class=\"dropdown-option\"\r\n [ngClass]=\"{\r\n isDisabled: option.disabled,\r\n isSelected: selectedIndex === i\r\n }\"\r\n (click)=\"onSelectOption(i, option)\"\r\n >\r\n <ius-icon-md iconName=\"icon-docs-2\" class=\"icon-doc-color\"></ius-icon-md>\r\n <span>{{ option.label }}</span>\r\n @if (selectedIndex === i && !option.disabled) {\r\n <ius-icon-sm iconName=\"icon-check-circle\" class=\"selected-check\"></ius-icon-sm>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n ", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.icon-color,.icon-doc-color{color:#5892ff}.arrow{margin-left:auto;padding-bottom:5px}.ius-btn{display:flex;width:100%;height:40px;padding:4px 8px;align-items:center;gap:8px;border-radius:8px;background-color:#f5f5f5;color:#595959;border:none;cursor:pointer;font-family:Roboto,sans-serif;font-size:1.125rem;line-height:24px;letter-spacing:.18px;justify-content:space-between}.ius-btn:hover:not(:disabled){background-color:#f0f0f0}.ius-btn:active:not(:disabled){background-color:#eaeaea}.ius-btn:disabled{color:#bfbfbf;background-color:#f5f5f5;cursor:not-allowed}.ius-btn:disabled .icon-color{color:#bfbfbf}.ius-btn.isActive{border:.5px solid #0A2893;background-color:#f5f5f5}.dropdown-container{position:relative;display:inline-block}.dropdown-menu{position:absolute;top:100%;left:0;z-index:10;margin-top:4px;display:flex;flex-direction:column;border-radius:8px;box-shadow:0 2px 6px #00000024,0 1px 10px #0000001a;background-color:#fff;padding:4px;min-width:100%}.dropdown-option{display:flex;height:38px;padding:8px 20px 8px 12px;align-items:center;gap:8px;border-radius:8px;background-color:#fafafa;font-family:Rubik,sans-serif;font-size:1rem;line-height:22px;font-weight:400;border:none;cursor:pointer}.dropdown-option:hover:not(:disabled){background-color:#f0f0f0}.dropdown-option:active:not(:disabled){background-color:#c4dfff}.dropdown-option.isDisabled{cursor:not-allowed;color:#bfbfbf}.dropdown-option.isDisabled .icon-doc-color{color:#bfbfbf}.dropdown-option.isSelected .selected-check{margin-left:auto;color:#2167ff}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconSmComponent, selector: "ius-icon-sm", inputs: ["iconName", "color"] }, { kind: "component", type: IconMdComponent, selector: "ius-icon-md", inputs: ["iconName", "color"] }] }); }
|
|
2904
2902
|
}
|
|
2905
2903
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownComponent, decorators: [{
|
|
2906
2904
|
type: Component,
|
|
2907
|
-
args: [{ selector: 'ius-dropdown', standalone: true, imports: [CommonModule, IconSmComponent, IconMdComponent], template: "<div class=\"dropdown-container\">\r\n <button [disabled]=\"disabled\" (click)=\"onClick()\" class=\"ius-btn\" [ngClass]=\"{ isActive: isActive || selectedIndex }\">\r\n @if(iconName){\r\n <ius-icon-md [iconName]=\"iconName\" class=\"icon-color\"></ius-icon-md>\r\n }\r\n <ng-content></ng-content>\r\n <ius-icon-sm\r\n class=\"arrow\"\r\n [iconName]=\"\r\n isOpen ? 'icon-keyboard-arrow-up' : 'icon-keyboard-arrow-down'\r\n \"\r\n ></ius-icon-sm>\r\n </button>\r\n \r\n @if (isOpen) {\r\n <div class=\"dropdown-menu\">\r\n @for (option of options; track option; let i = $index) {\r\n <div\r\n class=\"dropdown-option\"\r\n [ngClass]=\"{\r\n isDisabled: option.disabled,\r\n isSelected: selectedIndex === i\r\n }\"\r\n (click)=\"onSelectOption(i, option)\"\r\n >\r\n <ius-icon-md iconName=\"icon-docs-2\" class=\"icon-doc-color\"></ius-icon-md>\r\n <span>{{ option.label }}</span>\r\n @if (selectedIndex === i && !option.disabled) {\r\n <ius-icon-sm iconName=\"icon-check-circle\" class=\"selected-check\"></ius-icon-sm>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n ", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.icon-color,.icon-doc-color{color:#5892ff}.arrow{margin-left:auto;padding-bottom:5px}.ius-btn{display:flex;width:
|
|
2908
|
-
}], propDecorators: { isActive: [{
|
|
2905
|
+
args: [{ selector: 'ius-dropdown', standalone: true, imports: [CommonModule, IconSmComponent, IconMdComponent], template: "<div class=\"dropdown-container\">\r\n <button [disabled]=\"disabled\" (click)=\"onClick()\" class=\"ius-btn\" [ngClass]=\"{ isActive: isActive || selectedIndex }\">\r\n @if(iconName){\r\n <ius-icon-md [iconName]=\"iconName\" class=\"icon-color\"></ius-icon-md>\r\n }\r\n <ng-content></ng-content>\r\n <ius-icon-sm\r\n class=\"arrow\"\r\n [iconName]=\"\r\n isOpen ? 'icon-keyboard-arrow-up' : 'icon-keyboard-arrow-down'\r\n \"\r\n ></ius-icon-sm>\r\n </button>\r\n \r\n @if (isOpen) {\r\n <div class=\"dropdown-menu\">\r\n @for (option of options; track option; let i = $index) {\r\n <div\r\n class=\"dropdown-option\"\r\n [ngClass]=\"{\r\n isDisabled: option.disabled,\r\n isSelected: selectedIndex === i\r\n }\"\r\n (click)=\"onSelectOption(i, option)\"\r\n >\r\n <ius-icon-md iconName=\"icon-docs-2\" class=\"icon-doc-color\"></ius-icon-md>\r\n <span>{{ option.label }}</span>\r\n @if (selectedIndex === i && !option.disabled) {\r\n <ius-icon-sm iconName=\"icon-check-circle\" class=\"selected-check\"></ius-icon-sm>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n ", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.icon-color,.icon-doc-color{color:#5892ff}.arrow{margin-left:auto;padding-bottom:5px}.ius-btn{display:flex;width:100%;height:40px;padding:4px 8px;align-items:center;gap:8px;border-radius:8px;background-color:#f5f5f5;color:#595959;border:none;cursor:pointer;font-family:Roboto,sans-serif;font-size:1.125rem;line-height:24px;letter-spacing:.18px;justify-content:space-between}.ius-btn:hover:not(:disabled){background-color:#f0f0f0}.ius-btn:active:not(:disabled){background-color:#eaeaea}.ius-btn:disabled{color:#bfbfbf;background-color:#f5f5f5;cursor:not-allowed}.ius-btn:disabled .icon-color{color:#bfbfbf}.ius-btn.isActive{border:.5px solid #0A2893;background-color:#f5f5f5}.dropdown-container{position:relative;display:inline-block}.dropdown-menu{position:absolute;top:100%;left:0;z-index:10;margin-top:4px;display:flex;flex-direction:column;border-radius:8px;box-shadow:0 2px 6px #00000024,0 1px 10px #0000001a;background-color:#fff;padding:4px;min-width:100%}.dropdown-option{display:flex;height:38px;padding:8px 20px 8px 12px;align-items:center;gap:8px;border-radius:8px;background-color:#fafafa;font-family:Rubik,sans-serif;font-size:1rem;line-height:22px;font-weight:400;border:none;cursor:pointer}.dropdown-option:hover:not(:disabled){background-color:#f0f0f0}.dropdown-option:active:not(:disabled){background-color:#c4dfff}.dropdown-option.isDisabled{cursor:not-allowed;color:#bfbfbf}.dropdown-option.isDisabled .icon-doc-color{color:#bfbfbf}.dropdown-option.isSelected .selected-check{margin-left:auto;color:#2167ff}\n"] }]
|
|
2906
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { isActive: [{
|
|
2909
2907
|
type: Input
|
|
2910
2908
|
}], iconName: [{
|
|
2911
2909
|
type: Input
|
|
@@ -2917,6 +2915,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
2917
2915
|
type: Output
|
|
2918
2916
|
}], optionSelected: [{
|
|
2919
2917
|
type: Output
|
|
2918
|
+
}], onDocumentClick: [{
|
|
2919
|
+
type: HostListener,
|
|
2920
|
+
args: ['document:click', ['$event']]
|
|
2920
2921
|
}] } });
|
|
2921
2922
|
|
|
2922
2923
|
class DropdownUserMenuComponent {
|