@sarasanalytics-com/design-system 0.0.172 → 0.0.173

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.
@@ -130,7 +130,7 @@ export class DropdownMenuComponent extends FieldType {
130
130
  this.activeItem = null;
131
131
  }
132
132
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DropdownMenuComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
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"] }] }); }
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?.['help']){\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?.['help'])\" [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?.['description']){\r\n <p class=\"sa-dropdown-supportText\">{{ props?.['description'] }}</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"] }] }); }
134
134
  }
135
135
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DropdownMenuComponent, decorators: [{
136
136
  type: Component,
@@ -146,7 +146,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
146
146
  IconComponent,
147
147
  MatTooltipModule,
148
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"] }]
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?.['help']){\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?.['help'])\" [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?.['description']){\r\n <p class=\"sa-dropdown-supportText\">{{ props?.['description'] }}</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"] }]
150
150
  }], propDecorators: { menuTrigger: [{
151
151
  type: ViewChild,
152
152
  args: [MatMenuTrigger]
@@ -154,4 +154,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
154
154
  type: ViewChild,
155
155
  args: ['dropdownContainer']
156
156
  }] } });
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==
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2Ryb3Bkb3duLW1lbnUvZHJvcGRvd24tbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2Ryb3Bkb3duLW1lbnUvZHJvcGRvd24tbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBbUIsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUF1QixXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7O0FBcUJsRSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsU0FBMEI7SUFuQnJFOztRQXVCRSxlQUFV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Q0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3pCLENBQUM7OEdBMUlVLHFCQUFxQjtrR0FBckIscUJBQXFCLHlIQUNyQixjQUFjLGdMQ2pDM0IsNHJIQTBFTSx5aktEekRGLFlBQVksK1BBQ1osbUJBQW1CLDhCQUNuQixZQUFZLGtKQUNaLGFBQWEseW1CQUNiLGVBQWUsNE5BQ2YsV0FBVyw2WUFDWCxhQUFhLDRJQUNiLG1CQUFtQiwrQkFDbkIsYUFBYSw2TkFDYixnQkFBZ0IsK0JBQ2hCLGdCQUFnQjs7MkZBS1AscUJBQXFCO2tCQW5CakMsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3FCQUNuQjs4QkFLNEIsV0FBVztzQkFBckMsU0FBUzt1QkFBQyxjQUFjO2dCQUNPLGlCQUFpQjtzQkFBaEQsU0FBUzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBGb3JtbHlNb2R1bGUsIEZpZWxkVHlwZSwgRmllbGRUeXBlQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUsIE1hdE1lbnVUcmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJNb2R1bGUsIE1hdENhbGVuZGFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcclxuaW1wb3J0IHsgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi9pY29uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgVG9vbFRpcENvbXBvbmVudCB9IGZyb20gXCIuLi90b29sLXRpcC90b29sLXRpcC5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2EtZHJvcGRvd24tbWVudScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRm9ybWx5TW9kdWxlLFxyXG4gICAgTWF0TWVudU1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdENhbGVuZGFyLFxyXG4gICAgTWF0Q2FyZE1vZHVsZSxcclxuICAgIE1hdE5hdGl2ZURhdGVNb2R1bGUsXHJcbiAgICBJY29uQ29tcG9uZW50LFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIFRvb2xUaXBDb21wb25lbnRcclxuXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24tbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24tbWVudS5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcm9wZG93bk1lbnVDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGU8RmllbGRUeXBlQ29uZmlnPiB7XHJcbiAgQFZpZXdDaGlsZChNYXRNZW51VHJpZ2dlcikgbWVudVRyaWdnZXIhOiBNYXRNZW51VHJpZ2dlcjtcclxuICBAVmlld0NoaWxkKCdkcm9wZG93bkNvbnRhaW5lcicpIGRyb3Bkb3duQ29udGFpbmVyITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcblxyXG4gIGFjdGl2ZUl0ZW06IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHNlbGVjdGVkRGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xyXG4gIGlzTmF2aWdhdGluZyA9IGZhbHNlO1xyXG5cclxuICBwYXJhbXM6IGFueTtcclxuICBwbGFjZWhvbGRlckxhYmVsOiBzdHJpbmcgPSAnJztcclxuICBzaG93Q3VzdG9tVG9vbHRpcCA9IGZhbHNlO1xyXG5cclxuICBjb252ZXJ0VG9vbHRpcFRvQXJyYXkobXNnOiBhbnkpOiBzdHJpbmdbXSB7XHJcbiAgICBpZiAoIW1zZykgcmV0dXJuIFtdO1xyXG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkobXNnKSA/IG1zZyA6IFttc2ddO1xyXG4gIH1cclxuXHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5wYXJhbXMgPSB0aGlzLmZpZWxkLnByb3BzWydwYXJhbXMnXSB8fCB7fTtcclxuICAgIGlmICghdGhpcy5wYXJhbXMgfHwgT2JqZWN0LmtleXModGhpcy5wYXJhbXMpLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLnBhcmFtcyA9IHRoaXMuZmllbGQucHJvcHM7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5wbGFjZWhvbGRlckxhYmVsID1cclxuICAgICAgdGhpcy5wYXJhbXMucGxhY2Vob2xkZXIgfHxcclxuICAgICAgdGhpcy5wYXJhbXMubGFiZWwgfHxcclxuICAgICAgdGhpcy5maWVsZC5wcm9wcy5wbGFjZWhvbGRlciB8fFxyXG4gICAgICAnU2VsZWN0IGFuIG9wdGlvbic7XHJcbiAgfVxyXG5cclxuICBnZXQgbWVudUl0ZW1zKCk6IGFueVtdIHtcclxuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmZpZWxkLnByb3BzPy5vcHRpb25zO1xyXG4gICAgaWYgKG9wdGlvbnMgJiYgdHlwZW9mIChvcHRpb25zIGFzIGFueSkuc3Vic2NyaWJlID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICAgIHJldHVybiBBcnJheS5pc0FycmF5KG9wdGlvbnMpID8gb3B0aW9ucyA6IFtdO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNlbGVjdGVkSXRlbSgpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmZvcm1Db250cm9sLnZhbHVlO1xyXG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuIHRoaXMucGxhY2Vob2xkZXJMYWJlbDtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZS5uYW1lIHx8IHZhbHVlLmxhYmVsIHx8IHZhbHVlLnZhbHVlIHx8IHRoaXMucGxhY2Vob2xkZXJMYWJlbDtcclxuICAgIH1cclxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLm1lbnVJdGVtcy5maW5kKFxyXG4gICAgICAoaXRlbSkgPT4gaXRlbS52YWx1ZSA9PT0gdmFsdWUgfHwgaXRlbS5pZCA9PT0gdmFsdWVcclxuICAgICk7XHJcbiAgICByZXR1cm4gaXRlbT8ubmFtZSB8fCBpdGVtPy5sYWJlbCB8fCBTdHJpbmcodmFsdWUpIHx8IHRoaXMucGxhY2Vob2xkZXJMYWJlbDtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0KGl0ZW06IGFueSwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgaWYgKGl0ZW0udHlwZSA9PT0gJ2RhdGUnKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlSXRlbSA9IGl0ZW0udHlwZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hY3RpdmVJdGVtID0gbnVsbDtcclxuXHJcbiAgICBjb25zdCB1cGRhdGVkVmFsdWUgPSB7XHJcbiAgICAgIGhpc3RvcnlZZWFyczogaXRlbS52YWx1ZSB8fCBpdGVtLm5hbWUgfHwgbnVsbCxcclxuICAgICAgaGlzdG9yeURhdGU6IG51bGwsXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUoaXRlbS52YWx1ZSk7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc1RvdWNoZWQoKTtcclxuICAgIHRoaXMubWVudVRyaWdnZXIuY2xvc2VNZW51KCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgb3ZlcnJpZGUgZ2V0IHNob3dFcnJvcigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1Db250cm9sPy5pbnZhbGlkICYmIHRoaXMuZm9ybUNvbnRyb2w/LnRvdWNoZWQ7XHJcbiAgfVxyXG5cclxuICBnZXRFcnJvcigpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpKSByZXR1cm4gJ1RoaXMgZmllbGQgaXMgcmVxdWlyZWQnO1xyXG4gICAgcmV0dXJuICdQbGVhc2Ugc2VsZWN0IGEgdmFsaWQgb3B0aW9uJztcclxuICB9XHJcblxyXG4gIG9uVmlld0NoYW5nZWQoKSB7XHJcbiAgICB0aGlzLmlzTmF2aWdhdGluZyA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLmlzTmF2aWdhdGluZyA9IGZhbHNlKSwgMzAwKTtcclxuICB9XHJcblxyXG4gIG9uRGF0ZVNlbGVjdGVkKGRhdGU6IERhdGUpIHtcclxuICAgIGlmICh0aGlzLmlzTmF2aWdhdGluZykgcmV0dXJuO1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSBkYXRlO1xyXG5cclxuICAgIGNvbnN0IGZvcm1hdHRlZCA9IGRhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgZGF5OiAnMi1kaWdpdCcsXHJcbiAgICAgIG1vbnRoOiAnMi1kaWdpdCcsXHJcbiAgICAgIHllYXI6ICdudW1lcmljJyxcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IHVwZGF0ZWRWYWx1ZSA9IHtcclxuICAgICAgaGlzdG9yeVllYXJzOiBudWxsLFxyXG4gICAgICBoaXN0b3J5RGF0ZTogZm9ybWF0dGVkLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKGZvcm1hdHRlZCk7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc1RvdWNoZWQoKTtcclxuICAgIHRoaXMubWVudVRyaWdnZXIuY2xvc2VNZW51KCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgc3RvcENhbGVuZGFyQ2xvc2UoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgaXNJdGVtU2VsZWN0ZWQoaXRlbTogYW55KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuZm9ybUNvbnRyb2w/LnZhbHVlKSByZXR1cm4gZmFsc2U7XHJcbiAgICBjb25zdCBjdXJyZW50VmFsdWUgPSB0aGlzLmZvcm1Db250cm9sLnZhbHVlO1xyXG5cclxuICAgIGlmICh0eXBlb2YgY3VycmVudFZhbHVlID09PSAnb2JqZWN0JyAmJiBjdXJyZW50VmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICBjdXJyZW50VmFsdWUgPT09IGl0ZW0gfHxcclxuICAgICAgICBjdXJyZW50VmFsdWUudmFsdWUgPT09IGl0ZW0udmFsdWUgfHxcclxuICAgICAgICBjdXJyZW50VmFsdWUuaWQgPT09IGl0ZW0uaWRcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICBjdXJyZW50VmFsdWUgPT09IGl0ZW0udmFsdWUgfHxcclxuICAgICAgY3VycmVudFZhbHVlID09PSBpdGVtLmlkIHx8XHJcbiAgICAgIGN1cnJlbnRWYWx1ZSA9PT0gaXRlbS5uYW1lXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgb25NZW51T3BlbmVkKCk6IHZvaWQge1xyXG4gICAgY29uc3QgZWwgPSB0aGlzLmRyb3Bkb3duQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50O1xyXG4gICAgaWYgKCFlbCkgcmV0dXJuO1xyXG4gICAgY29uc3Qgd2lkdGggPSBNYXRoLnJvdW5kKGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoKTtcclxuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1kcm9wZG93bi10cmlnZ2VyLXdpZHRoJywgd2lkdGggKyAncHgnKTtcclxuICB9XHJcblxyXG4gIG9uTWVudUNsb3NlZCgpOiB2b2lkIHtcclxuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnLS1kcm9wZG93bi10cmlnZ2VyLXdpZHRoJyk7XHJcbiAgICB0aGlzLmFjdGl2ZUl0ZW0gPSBudWxsO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2EtZHJvcGRvd24tY29udGFpbmVyIHt7IHByb3BzPy5bJ2lucHV0Q29udGFpbmVyQ2xhc3MnXSB9fVwiPlxyXG4gICAgPCEtLSBMYWJlbCBhbmQgVG9vbHRpcCBTZWN0aW9uIC0tPlxyXG4gICAgQGlmKCEhcHJvcHM/LlsnbGFiZWwnXSl7XHJcbiAgICA8ZGl2IGNsYXNzPVwic2EtZHJvcGRvd24tbGFiZWwtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNhLWRyb3Bkb3duLWxhYmVsLXRvb2x0aXAtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2EtZHJvcGRvd24tbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgIHt7IHByb3BzPy5bJ2xhYmVsJ10gfX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICBAaWYoISFwcm9wcz8uWydoZWxwJ10pe1xyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRvb2x0aXAtY29udGFpbmVyXCIgKG1vdXNlZW50ZXIpPVwic2hvd0N1c3RvbVRvb2x0aXAgPSB0cnVlXCIgKG1vdXNlbGVhdmUpPVwic2hvd0N1c3RvbVRvb2x0aXAgPSBmYWxzZVwiPlxyXG4gICAgICAgICAgICAgICAgPHNhLWljb24gW2ljb25dPVwicHJvcHM/LlsndG9vbHRpcEljb24nXSB8fCAnaW5mb0NpcmNsZU91dGxpbmVkJ1wiIGN1c3RvbUNsYXNzPVwiaW5mby1pY29uXCIgY2xhc3M9XCJ0b29sdGlwLWljb24gZC1mbGV4XCIgW3NpemVdPVwicHJvcHM/LlsndG9vbHRpcEljb25TaXplJ10gfHwgJzIwJ1wiPlxyXG4gICAgICAgICAgICAgICAgPC9zYS1pY29uPlxyXG4gICAgICAgICAgICAgICAgQGlmKHNob3dDdXN0b21Ub29sdGlwKXtcclxuICAgICAgICAgICAgICAgICAgICA8c2EtdG9vbC10aXAgW21lc3NhZ2VzXT1cImNvbnZlcnRUb29sdGlwVG9BcnJheShwcm9wcz8uWydoZWxwJ10pXCIgW3BvaW50ZXJQb3NpdGlvbl09XCInbGVmdCdcIiBbc2ltcGxlTW9kZV09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zYS10b29sLXRpcD5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIH1cclxuXHJcbiAgICA8IS0tIERyb3Bkb3duIEJ1dHRvbiAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1jb250YWluZXJcIiAjZHJvcGRvd25Db250YWluZXIgW2NsYXNzLmRpc2FibGVkXT1cInBhcmFtcz8uZGlzYWJsZWRcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiAjbWVudVRyaWdnZXI9XCJtYXRNZW51VHJpZ2dlclwiIGNsYXNzPVwibWVudS10cmlnZ2VyXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cInBhcmFtcz8uZGlzYWJsZWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInBhcmFtcz8ubGFiZWwgfHwgJ0Ryb3Bkb3duIG1lbnUnXCJcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCInbWVudSdcIiBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIm1lbnVUcmlnZ2VyPy5tZW51T3BlblwiXHJcbiAgICAgICAgICAgIChtZW51T3BlbmVkKT1cIm9uTWVudU9wZW5lZCgpXCIgKG1lbnVDbG9zZWQpPVwib25NZW51Q2xvc2VkKClcIj5cclxuXHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2VsZWN0ZWQtdmFsdWVcIiBbY2xhc3MucGxhY2Vob2xkZXJdPVwiIWZvcm1Db250cm9sLnZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBzZWxlY3RlZEl0ZW0gfX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRyb3Bkb3duX3JpZ2h0X2ljb25cIj5cclxuICAgICAgICAgICAgICAgIDxzYS1pY29uIFtpY29uXT1cIidkb3duT3V0bGluZWQnXCIgW3NpemVdPVwiJzIyJ1wiPjwvc2EtaWNvbj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICA8IS0tIERyb3Bkb3duIE1lbnUgLS0+XHJcbiAgICAgICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiIGNsYXNzPVwidHdvLXBhbmVsLW1lbnVcIiBbaGFzQmFja2Ryb3BdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHdvLXBhbmVsLWRyb3Bkb3duXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtZW51SXRlbXNcIiBjbGFzcz1cIm1lbnUtaXRlbVwiIFtjbGFzcy5hY3RpdmVdPVwiaXRlbS5uYW1lID09PSBhY3RpdmVJdGVtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0KGl0ZW0sICRldmVudClcIiByb2xlPVwibWVudWl0ZW1cIiBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cImlzSXRlbVNlbGVjdGVkKGl0ZW0pXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBpdGVtLm5hbWUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzYS1pY29uICpuZ0lmPVwiaXRlbS50eXBlID09PSAnZGF0ZSdcIiBbaWNvbl09XCIncmlnaHRDaGV2cm9uJ1wiIFtzaXplXT1cIicxNidcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zYS1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpdmlkZXJcIj48L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1yaWdodFwiICpuZ0lmPVwiYWN0aXZlSXRlbSA9PT0gJ2RhdGUnXCIgKGNsaWNrKT1cInN0b3BDYWxlbmRhckNsb3NlKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWNhcmQgY2xhc3M9XCJjYWxlbmRhci1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2FsZW5kYXIgWyhzZWxlY3RlZCldPVwic2VsZWN0ZWREYXRlXCIgKHNlbGVjdGVkQ2hhbmdlKT1cIm9uRGF0ZVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZpZXdDaGFuZ2VkKT1cIm9uVmlld0NoYW5nZWQoKVwiIFttaW5EYXRlXT1cInBhcmFtcz8ubWluRGF0ZVwiIFttYXhEYXRlXT1cInBhcmFtcz8ubWF4RGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgICAgICA8L21hdC1jYXJkPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tIFZhbGlkYXRpb24gTWVzc2FnZSAtLT5cclxuICAgIEBpZighZm9ybUNvbnRyb2wudmFsaWQpe1xyXG4gICAgPGRpdiBjbGFzcz1cImVycm9yLW1lc3NhZ2UtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+XHJcbiAgICAgICAgICAgIDxmb3JtbHktdmFsaWRhdGlvbi1tZXNzYWdlIFtmaWVsZF09XCJmaWVsZFwiPjwvZm9ybWx5LXZhbGlkYXRpb24tbWVzc2FnZT5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIH1cclxuICAgIEBpZighIXByb3BzPy5bJ2Rlc2NyaXB0aW9uJ10pe1xyXG4gICAgPHAgY2xhc3M9XCJzYS1kcm9wZG93bi1zdXBwb3J0VGV4dFwiPnt7IHByb3BzPy5bJ2Rlc2NyaXB0aW9uJ10gfX08L3A+XHJcbiAgICB9XHJcbjwvZGl2PiJdfQ==
@@ -3665,7 +3665,7 @@ class DropdownMenuComponent extends FieldType {
3665
3665
  this.activeItem = null;
3666
3666
  }
3667
3667
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DropdownMenuComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
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"] }] }); }
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?.['help']){\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?.['help'])\" [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?.['description']){\r\n <p class=\"sa-dropdown-supportText\">{{ props?.['description'] }}</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"] }] }); }
3669
3669
  }
3670
3670
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DropdownMenuComponent, decorators: [{
3671
3671
  type: Component,
@@ -3681,7 +3681,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
3681
3681
  IconComponent,
3682
3682
  MatTooltipModule,
3683
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"] }]
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?.['help']){\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?.['help'])\" [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?.['description']){\r\n <p class=\"sa-dropdown-supportText\">{{ props?.['description'] }}</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"] }]
3685
3685
  }], propDecorators: { menuTrigger: [{
3686
3686
  type: ViewChild,
3687
3687
  args: [MatMenuTrigger]