@sarasanalytics-com/design-system 0.0.171 → 0.0.172

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.
@@ -9,13 +9,13 @@ import { MatCardModule } from '@angular/material/card';
9
9
  import { MatNativeDateModule } from '@angular/material/core';
10
10
  import { IconComponent } from '../icon/icon.component';
11
11
  import { MatTooltipModule } from '@angular/material/tooltip';
12
+ import { ToolTipComponent } from "../tool-tip/tool-tip.component";
12
13
  import * as i0 from "@angular/core";
13
14
  import * as i1 from "@angular/common";
14
15
  import * as i2 from "@ngx-formly/core";
15
16
  import * as i3 from "@angular/material/menu";
16
17
  import * as i4 from "@angular/material/button";
17
18
  import * as i5 from "@angular/material/card";
18
- import * as i6 from "@angular/material/tooltip";
19
19
  export class DropdownMenuComponent extends FieldType {
20
20
  constructor() {
21
21
  super(...arguments);
@@ -23,6 +23,12 @@ export class DropdownMenuComponent extends FieldType {
23
23
  this.selectedDate = null;
24
24
  this.isNavigating = false;
25
25
  this.placeholderLabel = '';
26
+ this.showCustomTooltip = false;
27
+ }
28
+ convertTooltipToArray(msg) {
29
+ if (!msg)
30
+ return [];
31
+ return Array.isArray(msg) ? msg : [msg];
26
32
  }
27
33
  ngOnInit() {
28
34
  this.params = this.field.props['params'] || {};
@@ -124,7 +130,7 @@ export class DropdownMenuComponent extends FieldType {
124
130
  this.activeItem = null;
125
131
  }
126
132
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DropdownMenuComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
127
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: DropdownMenuComponent, isStandalone: true, selector: "sa-dropdown-menu", viewQueries: [{ propertyName: "menuTrigger", first: true, predicate: MatMenuTrigger, descendants: true }, { propertyName: "dropdownContainer", first: true, predicate: ["dropdownContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"sa-dropdown-container {{ props?.['inputContainerClass'] }}\">\r\n <!-- Label and Tooltip Section -->\r\n @if(!!props?.['label']){\r\n <div class=\"sa-dropdown-label-container\">\r\n <div class=\"sa-dropdown-label-tooltip-container\">\r\n <span class=\"sa-dropdown-label\">\r\n {{ props?.['label'] }}\r\n </span>\r\n @if(!!props?.['tooltip']){\r\n <span class=\"tooltip-container\">\r\n <sa-icon [icon]=\"props?.['tooltipIcon'] || 'infoCircleOutlined'\" customClass=\"info-icon\"\r\n [matTooltip]=\"props?.['tooltip']\" matTooltipClass=\"custom-tooltip\" class=\"tooltip-icon d-flex\"\r\n [size]=\"props?.['tooltipIconSize'] || '20'\">\r\n </sa-icon>\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n <!-- Dropdown Button -->\r\n <div class=\"dropdown-container\" #dropdownContainer [class.disabled]=\"params?.disabled\">\r\n <button mat-button [matMenuTriggerFor]=\"menu\" #menuTrigger=\"matMenuTrigger\" class=\"menu-trigger\"\r\n [disabled]=\"params?.disabled\" [attr.aria-label]=\"params?.label || 'Dropdown menu'\"\r\n [attr.aria-haspopup]=\"'menu'\" [attr.aria-expanded]=\"menuTrigger?.menuOpen\"\r\n (menuOpened)=\"onMenuOpened()\" (menuClosed)=\"onMenuClosed()\">\r\n\r\n <span class=\"selected-value\" [class.placeholder]=\"!formControl.value\">\r\n {{ selectedItem }}\r\n </span>\r\n <span class=\"dropdown_right_icon\">\r\n <sa-icon [icon]=\"'downOutlined'\" [size]=\"'22'\"></sa-icon>\r\n </span>\r\n </button>\r\n\r\n <!-- Dropdown Menu -->\r\n <mat-menu #menu=\"matMenu\" class=\"two-panel-menu\" [hasBackdrop]=\"true\">\r\n <div class=\"two-panel-dropdown\">\r\n <div class=\"menu-left\">\r\n <div *ngFor=\"let item of menuItems\" class=\"menu-item\" [class.active]=\"item.name === activeItem\"\r\n (click)=\"onSelect(item, $event)\" role=\"menuitem\" [attr.aria-selected]=\"isItemSelected(item)\">\r\n\r\n <span>{{ item.name }}</span>\r\n <sa-icon *ngIf=\"item.type === 'date'\" [icon]=\"'rightChevron'\" [size]=\"'16'\" aria-hidden=\"true\">\r\n </sa-icon>\r\n </div>\r\n </div>\r\n\r\n <div class=\"divider\"></div>\r\n\r\n <div class=\"menu-right\" *ngIf=\"activeItem === 'date'\" (click)=\"stopCalendarClose($event)\">\r\n <mat-card class=\"calendar-card\">\r\n <mat-calendar [(selected)]=\"selectedDate\" (selectedChange)=\"onDateSelected($event)\"\r\n (viewChanged)=\"onViewChanged()\" [minDate]=\"params?.minDate\" [maxDate]=\"params?.maxDate\">\r\n </mat-calendar>\r\n </mat-card>\r\n </div>\r\n </div>\r\n </mat-menu>\r\n </div>\r\n\r\n <!-- Validation Message -->\r\n @if(!formControl.valid){\r\n <div class=\"error-message-container\">\r\n <span class=\"error-message\">\r\n <formly-validation-message [field]=\"field\"></formly-validation-message>\r\n </span>\r\n </div>\r\n }\r\n @if(!!props?.['supportText']){\r\n <p class=\"sa-dropdown-supportText\">{{ props?.['supportText'] }}</p>\r\n }\r\n</div>", styles: [".sa-dropdown-container{display:flex;flex-direction:column;width:100%;font-family:var(--font, Inter, sans-serif);gap:var(--small-8px, 8px)}.sa-dropdown-label-container{display:flex;flex-direction:column;gap:var(--small-4px, 4px)}.sa-dropdown-label-tooltip-container{display:flex;gap:var(--small-4px);align-items:center}.sa-dropdown-label{color:var(--text-highemphasis, #1b1d20);font-family:var(--font, Inter, sans-serif);font-size:var(--small-14px, 14px);font-weight:500;line-height:var(--medium-20px, 20px);letter-spacing:.1px}.required-asterisk{color:var(--semantic-error-500, #bd271e);margin-left:2px}.tooltip-container{display:flex;align-items:center}.info-icon{color:var(--grey-500, #777);cursor:pointer}.sa-dropdown-description{font-family:var(--font);font-size:12px;color:var(--text-lowemphasis, #666);line-height:16px;letter-spacing:.25px}.dropdown-container{width:100%;position:relative}.menu-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 var(--medium-30px, 30px) 0 var(--small-12px, 12px);border-radius:var(--small-4px, 4px);background-color:#fff;font-family:var(--font);font-size:14px;font-weight:400;line-height:20px;letter-spacing:.25px;transition:border .2s ease,color .2s ease;cursor:pointer;border:var(--border, 1px solid var(--grey-50))}.idle{--border: 1px solid var(--grey-50)}.activated{--border: 1px solid var(--primary-300)}.menu-trigger:hover{--border: 1px solid var(--primary-300);color:var(--text-highemphasis, #1b1d20)}.menu-trigger:disabled,.disabled{border:1px solid var(--grey-50)!important;opacity:.6;cursor:not-allowed}.invalid{border:1px solid var(--semantic-error-500, #bd271e)!important}.selected-value{flex:1;text-align:left;color:var(--text-lowemphasis, #555);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-value.placeholder{color:var(--text-lowemphasis, #aaa)}.menu-trigger sa-icon{color:var(--Grey-600, #475467);transition:transform .2s ease}.menu-trigger[aria-expanded=true] sa-icon{transform:rotate(180deg)}::ng-deep .two-panel-menu.mat-mdc-menu-panel{width:var(--dropdown-trigger-width, auto)!important;min-width:var(--dropdown-trigger-width, auto)!important;max-width:var(--dropdown-trigger-width, auto)!important}::ng-deep .mdc-button__label{display:flex;align-items:center;justify-content:space-between;width:100%}::ng-deep .mat-mdc-menu-content .two-panel-dropdown{width:var(--dropdown-trigger-width, 100%)!important;min-width:var(--dropdown-trigger-width, 100%)!important;max-width:var(--dropdown-trigger-width, 100%)!important;border:none;border-radius:var(--small-4px, 4px);box-shadow:none;overflow:hidden;margin-top:4px;box-shadow:0 1px 2px #0000004d}::ng-deep .mat-mdc-menu-content{box-shadow:0 1px 2px #0000004d;border:none;padding:0!important}::ng-deep .mat-mdc-elevation-specific{box-shadow:0 4px 12px #00000014!important}::ng-deep .cdk-overlay-backdrop.cdk-overlay-transparent-backdrop{background:transparent!important}.dropdown-container .menu-trigger{--dropdown-width: 100%}.menu-trigger[aria-expanded=true]{border-color:var(--primary-300)}.two-panel-menu{min-width:550px;overflow:hidden;border-radius:var(--small-8px, 8px);box-shadow:0 4px 16px #0000001f;background-color:#fff}.two-panel-dropdown{display:flex;width:100%}.menu-left{display:flex;flex-direction:column;width:100%;background-color:#fff}.menu-item{padding:10px 16px;cursor:pointer;display:flex;align-items:center;gap:var(--small-8px, 8px);justify-content:space-between;color:var(--text-highemphasis, #1C1B20);font-family:var(--font-family, Roboto);font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px}.menu-item sa-icon{display:flex;margin-top:var(--small-4px, 4px)}.menu-item:hover{background-color:var(--primary-50, #f3ebff)}.menu-item.active{background-color:var(--primary-50, #ede7ff);color:var(--primary-700, #5e35b1);font-weight:500}.sa-dropdown-supportText{font-family:var(--font-family, Roboto);font-size:11px;font-style:normal;font-weight:400;line-height:16px;margin:0 4px;letter-spacing:.25px;color:var(--text-mediumemphasis, #6D6979)}.dropdown_right_icon{position:absolute;right:-12px;top:0;color:var(--icon-grey1, #757575)}.divider{width:1px}.menu-right{width:100%;display:flex;align-items:flex-start;background-color:var(--structural-white,#FFFFFF)}.calendar-card{background:var(--structural-white,#FFFFFF);width:100%}::ng-deep .mat-calendar{width:100%;background:var(--structural-white,#FFFFFF)}.error-message-container{margin-top:4px}.error-message{color:var(--semantic-error-500, #bd271e);font-family:var(--font);font-size:11px;font-weight:400;line-height:var(--small-16px, 16px);letter-spacing:.5px}.support-label{font-family:var(--font);font-size:11px;font-weight:400;line-height:16px;letter-spacing:.5px;color:var(--text-lowemphasis);padding:var(--small-4px) var(--small-16px) 0 var(--small-16px)}.d-flex{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: FormlyModule }, { kind: "component", type: i2.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i5.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "ngmodule", type: MatNativeDateModule }, { kind: "component", type: IconComponent, selector: "sa-icon", inputs: ["img", "imgWidth", "imgHeight", "icon", "size", "color", "iconPath", "iconUrl", "customClass", "href", "hrefTarget", "iconPosition"], outputs: ["onClickEvent"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
133
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: DropdownMenuComponent, isStandalone: true, selector: "sa-dropdown-menu", viewQueries: [{ propertyName: "menuTrigger", first: true, predicate: MatMenuTrigger, descendants: true }, { propertyName: "dropdownContainer", first: true, predicate: ["dropdownContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"sa-dropdown-container {{ props?.['inputContainerClass'] }}\">\r\n <!-- Label and Tooltip Section -->\r\n @if(!!props?.['label']){\r\n <div class=\"sa-dropdown-label-container\">\r\n <div class=\"sa-dropdown-label-tooltip-container\">\r\n <span class=\"sa-dropdown-label\">\r\n {{ props?.['label'] }}\r\n </span>\r\n @if(!!props?.['tooltip']){\r\n <span class=\"tooltip-container\" (mouseenter)=\"showCustomTooltip = true\" (mouseleave)=\"showCustomTooltip = false\">\r\n <sa-icon [icon]=\"props?.['tooltipIcon'] || 'infoCircleOutlined'\" customClass=\"info-icon\" class=\"tooltip-icon d-flex\" [size]=\"props?.['tooltipIconSize'] || '20'\">\r\n </sa-icon>\r\n @if(showCustomTooltip){\r\n <sa-tool-tip [messages]=\"convertTooltipToArray(props?.['tooltip'])\" [pointerPosition]=\"'left'\" [simpleMode]=\"true\">\r\n </sa-tool-tip>\r\n }\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n <!-- Dropdown Button -->\r\n <div class=\"dropdown-container\" #dropdownContainer [class.disabled]=\"params?.disabled\">\r\n <button mat-button [matMenuTriggerFor]=\"menu\" #menuTrigger=\"matMenuTrigger\" class=\"menu-trigger\"\r\n [disabled]=\"params?.disabled\" [attr.aria-label]=\"params?.label || 'Dropdown menu'\"\r\n [attr.aria-haspopup]=\"'menu'\" [attr.aria-expanded]=\"menuTrigger?.menuOpen\"\r\n (menuOpened)=\"onMenuOpened()\" (menuClosed)=\"onMenuClosed()\">\r\n\r\n <span class=\"selected-value\" [class.placeholder]=\"!formControl.value\">\r\n {{ selectedItem }}\r\n </span>\r\n <span class=\"dropdown_right_icon\">\r\n <sa-icon [icon]=\"'downOutlined'\" [size]=\"'22'\"></sa-icon>\r\n </span>\r\n </button>\r\n\r\n <!-- Dropdown Menu -->\r\n <mat-menu #menu=\"matMenu\" class=\"two-panel-menu\" [hasBackdrop]=\"true\">\r\n <div class=\"two-panel-dropdown\">\r\n <div class=\"menu-left\">\r\n <div *ngFor=\"let item of menuItems\" class=\"menu-item\" [class.active]=\"item.name === activeItem\"\r\n (click)=\"onSelect(item, $event)\" role=\"menuitem\" [attr.aria-selected]=\"isItemSelected(item)\">\r\n\r\n <span>{{ item.name }}</span>\r\n <sa-icon *ngIf=\"item.type === 'date'\" [icon]=\"'rightChevron'\" [size]=\"'16'\" aria-hidden=\"true\">\r\n </sa-icon>\r\n </div>\r\n </div>\r\n\r\n <div class=\"divider\"></div>\r\n\r\n <div class=\"menu-right\" *ngIf=\"activeItem === 'date'\" (click)=\"stopCalendarClose($event)\">\r\n <mat-card class=\"calendar-card\">\r\n <mat-calendar [(selected)]=\"selectedDate\" (selectedChange)=\"onDateSelected($event)\"\r\n (viewChanged)=\"onViewChanged()\" [minDate]=\"params?.minDate\" [maxDate]=\"params?.maxDate\">\r\n </mat-calendar>\r\n </mat-card>\r\n </div>\r\n </div>\r\n </mat-menu>\r\n </div>\r\n\r\n <!-- Validation Message -->\r\n @if(!formControl.valid){\r\n <div class=\"error-message-container\">\r\n <span class=\"error-message\">\r\n <formly-validation-message [field]=\"field\"></formly-validation-message>\r\n </span>\r\n </div>\r\n }\r\n @if(!!props?.['supportText']){\r\n <p class=\"sa-dropdown-supportText\">{{ props?.['supportText'] }}</p>\r\n }\r\n</div>", styles: [".sa-dropdown-container{display:flex;flex-direction:column;width:100%;font-family:var(--font, Inter, sans-serif);gap:var(--small-8px, 8px)}.sa-dropdown-label-container{display:flex;flex-direction:column;gap:var(--small-4px, 4px)}.sa-dropdown-label-tooltip-container{display:flex;gap:var(--small-4px);align-items:center}.sa-dropdown-label{color:var(--text-highemphasis, #1b1d20);font-family:var(--font, Inter, sans-serif);font-size:var(--small-14px, 14px);font-weight:500;line-height:var(--medium-20px, 20px);letter-spacing:.1px}.required-asterisk{color:var(--semantic-error-500, #bd271e);margin-left:2px}.tooltip-container{display:flex;align-items:center;position:relative}::ng-deep .tooltip-container sa-tool-tip{position:absolute;left:18px}::ng-deep .tooltip-container sa-tool-tip .tool-tip{padding:0;height:40px}::ng-deep .tooltip-container sa-tool-tip .simple-tooltip-content{max-width:fit-content}.info-icon{color:var(--grey-500, #777);cursor:pointer}.sa-dropdown-description{font-family:var(--font);font-size:12px;color:var(--text-lowemphasis, #666);line-height:16px;letter-spacing:.25px}.dropdown-container{width:100%;position:relative}.menu-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 var(--medium-30px, 30px) 0 var(--small-12px, 12px);border-radius:var(--small-4px, 4px);background-color:#fff;font-family:var(--font);font-size:14px;font-weight:400;line-height:20px;letter-spacing:.25px;transition:border .2s ease,color .2s ease;cursor:pointer;border:var(--border, 1px solid var(--grey-50))}.idle{--border: 1px solid var(--grey-50)}.activated{--border: 1px solid var(--primary-300)}.menu-trigger:hover{--border: 1px solid var(--primary-300);color:var(--text-highemphasis, #1b1d20)}.menu-trigger:disabled,.disabled{border:1px solid var(--grey-50)!important;opacity:.6;cursor:not-allowed}.invalid{border:1px solid var(--semantic-error-500, #bd271e)!important}.selected-value{flex:1;text-align:left;color:var(--text-highemphasis, #1C1B20);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-value.placeholder{color:var(--text-lowemphasis, #aaa)}.menu-trigger sa-icon{color:var(--Grey-600, #475467);transition:transform .2s ease}.menu-trigger[aria-expanded=true] sa-icon{transform:rotate(180deg)}::ng-deep .two-panel-menu.mat-mdc-menu-panel{width:var(--dropdown-trigger-width, auto)!important;min-width:var(--dropdown-trigger-width, auto)!important;max-width:var(--dropdown-trigger-width, auto)!important}::ng-deep .mdc-button__label{display:flex;align-items:center;justify-content:space-between;width:100%}::ng-deep .mat-mdc-menu-content .two-panel-dropdown{width:var(--dropdown-trigger-width, 100%)!important;min-width:var(--dropdown-trigger-width, 100%)!important;max-width:var(--dropdown-trigger-width, 100%)!important;border:none;border-radius:var(--small-4px, 4px);box-shadow:none;overflow:hidden;margin-top:4px;box-shadow:0 1px 2px #0000004d}::ng-deep .mat-mdc-menu-content{box-shadow:0 1px 2px #0000004d;border:none;padding:0!important}::ng-deep .mat-mdc-elevation-specific{box-shadow:0 4px 12px #00000014!important}::ng-deep .cdk-overlay-backdrop.cdk-overlay-transparent-backdrop{background:transparent!important}.dropdown-container .menu-trigger{--dropdown-width: 100%}.menu-trigger[aria-expanded=true]{border-color:var(--primary-300)}.two-panel-menu{min-width:550px;overflow:hidden;border-radius:var(--small-8px, 8px);box-shadow:0 4px 16px #0000001f;background-color:#fff}.two-panel-dropdown{display:flex;width:100%}.menu-left{display:flex;flex-direction:column;width:100%;background-color:#fff}.menu-item{padding:10px 16px;cursor:pointer;display:flex;align-items:center;gap:var(--small-8px, 8px);justify-content:space-between;color:var(--text-highemphasis, #1C1B20);font-family:var(--font-family, Roboto);font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px}.menu-item sa-icon{display:flex;margin-top:var(--small-4px, 4px)}.menu-item:hover{background-color:var(--primary-50, #f3ebff)}.menu-item.active{background-color:var(--primary-50, #ede7ff);color:var(--primary-700, #5e35b1);font-weight:500}.sa-dropdown-supportText{font-family:var(--font-family, Roboto);font-size:11px;font-style:normal;font-weight:400;line-height:16px;margin:0 4px;letter-spacing:.25px;color:var(--text-mediumemphasis, #6D6979)}.dropdown_right_icon{position:absolute;right:-12px;top:0;color:var(--icon-grey1, #757575)}.divider{width:1px}.menu-right{width:100%;display:flex;align-items:flex-start;background-color:var(--structural-white,#FFFFFF)}.calendar-card{background:var(--structural-white,#FFFFFF);width:100%}::ng-deep .mat-calendar{width:100%;background:var(--structural-white,#FFFFFF)}.error-message-container{margin-top:4px}.error-message{color:var(--semantic-error-500, #bd271e);font-family:var(--font);font-size:11px;font-weight:400;line-height:var(--small-16px, 16px);letter-spacing:.5px}.support-label{font-family:var(--font);font-size:11px;font-weight:400;line-height:16px;letter-spacing:.5px;color:var(--text-lowemphasis);padding:var(--small-4px) var(--small-16px) 0 var(--small-16px)}.d-flex{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: FormlyModule }, { kind: "component", type: i2.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i5.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "ngmodule", type: MatNativeDateModule }, { kind: "component", type: IconComponent, selector: "sa-icon", inputs: ["img", "imgWidth", "imgHeight", "icon", "size", "color", "iconPath", "iconUrl", "customClass", "href", "hrefTarget", "iconPosition"], outputs: ["onClickEvent"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "component", type: ToolTipComponent, selector: "sa-tool-tip", inputs: ["messages", "pointerPosition", "simpleMode"], outputs: ["toolTipSkipped", "toolTipSeen"] }] }); }
128
134
  }
129
135
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DropdownMenuComponent, decorators: [{
130
136
  type: Component,
@@ -139,7 +145,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
139
145
  MatNativeDateModule,
140
146
  IconComponent,
141
147
  MatTooltipModule,
142
- ], template: "<div class=\"sa-dropdown-container {{ props?.['inputContainerClass'] }}\">\r\n <!-- Label and Tooltip Section -->\r\n @if(!!props?.['label']){\r\n <div class=\"sa-dropdown-label-container\">\r\n <div class=\"sa-dropdown-label-tooltip-container\">\r\n <span class=\"sa-dropdown-label\">\r\n {{ props?.['label'] }}\r\n </span>\r\n @if(!!props?.['tooltip']){\r\n <span class=\"tooltip-container\">\r\n <sa-icon [icon]=\"props?.['tooltipIcon'] || 'infoCircleOutlined'\" customClass=\"info-icon\"\r\n [matTooltip]=\"props?.['tooltip']\" matTooltipClass=\"custom-tooltip\" class=\"tooltip-icon d-flex\"\r\n [size]=\"props?.['tooltipIconSize'] || '20'\">\r\n </sa-icon>\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n <!-- Dropdown Button -->\r\n <div class=\"dropdown-container\" #dropdownContainer [class.disabled]=\"params?.disabled\">\r\n <button mat-button [matMenuTriggerFor]=\"menu\" #menuTrigger=\"matMenuTrigger\" class=\"menu-trigger\"\r\n [disabled]=\"params?.disabled\" [attr.aria-label]=\"params?.label || 'Dropdown menu'\"\r\n [attr.aria-haspopup]=\"'menu'\" [attr.aria-expanded]=\"menuTrigger?.menuOpen\"\r\n (menuOpened)=\"onMenuOpened()\" (menuClosed)=\"onMenuClosed()\">\r\n\r\n <span class=\"selected-value\" [class.placeholder]=\"!formControl.value\">\r\n {{ selectedItem }}\r\n </span>\r\n <span class=\"dropdown_right_icon\">\r\n <sa-icon [icon]=\"'downOutlined'\" [size]=\"'22'\"></sa-icon>\r\n </span>\r\n </button>\r\n\r\n <!-- Dropdown Menu -->\r\n <mat-menu #menu=\"matMenu\" class=\"two-panel-menu\" [hasBackdrop]=\"true\">\r\n <div class=\"two-panel-dropdown\">\r\n <div class=\"menu-left\">\r\n <div *ngFor=\"let item of menuItems\" class=\"menu-item\" [class.active]=\"item.name === activeItem\"\r\n (click)=\"onSelect(item, $event)\" role=\"menuitem\" [attr.aria-selected]=\"isItemSelected(item)\">\r\n\r\n <span>{{ item.name }}</span>\r\n <sa-icon *ngIf=\"item.type === 'date'\" [icon]=\"'rightChevron'\" [size]=\"'16'\" aria-hidden=\"true\">\r\n </sa-icon>\r\n </div>\r\n </div>\r\n\r\n <div class=\"divider\"></div>\r\n\r\n <div class=\"menu-right\" *ngIf=\"activeItem === 'date'\" (click)=\"stopCalendarClose($event)\">\r\n <mat-card class=\"calendar-card\">\r\n <mat-calendar [(selected)]=\"selectedDate\" (selectedChange)=\"onDateSelected($event)\"\r\n (viewChanged)=\"onViewChanged()\" [minDate]=\"params?.minDate\" [maxDate]=\"params?.maxDate\">\r\n </mat-calendar>\r\n </mat-card>\r\n </div>\r\n </div>\r\n </mat-menu>\r\n </div>\r\n\r\n <!-- Validation Message -->\r\n @if(!formControl.valid){\r\n <div class=\"error-message-container\">\r\n <span class=\"error-message\">\r\n <formly-validation-message [field]=\"field\"></formly-validation-message>\r\n </span>\r\n </div>\r\n }\r\n @if(!!props?.['supportText']){\r\n <p class=\"sa-dropdown-supportText\">{{ props?.['supportText'] }}</p>\r\n }\r\n</div>", styles: [".sa-dropdown-container{display:flex;flex-direction:column;width:100%;font-family:var(--font, Inter, sans-serif);gap:var(--small-8px, 8px)}.sa-dropdown-label-container{display:flex;flex-direction:column;gap:var(--small-4px, 4px)}.sa-dropdown-label-tooltip-container{display:flex;gap:var(--small-4px);align-items:center}.sa-dropdown-label{color:var(--text-highemphasis, #1b1d20);font-family:var(--font, Inter, sans-serif);font-size:var(--small-14px, 14px);font-weight:500;line-height:var(--medium-20px, 20px);letter-spacing:.1px}.required-asterisk{color:var(--semantic-error-500, #bd271e);margin-left:2px}.tooltip-container{display:flex;align-items:center}.info-icon{color:var(--grey-500, #777);cursor:pointer}.sa-dropdown-description{font-family:var(--font);font-size:12px;color:var(--text-lowemphasis, #666);line-height:16px;letter-spacing:.25px}.dropdown-container{width:100%;position:relative}.menu-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 var(--medium-30px, 30px) 0 var(--small-12px, 12px);border-radius:var(--small-4px, 4px);background-color:#fff;font-family:var(--font);font-size:14px;font-weight:400;line-height:20px;letter-spacing:.25px;transition:border .2s ease,color .2s ease;cursor:pointer;border:var(--border, 1px solid var(--grey-50))}.idle{--border: 1px solid var(--grey-50)}.activated{--border: 1px solid var(--primary-300)}.menu-trigger:hover{--border: 1px solid var(--primary-300);color:var(--text-highemphasis, #1b1d20)}.menu-trigger:disabled,.disabled{border:1px solid var(--grey-50)!important;opacity:.6;cursor:not-allowed}.invalid{border:1px solid var(--semantic-error-500, #bd271e)!important}.selected-value{flex:1;text-align:left;color:var(--text-lowemphasis, #555);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-value.placeholder{color:var(--text-lowemphasis, #aaa)}.menu-trigger sa-icon{color:var(--Grey-600, #475467);transition:transform .2s ease}.menu-trigger[aria-expanded=true] sa-icon{transform:rotate(180deg)}::ng-deep .two-panel-menu.mat-mdc-menu-panel{width:var(--dropdown-trigger-width, auto)!important;min-width:var(--dropdown-trigger-width, auto)!important;max-width:var(--dropdown-trigger-width, auto)!important}::ng-deep .mdc-button__label{display:flex;align-items:center;justify-content:space-between;width:100%}::ng-deep .mat-mdc-menu-content .two-panel-dropdown{width:var(--dropdown-trigger-width, 100%)!important;min-width:var(--dropdown-trigger-width, 100%)!important;max-width:var(--dropdown-trigger-width, 100%)!important;border:none;border-radius:var(--small-4px, 4px);box-shadow:none;overflow:hidden;margin-top:4px;box-shadow:0 1px 2px #0000004d}::ng-deep .mat-mdc-menu-content{box-shadow:0 1px 2px #0000004d;border:none;padding:0!important}::ng-deep .mat-mdc-elevation-specific{box-shadow:0 4px 12px #00000014!important}::ng-deep .cdk-overlay-backdrop.cdk-overlay-transparent-backdrop{background:transparent!important}.dropdown-container .menu-trigger{--dropdown-width: 100%}.menu-trigger[aria-expanded=true]{border-color:var(--primary-300)}.two-panel-menu{min-width:550px;overflow:hidden;border-radius:var(--small-8px, 8px);box-shadow:0 4px 16px #0000001f;background-color:#fff}.two-panel-dropdown{display:flex;width:100%}.menu-left{display:flex;flex-direction:column;width:100%;background-color:#fff}.menu-item{padding:10px 16px;cursor:pointer;display:flex;align-items:center;gap:var(--small-8px, 8px);justify-content:space-between;color:var(--text-highemphasis, #1C1B20);font-family:var(--font-family, Roboto);font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px}.menu-item sa-icon{display:flex;margin-top:var(--small-4px, 4px)}.menu-item:hover{background-color:var(--primary-50, #f3ebff)}.menu-item.active{background-color:var(--primary-50, #ede7ff);color:var(--primary-700, #5e35b1);font-weight:500}.sa-dropdown-supportText{font-family:var(--font-family, Roboto);font-size:11px;font-style:normal;font-weight:400;line-height:16px;margin:0 4px;letter-spacing:.25px;color:var(--text-mediumemphasis, #6D6979)}.dropdown_right_icon{position:absolute;right:-12px;top:0;color:var(--icon-grey1, #757575)}.divider{width:1px}.menu-right{width:100%;display:flex;align-items:flex-start;background-color:var(--structural-white,#FFFFFF)}.calendar-card{background:var(--structural-white,#FFFFFF);width:100%}::ng-deep .mat-calendar{width:100%;background:var(--structural-white,#FFFFFF)}.error-message-container{margin-top:4px}.error-message{color:var(--semantic-error-500, #bd271e);font-family:var(--font);font-size:11px;font-weight:400;line-height:var(--small-16px, 16px);letter-spacing:.5px}.support-label{font-family:var(--font);font-size:11px;font-weight:400;line-height:16px;letter-spacing:.5px;color:var(--text-lowemphasis);padding:var(--small-4px) var(--small-16px) 0 var(--small-16px)}.d-flex{display:flex}\n"] }]
148
+ ToolTipComponent
149
+ ], template: "<div class=\"sa-dropdown-container {{ props?.['inputContainerClass'] }}\">\r\n <!-- Label and Tooltip Section -->\r\n @if(!!props?.['label']){\r\n <div class=\"sa-dropdown-label-container\">\r\n <div class=\"sa-dropdown-label-tooltip-container\">\r\n <span class=\"sa-dropdown-label\">\r\n {{ props?.['label'] }}\r\n </span>\r\n @if(!!props?.['tooltip']){\r\n <span class=\"tooltip-container\" (mouseenter)=\"showCustomTooltip = true\" (mouseleave)=\"showCustomTooltip = false\">\r\n <sa-icon [icon]=\"props?.['tooltipIcon'] || 'infoCircleOutlined'\" customClass=\"info-icon\" class=\"tooltip-icon d-flex\" [size]=\"props?.['tooltipIconSize'] || '20'\">\r\n </sa-icon>\r\n @if(showCustomTooltip){\r\n <sa-tool-tip [messages]=\"convertTooltipToArray(props?.['tooltip'])\" [pointerPosition]=\"'left'\" [simpleMode]=\"true\">\r\n </sa-tool-tip>\r\n }\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n <!-- Dropdown Button -->\r\n <div class=\"dropdown-container\" #dropdownContainer [class.disabled]=\"params?.disabled\">\r\n <button mat-button [matMenuTriggerFor]=\"menu\" #menuTrigger=\"matMenuTrigger\" class=\"menu-trigger\"\r\n [disabled]=\"params?.disabled\" [attr.aria-label]=\"params?.label || 'Dropdown menu'\"\r\n [attr.aria-haspopup]=\"'menu'\" [attr.aria-expanded]=\"menuTrigger?.menuOpen\"\r\n (menuOpened)=\"onMenuOpened()\" (menuClosed)=\"onMenuClosed()\">\r\n\r\n <span class=\"selected-value\" [class.placeholder]=\"!formControl.value\">\r\n {{ selectedItem }}\r\n </span>\r\n <span class=\"dropdown_right_icon\">\r\n <sa-icon [icon]=\"'downOutlined'\" [size]=\"'22'\"></sa-icon>\r\n </span>\r\n </button>\r\n\r\n <!-- Dropdown Menu -->\r\n <mat-menu #menu=\"matMenu\" class=\"two-panel-menu\" [hasBackdrop]=\"true\">\r\n <div class=\"two-panel-dropdown\">\r\n <div class=\"menu-left\">\r\n <div *ngFor=\"let item of menuItems\" class=\"menu-item\" [class.active]=\"item.name === activeItem\"\r\n (click)=\"onSelect(item, $event)\" role=\"menuitem\" [attr.aria-selected]=\"isItemSelected(item)\">\r\n\r\n <span>{{ item.name }}</span>\r\n <sa-icon *ngIf=\"item.type === 'date'\" [icon]=\"'rightChevron'\" [size]=\"'16'\" aria-hidden=\"true\">\r\n </sa-icon>\r\n </div>\r\n </div>\r\n\r\n <div class=\"divider\"></div>\r\n\r\n <div class=\"menu-right\" *ngIf=\"activeItem === 'date'\" (click)=\"stopCalendarClose($event)\">\r\n <mat-card class=\"calendar-card\">\r\n <mat-calendar [(selected)]=\"selectedDate\" (selectedChange)=\"onDateSelected($event)\"\r\n (viewChanged)=\"onViewChanged()\" [minDate]=\"params?.minDate\" [maxDate]=\"params?.maxDate\">\r\n </mat-calendar>\r\n </mat-card>\r\n </div>\r\n </div>\r\n </mat-menu>\r\n </div>\r\n\r\n <!-- Validation Message -->\r\n @if(!formControl.valid){\r\n <div class=\"error-message-container\">\r\n <span class=\"error-message\">\r\n <formly-validation-message [field]=\"field\"></formly-validation-message>\r\n </span>\r\n </div>\r\n }\r\n @if(!!props?.['supportText']){\r\n <p class=\"sa-dropdown-supportText\">{{ props?.['supportText'] }}</p>\r\n }\r\n</div>", styles: [".sa-dropdown-container{display:flex;flex-direction:column;width:100%;font-family:var(--font, Inter, sans-serif);gap:var(--small-8px, 8px)}.sa-dropdown-label-container{display:flex;flex-direction:column;gap:var(--small-4px, 4px)}.sa-dropdown-label-tooltip-container{display:flex;gap:var(--small-4px);align-items:center}.sa-dropdown-label{color:var(--text-highemphasis, #1b1d20);font-family:var(--font, Inter, sans-serif);font-size:var(--small-14px, 14px);font-weight:500;line-height:var(--medium-20px, 20px);letter-spacing:.1px}.required-asterisk{color:var(--semantic-error-500, #bd271e);margin-left:2px}.tooltip-container{display:flex;align-items:center;position:relative}::ng-deep .tooltip-container sa-tool-tip{position:absolute;left:18px}::ng-deep .tooltip-container sa-tool-tip .tool-tip{padding:0;height:40px}::ng-deep .tooltip-container sa-tool-tip .simple-tooltip-content{max-width:fit-content}.info-icon{color:var(--grey-500, #777);cursor:pointer}.sa-dropdown-description{font-family:var(--font);font-size:12px;color:var(--text-lowemphasis, #666);line-height:16px;letter-spacing:.25px}.dropdown-container{width:100%;position:relative}.menu-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 var(--medium-30px, 30px) 0 var(--small-12px, 12px);border-radius:var(--small-4px, 4px);background-color:#fff;font-family:var(--font);font-size:14px;font-weight:400;line-height:20px;letter-spacing:.25px;transition:border .2s ease,color .2s ease;cursor:pointer;border:var(--border, 1px solid var(--grey-50))}.idle{--border: 1px solid var(--grey-50)}.activated{--border: 1px solid var(--primary-300)}.menu-trigger:hover{--border: 1px solid var(--primary-300);color:var(--text-highemphasis, #1b1d20)}.menu-trigger:disabled,.disabled{border:1px solid var(--grey-50)!important;opacity:.6;cursor:not-allowed}.invalid{border:1px solid var(--semantic-error-500, #bd271e)!important}.selected-value{flex:1;text-align:left;color:var(--text-highemphasis, #1C1B20);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-value.placeholder{color:var(--text-lowemphasis, #aaa)}.menu-trigger sa-icon{color:var(--Grey-600, #475467);transition:transform .2s ease}.menu-trigger[aria-expanded=true] sa-icon{transform:rotate(180deg)}::ng-deep .two-panel-menu.mat-mdc-menu-panel{width:var(--dropdown-trigger-width, auto)!important;min-width:var(--dropdown-trigger-width, auto)!important;max-width:var(--dropdown-trigger-width, auto)!important}::ng-deep .mdc-button__label{display:flex;align-items:center;justify-content:space-between;width:100%}::ng-deep .mat-mdc-menu-content .two-panel-dropdown{width:var(--dropdown-trigger-width, 100%)!important;min-width:var(--dropdown-trigger-width, 100%)!important;max-width:var(--dropdown-trigger-width, 100%)!important;border:none;border-radius:var(--small-4px, 4px);box-shadow:none;overflow:hidden;margin-top:4px;box-shadow:0 1px 2px #0000004d}::ng-deep .mat-mdc-menu-content{box-shadow:0 1px 2px #0000004d;border:none;padding:0!important}::ng-deep .mat-mdc-elevation-specific{box-shadow:0 4px 12px #00000014!important}::ng-deep .cdk-overlay-backdrop.cdk-overlay-transparent-backdrop{background:transparent!important}.dropdown-container .menu-trigger{--dropdown-width: 100%}.menu-trigger[aria-expanded=true]{border-color:var(--primary-300)}.two-panel-menu{min-width:550px;overflow:hidden;border-radius:var(--small-8px, 8px);box-shadow:0 4px 16px #0000001f;background-color:#fff}.two-panel-dropdown{display:flex;width:100%}.menu-left{display:flex;flex-direction:column;width:100%;background-color:#fff}.menu-item{padding:10px 16px;cursor:pointer;display:flex;align-items:center;gap:var(--small-8px, 8px);justify-content:space-between;color:var(--text-highemphasis, #1C1B20);font-family:var(--font-family, Roboto);font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px}.menu-item sa-icon{display:flex;margin-top:var(--small-4px, 4px)}.menu-item:hover{background-color:var(--primary-50, #f3ebff)}.menu-item.active{background-color:var(--primary-50, #ede7ff);color:var(--primary-700, #5e35b1);font-weight:500}.sa-dropdown-supportText{font-family:var(--font-family, Roboto);font-size:11px;font-style:normal;font-weight:400;line-height:16px;margin:0 4px;letter-spacing:.25px;color:var(--text-mediumemphasis, #6D6979)}.dropdown_right_icon{position:absolute;right:-12px;top:0;color:var(--icon-grey1, #757575)}.divider{width:1px}.menu-right{width:100%;display:flex;align-items:flex-start;background-color:var(--structural-white,#FFFFFF)}.calendar-card{background:var(--structural-white,#FFFFFF);width:100%}::ng-deep .mat-calendar{width:100%;background:var(--structural-white,#FFFFFF)}.error-message-container{margin-top:4px}.error-message{color:var(--semantic-error-500, #bd271e);font-family:var(--font);font-size:11px;font-weight:400;line-height:var(--small-16px, 16px);letter-spacing:.5px}.support-label{font-family:var(--font);font-size:11px;font-weight:400;line-height:16px;letter-spacing:.5px;color:var(--text-lowemphasis);padding:var(--small-4px) var(--small-16px) 0 var(--small-16px)}.d-flex{display:flex}\n"] }]
143
150
  }], propDecorators: { menuTrigger: [{
144
151
  type: ViewChild,
145
152
  args: [MatMenuTrigger]
@@ -147,4 +154,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
147
154
  type: ViewChild,
148
155
  args: ['dropdownContainer']
149
156
  }] } });
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2Ryb3Bkb3duLW1lbnUvZHJvcGRvd24tbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2Ryb3Bkb3duLW1lbnUvZHJvcGRvd24tbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBbUIsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUF1QixXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7OztBQW9CN0QsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFNBQTBCO0lBbEJyRTs7UUFzQkUsZUFBVSxHQUFrQixJQUFJLENBQUM7UUFDakMsaUJBQVksR0FBZ0IsSUFBSSxDQUFD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YixtQkFBbUIsK0JBQ25CLGFBQWEsNk5BQ2IsZ0JBQWdCOzsyRkFLUCxxQkFBcUI7a0JBbEJqQyxTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsZ0JBQWdCO3FCQUNqQjs4QkFLMEIsV0FBVztzQkFBckMsU0FBUzt1QkFBQyxjQUFjO2dCQUNPLGlCQUFpQjtzQkFBaEQsU0FBUzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBGb3JtbHlNb2R1bGUsIEZpZWxkVHlwZSwgRmllbGRUeXBlQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUsIE1hdE1lbnVUcmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJNb2R1bGUsIE1hdENhbGVuZGFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcclxuaW1wb3J0IHsgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi9pY29uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2EtZHJvcGRvd24tbWVudScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRm9ybWx5TW9kdWxlLFxyXG4gICAgTWF0TWVudU1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdENhbGVuZGFyLFxyXG4gICAgTWF0Q2FyZE1vZHVsZSxcclxuICAgIE1hdE5hdGl2ZURhdGVNb2R1bGUsXHJcbiAgICBJY29uQ29tcG9uZW50LFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi1tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1tZW51LmNvbXBvbmVudC5jc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIERyb3Bkb3duTWVudUNvbXBvbmVudCBleHRlbmRzIEZpZWxkVHlwZTxGaWVsZFR5cGVDb25maWc+IHtcclxuICBAVmlld0NoaWxkKE1hdE1lbnVUcmlnZ2VyKSBtZW51VHJpZ2dlciE6IE1hdE1lbnVUcmlnZ2VyO1xyXG4gIEBWaWV3Q2hpbGQoJ2Ryb3Bkb3duQ29udGFpbmVyJykgZHJvcGRvd25Db250YWluZXIhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuXHJcbiAgYWN0aXZlSXRlbTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgc2VsZWN0ZWREYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgaXNOYXZpZ2F0aW5nID0gZmFsc2U7XHJcblxyXG4gIHBhcmFtczogYW55O1xyXG4gIHBsYWNlaG9sZGVyTGFiZWw6IHN0cmluZyA9ICcnO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMucGFyYW1zID0gdGhpcy5maWVsZC5wcm9wc1sncGFyYW1zJ10gfHwge307XHJcbiAgICBpZiAoIXRoaXMucGFyYW1zIHx8IE9iamVjdC5rZXlzKHRoaXMucGFyYW1zKS5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy5wYXJhbXMgPSB0aGlzLmZpZWxkLnByb3BzO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucGxhY2Vob2xkZXJMYWJlbCA9XHJcbiAgICAgIHRoaXMucGFyYW1zLnBsYWNlaG9sZGVyIHx8XHJcbiAgICAgIHRoaXMucGFyYW1zLmxhYmVsIHx8XHJcbiAgICAgIHRoaXMuZmllbGQucHJvcHMucGxhY2Vob2xkZXIgfHxcclxuICAgICAgJ1NlbGVjdCBhbiBvcHRpb24nO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG1lbnVJdGVtcygpOiBhbnlbXSB7XHJcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5maWVsZC5wcm9wcz8ub3B0aW9ucztcclxuICAgIGlmIChvcHRpb25zICYmIHR5cGVvZiAob3B0aW9ucyBhcyBhbnkpLnN1YnNjcmliZSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShvcHRpb25zKSA/IG9wdGlvbnMgOiBbXTtcclxuICB9XHJcblxyXG4gIGdldCBzZWxlY3RlZEl0ZW0oKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZTtcclxuICAgIGlmICghdmFsdWUpIHJldHVybiB0aGlzLnBsYWNlaG9sZGVyTGFiZWw7XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4gdmFsdWUubmFtZSB8fCB2YWx1ZS5sYWJlbCB8fCB2YWx1ZS52YWx1ZSB8fCB0aGlzLnBsYWNlaG9sZGVyTGFiZWw7XHJcbiAgICB9XHJcbiAgICBjb25zdCBpdGVtID0gdGhpcy5tZW51SXRlbXMuZmluZChcclxuICAgICAgKGl0ZW0pID0+IGl0ZW0udmFsdWUgPT09IHZhbHVlIHx8IGl0ZW0uaWQgPT09IHZhbHVlXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIGl0ZW0/Lm5hbWUgfHwgaXRlbT8ubGFiZWwgfHwgU3RyaW5nKHZhbHVlKSB8fCB0aGlzLnBsYWNlaG9sZGVyTGFiZWw7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdChpdGVtOiBhbnksIGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGlmIChpdGVtLnR5cGUgPT09ICdkYXRlJykge1xyXG4gICAgICB0aGlzLmFjdGl2ZUl0ZW0gPSBpdGVtLnR5cGU7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuYWN0aXZlSXRlbSA9IG51bGw7XHJcblxyXG4gICAgY29uc3QgdXBkYXRlZFZhbHVlID0ge1xyXG4gICAgICBoaXN0b3J5WWVhcnM6IGl0ZW0udmFsdWUgfHwgaXRlbS5uYW1lIHx8IG51bGwsXHJcbiAgICAgIGhpc3RvcnlEYXRlOiBudWxsLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKGl0ZW0udmFsdWUpO1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICB0aGlzLm1lbnVUcmlnZ2VyLmNsb3NlTWVudSgpO1xyXG4gIH1cclxuXHJcblxyXG4gIG92ZXJyaWRlIGdldCBzaG93RXJyb3IoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtQ29udHJvbD8uaW52YWxpZCAmJiB0aGlzLmZvcm1Db250cm9sPy50b3VjaGVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0RXJyb3IoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLmZvcm1Db250cm9sPy5oYXNFcnJvcigncmVxdWlyZWQnKSkgcmV0dXJuICdUaGlzIGZpZWxkIGlzIHJlcXVpcmVkJztcclxuICAgIHJldHVybiAnUGxlYXNlIHNlbGVjdCBhIHZhbGlkIG9wdGlvbic7XHJcbiAgfVxyXG5cclxuICBvblZpZXdDaGFuZ2VkKCkge1xyXG4gICAgdGhpcy5pc05hdmlnYXRpbmcgPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiAodGhpcy5pc05hdmlnYXRpbmcgPSBmYWxzZSksIDMwMCk7XHJcbiAgfVxyXG5cclxuICBvbkRhdGVTZWxlY3RlZChkYXRlOiBEYXRlKSB7XHJcbiAgICBpZiAodGhpcy5pc05hdmlnYXRpbmcpIHJldHVybjtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gZGF0ZTtcclxuXHJcbiAgICBjb25zdCBmb3JtYXR0ZWQgPSBkYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgIGRheTogJzItZGlnaXQnLFxyXG4gICAgICBtb250aDogJzItZGlnaXQnLFxyXG4gICAgICB5ZWFyOiAnbnVtZXJpYycsXHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCB1cGRhdGVkVmFsdWUgPSB7XHJcbiAgICAgIGhpc3RvcnlZZWFyczogbnVsbCxcclxuICAgICAgaGlzdG9yeURhdGU6IGZvcm1hdHRlZCxcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShmb3JtYXR0ZWQpO1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICB0aGlzLm1lbnVUcmlnZ2VyLmNsb3NlTWVudSgpO1xyXG4gIH1cclxuXHJcblxyXG4gIHN0b3BDYWxlbmRhckNsb3NlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcblxyXG4gIGlzSXRlbVNlbGVjdGVkKGl0ZW06IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLmZvcm1Db250cm9sPy52YWx1ZSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZTtcclxuXHJcbiAgICBpZiAodHlwZW9mIGN1cnJlbnRWYWx1ZSA9PT0gJ29iamVjdCcgJiYgY3VycmVudFZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgY3VycmVudFZhbHVlID09PSBpdGVtIHx8XHJcbiAgICAgICAgY3VycmVudFZhbHVlLnZhbHVlID09PSBpdGVtLnZhbHVlIHx8XHJcbiAgICAgICAgY3VycmVudFZhbHVlLmlkID09PSBpdGVtLmlkXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgY3VycmVudFZhbHVlID09PSBpdGVtLnZhbHVlIHx8XHJcbiAgICAgIGN1cnJlbnRWYWx1ZSA9PT0gaXRlbS5pZCB8fFxyXG4gICAgICBjdXJyZW50VmFsdWUgPT09IGl0ZW0ubmFtZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG9uTWVudU9wZW5lZCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGVsID0gdGhpcy5kcm9wZG93bkNvbnRhaW5lcj8ubmF0aXZlRWxlbWVudDtcclxuICAgIGlmICghZWwpIHJldHVybjtcclxuICAgIGNvbnN0IHdpZHRoID0gTWF0aC5yb3VuZChlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCk7XHJcbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tZHJvcGRvd24tdHJpZ2dlci13aWR0aCcsIHdpZHRoICsgJ3B4Jyk7XHJcbiAgfVxyXG5cclxuICBvbk1lbnVDbG9zZWQoKTogdm9pZCB7XHJcbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tZHJvcGRvd24tdHJpZ2dlci13aWR0aCcpO1xyXG4gICAgdGhpcy5hY3RpdmVJdGVtID0gbnVsbDtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInNhLWRyb3Bkb3duLWNvbnRhaW5lciB7eyBwcm9wcz8uWydpbnB1dENvbnRhaW5lckNsYXNzJ10gfX1cIj5cclxuICAgIDwhLS0gTGFiZWwgYW5kIFRvb2x0aXAgU2VjdGlvbiAtLT5cclxuICAgIEBpZighIXByb3BzPy5bJ2xhYmVsJ10pe1xyXG4gICAgPGRpdiBjbGFzcz1cInNhLWRyb3Bkb3duLWxhYmVsLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYS1kcm9wZG93bi1sYWJlbC10b29sdGlwLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNhLWRyb3Bkb3duLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBwcm9wcz8uWydsYWJlbCddIH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgQGlmKCEhcHJvcHM/LlsndG9vbHRpcCddKXtcclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b29sdGlwLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgPHNhLWljb24gW2ljb25dPVwicHJvcHM/LlsndG9vbHRpcEljb24nXSB8fCAnaW5mb0NpcmNsZU91dGxpbmVkJ1wiIGN1c3RvbUNsYXNzPVwiaW5mby1pY29uXCJcclxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJwcm9wcz8uWyd0b29sdGlwJ11cIiBtYXRUb29sdGlwQ2xhc3M9XCJjdXN0b20tdG9vbHRpcFwiIGNsYXNzPVwidG9vbHRpcC1pY29uIGQtZmxleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3NpemVdPVwicHJvcHM/LlsndG9vbHRpcEljb25TaXplJ10gfHwgJzIwJ1wiPlxyXG4gICAgICAgICAgICAgICAgPC9zYS1pY29uPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG5cclxuICAgIDwhLS0gRHJvcGRvd24gQnV0dG9uIC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWNvbnRhaW5lclwiICNkcm9wZG93bkNvbnRhaW5lciBbY2xhc3MuZGlzYWJsZWRdPVwicGFyYW1zPy5kaXNhYmxlZFwiPlxyXG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiICNtZW51VHJpZ2dlcj1cIm1hdE1lbnVUcmlnZ2VyXCIgY2xhc3M9XCJtZW51LXRyaWdnZXJcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwicGFyYW1zPy5kaXNhYmxlZFwiIFthdHRyLmFyaWEtbGFiZWxdPVwicGFyYW1zPy5sYWJlbCB8fCAnRHJvcGRvd24gbWVudSdcIlxyXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cIidtZW51J1wiIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwibWVudVRyaWdnZXI/Lm1lbnVPcGVuXCJcclxuICAgICAgICAgICAgKG1lbnVPcGVuZWQpPVwib25NZW51T3BlbmVkKClcIiAobWVudUNsb3NlZCk9XCJvbk1lbnVDbG9zZWQoKVwiPlxyXG5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZWxlY3RlZC12YWx1ZVwiIFtjbGFzcy5wbGFjZWhvbGRlcl09XCIhZm9ybUNvbnRyb2wudmFsdWVcIj5cclxuICAgICAgICAgICAgICAgIHt7IHNlbGVjdGVkSXRlbSB9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZHJvcGRvd25fcmlnaHRfaWNvblwiPlxyXG4gICAgICAgICAgICAgICAgPHNhLWljb24gW2ljb25dPVwiJ2Rvd25PdXRsaW5lZCdcIiBbc2l6ZV09XCInMjInXCI+PC9zYS1pY29uPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgIDwhLS0gRHJvcGRvd24gTWVudSAtLT5cclxuICAgICAgICA8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCIgY2xhc3M9XCJ0d28tcGFuZWwtbWVudVwiIFtoYXNCYWNrZHJvcF09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0d28tcGFuZWwtZHJvcGRvd25cIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIG1lbnVJdGVtc1wiIGNsYXNzPVwibWVudS1pdGVtXCIgW2NsYXNzLmFjdGl2ZV09XCJpdGVtLm5hbWUgPT09IGFjdGl2ZUl0ZW1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TZWxlY3QoaXRlbSwgJGV2ZW50KVwiIHJvbGU9XCJtZW51aXRlbVwiIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiaXNJdGVtU2VsZWN0ZWQoaXRlbSlcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0ubmFtZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNhLWljb24gKm5nSWY9XCJpdGVtLnR5cGUgPT09ICdkYXRlJ1wiIFtpY29uXT1cIidyaWdodENoZXZyb24nXCIgW3NpemVdPVwiJzE2J1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NhLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGl2aWRlclwiPjwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LXJpZ2h0XCIgKm5nSWY9XCJhY3RpdmVJdGVtID09PSAnZGF0ZSdcIiAoY2xpY2spPVwic3RvcENhbGVuZGFyQ2xvc2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtY2FyZCBjbGFzcz1cImNhbGVuZGFyLWNhcmRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jYWxlbmRhciBbKHNlbGVjdGVkKV09XCJzZWxlY3RlZERhdGVcIiAoc2VsZWN0ZWRDaGFuZ2UpPVwib25EYXRlU2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAodmlld0NoYW5nZWQpPVwib25WaWV3Q2hhbmdlZCgpXCIgW21pbkRhdGVdPVwicGFyYW1zPy5taW5EYXRlXCIgW21heERhdGVdPVwicGFyYW1zPy5tYXhEYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQ+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9tYXQtbWVudT5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDwhLS0gVmFsaWRhdGlvbiBNZXNzYWdlIC0tPlxyXG4gICAgQGlmKCFmb3JtQ29udHJvbC52YWxpZCl7XHJcbiAgICA8ZGl2IGNsYXNzPVwiZXJyb3ItbWVzc2FnZS1jb250YWluZXJcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj5cclxuICAgICAgICAgICAgPGZvcm1seS12YWxpZGF0aW9uLW1lc3NhZ2UgW2ZpZWxkXT1cImZpZWxkXCI+PC9mb3JtbHktdmFsaWRhdGlvbi1tZXNzYWdlPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gICAgQGlmKCEhcHJvcHM/Llsnc3VwcG9ydFRleHQnXSl7XHJcbiAgICA8cCBjbGFzcz1cInNhLWRyb3Bkb3duLXN1cHBvcnRUZXh0XCI+e3sgcHJvcHM/Llsnc3VwcG9ydFRleHQnXSB9fTwvcD5cclxuICAgIH1cclxuPC9kaXY+Il19
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2Ryb3Bkb3duLW1lbnUvZHJvcGRvd24tbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2Ryb3Bkb3duLW1lbnUvZHJvcGRvd24tbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBbUIsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUF1QixXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7O0FBcUJsRSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsU0FBMEI7SUFuQnJFOztRQXVCRSxlQUFV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Q0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3pCLENBQUM7OEdBMUlVLHFCQUFxQjtrR0FBckIscUJBQXFCLHlIQUNyQixjQUFjLGdMQ2pDM0Isa3NIQTBFTSx5aktEekRGLFlBQVksK1BBQ1osbUJBQW1CLDhCQUNuQixZQUFZLGtKQUNaLGFBQWEseW1CQUNiLGVBQWUsNE5BQ2YsV0FBVyw2WUFDWCxhQUFhLDRJQUNiLG1CQUFtQiwrQkFDbkIsYUFBYSw2TkFDYixnQkFBZ0IsK0JBQ2hCLGdCQUFnQjs7MkZBS1AscUJBQXFCO2tCQW5CakMsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3FCQUNuQjs4QkFLNEIsV0FBVztzQkFBckMsU0FBUzt1QkFBQyxjQUFjO2dCQUNPLGlCQUFpQjtzQkFBaEQsU0FBUzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBGb3JtbHlNb2R1bGUsIEZpZWxkVHlwZSwgRmllbGRUeXBlQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUsIE1hdE1lbnVUcmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJNb2R1bGUsIE1hdENhbGVuZGFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcclxuaW1wb3J0IHsgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi9pY29uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgVG9vbFRpcENvbXBvbmVudCB9IGZyb20gXCIuLi90b29sLXRpcC90b29sLXRpcC5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2EtZHJvcGRvd24tbWVudScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRm9ybWx5TW9kdWxlLFxyXG4gICAgTWF0TWVudU1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdENhbGVuZGFyLFxyXG4gICAgTWF0Q2FyZE1vZHVsZSxcclxuICAgIE1hdE5hdGl2ZURhdGVNb2R1bGUsXHJcbiAgICBJY29uQ29tcG9uZW50LFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIFRvb2xUaXBDb21wb25lbnRcclxuXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24tbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24tbWVudS5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcm9wZG93bk1lbnVDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGU8RmllbGRUeXBlQ29uZmlnPiB7XHJcbiAgQFZpZXdDaGlsZChNYXRNZW51VHJpZ2dlcikgbWVudVRyaWdnZXIhOiBNYXRNZW51VHJpZ2dlcjtcclxuICBAVmlld0NoaWxkKCdkcm9wZG93bkNvbnRhaW5lcicpIGRyb3Bkb3duQ29udGFpbmVyITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcblxyXG4gIGFjdGl2ZUl0ZW06IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHNlbGVjdGVkRGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xyXG4gIGlzTmF2aWdhdGluZyA9IGZhbHNlO1xyXG5cclxuICBwYXJhbXM6IGFueTtcclxuICBwbGFjZWhvbGRlckxhYmVsOiBzdHJpbmcgPSAnJztcclxuICBzaG93Q3VzdG9tVG9vbHRpcCA9IGZhbHNlO1xyXG5cclxuICBjb252ZXJ0VG9vbHRpcFRvQXJyYXkobXNnOiBhbnkpOiBzdHJpbmdbXSB7XHJcbiAgICBpZiAoIW1zZykgcmV0dXJuIFtdO1xyXG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkobXNnKSA/IG1zZyA6IFttc2ddO1xyXG4gIH1cclxuXHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5wYXJhbXMgPSB0aGlzLmZpZWxkLnByb3BzWydwYXJhbXMnXSB8fCB7fTtcclxuICAgIGlmICghdGhpcy5wYXJhbXMgfHwgT2JqZWN0LmtleXModGhpcy5wYXJhbXMpLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLnBhcmFtcyA9IHRoaXMuZmllbGQucHJvcHM7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5wbGFjZWhvbGRlckxhYmVsID1cclxuICAgICAgdGhpcy5wYXJhbXMucGxhY2Vob2xkZXIgfHxcclxuICAgICAgdGhpcy5wYXJhbXMubGFiZWwgfHxcclxuICAgICAgdGhpcy5maWVsZC5wcm9wcy5wbGFjZWhvbGRlciB8fFxyXG4gICAgICAnU2VsZWN0IGFuIG9wdGlvbic7XHJcbiAgfVxyXG5cclxuICBnZXQgbWVudUl0ZW1zKCk6IGFueVtdIHtcclxuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmZpZWxkLnByb3BzPy5vcHRpb25zO1xyXG4gICAgaWYgKG9wdGlvbnMgJiYgdHlwZW9mIChvcHRpb25zIGFzIGFueSkuc3Vic2NyaWJlID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICAgIHJldHVybiBBcnJheS5pc0FycmF5KG9wdGlvbnMpID8gb3B0aW9ucyA6IFtdO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNlbGVjdGVkSXRlbSgpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmZvcm1Db250cm9sLnZhbHVlO1xyXG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuIHRoaXMucGxhY2Vob2xkZXJMYWJlbDtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZS5uYW1lIHx8IHZhbHVlLmxhYmVsIHx8IHZhbHVlLnZhbHVlIHx8IHRoaXMucGxhY2Vob2xkZXJMYWJlbDtcclxuICAgIH1cclxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLm1lbnVJdGVtcy5maW5kKFxyXG4gICAgICAoaXRlbSkgPT4gaXRlbS52YWx1ZSA9PT0gdmFsdWUgfHwgaXRlbS5pZCA9PT0gdmFsdWVcclxuICAgICk7XHJcbiAgICByZXR1cm4gaXRlbT8ubmFtZSB8fCBpdGVtPy5sYWJlbCB8fCBTdHJpbmcodmFsdWUpIHx8IHRoaXMucGxhY2Vob2xkZXJMYWJlbDtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0KGl0ZW06IGFueSwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgaWYgKGl0ZW0udHlwZSA9PT0gJ2RhdGUnKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlSXRlbSA9IGl0ZW0udHlwZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hY3RpdmVJdGVtID0gbnVsbDtcclxuXHJcbiAgICBjb25zdCB1cGRhdGVkVmFsdWUgPSB7XHJcbiAgICAgIGhpc3RvcnlZZWFyczogaXRlbS52YWx1ZSB8fCBpdGVtLm5hbWUgfHwgbnVsbCxcclxuICAgICAgaGlzdG9yeURhdGU6IG51bGwsXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUoaXRlbS52YWx1ZSk7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc1RvdWNoZWQoKTtcclxuICAgIHRoaXMubWVudVRyaWdnZXIuY2xvc2VNZW51KCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgb3ZlcnJpZGUgZ2V0IHNob3dFcnJvcigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1Db250cm9sPy5pbnZhbGlkICYmIHRoaXMuZm9ybUNvbnRyb2w/LnRvdWNoZWQ7XHJcbiAgfVxyXG5cclxuICBnZXRFcnJvcigpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpKSByZXR1cm4gJ1RoaXMgZmllbGQgaXMgcmVxdWlyZWQnO1xyXG4gICAgcmV0dXJuICdQbGVhc2Ugc2VsZWN0IGEgdmFsaWQgb3B0aW9uJztcclxuICB9XHJcblxyXG4gIG9uVmlld0NoYW5nZWQoKSB7XHJcbiAgICB0aGlzLmlzTmF2aWdhdGluZyA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLmlzTmF2aWdhdGluZyA9IGZhbHNlKSwgMzAwKTtcclxuICB9XHJcblxyXG4gIG9uRGF0ZVNlbGVjdGVkKGRhdGU6IERhdGUpIHtcclxuICAgIGlmICh0aGlzLmlzTmF2aWdhdGluZykgcmV0dXJuO1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSBkYXRlO1xyXG5cclxuICAgIGNvbnN0IGZvcm1hdHRlZCA9IGRhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgZGF5OiAnMi1kaWdpdCcsXHJcbiAgICAgIG1vbnRoOiAnMi1kaWdpdCcsXHJcbiAgICAgIHllYXI6ICdudW1lcmljJyxcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IHVwZGF0ZWRWYWx1ZSA9IHtcclxuICAgICAgaGlzdG9yeVllYXJzOiBudWxsLFxyXG4gICAgICBoaXN0b3J5RGF0ZTogZm9ybWF0dGVkLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKGZvcm1hdHRlZCk7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc1RvdWNoZWQoKTtcclxuICAgIHRoaXMubWVudVRyaWdnZXIuY2xvc2VNZW51KCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgc3RvcENhbGVuZGFyQ2xvc2UoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgaXNJdGVtU2VsZWN0ZWQoaXRlbTogYW55KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuZm9ybUNvbnRyb2w/LnZhbHVlKSByZXR1cm4gZmFsc2U7XHJcbiAgICBjb25zdCBjdXJyZW50VmFsdWUgPSB0aGlzLmZvcm1Db250cm9sLnZhbHVlO1xyXG5cclxuICAgIGlmICh0eXBlb2YgY3VycmVudFZhbHVlID09PSAnb2JqZWN0JyAmJiBjdXJyZW50VmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICBjdXJyZW50VmFsdWUgPT09IGl0ZW0gfHxcclxuICAgICAgICBjdXJyZW50VmFsdWUudmFsdWUgPT09IGl0ZW0udmFsdWUgfHxcclxuICAgICAgICBjdXJyZW50VmFsdWUuaWQgPT09IGl0ZW0uaWRcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICBjdXJyZW50VmFsdWUgPT09IGl0ZW0udmFsdWUgfHxcclxuICAgICAgY3VycmVudFZhbHVlID09PSBpdGVtLmlkIHx8XHJcbiAgICAgIGN1cnJlbnRWYWx1ZSA9PT0gaXRlbS5uYW1lXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgb25NZW51T3BlbmVkKCk6IHZvaWQge1xyXG4gICAgY29uc3QgZWwgPSB0aGlzLmRyb3Bkb3duQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50O1xyXG4gICAgaWYgKCFlbCkgcmV0dXJuO1xyXG4gICAgY29uc3Qgd2lkdGggPSBNYXRoLnJvdW5kKGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoKTtcclxuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1kcm9wZG93bi10cmlnZ2VyLXdpZHRoJywgd2lkdGggKyAncHgnKTtcclxuICB9XHJcblxyXG4gIG9uTWVudUNsb3NlZCgpOiB2b2lkIHtcclxuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnLS1kcm9wZG93bi10cmlnZ2VyLXdpZHRoJyk7XHJcbiAgICB0aGlzLmFjdGl2ZUl0ZW0gPSBudWxsO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2EtZHJvcGRvd24tY29udGFpbmVyIHt7IHByb3BzPy5bJ2lucHV0Q29udGFpbmVyQ2xhc3MnXSB9fVwiPlxyXG4gICAgPCEtLSBMYWJlbCBhbmQgVG9vbHRpcCBTZWN0aW9uIC0tPlxyXG4gICAgQGlmKCEhcHJvcHM/LlsnbGFiZWwnXSl7XHJcbiAgICA8ZGl2IGNsYXNzPVwic2EtZHJvcGRvd24tbGFiZWwtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNhLWRyb3Bkb3duLWxhYmVsLXRvb2x0aXAtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2EtZHJvcGRvd24tbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgIHt7IHByb3BzPy5bJ2xhYmVsJ10gfX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICBAaWYoISFwcm9wcz8uWyd0b29sdGlwJ10pe1xyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRvb2x0aXAtY29udGFpbmVyXCIgKG1vdXNlZW50ZXIpPVwic2hvd0N1c3RvbVRvb2x0aXAgPSB0cnVlXCIgKG1vdXNlbGVhdmUpPVwic2hvd0N1c3RvbVRvb2x0aXAgPSBmYWxzZVwiPlxyXG4gICAgICAgICAgICAgICAgPHNhLWljb24gW2ljb25dPVwicHJvcHM/LlsndG9vbHRpcEljb24nXSB8fCAnaW5mb0NpcmNsZU91dGxpbmVkJ1wiIGN1c3RvbUNsYXNzPVwiaW5mby1pY29uXCIgY2xhc3M9XCJ0b29sdGlwLWljb24gZC1mbGV4XCIgW3NpemVdPVwicHJvcHM/LlsndG9vbHRpcEljb25TaXplJ10gfHwgJzIwJ1wiPlxyXG4gICAgICAgICAgICAgICAgPC9zYS1pY29uPlxyXG4gICAgICAgICAgICAgICAgQGlmKHNob3dDdXN0b21Ub29sdGlwKXtcclxuICAgICAgICAgICAgICAgICAgICA8c2EtdG9vbC10aXAgW21lc3NhZ2VzXT1cImNvbnZlcnRUb29sdGlwVG9BcnJheShwcm9wcz8uWyd0b29sdGlwJ10pXCIgW3BvaW50ZXJQb3NpdGlvbl09XCInbGVmdCdcIiBbc2ltcGxlTW9kZV09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zYS10b29sLXRpcD5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIH1cclxuXHJcbiAgICA8IS0tIERyb3Bkb3duIEJ1dHRvbiAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1jb250YWluZXJcIiAjZHJvcGRvd25Db250YWluZXIgW2NsYXNzLmRpc2FibGVkXT1cInBhcmFtcz8uZGlzYWJsZWRcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiAjbWVudVRyaWdnZXI9XCJtYXRNZW51VHJpZ2dlclwiIGNsYXNzPVwibWVudS10cmlnZ2VyXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cInBhcmFtcz8uZGlzYWJsZWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInBhcmFtcz8ubGFiZWwgfHwgJ0Ryb3Bkb3duIG1lbnUnXCJcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCInbWVudSdcIiBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIm1lbnVUcmlnZ2VyPy5tZW51T3BlblwiXHJcbiAgICAgICAgICAgIChtZW51T3BlbmVkKT1cIm9uTWVudU9wZW5lZCgpXCIgKG1lbnVDbG9zZWQpPVwib25NZW51Q2xvc2VkKClcIj5cclxuXHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2VsZWN0ZWQtdmFsdWVcIiBbY2xhc3MucGxhY2Vob2xkZXJdPVwiIWZvcm1Db250cm9sLnZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBzZWxlY3RlZEl0ZW0gfX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRyb3Bkb3duX3JpZ2h0X2ljb25cIj5cclxuICAgICAgICAgICAgICAgIDxzYS1pY29uIFtpY29uXT1cIidkb3duT3V0bGluZWQnXCIgW3NpemVdPVwiJzIyJ1wiPjwvc2EtaWNvbj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICA8IS0tIERyb3Bkb3duIE1lbnUgLS0+XHJcbiAgICAgICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiIGNsYXNzPVwidHdvLXBhbmVsLW1lbnVcIiBbaGFzQmFja2Ryb3BdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHdvLXBhbmVsLWRyb3Bkb3duXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtZW51SXRlbXNcIiBjbGFzcz1cIm1lbnUtaXRlbVwiIFtjbGFzcy5hY3RpdmVdPVwiaXRlbS5uYW1lID09PSBhY3RpdmVJdGVtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0KGl0ZW0sICRldmVudClcIiByb2xlPVwibWVudWl0ZW1cIiBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cImlzSXRlbVNlbGVjdGVkKGl0ZW0pXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBpdGVtLm5hbWUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzYS1pY29uICpuZ0lmPVwiaXRlbS50eXBlID09PSAnZGF0ZSdcIiBbaWNvbl09XCIncmlnaHRDaGV2cm9uJ1wiIFtzaXplXT1cIicxNidcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zYS1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpdmlkZXJcIj48L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1yaWdodFwiICpuZ0lmPVwiYWN0aXZlSXRlbSA9PT0gJ2RhdGUnXCIgKGNsaWNrKT1cInN0b3BDYWxlbmRhckNsb3NlKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWNhcmQgY2xhc3M9XCJjYWxlbmRhci1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2FsZW5kYXIgWyhzZWxlY3RlZCldPVwic2VsZWN0ZWREYXRlXCIgKHNlbGVjdGVkQ2hhbmdlKT1cIm9uRGF0ZVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZpZXdDaGFuZ2VkKT1cIm9uVmlld0NoYW5nZWQoKVwiIFttaW5EYXRlXT1cInBhcmFtcz8ubWluRGF0ZVwiIFttYXhEYXRlXT1cInBhcmFtcz8ubWF4RGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgICAgICA8L21hdC1jYXJkPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tIFZhbGlkYXRpb24gTWVzc2FnZSAtLT5cclxuICAgIEBpZighZm9ybUNvbnRyb2wudmFsaWQpe1xyXG4gICAgPGRpdiBjbGFzcz1cImVycm9yLW1lc3NhZ2UtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+XHJcbiAgICAgICAgICAgIDxmb3JtbHktdmFsaWRhdGlvbi1tZXNzYWdlIFtmaWVsZF09XCJmaWVsZFwiPjwvZm9ybWx5LXZhbGlkYXRpb24tbWVzc2FnZT5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIH1cclxuICAgIEBpZighIXByb3BzPy5bJ3N1cHBvcnRUZXh0J10pe1xyXG4gICAgPHAgY2xhc3M9XCJzYS1kcm9wZG93bi1zdXBwb3J0VGV4dFwiPnt7IHByb3BzPy5bJ3N1cHBvcnRUZXh0J10gfX08L3A+XHJcbiAgICB9XHJcbjwvZGl2PiJdfQ==
@@ -3558,6 +3558,12 @@ class DropdownMenuComponent extends FieldType {
3558
3558
  this.selectedDate = null;
3559
3559
  this.isNavigating = false;
3560
3560
  this.placeholderLabel = '';
3561
+ this.showCustomTooltip = false;
3562
+ }
3563
+ convertTooltipToArray(msg) {
3564
+ if (!msg)
3565
+ return [];
3566
+ return Array.isArray(msg) ? msg : [msg];
3561
3567
  }
3562
3568
  ngOnInit() {
3563
3569
  this.params = this.field.props['params'] || {};
@@ -3659,7 +3665,7 @@ class DropdownMenuComponent extends FieldType {
3659
3665
  this.activeItem = null;
3660
3666
  }
3661
3667
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DropdownMenuComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3662
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: DropdownMenuComponent, isStandalone: true, selector: "sa-dropdown-menu", viewQueries: [{ propertyName: "menuTrigger", first: true, predicate: MatMenuTrigger, descendants: true }, { propertyName: "dropdownContainer", first: true, predicate: ["dropdownContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"sa-dropdown-container {{ props?.['inputContainerClass'] }}\">\r\n <!-- Label and Tooltip Section -->\r\n @if(!!props?.['label']){\r\n <div class=\"sa-dropdown-label-container\">\r\n <div class=\"sa-dropdown-label-tooltip-container\">\r\n <span class=\"sa-dropdown-label\">\r\n {{ props?.['label'] }}\r\n </span>\r\n @if(!!props?.['tooltip']){\r\n <span class=\"tooltip-container\">\r\n <sa-icon [icon]=\"props?.['tooltipIcon'] || 'infoCircleOutlined'\" customClass=\"info-icon\"\r\n [matTooltip]=\"props?.['tooltip']\" matTooltipClass=\"custom-tooltip\" class=\"tooltip-icon d-flex\"\r\n [size]=\"props?.['tooltipIconSize'] || '20'\">\r\n </sa-icon>\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n <!-- Dropdown Button -->\r\n <div class=\"dropdown-container\" #dropdownContainer [class.disabled]=\"params?.disabled\">\r\n <button mat-button [matMenuTriggerFor]=\"menu\" #menuTrigger=\"matMenuTrigger\" class=\"menu-trigger\"\r\n [disabled]=\"params?.disabled\" [attr.aria-label]=\"params?.label || 'Dropdown menu'\"\r\n [attr.aria-haspopup]=\"'menu'\" [attr.aria-expanded]=\"menuTrigger?.menuOpen\"\r\n (menuOpened)=\"onMenuOpened()\" (menuClosed)=\"onMenuClosed()\">\r\n\r\n <span class=\"selected-value\" [class.placeholder]=\"!formControl.value\">\r\n {{ selectedItem }}\r\n </span>\r\n <span class=\"dropdown_right_icon\">\r\n <sa-icon [icon]=\"'downOutlined'\" [size]=\"'22'\"></sa-icon>\r\n </span>\r\n </button>\r\n\r\n <!-- Dropdown Menu -->\r\n <mat-menu #menu=\"matMenu\" class=\"two-panel-menu\" [hasBackdrop]=\"true\">\r\n <div class=\"two-panel-dropdown\">\r\n <div class=\"menu-left\">\r\n <div *ngFor=\"let item of menuItems\" class=\"menu-item\" [class.active]=\"item.name === activeItem\"\r\n (click)=\"onSelect(item, $event)\" role=\"menuitem\" [attr.aria-selected]=\"isItemSelected(item)\">\r\n\r\n <span>{{ item.name }}</span>\r\n <sa-icon *ngIf=\"item.type === 'date'\" [icon]=\"'rightChevron'\" [size]=\"'16'\" aria-hidden=\"true\">\r\n </sa-icon>\r\n </div>\r\n </div>\r\n\r\n <div class=\"divider\"></div>\r\n\r\n <div class=\"menu-right\" *ngIf=\"activeItem === 'date'\" (click)=\"stopCalendarClose($event)\">\r\n <mat-card class=\"calendar-card\">\r\n <mat-calendar [(selected)]=\"selectedDate\" (selectedChange)=\"onDateSelected($event)\"\r\n (viewChanged)=\"onViewChanged()\" [minDate]=\"params?.minDate\" [maxDate]=\"params?.maxDate\">\r\n </mat-calendar>\r\n </mat-card>\r\n </div>\r\n </div>\r\n </mat-menu>\r\n </div>\r\n\r\n <!-- Validation Message -->\r\n @if(!formControl.valid){\r\n <div class=\"error-message-container\">\r\n <span class=\"error-message\">\r\n <formly-validation-message [field]=\"field\"></formly-validation-message>\r\n </span>\r\n </div>\r\n }\r\n @if(!!props?.['supportText']){\r\n <p class=\"sa-dropdown-supportText\">{{ props?.['supportText'] }}</p>\r\n }\r\n</div>", styles: [".sa-dropdown-container{display:flex;flex-direction:column;width:100%;font-family:var(--font, Inter, sans-serif);gap:var(--small-8px, 8px)}.sa-dropdown-label-container{display:flex;flex-direction:column;gap:var(--small-4px, 4px)}.sa-dropdown-label-tooltip-container{display:flex;gap:var(--small-4px);align-items:center}.sa-dropdown-label{color:var(--text-highemphasis, #1b1d20);font-family:var(--font, Inter, sans-serif);font-size:var(--small-14px, 14px);font-weight:500;line-height:var(--medium-20px, 20px);letter-spacing:.1px}.required-asterisk{color:var(--semantic-error-500, #bd271e);margin-left:2px}.tooltip-container{display:flex;align-items:center}.info-icon{color:var(--grey-500, #777);cursor:pointer}.sa-dropdown-description{font-family:var(--font);font-size:12px;color:var(--text-lowemphasis, #666);line-height:16px;letter-spacing:.25px}.dropdown-container{width:100%;position:relative}.menu-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 var(--medium-30px, 30px) 0 var(--small-12px, 12px);border-radius:var(--small-4px, 4px);background-color:#fff;font-family:var(--font);font-size:14px;font-weight:400;line-height:20px;letter-spacing:.25px;transition:border .2s ease,color .2s ease;cursor:pointer;border:var(--border, 1px solid var(--grey-50))}.idle{--border: 1px solid var(--grey-50)}.activated{--border: 1px solid var(--primary-300)}.menu-trigger:hover{--border: 1px solid var(--primary-300);color:var(--text-highemphasis, #1b1d20)}.menu-trigger:disabled,.disabled{border:1px solid var(--grey-50)!important;opacity:.6;cursor:not-allowed}.invalid{border:1px solid var(--semantic-error-500, #bd271e)!important}.selected-value{flex:1;text-align:left;color:var(--text-lowemphasis, #555);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-value.placeholder{color:var(--text-lowemphasis, #aaa)}.menu-trigger sa-icon{color:var(--Grey-600, #475467);transition:transform .2s ease}.menu-trigger[aria-expanded=true] sa-icon{transform:rotate(180deg)}::ng-deep .two-panel-menu.mat-mdc-menu-panel{width:var(--dropdown-trigger-width, auto)!important;min-width:var(--dropdown-trigger-width, auto)!important;max-width:var(--dropdown-trigger-width, auto)!important}::ng-deep .mdc-button__label{display:flex;align-items:center;justify-content:space-between;width:100%}::ng-deep .mat-mdc-menu-content .two-panel-dropdown{width:var(--dropdown-trigger-width, 100%)!important;min-width:var(--dropdown-trigger-width, 100%)!important;max-width:var(--dropdown-trigger-width, 100%)!important;border:none;border-radius:var(--small-4px, 4px);box-shadow:none;overflow:hidden;margin-top:4px;box-shadow:0 1px 2px #0000004d}::ng-deep .mat-mdc-menu-content{box-shadow:0 1px 2px #0000004d;border:none;padding:0!important}::ng-deep .mat-mdc-elevation-specific{box-shadow:0 4px 12px #00000014!important}::ng-deep .cdk-overlay-backdrop.cdk-overlay-transparent-backdrop{background:transparent!important}.dropdown-container .menu-trigger{--dropdown-width: 100%}.menu-trigger[aria-expanded=true]{border-color:var(--primary-300)}.two-panel-menu{min-width:550px;overflow:hidden;border-radius:var(--small-8px, 8px);box-shadow:0 4px 16px #0000001f;background-color:#fff}.two-panel-dropdown{display:flex;width:100%}.menu-left{display:flex;flex-direction:column;width:100%;background-color:#fff}.menu-item{padding:10px 16px;cursor:pointer;display:flex;align-items:center;gap:var(--small-8px, 8px);justify-content:space-between;color:var(--text-highemphasis, #1C1B20);font-family:var(--font-family, Roboto);font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px}.menu-item sa-icon{display:flex;margin-top:var(--small-4px, 4px)}.menu-item:hover{background-color:var(--primary-50, #f3ebff)}.menu-item.active{background-color:var(--primary-50, #ede7ff);color:var(--primary-700, #5e35b1);font-weight:500}.sa-dropdown-supportText{font-family:var(--font-family, Roboto);font-size:11px;font-style:normal;font-weight:400;line-height:16px;margin:0 4px;letter-spacing:.25px;color:var(--text-mediumemphasis, #6D6979)}.dropdown_right_icon{position:absolute;right:-12px;top:0;color:var(--icon-grey1, #757575)}.divider{width:1px}.menu-right{width:100%;display:flex;align-items:flex-start;background-color:var(--structural-white,#FFFFFF)}.calendar-card{background:var(--structural-white,#FFFFFF);width:100%}::ng-deep .mat-calendar{width:100%;background:var(--structural-white,#FFFFFF)}.error-message-container{margin-top:4px}.error-message{color:var(--semantic-error-500, #bd271e);font-family:var(--font);font-size:11px;font-weight:400;line-height:var(--small-16px, 16px);letter-spacing:.5px}.support-label{font-family:var(--font);font-size:11px;font-weight:400;line-height:16px;letter-spacing:.5px;color:var(--text-lowemphasis);padding:var(--small-4px) var(--small-16px) 0 var(--small-16px)}.d-flex{display:flex}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: FormlyModule }, { kind: "component", type: i2$3.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3$2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i3$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i3$3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "ngmodule", type: MatNativeDateModule }, { kind: "component", type: IconComponent, selector: "sa-icon", inputs: ["img", "imgWidth", "imgHeight", "icon", "size", "color", "iconPath", "iconUrl", "customClass", "href", "hrefTarget", "iconPosition"], outputs: ["onClickEvent"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
3668
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: DropdownMenuComponent, isStandalone: true, selector: "sa-dropdown-menu", viewQueries: [{ propertyName: "menuTrigger", first: true, predicate: MatMenuTrigger, descendants: true }, { propertyName: "dropdownContainer", first: true, predicate: ["dropdownContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"sa-dropdown-container {{ props?.['inputContainerClass'] }}\">\r\n <!-- Label and Tooltip Section -->\r\n @if(!!props?.['label']){\r\n <div class=\"sa-dropdown-label-container\">\r\n <div class=\"sa-dropdown-label-tooltip-container\">\r\n <span class=\"sa-dropdown-label\">\r\n {{ props?.['label'] }}\r\n </span>\r\n @if(!!props?.['tooltip']){\r\n <span class=\"tooltip-container\" (mouseenter)=\"showCustomTooltip = true\" (mouseleave)=\"showCustomTooltip = false\">\r\n <sa-icon [icon]=\"props?.['tooltipIcon'] || 'infoCircleOutlined'\" customClass=\"info-icon\" class=\"tooltip-icon d-flex\" [size]=\"props?.['tooltipIconSize'] || '20'\">\r\n </sa-icon>\r\n @if(showCustomTooltip){\r\n <sa-tool-tip [messages]=\"convertTooltipToArray(props?.['tooltip'])\" [pointerPosition]=\"'left'\" [simpleMode]=\"true\">\r\n </sa-tool-tip>\r\n }\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n <!-- Dropdown Button -->\r\n <div class=\"dropdown-container\" #dropdownContainer [class.disabled]=\"params?.disabled\">\r\n <button mat-button [matMenuTriggerFor]=\"menu\" #menuTrigger=\"matMenuTrigger\" class=\"menu-trigger\"\r\n [disabled]=\"params?.disabled\" [attr.aria-label]=\"params?.label || 'Dropdown menu'\"\r\n [attr.aria-haspopup]=\"'menu'\" [attr.aria-expanded]=\"menuTrigger?.menuOpen\"\r\n (menuOpened)=\"onMenuOpened()\" (menuClosed)=\"onMenuClosed()\">\r\n\r\n <span class=\"selected-value\" [class.placeholder]=\"!formControl.value\">\r\n {{ selectedItem }}\r\n </span>\r\n <span class=\"dropdown_right_icon\">\r\n <sa-icon [icon]=\"'downOutlined'\" [size]=\"'22'\"></sa-icon>\r\n </span>\r\n </button>\r\n\r\n <!-- Dropdown Menu -->\r\n <mat-menu #menu=\"matMenu\" class=\"two-panel-menu\" [hasBackdrop]=\"true\">\r\n <div class=\"two-panel-dropdown\">\r\n <div class=\"menu-left\">\r\n <div *ngFor=\"let item of menuItems\" class=\"menu-item\" [class.active]=\"item.name === activeItem\"\r\n (click)=\"onSelect(item, $event)\" role=\"menuitem\" [attr.aria-selected]=\"isItemSelected(item)\">\r\n\r\n <span>{{ item.name }}</span>\r\n <sa-icon *ngIf=\"item.type === 'date'\" [icon]=\"'rightChevron'\" [size]=\"'16'\" aria-hidden=\"true\">\r\n </sa-icon>\r\n </div>\r\n </div>\r\n\r\n <div class=\"divider\"></div>\r\n\r\n <div class=\"menu-right\" *ngIf=\"activeItem === 'date'\" (click)=\"stopCalendarClose($event)\">\r\n <mat-card class=\"calendar-card\">\r\n <mat-calendar [(selected)]=\"selectedDate\" (selectedChange)=\"onDateSelected($event)\"\r\n (viewChanged)=\"onViewChanged()\" [minDate]=\"params?.minDate\" [maxDate]=\"params?.maxDate\">\r\n </mat-calendar>\r\n </mat-card>\r\n </div>\r\n </div>\r\n </mat-menu>\r\n </div>\r\n\r\n <!-- Validation Message -->\r\n @if(!formControl.valid){\r\n <div class=\"error-message-container\">\r\n <span class=\"error-message\">\r\n <formly-validation-message [field]=\"field\"></formly-validation-message>\r\n </span>\r\n </div>\r\n }\r\n @if(!!props?.['supportText']){\r\n <p class=\"sa-dropdown-supportText\">{{ props?.['supportText'] }}</p>\r\n }\r\n</div>", styles: [".sa-dropdown-container{display:flex;flex-direction:column;width:100%;font-family:var(--font, Inter, sans-serif);gap:var(--small-8px, 8px)}.sa-dropdown-label-container{display:flex;flex-direction:column;gap:var(--small-4px, 4px)}.sa-dropdown-label-tooltip-container{display:flex;gap:var(--small-4px);align-items:center}.sa-dropdown-label{color:var(--text-highemphasis, #1b1d20);font-family:var(--font, Inter, sans-serif);font-size:var(--small-14px, 14px);font-weight:500;line-height:var(--medium-20px, 20px);letter-spacing:.1px}.required-asterisk{color:var(--semantic-error-500, #bd271e);margin-left:2px}.tooltip-container{display:flex;align-items:center;position:relative}::ng-deep .tooltip-container sa-tool-tip{position:absolute;left:18px}::ng-deep .tooltip-container sa-tool-tip .tool-tip{padding:0;height:40px}::ng-deep .tooltip-container sa-tool-tip .simple-tooltip-content{max-width:fit-content}.info-icon{color:var(--grey-500, #777);cursor:pointer}.sa-dropdown-description{font-family:var(--font);font-size:12px;color:var(--text-lowemphasis, #666);line-height:16px;letter-spacing:.25px}.dropdown-container{width:100%;position:relative}.menu-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 var(--medium-30px, 30px) 0 var(--small-12px, 12px);border-radius:var(--small-4px, 4px);background-color:#fff;font-family:var(--font);font-size:14px;font-weight:400;line-height:20px;letter-spacing:.25px;transition:border .2s ease,color .2s ease;cursor:pointer;border:var(--border, 1px solid var(--grey-50))}.idle{--border: 1px solid var(--grey-50)}.activated{--border: 1px solid var(--primary-300)}.menu-trigger:hover{--border: 1px solid var(--primary-300);color:var(--text-highemphasis, #1b1d20)}.menu-trigger:disabled,.disabled{border:1px solid var(--grey-50)!important;opacity:.6;cursor:not-allowed}.invalid{border:1px solid var(--semantic-error-500, #bd271e)!important}.selected-value{flex:1;text-align:left;color:var(--text-highemphasis, #1C1B20);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-value.placeholder{color:var(--text-lowemphasis, #aaa)}.menu-trigger sa-icon{color:var(--Grey-600, #475467);transition:transform .2s ease}.menu-trigger[aria-expanded=true] sa-icon{transform:rotate(180deg)}::ng-deep .two-panel-menu.mat-mdc-menu-panel{width:var(--dropdown-trigger-width, auto)!important;min-width:var(--dropdown-trigger-width, auto)!important;max-width:var(--dropdown-trigger-width, auto)!important}::ng-deep .mdc-button__label{display:flex;align-items:center;justify-content:space-between;width:100%}::ng-deep .mat-mdc-menu-content .two-panel-dropdown{width:var(--dropdown-trigger-width, 100%)!important;min-width:var(--dropdown-trigger-width, 100%)!important;max-width:var(--dropdown-trigger-width, 100%)!important;border:none;border-radius:var(--small-4px, 4px);box-shadow:none;overflow:hidden;margin-top:4px;box-shadow:0 1px 2px #0000004d}::ng-deep .mat-mdc-menu-content{box-shadow:0 1px 2px #0000004d;border:none;padding:0!important}::ng-deep .mat-mdc-elevation-specific{box-shadow:0 4px 12px #00000014!important}::ng-deep .cdk-overlay-backdrop.cdk-overlay-transparent-backdrop{background:transparent!important}.dropdown-container .menu-trigger{--dropdown-width: 100%}.menu-trigger[aria-expanded=true]{border-color:var(--primary-300)}.two-panel-menu{min-width:550px;overflow:hidden;border-radius:var(--small-8px, 8px);box-shadow:0 4px 16px #0000001f;background-color:#fff}.two-panel-dropdown{display:flex;width:100%}.menu-left{display:flex;flex-direction:column;width:100%;background-color:#fff}.menu-item{padding:10px 16px;cursor:pointer;display:flex;align-items:center;gap:var(--small-8px, 8px);justify-content:space-between;color:var(--text-highemphasis, #1C1B20);font-family:var(--font-family, Roboto);font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px}.menu-item sa-icon{display:flex;margin-top:var(--small-4px, 4px)}.menu-item:hover{background-color:var(--primary-50, #f3ebff)}.menu-item.active{background-color:var(--primary-50, #ede7ff);color:var(--primary-700, #5e35b1);font-weight:500}.sa-dropdown-supportText{font-family:var(--font-family, Roboto);font-size:11px;font-style:normal;font-weight:400;line-height:16px;margin:0 4px;letter-spacing:.25px;color:var(--text-mediumemphasis, #6D6979)}.dropdown_right_icon{position:absolute;right:-12px;top:0;color:var(--icon-grey1, #757575)}.divider{width:1px}.menu-right{width:100%;display:flex;align-items:flex-start;background-color:var(--structural-white,#FFFFFF)}.calendar-card{background:var(--structural-white,#FFFFFF);width:100%}::ng-deep .mat-calendar{width:100%;background:var(--structural-white,#FFFFFF)}.error-message-container{margin-top:4px}.error-message{color:var(--semantic-error-500, #bd271e);font-family:var(--font);font-size:11px;font-weight:400;line-height:var(--small-16px, 16px);letter-spacing:.5px}.support-label{font-family:var(--font);font-size:11px;font-weight:400;line-height:16px;letter-spacing:.5px;color:var(--text-lowemphasis);padding:var(--small-4px) var(--small-16px) 0 var(--small-16px)}.d-flex{display:flex}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: FormlyModule }, { kind: "component", type: i2$3.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3$2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i3$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i3$3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "ngmodule", type: MatNativeDateModule }, { kind: "component", type: IconComponent, selector: "sa-icon", inputs: ["img", "imgWidth", "imgHeight", "icon", "size", "color", "iconPath", "iconUrl", "customClass", "href", "hrefTarget", "iconPosition"], outputs: ["onClickEvent"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "component", type: ToolTipComponent, selector: "sa-tool-tip", inputs: ["messages", "pointerPosition", "simpleMode"], outputs: ["toolTipSkipped", "toolTipSeen"] }] }); }
3663
3669
  }
3664
3670
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DropdownMenuComponent, decorators: [{
3665
3671
  type: Component,
@@ -3674,7 +3680,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
3674
3680
  MatNativeDateModule,
3675
3681
  IconComponent,
3676
3682
  MatTooltipModule,
3677
- ], template: "<div class=\"sa-dropdown-container {{ props?.['inputContainerClass'] }}\">\r\n <!-- Label and Tooltip Section -->\r\n @if(!!props?.['label']){\r\n <div class=\"sa-dropdown-label-container\">\r\n <div class=\"sa-dropdown-label-tooltip-container\">\r\n <span class=\"sa-dropdown-label\">\r\n {{ props?.['label'] }}\r\n </span>\r\n @if(!!props?.['tooltip']){\r\n <span class=\"tooltip-container\">\r\n <sa-icon [icon]=\"props?.['tooltipIcon'] || 'infoCircleOutlined'\" customClass=\"info-icon\"\r\n [matTooltip]=\"props?.['tooltip']\" matTooltipClass=\"custom-tooltip\" class=\"tooltip-icon d-flex\"\r\n [size]=\"props?.['tooltipIconSize'] || '20'\">\r\n </sa-icon>\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n <!-- Dropdown Button -->\r\n <div class=\"dropdown-container\" #dropdownContainer [class.disabled]=\"params?.disabled\">\r\n <button mat-button [matMenuTriggerFor]=\"menu\" #menuTrigger=\"matMenuTrigger\" class=\"menu-trigger\"\r\n [disabled]=\"params?.disabled\" [attr.aria-label]=\"params?.label || 'Dropdown menu'\"\r\n [attr.aria-haspopup]=\"'menu'\" [attr.aria-expanded]=\"menuTrigger?.menuOpen\"\r\n (menuOpened)=\"onMenuOpened()\" (menuClosed)=\"onMenuClosed()\">\r\n\r\n <span class=\"selected-value\" [class.placeholder]=\"!formControl.value\">\r\n {{ selectedItem }}\r\n </span>\r\n <span class=\"dropdown_right_icon\">\r\n <sa-icon [icon]=\"'downOutlined'\" [size]=\"'22'\"></sa-icon>\r\n </span>\r\n </button>\r\n\r\n <!-- Dropdown Menu -->\r\n <mat-menu #menu=\"matMenu\" class=\"two-panel-menu\" [hasBackdrop]=\"true\">\r\n <div class=\"two-panel-dropdown\">\r\n <div class=\"menu-left\">\r\n <div *ngFor=\"let item of menuItems\" class=\"menu-item\" [class.active]=\"item.name === activeItem\"\r\n (click)=\"onSelect(item, $event)\" role=\"menuitem\" [attr.aria-selected]=\"isItemSelected(item)\">\r\n\r\n <span>{{ item.name }}</span>\r\n <sa-icon *ngIf=\"item.type === 'date'\" [icon]=\"'rightChevron'\" [size]=\"'16'\" aria-hidden=\"true\">\r\n </sa-icon>\r\n </div>\r\n </div>\r\n\r\n <div class=\"divider\"></div>\r\n\r\n <div class=\"menu-right\" *ngIf=\"activeItem === 'date'\" (click)=\"stopCalendarClose($event)\">\r\n <mat-card class=\"calendar-card\">\r\n <mat-calendar [(selected)]=\"selectedDate\" (selectedChange)=\"onDateSelected($event)\"\r\n (viewChanged)=\"onViewChanged()\" [minDate]=\"params?.minDate\" [maxDate]=\"params?.maxDate\">\r\n </mat-calendar>\r\n </mat-card>\r\n </div>\r\n </div>\r\n </mat-menu>\r\n </div>\r\n\r\n <!-- Validation Message -->\r\n @if(!formControl.valid){\r\n <div class=\"error-message-container\">\r\n <span class=\"error-message\">\r\n <formly-validation-message [field]=\"field\"></formly-validation-message>\r\n </span>\r\n </div>\r\n }\r\n @if(!!props?.['supportText']){\r\n <p class=\"sa-dropdown-supportText\">{{ props?.['supportText'] }}</p>\r\n }\r\n</div>", styles: [".sa-dropdown-container{display:flex;flex-direction:column;width:100%;font-family:var(--font, Inter, sans-serif);gap:var(--small-8px, 8px)}.sa-dropdown-label-container{display:flex;flex-direction:column;gap:var(--small-4px, 4px)}.sa-dropdown-label-tooltip-container{display:flex;gap:var(--small-4px);align-items:center}.sa-dropdown-label{color:var(--text-highemphasis, #1b1d20);font-family:var(--font, Inter, sans-serif);font-size:var(--small-14px, 14px);font-weight:500;line-height:var(--medium-20px, 20px);letter-spacing:.1px}.required-asterisk{color:var(--semantic-error-500, #bd271e);margin-left:2px}.tooltip-container{display:flex;align-items:center}.info-icon{color:var(--grey-500, #777);cursor:pointer}.sa-dropdown-description{font-family:var(--font);font-size:12px;color:var(--text-lowemphasis, #666);line-height:16px;letter-spacing:.25px}.dropdown-container{width:100%;position:relative}.menu-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 var(--medium-30px, 30px) 0 var(--small-12px, 12px);border-radius:var(--small-4px, 4px);background-color:#fff;font-family:var(--font);font-size:14px;font-weight:400;line-height:20px;letter-spacing:.25px;transition:border .2s ease,color .2s ease;cursor:pointer;border:var(--border, 1px solid var(--grey-50))}.idle{--border: 1px solid var(--grey-50)}.activated{--border: 1px solid var(--primary-300)}.menu-trigger:hover{--border: 1px solid var(--primary-300);color:var(--text-highemphasis, #1b1d20)}.menu-trigger:disabled,.disabled{border:1px solid var(--grey-50)!important;opacity:.6;cursor:not-allowed}.invalid{border:1px solid var(--semantic-error-500, #bd271e)!important}.selected-value{flex:1;text-align:left;color:var(--text-lowemphasis, #555);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-value.placeholder{color:var(--text-lowemphasis, #aaa)}.menu-trigger sa-icon{color:var(--Grey-600, #475467);transition:transform .2s ease}.menu-trigger[aria-expanded=true] sa-icon{transform:rotate(180deg)}::ng-deep .two-panel-menu.mat-mdc-menu-panel{width:var(--dropdown-trigger-width, auto)!important;min-width:var(--dropdown-trigger-width, auto)!important;max-width:var(--dropdown-trigger-width, auto)!important}::ng-deep .mdc-button__label{display:flex;align-items:center;justify-content:space-between;width:100%}::ng-deep .mat-mdc-menu-content .two-panel-dropdown{width:var(--dropdown-trigger-width, 100%)!important;min-width:var(--dropdown-trigger-width, 100%)!important;max-width:var(--dropdown-trigger-width, 100%)!important;border:none;border-radius:var(--small-4px, 4px);box-shadow:none;overflow:hidden;margin-top:4px;box-shadow:0 1px 2px #0000004d}::ng-deep .mat-mdc-menu-content{box-shadow:0 1px 2px #0000004d;border:none;padding:0!important}::ng-deep .mat-mdc-elevation-specific{box-shadow:0 4px 12px #00000014!important}::ng-deep .cdk-overlay-backdrop.cdk-overlay-transparent-backdrop{background:transparent!important}.dropdown-container .menu-trigger{--dropdown-width: 100%}.menu-trigger[aria-expanded=true]{border-color:var(--primary-300)}.two-panel-menu{min-width:550px;overflow:hidden;border-radius:var(--small-8px, 8px);box-shadow:0 4px 16px #0000001f;background-color:#fff}.two-panel-dropdown{display:flex;width:100%}.menu-left{display:flex;flex-direction:column;width:100%;background-color:#fff}.menu-item{padding:10px 16px;cursor:pointer;display:flex;align-items:center;gap:var(--small-8px, 8px);justify-content:space-between;color:var(--text-highemphasis, #1C1B20);font-family:var(--font-family, Roboto);font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px}.menu-item sa-icon{display:flex;margin-top:var(--small-4px, 4px)}.menu-item:hover{background-color:var(--primary-50, #f3ebff)}.menu-item.active{background-color:var(--primary-50, #ede7ff);color:var(--primary-700, #5e35b1);font-weight:500}.sa-dropdown-supportText{font-family:var(--font-family, Roboto);font-size:11px;font-style:normal;font-weight:400;line-height:16px;margin:0 4px;letter-spacing:.25px;color:var(--text-mediumemphasis, #6D6979)}.dropdown_right_icon{position:absolute;right:-12px;top:0;color:var(--icon-grey1, #757575)}.divider{width:1px}.menu-right{width:100%;display:flex;align-items:flex-start;background-color:var(--structural-white,#FFFFFF)}.calendar-card{background:var(--structural-white,#FFFFFF);width:100%}::ng-deep .mat-calendar{width:100%;background:var(--structural-white,#FFFFFF)}.error-message-container{margin-top:4px}.error-message{color:var(--semantic-error-500, #bd271e);font-family:var(--font);font-size:11px;font-weight:400;line-height:var(--small-16px, 16px);letter-spacing:.5px}.support-label{font-family:var(--font);font-size:11px;font-weight:400;line-height:16px;letter-spacing:.5px;color:var(--text-lowemphasis);padding:var(--small-4px) var(--small-16px) 0 var(--small-16px)}.d-flex{display:flex}\n"] }]
3683
+ ToolTipComponent
3684
+ ], template: "<div class=\"sa-dropdown-container {{ props?.['inputContainerClass'] }}\">\r\n <!-- Label and Tooltip Section -->\r\n @if(!!props?.['label']){\r\n <div class=\"sa-dropdown-label-container\">\r\n <div class=\"sa-dropdown-label-tooltip-container\">\r\n <span class=\"sa-dropdown-label\">\r\n {{ props?.['label'] }}\r\n </span>\r\n @if(!!props?.['tooltip']){\r\n <span class=\"tooltip-container\" (mouseenter)=\"showCustomTooltip = true\" (mouseleave)=\"showCustomTooltip = false\">\r\n <sa-icon [icon]=\"props?.['tooltipIcon'] || 'infoCircleOutlined'\" customClass=\"info-icon\" class=\"tooltip-icon d-flex\" [size]=\"props?.['tooltipIconSize'] || '20'\">\r\n </sa-icon>\r\n @if(showCustomTooltip){\r\n <sa-tool-tip [messages]=\"convertTooltipToArray(props?.['tooltip'])\" [pointerPosition]=\"'left'\" [simpleMode]=\"true\">\r\n </sa-tool-tip>\r\n }\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n <!-- Dropdown Button -->\r\n <div class=\"dropdown-container\" #dropdownContainer [class.disabled]=\"params?.disabled\">\r\n <button mat-button [matMenuTriggerFor]=\"menu\" #menuTrigger=\"matMenuTrigger\" class=\"menu-trigger\"\r\n [disabled]=\"params?.disabled\" [attr.aria-label]=\"params?.label || 'Dropdown menu'\"\r\n [attr.aria-haspopup]=\"'menu'\" [attr.aria-expanded]=\"menuTrigger?.menuOpen\"\r\n (menuOpened)=\"onMenuOpened()\" (menuClosed)=\"onMenuClosed()\">\r\n\r\n <span class=\"selected-value\" [class.placeholder]=\"!formControl.value\">\r\n {{ selectedItem }}\r\n </span>\r\n <span class=\"dropdown_right_icon\">\r\n <sa-icon [icon]=\"'downOutlined'\" [size]=\"'22'\"></sa-icon>\r\n </span>\r\n </button>\r\n\r\n <!-- Dropdown Menu -->\r\n <mat-menu #menu=\"matMenu\" class=\"two-panel-menu\" [hasBackdrop]=\"true\">\r\n <div class=\"two-panel-dropdown\">\r\n <div class=\"menu-left\">\r\n <div *ngFor=\"let item of menuItems\" class=\"menu-item\" [class.active]=\"item.name === activeItem\"\r\n (click)=\"onSelect(item, $event)\" role=\"menuitem\" [attr.aria-selected]=\"isItemSelected(item)\">\r\n\r\n <span>{{ item.name }}</span>\r\n <sa-icon *ngIf=\"item.type === 'date'\" [icon]=\"'rightChevron'\" [size]=\"'16'\" aria-hidden=\"true\">\r\n </sa-icon>\r\n </div>\r\n </div>\r\n\r\n <div class=\"divider\"></div>\r\n\r\n <div class=\"menu-right\" *ngIf=\"activeItem === 'date'\" (click)=\"stopCalendarClose($event)\">\r\n <mat-card class=\"calendar-card\">\r\n <mat-calendar [(selected)]=\"selectedDate\" (selectedChange)=\"onDateSelected($event)\"\r\n (viewChanged)=\"onViewChanged()\" [minDate]=\"params?.minDate\" [maxDate]=\"params?.maxDate\">\r\n </mat-calendar>\r\n </mat-card>\r\n </div>\r\n </div>\r\n </mat-menu>\r\n </div>\r\n\r\n <!-- Validation Message -->\r\n @if(!formControl.valid){\r\n <div class=\"error-message-container\">\r\n <span class=\"error-message\">\r\n <formly-validation-message [field]=\"field\"></formly-validation-message>\r\n </span>\r\n </div>\r\n }\r\n @if(!!props?.['supportText']){\r\n <p class=\"sa-dropdown-supportText\">{{ props?.['supportText'] }}</p>\r\n }\r\n</div>", styles: [".sa-dropdown-container{display:flex;flex-direction:column;width:100%;font-family:var(--font, Inter, sans-serif);gap:var(--small-8px, 8px)}.sa-dropdown-label-container{display:flex;flex-direction:column;gap:var(--small-4px, 4px)}.sa-dropdown-label-tooltip-container{display:flex;gap:var(--small-4px);align-items:center}.sa-dropdown-label{color:var(--text-highemphasis, #1b1d20);font-family:var(--font, Inter, sans-serif);font-size:var(--small-14px, 14px);font-weight:500;line-height:var(--medium-20px, 20px);letter-spacing:.1px}.required-asterisk{color:var(--semantic-error-500, #bd271e);margin-left:2px}.tooltip-container{display:flex;align-items:center;position:relative}::ng-deep .tooltip-container sa-tool-tip{position:absolute;left:18px}::ng-deep .tooltip-container sa-tool-tip .tool-tip{padding:0;height:40px}::ng-deep .tooltip-container sa-tool-tip .simple-tooltip-content{max-width:fit-content}.info-icon{color:var(--grey-500, #777);cursor:pointer}.sa-dropdown-description{font-family:var(--font);font-size:12px;color:var(--text-lowemphasis, #666);line-height:16px;letter-spacing:.25px}.dropdown-container{width:100%;position:relative}.menu-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 var(--medium-30px, 30px) 0 var(--small-12px, 12px);border-radius:var(--small-4px, 4px);background-color:#fff;font-family:var(--font);font-size:14px;font-weight:400;line-height:20px;letter-spacing:.25px;transition:border .2s ease,color .2s ease;cursor:pointer;border:var(--border, 1px solid var(--grey-50))}.idle{--border: 1px solid var(--grey-50)}.activated{--border: 1px solid var(--primary-300)}.menu-trigger:hover{--border: 1px solid var(--primary-300);color:var(--text-highemphasis, #1b1d20)}.menu-trigger:disabled,.disabled{border:1px solid var(--grey-50)!important;opacity:.6;cursor:not-allowed}.invalid{border:1px solid var(--semantic-error-500, #bd271e)!important}.selected-value{flex:1;text-align:left;color:var(--text-highemphasis, #1C1B20);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-value.placeholder{color:var(--text-lowemphasis, #aaa)}.menu-trigger sa-icon{color:var(--Grey-600, #475467);transition:transform .2s ease}.menu-trigger[aria-expanded=true] sa-icon{transform:rotate(180deg)}::ng-deep .two-panel-menu.mat-mdc-menu-panel{width:var(--dropdown-trigger-width, auto)!important;min-width:var(--dropdown-trigger-width, auto)!important;max-width:var(--dropdown-trigger-width, auto)!important}::ng-deep .mdc-button__label{display:flex;align-items:center;justify-content:space-between;width:100%}::ng-deep .mat-mdc-menu-content .two-panel-dropdown{width:var(--dropdown-trigger-width, 100%)!important;min-width:var(--dropdown-trigger-width, 100%)!important;max-width:var(--dropdown-trigger-width, 100%)!important;border:none;border-radius:var(--small-4px, 4px);box-shadow:none;overflow:hidden;margin-top:4px;box-shadow:0 1px 2px #0000004d}::ng-deep .mat-mdc-menu-content{box-shadow:0 1px 2px #0000004d;border:none;padding:0!important}::ng-deep .mat-mdc-elevation-specific{box-shadow:0 4px 12px #00000014!important}::ng-deep .cdk-overlay-backdrop.cdk-overlay-transparent-backdrop{background:transparent!important}.dropdown-container .menu-trigger{--dropdown-width: 100%}.menu-trigger[aria-expanded=true]{border-color:var(--primary-300)}.two-panel-menu{min-width:550px;overflow:hidden;border-radius:var(--small-8px, 8px);box-shadow:0 4px 16px #0000001f;background-color:#fff}.two-panel-dropdown{display:flex;width:100%}.menu-left{display:flex;flex-direction:column;width:100%;background-color:#fff}.menu-item{padding:10px 16px;cursor:pointer;display:flex;align-items:center;gap:var(--small-8px, 8px);justify-content:space-between;color:var(--text-highemphasis, #1C1B20);font-family:var(--font-family, Roboto);font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px}.menu-item sa-icon{display:flex;margin-top:var(--small-4px, 4px)}.menu-item:hover{background-color:var(--primary-50, #f3ebff)}.menu-item.active{background-color:var(--primary-50, #ede7ff);color:var(--primary-700, #5e35b1);font-weight:500}.sa-dropdown-supportText{font-family:var(--font-family, Roboto);font-size:11px;font-style:normal;font-weight:400;line-height:16px;margin:0 4px;letter-spacing:.25px;color:var(--text-mediumemphasis, #6D6979)}.dropdown_right_icon{position:absolute;right:-12px;top:0;color:var(--icon-grey1, #757575)}.divider{width:1px}.menu-right{width:100%;display:flex;align-items:flex-start;background-color:var(--structural-white,#FFFFFF)}.calendar-card{background:var(--structural-white,#FFFFFF);width:100%}::ng-deep .mat-calendar{width:100%;background:var(--structural-white,#FFFFFF)}.error-message-container{margin-top:4px}.error-message{color:var(--semantic-error-500, #bd271e);font-family:var(--font);font-size:11px;font-weight:400;line-height:var(--small-16px, 16px);letter-spacing:.5px}.support-label{font-family:var(--font);font-size:11px;font-weight:400;line-height:16px;letter-spacing:.5px;color:var(--text-lowemphasis);padding:var(--small-4px) var(--small-16px) 0 var(--small-16px)}.d-flex{display:flex}\n"] }]
3678
3685
  }], propDecorators: { menuTrigger: [{
3679
3686
  type: ViewChild,
3680
3687
  args: [MatMenuTrigger]