@allsorter/ui-components 0.0.338 → 0.0.341

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.
@@ -15,9 +15,15 @@ import * as i3 from '@angular/material/form-field';
15
15
  import { MatFormFieldModule } from '@angular/material/form-field';
16
16
  import * as i4$1 from '@angular/material/input';
17
17
  import { MatInputModule } from '@angular/material/input';
18
- import * as i5 from '@angular/material/select';
18
+ import * as i6 from '@angular/material/select';
19
19
  import { MatSelectModule } from '@angular/material/select';
20
20
  import { MatOptionModule } from '@angular/material/core';
21
+ import * as i3$1 from '@angular/material/checkbox';
22
+ import { MatCheckboxModule } from '@angular/material/checkbox';
23
+ import * as i4$2 from '@angular/material/tooltip';
24
+ import { MatTooltipModule } from '@angular/material/tooltip';
25
+ import * as i5 from '@angular/cdk/accordion';
26
+ import { CdkAccordionModule } from '@angular/cdk/accordion';
21
27
 
22
28
  class AllsorterLibService {
23
29
  constructor() { }
@@ -50,6 +56,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImpor
50
56
 
51
57
  class ButtonComponent {
52
58
  constructor() {
59
+ /**
60
+ * Storybook-only: Controls icon placement in stories. Valid values: 'none', 'left', 'right', 'dropdown'.
61
+ */
62
+ this.iconPlacement = 'none';
53
63
  this.state = 'default';
54
64
  this.label = ' '; // Default label
55
65
  this.arialabel = ' '; // Default label
@@ -129,12 +139,14 @@ class ButtonComponent {
129
139
  return 8;
130
140
  }
131
141
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
132
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.6", type: ButtonComponent, isStandalone: true, selector: "al-button", inputs: { state: "state", category: "category", label: "label", arialabel: "arialabel", iconOnly: "iconOnly", leftIcon: "leftIcon", rightIcon: "rightIcon", showLeftIcon: "showLeftIcon", showRightIcon: "showRightIcon", outlined: "outlined", color: "color", size: "size", buttonType: "buttonType", fontClass: "fontClass", dropdownOptions: "dropdownOptions" }, outputs: { onClick: "onClick", onHover: "onHover", onMouseLeave: "onMouseLeave", optionSelect: "optionSelect" }, ngImport: i0, template: "<!-- Regular button types -->\n<ng-container *ngIf=\"buttonType !== 'dropdown'; else dropdownTpl\">\n <button\n mat-flat-button\n class=\"btn custom-button\" [class]=\"effectiveFontClass\"\n [ngClass]=\"{\n 'size-header': size === 'header' && !fontClass,\n 'size-xs': size === 'xs' && !fontClass,\n 'size-sm': size === 'sm' && !fontClass,\n 'size-base': size === 'base' && !fontClass,\n 'size-l': size === 'l' && !fontClass,\n 'size-xl': size === 'xl' && !fontClass,\n 'mat-raised-button': variant === 'raised',\n 'mat-flat-button': variant === 'flat',\n \n 'mat-stroked-button': variant === 'stroked',\n 'mat-fab': variant === 'fab',\n 'mat-icon-button': variant === 'icon',\n 'icon-circle': buttonType === 'icon-circle',\n 'icon-label': buttonType === 'icon-label',\n 'two-icon-label': buttonType === 'two-icon-label',\n 'blue': category === 'blue',\n 'green': category === 'green',\n 'grey': category === 'grey',\n 'error': category === 'error',\n 'gradient': category === 'gradient',\n 'blue-no-outline': category === 'blue-no-outline',\n 'green-no-outline': category === 'green-no-outline',\n 'grey-no-outline': category === 'grey-no-outline',\n 'error-no-outline': category === 'error-no-outline',\n 'btn-default': state === 'default',\n 'btn-hover': state === 'hover',\n 'btn-pressed': state === 'pressed',\n 'btn-disabled': state === 'disabled'\n }\"\n [ngStyle]=\"{ color: color }\"\n [disabled]=\"state === 'disabled'\"\n (click)=\"onClick.emit($event)\"\n (mouseenter)=\"onHover.emit($event)\"\n (mouseleave)=\"onMouseLeave.emit($event)\"\n [style.display]=\"'inline-flex'\"\n [style.align-items]=\"'center'\"\n [style.gap.px]=\"computeGap()\"\n >\n <!-- Left Icon (Only shown if leftIcon is set and not empty) -->\n <mat-icon *ngIf=\"leftIcon?.trim() as leftIconText\"\n [fontSet]=\"outlined ? 'material-icons-outlined' : 'material-icons'\"\n class=\"left-icon\">{{ leftIconText }}</mat-icon>\n <!-- Label (Only shown if iconOnly is false) -->\n <span *ngIf=\"!iconOnly\" class=\"button-label\" [ngStyle]=\"{ color: color }\">{{ label || '' }}</span>\n \n <!-- Right Icon (Only shown if rightIcon is set and not empty) -->\n <mat-icon *ngIf=\"rightIcon?.trim() as rightIconText\"\n [fontSet]=\"outlined ? 'material-icons-outlined' : 'material-icons'\"\n class=\"right-icon\">{{ rightIconText }}</mat-icon>\n </button>\n </ng-container>\n \n <!-- Dropdown button template -->\n <ng-template #dropdownTpl>\n <button\n mat-flat-button\n class=\"btn custom-button\" [class]=\"effectiveFontClass\"\n [ngClass]=\"{\n 'size-header': size === 'header' && !fontClass,\n 'size-xs': size === 'xs' && !fontClass,\n 'size-sm': size === 'sm' && !fontClass,\n 'size-base': size === 'base' && !fontClass,\n 'size-l': size === 'l' && !fontClass,\n 'size-xl': size === 'xl' && !fontClass,\n 'mat-raised-button': variant === 'raised',\n 'mat-flat-button': variant === 'flat',\n 'mat-stroked-button': variant === 'stroked',\n 'mat-fab': variant === 'fab',\n 'mat-icon-button': variant === 'icon',\n 'icon-label': true,\n 'blue': category === 'blue',\n 'green': category === 'green',\n 'grey': category === 'grey',\n 'error': category === 'error',\n 'gradient': category === 'gradient',\n 'blue-no-outline': category === 'blue-no-outline',\n 'green-no-outline': category === 'green-no-outline',\n 'grey-no-outline': category === 'grey-no-outline',\n 'error-no-outline': category === 'error-no-outline',\n 'btn-default': state === 'default',\n 'btn-hover': state === 'hover',\n 'btn-pressed': state === 'pressed',\n 'btn-disabled': state === 'disabled',\n \n }\"\n [ngStyle]=\"{ color: color }\"\n [disabled]=\"state === 'disabled'\"\n (mouseenter)=\"onHover.emit($event)\"\n (mouseleave)=\"onMouseLeave.emit($event)\"\n [style.display]=\"'inline-flex'\"\n [style.align-items]=\"'center'\"\n [style.gap.px]=\"computeGap()\"\n [matMenuTriggerFor]=\"menu\"\n >\n <!-- Left Icon (optional) -->\n <mat-icon *ngIf=\"leftIcon?.trim() as leftIconText\"\n [fontSet]=\"outlined ? 'material-icons-outlined' : 'material-icons'\"\n class=\"left-icon\">{{ leftIconText }}</mat-icon>\n <!-- Label -->\n <span *ngIf=\"!iconOnly\" class=\"button-label\" [ngStyle]=\"{ color: color }\">{{ label || '' }}</span>\n <!-- Dropdown Arrow Icon -->\n <mat-icon class=\"right-icon\">arrow_drop_down</mat-icon>\n </button>\n <!-- Mat Menu -->\n <mat-menu #menu=\"matMenu\" panelClass=\"custom-dropdown-menu\">\n <button mat-menu-item *ngFor=\"let opt of dropdownOptions\" (click)=\"selectOption(opt)\" [ngClass]=\"effectiveFontClass\">\n {{ opt.label || opt }}\n </button>\n </mat-menu>\n </ng-template>", styles: ["@charset \"UTF-8\";@import\"https://fonts.googleapis.com/icon?family=Material+Icons|Material+Icons+Outlined\";@import\"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap\";.font-display-large{font-family:Roboto,sans-serif!important;font-size:57px;font-style:normal;font-weight:400;line-height:64px;letter-spacing:-.25px}.font-display-medium{font-family:Roboto,sans-serif!important;font-size:45px;font-style:normal;font-weight:400;line-height:52px}.font-display-small{font-family:Roboto,sans-serif!important;font-size:36px;font-style:normal;font-weight:400;line-height:44px}.font-headline-large{font-family:Roboto,sans-serif!important;font-size:32px;font-style:normal;font-weight:400;line-height:40px}.font-headline-medium{font-family:Roboto,sans-serif!important;font-size:28px;font-style:normal;font-weight:400;line-height:36px}.font-headline-small{font-family:Roboto,sans-serif!important;font-size:24px;font-style:normal;font-weight:400;line-height:32px}.font-title-large{font-family:Roboto,sans-serif!important;font-size:22px;font-style:normal;font-weight:400;line-height:28px}.font-title-medium{font-family:Roboto,sans-serif!important;font-size:16px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.15px}.font-title-small{font-family:Roboto,sans-serif!important;font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.1px}.font-label-large{font-family:Roboto,sans-serif!important;font-size:14px;font-style:normal;font-weight:500;line-height:20px;letter-spacing:.1px}.font-label-medium{font-family:Roboto,sans-serif!important;font-size:12px;font-style:normal;font-weight:400;line-height:12px;letter-spacing:.5px}.font-label-small{font-family:Roboto,sans-serif!important;font-size:10px;font-style:normal;font-weight:400;line-height:10px;letter-spacing:.5px}.font-body-large{font-family:Roboto,sans-serif!important;font-size:16px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.5px}.font-body-medium{font-family:Roboto,sans-serif!important;font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px}.font-body-small{font-family:Roboto,sans-serif!important;font-size:12px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.4px}.material-icons-outlined{font-family:Material Icons Outlined;font-weight:400;font-style:normal;font-feature-settings:\"liga\";font-variation-settings:\"FILL\" 0,\"wght\" 400,\"GRAD\" 0,\"opsz\" 24}.mdc-button.btn{border-radius:5px;display:flex;align-items:center;cursor:pointer;border:none;transition:background .2s,border .2s,transform .1s;min-width:auto!important;gap:8px;height:auto!important}.mdc-button.btn-primary1{background-color:#5473e8;color:#fff}.mdc-button.btn-primary2{background-color:#37c1ce;color:#fff}.mdc-button.btn-secondary{background-color:#383b4a;color:#fff}.mdc-button.btn-destructive{background-color:#e854a4;color:#fff}.mdc-button.btn-gradient{background:linear-gradient(275deg,#5473e8 -36.22%,#37c1ce 100.04%);color:#fff}.mdc-button.btn-primary2:hover{background-color:#4bc7d3!important}.mdc-button.btn-primary2:active{background-color:#299da8!important}.mdc-button.btn-primary2:outlined{background-color:#fff;border-radius:4px;border:1px solid #37c1ce}.mdc-button.btn-primary1:hover{background-color:#6581ea!important}.mdc-button.btn-primary1:active{background-color:#1e46df!important}.mdc-button.btn-primary1:outlined{background-color:#fff;border-radius:4px;border:1px solid #5473e8}.mdc-button.btn-secondary:hover{background-color:#4b4f62!important}.mdc-button.btn-secondary:active{background-color:#252831!important}.mdc-button.btn-secondary:outlined{background-color:#fff;border-radius:4px;border:1px solid #383B4A}.mdc-button.btn-destructive:hover{background-color:#ef87bf!important}.mdc-button.btn-destructive:active{background-color:#e22a8e!important}.mdc-button.btn-destructive:outlined{background-color:#fff;border-radius:4px;border:1px solid #E854A4}.mdc-button.btn-gradient:hover{background:linear-gradient(275deg,#4a90e2 -36.22%,#2bbbad 100.04%)!important}.mdc-button.btn-gradient:active{background:linear-gradient(275deg,#42a5f5 -36.22%,#1e88e5 100.04%)!important}.mdc-button.btn-disabled{border:none!important;background-color:#b0b0b0;color:#666;cursor:not-allowed}.mdc-button.btn-outlined{background:transparent;border:2px solid currentColor}.blue{background-color:#5473e8!important;color:#fff}.blue.btn-hover,.blue:hover{background-color:#6581ea!important}.blue.btn-pressed,.blue:active{background-color:#1e46df!important}.green{background-color:#37c1ce!important;color:#fff}.green.btn-hover,.green:hover{background-color:#4bc7d3!important}.green.btn-pressed,.green:active{background-color:#299da8!important}.grey{background-color:#383b4a!important;color:#fff}.grey.btn-hover,.grey:hover{background-color:#4b4f62!important}.grey.btn-pressed,.grey:active{background-color:#252831!important}.error{background-color:#e854a4!important;color:#fff}.error.btn-hover,.error:hover{background-color:#ef87bf!important}.error.btn-pressed,.error:active{background-color:#e22a8e!important}.gradient{background:linear-gradient(275deg,#5473e8 -36.22%,#37c1ce 100.04%);color:#fff}.gradient.btn-hover,.gradient:hover{opacity:.9}.gradient.btn-pressed,.gradient:active{opacity:.8}.btn.custom-button>*+*{margin-left:8px}.two-icon-label{padding:4px 12px!important}button.two-icon-label .mat-icon{width:20px!important;height:20px!important}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialicons/v143/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2) format(\"woff2\")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}.left-icon{order:0}.right-icon{order:2}mat-icon.mat-icon{margin:0!important;padding:0!important}.size-header{font-size:20px;padding:4px 12px!important}.size-xs{font-size:12px;padding:8px 12px!important}.size-sm{font-size:14px;padding:8px 12px!important}.size-base{font-size:14px;padding:10px 20px!important}.size-l{font-size:16px;padding:12px 20px!important}.size-xl{font-size:16px;padding:14px 24px!important}.size-header .mat-icon{font-size:20px}.size-xs .mat-icon,.size-sm .mat-icon,.size-base .mat-icon{font-size:16px}.size-l .mat-icon,.size-xl .mat-icon{font-size:20px}.btn.size-header{gap:4px!important;padding:4px 12px!important}::ng-deep .custom-dropdown-menu.mat-mdc-menu-panel,::ng-deep .custom-dropdown-menu.mat-menu-panel{padding:0;border-radius:8px;box-shadow:0 2px 6px #00000026;border:1px solid rgba(0,0,0,.12)}::ng-deep .custom-dropdown-menu .mat-mdc-menu-content,::ng-deep .custom-dropdown-menu .mat-menu-content{padding:0}::ng-deep .custom-dropdown-menu .mat-mdc-menu-item,::ng-deep .custom-dropdown-menu .mat-menu-item{font-family:Roboto,sans-serif;font-size:16px;line-height:24px;height:56px;padding:16px 24px;color:#47515e}::ng-deep .custom-dropdown-menu .mat-mdc-menu-item:hover,::ng-deep .custom-dropdown-menu .mat-menu-item:hover{background:#f5f6f7}::ng-deep .custom-dropdown-menu .mat-mdc-menu-item+.mat-mdc-menu-item,::ng-deep .custom-dropdown-menu .mat-menu-item+.mat-menu-item{border-top:1px solid #EAECEE}::ng-deep .mat-mdc-menu-panel,::ng-deep .mat-menu-panel,::ng-deep .mdc-menu-surface{background-color:#fff!important;--mdc-theme-surface: #ffffff !important;--mdc-menu-container-color: #ffffff !important}::ng-deep .mat-mdc-menu-panel .mat-mdc-menu-content,::ng-deep .mat-menu-panel .mat-menu-content{background-color:#fff!important}.cdk-overlay-pane{z-index:1000!important;background:#fff!important}::ng-deep .mat-mdc-menu-panel,::ng-deep .mat-menu-panel,::ng-deep .mdc-menu-surface,.cdk-overlay-pane .mat-mdc-menu-panel,.cdk-overlay-pane .mdc-menu-surface,.cdk-overlay-pane .mat-menu-panel{background-color:#fff!important;--mdc-theme-surface:#ffffff !important;--mdc-menu-container-color:#fff !important}.mat-mdc-menu-panel,.mdc-menu-surface,.mat-menu-panel{--mdc-theme-surface: #ffffff !important;background-color:#fff!important}.cdk-overlay-pane .mat-mdc-menu-panel,.cdk-overlay-pane .mdc-menu-surface{--mdc-menu-container-color:#fff !important}.cdk-overlay-pane .mat-menu-panel,.cdk-overlay-pane .mat-mdc-menu-content,.cdk-overlay-pane .mat-menu-content{background:#fff!important}button.icon-circle{width:auto!important;height:auto!important;border-radius:50%!important;aspect-ratio:1/1;display:inline-flex;align-items:center;min-width:0!important;justify-content:center;padding:6px!important}.size-small.icon-circle{padding:4px!important}.size-medium.icon-circle{padding:8px!important}.size-large.icon-circle{padding:12px!important}.size-header.icon-circle{padding:4px!important}.size-header.icon-circle .mat-icon{width:10px;height:10px;font-size:10px}.size-xs.icon-circle{padding:4px!important}.size-xs.icon-circle .mat-icon{font-size:12px}.size-sm.icon-circle{padding:8px!important}.size-sm.icon-circle .mat-icon{font-size:12px}.size-base.icon-circle{padding:10px!important}.size-base.icon-circle .mat-icon{font-size:14px}.size-l.icon-circle{padding:12px!important}.size-l.icon-circle .mat-icon{font-size:16px}.size-xl.icon-circle{padding:14px!important}.size-xl.icon-circle .mat-icon{font-size:16px}.icon-xs{padding:4px!important}.mdc-button.blue{background-color:#5473e8;color:#fff}.mdc-button.blue:hover{background-color:#6581ea}.mdc-button.blue:active{background-color:#1e46df}.mdc-button.green{background-color:#37c1ce;color:#fff}.mdc-button.green:hover{background-color:#4bc7d3}.mdc-button.green:active{background-color:#299da8}.mdc-button.grey{background-color:#383b4a;color:#fff}.mdc-button.grey:hover{background-color:#4b4f62}.mdc-button.grey:active{background-color:#252831}.mdc-button.error{background-color:#e854a4;color:#fff}.mdc-button.error:hover{background-color:#ef87bf}.mdc-button.error:active{background-color:#e22a8e}.mdc-button.gradient{background:linear-gradient(275deg,#5473e8 -36.22%,#37c1ce 100.04%);color:#fff}.mdc-button.gradient:hover{background:linear-gradient(0deg,#fafafd4d 0% 100%),linear-gradient(275deg,#2bbbad 9.3%,#4a90e2 115.85%)}.mdc-button.gradient:active{background:linear-gradient(0deg,#383b4a80 0% 100%),linear-gradient(275deg,#2bbbad 9.3%,#4a90e2 115.85%)}.mdc-button.disabled,.mdc-button:disabled{background-color:#d1d3db!important;color:#666!important;cursor:not-allowed!important}.mdc-button.blue-no-outline{background-color:#fff;color:#5473e8;border:1px solid #5473E8}.mdc-button.blue-no-outline:hover{background-color:#6581ea;color:#fff}.mdc-button.blue-no-outline:active{background-color:#1e46df;color:#fff}.mdc-button.green-no-outline{background-color:#fff;color:#37c1ce;border:1px solid #37C1CE}.mdc-button.green-no-outline:hover{background-color:#4bc7d3;color:#fff}.mdc-button.green-no-outline:active{background-color:#299da8;color:#fff}.mdc-button.grey-no-outline{background-color:#fff;color:#383b4a;border:1px solid #383B4A}.mdc-button.grey-no-outline:hover{background-color:#4b4f62;color:#fff}.mdc-button.grey-no-outline:active{background-color:#252831;color:#fff}.mdc-button.error-no-outline{background-color:#fff;color:#e854a4;border:1px solid #E854A4}.mdc-button.error-no-outline:hover{background-color:#ef87bf;color:#fff}.mdc-button.error-no-outline:active{background-color:#e22a8e;color:#fff}::ng-deep .cdk-overlay-pane{border-radius:6px!important;box-shadow:0 2px 6px #00000026!important}::ng-deep .mat-mdc-menu-panel{padding:4px 0!important;background-color:#fff!important;min-width:180px!important;border-radius:6px!important;box-shadow:none!important}::ng-deep .mat-mdc-menu-item{font-family:Roboto,sans-serif;font-size:14px;color:#333;padding:12px 16px;border-radius:0!important;transition:background .2s ease-in-out}::ng-deep .mat-mdc-menu-item:hover{background-color:#f5f5f5!important}.mat-mdc-unelevated-button>.mat-icon{line-height:18px!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }] }); }
142
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.6", type: ButtonComponent, isStandalone: true, selector: "al-button", inputs: { iconPlacement: "iconPlacement", state: "state", category: "category", label: "label", arialabel: "arialabel", iconOnly: "iconOnly", leftIcon: "leftIcon", rightIcon: "rightIcon", showLeftIcon: "showLeftIcon", showRightIcon: "showRightIcon", outlined: "outlined", color: "color", size: "size", buttonType: "buttonType", fontClass: "fontClass", dropdownOptions: "dropdownOptions" }, outputs: { onClick: "onClick", onHover: "onHover", onMouseLeave: "onMouseLeave", optionSelect: "optionSelect" }, ngImport: i0, template: "<!-- Regular button types -->\n<ng-container *ngIf=\"buttonType !== 'dropdown'; else dropdownTpl\">\n <button\n mat-flat-button\n class=\"btn custom-button\" [class]=\"effectiveFontClass\"\n [ngClass]=\"{\n 'size-header': size === 'header' && !fontClass,\n 'size-xs': size === 'xs' && !fontClass,\n 'size-sm': size === 'sm' && !fontClass,\n 'size-base': size === 'base' && !fontClass,\n 'size-l': size === 'l' && !fontClass,\n 'size-xl': size === 'xl' && !fontClass,\n 'mat-raised-button': variant === 'raised',\n 'mat-flat-button': variant === 'flat',\n \n 'mat-stroked-button': variant === 'stroked',\n 'mat-fab': variant === 'fab',\n 'mat-icon-button': variant === 'icon',\n 'icon-circle': buttonType === 'icon-circle',\n 'blue': category === 'blue',\n 'green': category === 'green',\n 'grey': category === 'grey',\n 'error': category === 'error',\n 'gradient': category === 'gradient',\n 'blue-no-outline': category === 'blue-no-outline',\n 'green-no-outline': category === 'green-no-outline',\n 'grey-no-outline': category === 'grey-no-outline',\n 'error-no-outline': category === 'error-no-outline',\n 'btn-default': state === 'default',\n 'btn-hover': state === 'hover',\n 'btn-pressed': state === 'pressed',\n 'btn-disabled': state === 'disabled'\n }\"\n [ngStyle]=\"{ color: color }\"\n [disabled]=\"state === 'disabled'\"\n (click)=\"onClick.emit($event)\"\n (mouseenter)=\"onHover.emit($event)\"\n (mouseleave)=\"onMouseLeave.emit($event)\"\n [style.display]=\"'inline-flex'\"\n [style.align-items]=\"'center'\"\n [style.gap.px]=\"computeGap()\"\n >\n <!-- Left Icon (Only shown if leftIcon is set and not empty) -->\n <mat-icon *ngIf=\"leftIcon?.trim() as leftIconText\"\n [fontSet]=\"outlined ? 'material-icons-outlined' : 'material-icons'\"\n class=\"left-icon\">{{ leftIconText }}</mat-icon>\n <!-- Label (Only shown if iconOnly is false) -->\n <span *ngIf=\"!iconOnly\" class=\"button-label\" [ngStyle]=\"{ color: color }\">{{ label || '' }}</span>\n \n <!-- Right Icon (Only shown if rightIcon is set and not empty) -->\n <mat-icon *ngIf=\"rightIcon?.trim() as rightIconText\"\n [fontSet]=\"outlined ? 'material-icons-outlined' : 'material-icons'\"\n class=\"right-icon\">{{ rightIconText }}</mat-icon>\n </button>\n </ng-container>\n \n <!-- Dropdown button template -->\n <ng-template #dropdownTpl>\n <button\n mat-flat-button\n class=\"btn custom-button\" [class]=\"effectiveFontClass\"\n [ngClass]=\"{\n 'size-header': size === 'header' && !fontClass,\n 'size-xs': size === 'xs' && !fontClass,\n 'size-sm': size === 'sm' && !fontClass,\n 'size-base': size === 'base' && !fontClass,\n 'size-l': size === 'l' && !fontClass,\n 'size-xl': size === 'xl' && !fontClass,\n 'mat-raised-button': variant === 'raised',\n 'mat-flat-button': variant === 'flat',\n 'mat-stroked-button': variant === 'stroked',\n 'mat-fab': variant === 'fab',\n 'mat-icon-button': variant === 'icon',\n 'icon-label': true,\n 'blue': category === 'blue',\n 'green': category === 'green',\n 'grey': category === 'grey',\n 'error': category === 'error',\n 'gradient': category === 'gradient',\n 'blue-no-outline': category === 'blue-no-outline',\n 'green-no-outline': category === 'green-no-outline',\n 'grey-no-outline': category === 'grey-no-outline',\n 'error-no-outline': category === 'error-no-outline',\n 'btn-default': state === 'default',\n 'btn-hover': state === 'hover',\n 'btn-pressed': state === 'pressed',\n 'btn-disabled': state === 'disabled',\n \n }\"\n [ngStyle]=\"{ color: color }\"\n [disabled]=\"state === 'disabled'\"\n (mouseenter)=\"onHover.emit($event)\"\n (mouseleave)=\"onMouseLeave.emit($event)\"\n [style.display]=\"'inline-flex'\"\n [style.align-items]=\"'center'\"\n [style.gap.px]=\"computeGap()\"\n [matMenuTriggerFor]=\"menu\"\n >\n <!-- Left Icon (optional) -->\n <mat-icon *ngIf=\"leftIcon?.trim() as leftIconText\"\n [fontSet]=\"outlined ? 'material-icons-outlined' : 'material-icons'\"\n class=\"left-icon\">{{ leftIconText }}</mat-icon>\n <!-- Label -->\n <span *ngIf=\"!iconOnly\" class=\"button-label\" [ngStyle]=\"{ color: color }\">{{ label || '' }}</span>\n <!-- Dropdown Arrow Icon -->\n <mat-icon class=\"right-icon\">arrow_drop_down</mat-icon>\n </button>\n <!-- Mat Menu -->\n <mat-menu #menu=\"matMenu\" panelClass=\"custom-dropdown-menu\">\n <button mat-menu-item *ngFor=\"let opt of dropdownOptions\" (click)=\"selectOption(opt)\" [ngClass]=\"effectiveFontClass\">\n {{ opt.label || opt }}\n </button>\n </mat-menu>\n </ng-template>", styles: ["@charset \"UTF-8\";@import\"https://fonts.googleapis.com/icon?family=Material+Icons|Material+Icons+Outlined\";@import\"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap\";.font-display-large{font-family:Roboto,sans-serif!important;font-size:57px;font-style:normal;font-weight:400;line-height:64px;letter-spacing:-.25px}.font-display-medium{font-family:Roboto,sans-serif!important;font-size:45px;font-style:normal;font-weight:400;line-height:52px}.font-display-small{font-family:Roboto,sans-serif!important;font-size:36px;font-style:normal;font-weight:400;line-height:44px}.font-headline-large{font-family:Roboto,sans-serif!important;font-size:32px;font-style:normal;font-weight:400;line-height:40px}.font-headline-medium{font-family:Roboto,sans-serif!important;font-size:28px;font-style:normal;font-weight:400;line-height:36px}.font-headline-small{font-family:Roboto,sans-serif!important;font-size:24px;font-style:normal;font-weight:400;line-height:32px}.font-title-large{font-family:Roboto,sans-serif!important;font-size:22px;font-style:normal;font-weight:400;line-height:28px}.font-title-medium{font-family:Roboto,sans-serif!important;font-size:16px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.15px}.font-title-small{font-family:Roboto,sans-serif!important;font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.1px}.font-label-large{font-family:Roboto,sans-serif!important;font-size:14px;font-style:normal;font-weight:500;line-height:20px;letter-spacing:.1px}.font-label-medium{font-family:Roboto,sans-serif!important;font-size:12px;font-style:normal;font-weight:400;line-height:12px;letter-spacing:.5px}.font-label-small{font-family:Roboto,sans-serif!important;font-size:10px;font-style:normal;font-weight:400;line-height:10px;letter-spacing:.5px}.font-body-large{font-family:Roboto,sans-serif!important;font-size:16px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.5px}.font-body-medium{font-family:Roboto,sans-serif!important;font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px}.font-body-small{font-family:Roboto,sans-serif!important;font-size:12px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.4px}.material-icons-outlined{font-family:Material Icons Outlined;font-weight:400;font-style:normal;font-feature-settings:\"liga\";font-variation-settings:\"FILL\" 0,\"wght\" 400,\"GRAD\" 0,\"opsz\" 24}.mdc-button.btn{border-radius:5px;display:flex;align-items:center;cursor:pointer;border:none;transition:background .2s,border .2s,transform .1s;min-width:auto!important;gap:8px;height:auto!important}.mdc-button.btn-primary1{background-color:#5473e8;color:#fff}.mdc-button.btn-primary2{background-color:#37c1ce;color:#fff}.mdc-button.btn-secondary{background-color:#383b4a;color:#fff}.mdc-button.btn-destructive{background-color:#e854a4;color:#fff}.mdc-button.btn-gradient{background:linear-gradient(275deg,#5473e8 -36.22%,#37c1ce 100.04%);color:#fff}.mdc-button.btn-primary2:hover{background-color:#4bc7d3!important}.mdc-button.btn-primary2:active{background-color:#299da8!important}.mdc-button.btn-primary2:outlined{background-color:#fff;border-radius:4px;border:1px solid #37c1ce}.mdc-button.btn-primary1:hover{background-color:#6581ea!important}.mdc-button.btn-primary1:active{background-color:#1e46df!important}.mdc-button.btn-primary1:outlined{background-color:#fff;border-radius:4px;border:1px solid #5473e8}.mdc-button.btn-secondary:hover{background-color:#4b4f62!important}.mdc-button.btn-secondary:active{background-color:#252831!important}.mdc-button.btn-secondary:outlined{background-color:#fff;border-radius:4px;border:1px solid #383B4A}.mdc-button.btn-destructive:hover{background-color:#ef87bf!important}.mdc-button.btn-destructive:active{background-color:#e22a8e!important}.mdc-button.btn-destructive:outlined{background-color:#fff;border-radius:4px;border:1px solid #E854A4}.mdc-button.btn-gradient:hover{background:linear-gradient(275deg,#4a90e2 -36.22%,#2bbbad 100.04%)!important}.mdc-button.btn-gradient:active{background:linear-gradient(275deg,#42a5f5 -36.22%,#1e88e5 100.04%)!important}.mdc-button.btn-disabled{border:none!important;background-color:#b0b0b0;color:#666;cursor:not-allowed}.mdc-button.btn-outlined{background:transparent;border:2px solid currentColor}.blue{background-color:#5473e8!important;color:#fff}.blue.btn-hover,.blue:hover{background-color:#6581ea!important}.blue.btn-pressed,.blue:active{background-color:#1e46df!important}.green{background-color:#37c1ce!important;color:#fff}.green.btn-hover,.green:hover{background-color:#4bc7d3!important}.green.btn-pressed,.green:active{background-color:#299da8!important}.grey{background-color:#383b4a!important;color:#fff}.grey.btn-hover,.grey:hover{background-color:#4b4f62!important}.grey.btn-pressed,.grey:active{background-color:#252831!important}.error{background-color:#e854a4!important;color:#fff}.error.btn-hover,.error:hover{background-color:#ef87bf!important}.error.btn-pressed,.error:active{background-color:#e22a8e!important}.gradient{background:linear-gradient(275deg,#5473e8 -36.22%,#37c1ce 100.04%);color:#fff}.gradient.btn-hover,.gradient:hover{opacity:.9}.gradient.btn-pressed,.gradient:active{opacity:.8}.btn.custom-button>*+*{margin-left:8px}.two-icon-label{padding:4px 12px!important}button.two-icon-label .mat-icon{width:20px!important;height:20px!important}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialicons/v143/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2) format(\"woff2\")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}.left-icon{order:0}.right-icon{order:2}mat-icon.mat-icon{margin:0!important;padding:0!important}.size-header{font-size:20px;padding:4px 12px!important}.size-xs{font-size:12px;padding:8px 12px!important}.size-sm{font-size:14px;padding:8px 12px!important}.size-base{font-size:14px;padding:10px 20px!important}.size-l{font-size:16px;padding:12px 20px!important}.size-xl{font-size:16px;padding:14px 24px!important}.size-header .mat-icon{font-size:20px;height:20px;width:20px}.size-xs .mat-icon,.size-sm .mat-icon,.size-base .mat-icon{font-size:16px;height:16px;width:16px}.size-l .mat-icon,.size-xl .mat-icon{font-size:20px;height:20px;width:20px}.btn.size-header{gap:4px!important;padding:4px 12px!important}::ng-deep .custom-dropdown-menu.mat-mdc-menu-panel,::ng-deep .custom-dropdown-menu.mat-menu-panel{padding:0;border-radius:8px;box-shadow:0 2px 6px #00000026;border:1px solid rgba(0,0,0,.12)}::ng-deep .custom-dropdown-menu .mat-mdc-menu-content,::ng-deep .custom-dropdown-menu .mat-menu-content{padding:0}::ng-deep .custom-dropdown-menu .mat-mdc-menu-item,::ng-deep .custom-dropdown-menu .mat-menu-item{font-family:Roboto,sans-serif;font-size:16px;line-height:24px;height:56px;padding:16px 24px;color:#47515e}::ng-deep .custom-dropdown-menu .mat-mdc-menu-item:hover,::ng-deep .custom-dropdown-menu .mat-menu-item:hover{background:#f5f6f7}::ng-deep .custom-dropdown-menu .mat-mdc-menu-item+.mat-mdc-menu-item,::ng-deep .custom-dropdown-menu .mat-menu-item+.mat-menu-item{border-top:1px solid #EAECEE}::ng-deep .mat-mdc-menu-panel,::ng-deep .mat-menu-panel,::ng-deep .mdc-menu-surface{background-color:#fff!important;--mdc-theme-surface: #ffffff !important;--mdc-menu-container-color: #ffffff !important}::ng-deep .mat-mdc-menu-panel .mat-mdc-menu-content,::ng-deep .mat-menu-panel .mat-menu-content{background-color:#fff!important}.cdk-overlay-pane{z-index:1000!important;background:#fff!important}::ng-deep .mat-mdc-menu-panel,::ng-deep .mat-menu-panel,::ng-deep .mdc-menu-surface,.cdk-overlay-pane .mat-mdc-menu-panel,.cdk-overlay-pane .mdc-menu-surface,.cdk-overlay-pane .mat-menu-panel{background-color:#fff!important;--mdc-theme-surface:#ffffff !important;--mdc-menu-container-color:#fff !important}.mat-mdc-menu-panel,.mdc-menu-surface,.mat-menu-panel{--mdc-theme-surface: #ffffff !important;background-color:#fff!important}.cdk-overlay-pane .mat-mdc-menu-panel,.cdk-overlay-pane .mdc-menu-surface{--mdc-menu-container-color:#fff !important}.cdk-overlay-pane .mat-menu-panel,.cdk-overlay-pane .mat-mdc-menu-content,.cdk-overlay-pane .mat-menu-content{background:#fff!important}button.icon-circle{width:auto!important;height:auto!important;border-radius:50%!important;aspect-ratio:1/1;display:inline-flex;align-items:center;min-width:0!important;justify-content:center;padding:6px!important}.size-small.icon-circle{padding:4px!important}.size-medium.icon-circle{padding:8px!important}.size-large.icon-circle{padding:12px!important}.size-header.icon-circle{padding:4px!important}.size-header.icon-circle .mat-icon{width:10px;height:10px;font-size:10px}.size-xs.icon-circle{padding:4px!important}.size-xs.icon-circle .mat-icon{width:12px;height:12px;font-size:12px}.size-sm.icon-circle{padding:8px!important}.size-sm.icon-circle .mat-icon{width:12px;height:12px;font-size:12px}.size-base.icon-circle{padding:10px!important}.size-base.icon-circle .mat-icon{width:12px;height:12px;font-size:12px}.size-l.icon-circle{padding:12px!important}.size-l.icon-circle .mat-icon{width:16px;height:16px;font-size:16px}.size-xl.icon-circle{padding:14px!important}.size-xl.icon-circle .mat-icon{width:16px;height:16px;font-size:16px}.icon-xs{padding:4px!important}.mdc-button.blue{background-color:#5473e8;color:#fff}.mdc-button.blue:hover{background-color:#6581ea}.mdc-button.blue:active{background-color:#1e46df}.mdc-button.green{background-color:#37c1ce;color:#fff}.mdc-button.green:hover{background-color:#4bc7d3}.mdc-button.green:active{background-color:#299da8}.mdc-button.grey{background-color:#383b4a;color:#fff}.mdc-button.grey:hover{background-color:#4b4f62}.mdc-button.grey:active{background-color:#252831}.mdc-button.error{background-color:#e854a4;color:#fff}.mdc-button.error:hover{background-color:#ef87bf}.mdc-button.error:active{background-color:#e22a8e}.mdc-button.gradient{background:linear-gradient(275deg,#5473e8 -36.22%,#37c1ce 100.04%);color:#fff}.mdc-button.gradient:hover{background:linear-gradient(0deg,#fafafd4d 0% 100%),linear-gradient(275deg,#2bbbad 9.3%,#4a90e2 115.85%)}.mdc-button.gradient:active{background:linear-gradient(0deg,#383b4a80 0% 100%),linear-gradient(275deg,#2bbbad 9.3%,#4a90e2 115.85%)}.mdc-button.disabled,.mdc-button:disabled{background-color:#d1d3db!important;color:#666!important;cursor:not-allowed!important}.mdc-button.blue-no-outline{background-color:#fff;color:#5473e8;border:1px solid #5473E8}.mdc-button.blue-no-outline:hover{background-color:#6581ea;color:#fff}.mdc-button.blue-no-outline:active{background-color:#1e46df;color:#fff}.mdc-button.green-no-outline{background-color:#fff;color:#37c1ce;border:1px solid #37C1CE}.mdc-button.green-no-outline:hover{background-color:#4bc7d3;color:#fff}.mdc-button.green-no-outline:active{background-color:#299da8;color:#fff}.mdc-button.grey-no-outline{background-color:#fff;color:#383b4a;border:1px solid #383B4A}.mdc-button.grey-no-outline:hover{background-color:#4b4f62;color:#fff}.mdc-button.grey-no-outline:active{background-color:#252831;color:#fff}.mdc-button.error-no-outline{background-color:#fff;color:#e854a4;border:1px solid #E854A4}.mdc-button.error-no-outline:hover{background-color:#ef87bf;color:#fff}.mdc-button.error-no-outline:active{background-color:#e22a8e;color:#fff}::ng-deep .cdk-overlay-pane{border-radius:6px!important;box-shadow:0 2px 6px #00000026!important}::ng-deep .mat-mdc-menu-panel{padding:4px 0!important;background-color:#fff!important;min-width:180px!important;border-radius:6px!important;box-shadow:none!important}::ng-deep .mat-mdc-menu-item{font-family:Roboto,sans-serif;font-size:14px;color:#333;padding:12px 16px;border-radius:0!important;transition:background .2s ease-in-out}::ng-deep .mat-mdc-menu-item:hover{background-color:#f5f5f5!important}.size-header ::ng-deep .mdc-button__label{display:none!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }] }); }
133
143
  }
134
144
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: ButtonComponent, decorators: [{
135
145
  type: Component,
136
- args: [{ selector: 'al-button', imports: [CommonModule, MatButtonModule, MatIconModule, MatMenuModule], standalone: true, template: "<!-- Regular button types -->\n<ng-container *ngIf=\"buttonType !== 'dropdown'; else dropdownTpl\">\n <button\n mat-flat-button\n class=\"btn custom-button\" [class]=\"effectiveFontClass\"\n [ngClass]=\"{\n 'size-header': size === 'header' && !fontClass,\n 'size-xs': size === 'xs' && !fontClass,\n 'size-sm': size === 'sm' && !fontClass,\n 'size-base': size === 'base' && !fontClass,\n 'size-l': size === 'l' && !fontClass,\n 'size-xl': size === 'xl' && !fontClass,\n 'mat-raised-button': variant === 'raised',\n 'mat-flat-button': variant === 'flat',\n \n 'mat-stroked-button': variant === 'stroked',\n 'mat-fab': variant === 'fab',\n 'mat-icon-button': variant === 'icon',\n 'icon-circle': buttonType === 'icon-circle',\n 'icon-label': buttonType === 'icon-label',\n 'two-icon-label': buttonType === 'two-icon-label',\n 'blue': category === 'blue',\n 'green': category === 'green',\n 'grey': category === 'grey',\n 'error': category === 'error',\n 'gradient': category === 'gradient',\n 'blue-no-outline': category === 'blue-no-outline',\n 'green-no-outline': category === 'green-no-outline',\n 'grey-no-outline': category === 'grey-no-outline',\n 'error-no-outline': category === 'error-no-outline',\n 'btn-default': state === 'default',\n 'btn-hover': state === 'hover',\n 'btn-pressed': state === 'pressed',\n 'btn-disabled': state === 'disabled'\n }\"\n [ngStyle]=\"{ color: color }\"\n [disabled]=\"state === 'disabled'\"\n (click)=\"onClick.emit($event)\"\n (mouseenter)=\"onHover.emit($event)\"\n (mouseleave)=\"onMouseLeave.emit($event)\"\n [style.display]=\"'inline-flex'\"\n [style.align-items]=\"'center'\"\n [style.gap.px]=\"computeGap()\"\n >\n <!-- Left Icon (Only shown if leftIcon is set and not empty) -->\n <mat-icon *ngIf=\"leftIcon?.trim() as leftIconText\"\n [fontSet]=\"outlined ? 'material-icons-outlined' : 'material-icons'\"\n class=\"left-icon\">{{ leftIconText }}</mat-icon>\n <!-- Label (Only shown if iconOnly is false) -->\n <span *ngIf=\"!iconOnly\" class=\"button-label\" [ngStyle]=\"{ color: color }\">{{ label || '' }}</span>\n \n <!-- Right Icon (Only shown if rightIcon is set and not empty) -->\n <mat-icon *ngIf=\"rightIcon?.trim() as rightIconText\"\n [fontSet]=\"outlined ? 'material-icons-outlined' : 'material-icons'\"\n class=\"right-icon\">{{ rightIconText }}</mat-icon>\n </button>\n </ng-container>\n \n <!-- Dropdown button template -->\n <ng-template #dropdownTpl>\n <button\n mat-flat-button\n class=\"btn custom-button\" [class]=\"effectiveFontClass\"\n [ngClass]=\"{\n 'size-header': size === 'header' && !fontClass,\n 'size-xs': size === 'xs' && !fontClass,\n 'size-sm': size === 'sm' && !fontClass,\n 'size-base': size === 'base' && !fontClass,\n 'size-l': size === 'l' && !fontClass,\n 'size-xl': size === 'xl' && !fontClass,\n 'mat-raised-button': variant === 'raised',\n 'mat-flat-button': variant === 'flat',\n 'mat-stroked-button': variant === 'stroked',\n 'mat-fab': variant === 'fab',\n 'mat-icon-button': variant === 'icon',\n 'icon-label': true,\n 'blue': category === 'blue',\n 'green': category === 'green',\n 'grey': category === 'grey',\n 'error': category === 'error',\n 'gradient': category === 'gradient',\n 'blue-no-outline': category === 'blue-no-outline',\n 'green-no-outline': category === 'green-no-outline',\n 'grey-no-outline': category === 'grey-no-outline',\n 'error-no-outline': category === 'error-no-outline',\n 'btn-default': state === 'default',\n 'btn-hover': state === 'hover',\n 'btn-pressed': state === 'pressed',\n 'btn-disabled': state === 'disabled',\n \n }\"\n [ngStyle]=\"{ color: color }\"\n [disabled]=\"state === 'disabled'\"\n (mouseenter)=\"onHover.emit($event)\"\n (mouseleave)=\"onMouseLeave.emit($event)\"\n [style.display]=\"'inline-flex'\"\n [style.align-items]=\"'center'\"\n [style.gap.px]=\"computeGap()\"\n [matMenuTriggerFor]=\"menu\"\n >\n <!-- Left Icon (optional) -->\n <mat-icon *ngIf=\"leftIcon?.trim() as leftIconText\"\n [fontSet]=\"outlined ? 'material-icons-outlined' : 'material-icons'\"\n class=\"left-icon\">{{ leftIconText }}</mat-icon>\n <!-- Label -->\n <span *ngIf=\"!iconOnly\" class=\"button-label\" [ngStyle]=\"{ color: color }\">{{ label || '' }}</span>\n <!-- Dropdown Arrow Icon -->\n <mat-icon class=\"right-icon\">arrow_drop_down</mat-icon>\n </button>\n <!-- Mat Menu -->\n <mat-menu #menu=\"matMenu\" panelClass=\"custom-dropdown-menu\">\n <button mat-menu-item *ngFor=\"let opt of dropdownOptions\" (click)=\"selectOption(opt)\" [ngClass]=\"effectiveFontClass\">\n {{ opt.label || opt }}\n </button>\n </mat-menu>\n </ng-template>", styles: ["@charset \"UTF-8\";@import\"https://fonts.googleapis.com/icon?family=Material+Icons|Material+Icons+Outlined\";@import\"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap\";.font-display-large{font-family:Roboto,sans-serif!important;font-size:57px;font-style:normal;font-weight:400;line-height:64px;letter-spacing:-.25px}.font-display-medium{font-family:Roboto,sans-serif!important;font-size:45px;font-style:normal;font-weight:400;line-height:52px}.font-display-small{font-family:Roboto,sans-serif!important;font-size:36px;font-style:normal;font-weight:400;line-height:44px}.font-headline-large{font-family:Roboto,sans-serif!important;font-size:32px;font-style:normal;font-weight:400;line-height:40px}.font-headline-medium{font-family:Roboto,sans-serif!important;font-size:28px;font-style:normal;font-weight:400;line-height:36px}.font-headline-small{font-family:Roboto,sans-serif!important;font-size:24px;font-style:normal;font-weight:400;line-height:32px}.font-title-large{font-family:Roboto,sans-serif!important;font-size:22px;font-style:normal;font-weight:400;line-height:28px}.font-title-medium{font-family:Roboto,sans-serif!important;font-size:16px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.15px}.font-title-small{font-family:Roboto,sans-serif!important;font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.1px}.font-label-large{font-family:Roboto,sans-serif!important;font-size:14px;font-style:normal;font-weight:500;line-height:20px;letter-spacing:.1px}.font-label-medium{font-family:Roboto,sans-serif!important;font-size:12px;font-style:normal;font-weight:400;line-height:12px;letter-spacing:.5px}.font-label-small{font-family:Roboto,sans-serif!important;font-size:10px;font-style:normal;font-weight:400;line-height:10px;letter-spacing:.5px}.font-body-large{font-family:Roboto,sans-serif!important;font-size:16px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.5px}.font-body-medium{font-family:Roboto,sans-serif!important;font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px}.font-body-small{font-family:Roboto,sans-serif!important;font-size:12px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.4px}.material-icons-outlined{font-family:Material Icons Outlined;font-weight:400;font-style:normal;font-feature-settings:\"liga\";font-variation-settings:\"FILL\" 0,\"wght\" 400,\"GRAD\" 0,\"opsz\" 24}.mdc-button.btn{border-radius:5px;display:flex;align-items:center;cursor:pointer;border:none;transition:background .2s,border .2s,transform .1s;min-width:auto!important;gap:8px;height:auto!important}.mdc-button.btn-primary1{background-color:#5473e8;color:#fff}.mdc-button.btn-primary2{background-color:#37c1ce;color:#fff}.mdc-button.btn-secondary{background-color:#383b4a;color:#fff}.mdc-button.btn-destructive{background-color:#e854a4;color:#fff}.mdc-button.btn-gradient{background:linear-gradient(275deg,#5473e8 -36.22%,#37c1ce 100.04%);color:#fff}.mdc-button.btn-primary2:hover{background-color:#4bc7d3!important}.mdc-button.btn-primary2:active{background-color:#299da8!important}.mdc-button.btn-primary2:outlined{background-color:#fff;border-radius:4px;border:1px solid #37c1ce}.mdc-button.btn-primary1:hover{background-color:#6581ea!important}.mdc-button.btn-primary1:active{background-color:#1e46df!important}.mdc-button.btn-primary1:outlined{background-color:#fff;border-radius:4px;border:1px solid #5473e8}.mdc-button.btn-secondary:hover{background-color:#4b4f62!important}.mdc-button.btn-secondary:active{background-color:#252831!important}.mdc-button.btn-secondary:outlined{background-color:#fff;border-radius:4px;border:1px solid #383B4A}.mdc-button.btn-destructive:hover{background-color:#ef87bf!important}.mdc-button.btn-destructive:active{background-color:#e22a8e!important}.mdc-button.btn-destructive:outlined{background-color:#fff;border-radius:4px;border:1px solid #E854A4}.mdc-button.btn-gradient:hover{background:linear-gradient(275deg,#4a90e2 -36.22%,#2bbbad 100.04%)!important}.mdc-button.btn-gradient:active{background:linear-gradient(275deg,#42a5f5 -36.22%,#1e88e5 100.04%)!important}.mdc-button.btn-disabled{border:none!important;background-color:#b0b0b0;color:#666;cursor:not-allowed}.mdc-button.btn-outlined{background:transparent;border:2px solid currentColor}.blue{background-color:#5473e8!important;color:#fff}.blue.btn-hover,.blue:hover{background-color:#6581ea!important}.blue.btn-pressed,.blue:active{background-color:#1e46df!important}.green{background-color:#37c1ce!important;color:#fff}.green.btn-hover,.green:hover{background-color:#4bc7d3!important}.green.btn-pressed,.green:active{background-color:#299da8!important}.grey{background-color:#383b4a!important;color:#fff}.grey.btn-hover,.grey:hover{background-color:#4b4f62!important}.grey.btn-pressed,.grey:active{background-color:#252831!important}.error{background-color:#e854a4!important;color:#fff}.error.btn-hover,.error:hover{background-color:#ef87bf!important}.error.btn-pressed,.error:active{background-color:#e22a8e!important}.gradient{background:linear-gradient(275deg,#5473e8 -36.22%,#37c1ce 100.04%);color:#fff}.gradient.btn-hover,.gradient:hover{opacity:.9}.gradient.btn-pressed,.gradient:active{opacity:.8}.btn.custom-button>*+*{margin-left:8px}.two-icon-label{padding:4px 12px!important}button.two-icon-label .mat-icon{width:20px!important;height:20px!important}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialicons/v143/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2) format(\"woff2\")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}.left-icon{order:0}.right-icon{order:2}mat-icon.mat-icon{margin:0!important;padding:0!important}.size-header{font-size:20px;padding:4px 12px!important}.size-xs{font-size:12px;padding:8px 12px!important}.size-sm{font-size:14px;padding:8px 12px!important}.size-base{font-size:14px;padding:10px 20px!important}.size-l{font-size:16px;padding:12px 20px!important}.size-xl{font-size:16px;padding:14px 24px!important}.size-header .mat-icon{font-size:20px}.size-xs .mat-icon,.size-sm .mat-icon,.size-base .mat-icon{font-size:16px}.size-l .mat-icon,.size-xl .mat-icon{font-size:20px}.btn.size-header{gap:4px!important;padding:4px 12px!important}::ng-deep .custom-dropdown-menu.mat-mdc-menu-panel,::ng-deep .custom-dropdown-menu.mat-menu-panel{padding:0;border-radius:8px;box-shadow:0 2px 6px #00000026;border:1px solid rgba(0,0,0,.12)}::ng-deep .custom-dropdown-menu .mat-mdc-menu-content,::ng-deep .custom-dropdown-menu .mat-menu-content{padding:0}::ng-deep .custom-dropdown-menu .mat-mdc-menu-item,::ng-deep .custom-dropdown-menu .mat-menu-item{font-family:Roboto,sans-serif;font-size:16px;line-height:24px;height:56px;padding:16px 24px;color:#47515e}::ng-deep .custom-dropdown-menu .mat-mdc-menu-item:hover,::ng-deep .custom-dropdown-menu .mat-menu-item:hover{background:#f5f6f7}::ng-deep .custom-dropdown-menu .mat-mdc-menu-item+.mat-mdc-menu-item,::ng-deep .custom-dropdown-menu .mat-menu-item+.mat-menu-item{border-top:1px solid #EAECEE}::ng-deep .mat-mdc-menu-panel,::ng-deep .mat-menu-panel,::ng-deep .mdc-menu-surface{background-color:#fff!important;--mdc-theme-surface: #ffffff !important;--mdc-menu-container-color: #ffffff !important}::ng-deep .mat-mdc-menu-panel .mat-mdc-menu-content,::ng-deep .mat-menu-panel .mat-menu-content{background-color:#fff!important}.cdk-overlay-pane{z-index:1000!important;background:#fff!important}::ng-deep .mat-mdc-menu-panel,::ng-deep .mat-menu-panel,::ng-deep .mdc-menu-surface,.cdk-overlay-pane .mat-mdc-menu-panel,.cdk-overlay-pane .mdc-menu-surface,.cdk-overlay-pane .mat-menu-panel{background-color:#fff!important;--mdc-theme-surface:#ffffff !important;--mdc-menu-container-color:#fff !important}.mat-mdc-menu-panel,.mdc-menu-surface,.mat-menu-panel{--mdc-theme-surface: #ffffff !important;background-color:#fff!important}.cdk-overlay-pane .mat-mdc-menu-panel,.cdk-overlay-pane .mdc-menu-surface{--mdc-menu-container-color:#fff !important}.cdk-overlay-pane .mat-menu-panel,.cdk-overlay-pane .mat-mdc-menu-content,.cdk-overlay-pane .mat-menu-content{background:#fff!important}button.icon-circle{width:auto!important;height:auto!important;border-radius:50%!important;aspect-ratio:1/1;display:inline-flex;align-items:center;min-width:0!important;justify-content:center;padding:6px!important}.size-small.icon-circle{padding:4px!important}.size-medium.icon-circle{padding:8px!important}.size-large.icon-circle{padding:12px!important}.size-header.icon-circle{padding:4px!important}.size-header.icon-circle .mat-icon{width:10px;height:10px;font-size:10px}.size-xs.icon-circle{padding:4px!important}.size-xs.icon-circle .mat-icon{font-size:12px}.size-sm.icon-circle{padding:8px!important}.size-sm.icon-circle .mat-icon{font-size:12px}.size-base.icon-circle{padding:10px!important}.size-base.icon-circle .mat-icon{font-size:14px}.size-l.icon-circle{padding:12px!important}.size-l.icon-circle .mat-icon{font-size:16px}.size-xl.icon-circle{padding:14px!important}.size-xl.icon-circle .mat-icon{font-size:16px}.icon-xs{padding:4px!important}.mdc-button.blue{background-color:#5473e8;color:#fff}.mdc-button.blue:hover{background-color:#6581ea}.mdc-button.blue:active{background-color:#1e46df}.mdc-button.green{background-color:#37c1ce;color:#fff}.mdc-button.green:hover{background-color:#4bc7d3}.mdc-button.green:active{background-color:#299da8}.mdc-button.grey{background-color:#383b4a;color:#fff}.mdc-button.grey:hover{background-color:#4b4f62}.mdc-button.grey:active{background-color:#252831}.mdc-button.error{background-color:#e854a4;color:#fff}.mdc-button.error:hover{background-color:#ef87bf}.mdc-button.error:active{background-color:#e22a8e}.mdc-button.gradient{background:linear-gradient(275deg,#5473e8 -36.22%,#37c1ce 100.04%);color:#fff}.mdc-button.gradient:hover{background:linear-gradient(0deg,#fafafd4d 0% 100%),linear-gradient(275deg,#2bbbad 9.3%,#4a90e2 115.85%)}.mdc-button.gradient:active{background:linear-gradient(0deg,#383b4a80 0% 100%),linear-gradient(275deg,#2bbbad 9.3%,#4a90e2 115.85%)}.mdc-button.disabled,.mdc-button:disabled{background-color:#d1d3db!important;color:#666!important;cursor:not-allowed!important}.mdc-button.blue-no-outline{background-color:#fff;color:#5473e8;border:1px solid #5473E8}.mdc-button.blue-no-outline:hover{background-color:#6581ea;color:#fff}.mdc-button.blue-no-outline:active{background-color:#1e46df;color:#fff}.mdc-button.green-no-outline{background-color:#fff;color:#37c1ce;border:1px solid #37C1CE}.mdc-button.green-no-outline:hover{background-color:#4bc7d3;color:#fff}.mdc-button.green-no-outline:active{background-color:#299da8;color:#fff}.mdc-button.grey-no-outline{background-color:#fff;color:#383b4a;border:1px solid #383B4A}.mdc-button.grey-no-outline:hover{background-color:#4b4f62;color:#fff}.mdc-button.grey-no-outline:active{background-color:#252831;color:#fff}.mdc-button.error-no-outline{background-color:#fff;color:#e854a4;border:1px solid #E854A4}.mdc-button.error-no-outline:hover{background-color:#ef87bf;color:#fff}.mdc-button.error-no-outline:active{background-color:#e22a8e;color:#fff}::ng-deep .cdk-overlay-pane{border-radius:6px!important;box-shadow:0 2px 6px #00000026!important}::ng-deep .mat-mdc-menu-panel{padding:4px 0!important;background-color:#fff!important;min-width:180px!important;border-radius:6px!important;box-shadow:none!important}::ng-deep .mat-mdc-menu-item{font-family:Roboto,sans-serif;font-size:14px;color:#333;padding:12px 16px;border-radius:0!important;transition:background .2s ease-in-out}::ng-deep .mat-mdc-menu-item:hover{background-color:#f5f5f5!important}.mat-mdc-unelevated-button>.mat-icon{line-height:18px!important}\n"] }]
137
- }], propDecorators: { state: [{
146
+ args: [{ selector: 'al-button', imports: [CommonModule, MatButtonModule, MatIconModule, MatMenuModule], standalone: true, template: "<!-- Regular button types -->\n<ng-container *ngIf=\"buttonType !== 'dropdown'; else dropdownTpl\">\n <button\n mat-flat-button\n class=\"btn custom-button\" [class]=\"effectiveFontClass\"\n [ngClass]=\"{\n 'size-header': size === 'header' && !fontClass,\n 'size-xs': size === 'xs' && !fontClass,\n 'size-sm': size === 'sm' && !fontClass,\n 'size-base': size === 'base' && !fontClass,\n 'size-l': size === 'l' && !fontClass,\n 'size-xl': size === 'xl' && !fontClass,\n 'mat-raised-button': variant === 'raised',\n 'mat-flat-button': variant === 'flat',\n \n 'mat-stroked-button': variant === 'stroked',\n 'mat-fab': variant === 'fab',\n 'mat-icon-button': variant === 'icon',\n 'icon-circle': buttonType === 'icon-circle',\n 'blue': category === 'blue',\n 'green': category === 'green',\n 'grey': category === 'grey',\n 'error': category === 'error',\n 'gradient': category === 'gradient',\n 'blue-no-outline': category === 'blue-no-outline',\n 'green-no-outline': category === 'green-no-outline',\n 'grey-no-outline': category === 'grey-no-outline',\n 'error-no-outline': category === 'error-no-outline',\n 'btn-default': state === 'default',\n 'btn-hover': state === 'hover',\n 'btn-pressed': state === 'pressed',\n 'btn-disabled': state === 'disabled'\n }\"\n [ngStyle]=\"{ color: color }\"\n [disabled]=\"state === 'disabled'\"\n (click)=\"onClick.emit($event)\"\n (mouseenter)=\"onHover.emit($event)\"\n (mouseleave)=\"onMouseLeave.emit($event)\"\n [style.display]=\"'inline-flex'\"\n [style.align-items]=\"'center'\"\n [style.gap.px]=\"computeGap()\"\n >\n <!-- Left Icon (Only shown if leftIcon is set and not empty) -->\n <mat-icon *ngIf=\"leftIcon?.trim() as leftIconText\"\n [fontSet]=\"outlined ? 'material-icons-outlined' : 'material-icons'\"\n class=\"left-icon\">{{ leftIconText }}</mat-icon>\n <!-- Label (Only shown if iconOnly is false) -->\n <span *ngIf=\"!iconOnly\" class=\"button-label\" [ngStyle]=\"{ color: color }\">{{ label || '' }}</span>\n \n <!-- Right Icon (Only shown if rightIcon is set and not empty) -->\n <mat-icon *ngIf=\"rightIcon?.trim() as rightIconText\"\n [fontSet]=\"outlined ? 'material-icons-outlined' : 'material-icons'\"\n class=\"right-icon\">{{ rightIconText }}</mat-icon>\n </button>\n </ng-container>\n \n <!-- Dropdown button template -->\n <ng-template #dropdownTpl>\n <button\n mat-flat-button\n class=\"btn custom-button\" [class]=\"effectiveFontClass\"\n [ngClass]=\"{\n 'size-header': size === 'header' && !fontClass,\n 'size-xs': size === 'xs' && !fontClass,\n 'size-sm': size === 'sm' && !fontClass,\n 'size-base': size === 'base' && !fontClass,\n 'size-l': size === 'l' && !fontClass,\n 'size-xl': size === 'xl' && !fontClass,\n 'mat-raised-button': variant === 'raised',\n 'mat-flat-button': variant === 'flat',\n 'mat-stroked-button': variant === 'stroked',\n 'mat-fab': variant === 'fab',\n 'mat-icon-button': variant === 'icon',\n 'icon-label': true,\n 'blue': category === 'blue',\n 'green': category === 'green',\n 'grey': category === 'grey',\n 'error': category === 'error',\n 'gradient': category === 'gradient',\n 'blue-no-outline': category === 'blue-no-outline',\n 'green-no-outline': category === 'green-no-outline',\n 'grey-no-outline': category === 'grey-no-outline',\n 'error-no-outline': category === 'error-no-outline',\n 'btn-default': state === 'default',\n 'btn-hover': state === 'hover',\n 'btn-pressed': state === 'pressed',\n 'btn-disabled': state === 'disabled',\n \n }\"\n [ngStyle]=\"{ color: color }\"\n [disabled]=\"state === 'disabled'\"\n (mouseenter)=\"onHover.emit($event)\"\n (mouseleave)=\"onMouseLeave.emit($event)\"\n [style.display]=\"'inline-flex'\"\n [style.align-items]=\"'center'\"\n [style.gap.px]=\"computeGap()\"\n [matMenuTriggerFor]=\"menu\"\n >\n <!-- Left Icon (optional) -->\n <mat-icon *ngIf=\"leftIcon?.trim() as leftIconText\"\n [fontSet]=\"outlined ? 'material-icons-outlined' : 'material-icons'\"\n class=\"left-icon\">{{ leftIconText }}</mat-icon>\n <!-- Label -->\n <span *ngIf=\"!iconOnly\" class=\"button-label\" [ngStyle]=\"{ color: color }\">{{ label || '' }}</span>\n <!-- Dropdown Arrow Icon -->\n <mat-icon class=\"right-icon\">arrow_drop_down</mat-icon>\n </button>\n <!-- Mat Menu -->\n <mat-menu #menu=\"matMenu\" panelClass=\"custom-dropdown-menu\">\n <button mat-menu-item *ngFor=\"let opt of dropdownOptions\" (click)=\"selectOption(opt)\" [ngClass]=\"effectiveFontClass\">\n {{ opt.label || opt }}\n </button>\n </mat-menu>\n </ng-template>", styles: ["@charset \"UTF-8\";@import\"https://fonts.googleapis.com/icon?family=Material+Icons|Material+Icons+Outlined\";@import\"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap\";.font-display-large{font-family:Roboto,sans-serif!important;font-size:57px;font-style:normal;font-weight:400;line-height:64px;letter-spacing:-.25px}.font-display-medium{font-family:Roboto,sans-serif!important;font-size:45px;font-style:normal;font-weight:400;line-height:52px}.font-display-small{font-family:Roboto,sans-serif!important;font-size:36px;font-style:normal;font-weight:400;line-height:44px}.font-headline-large{font-family:Roboto,sans-serif!important;font-size:32px;font-style:normal;font-weight:400;line-height:40px}.font-headline-medium{font-family:Roboto,sans-serif!important;font-size:28px;font-style:normal;font-weight:400;line-height:36px}.font-headline-small{font-family:Roboto,sans-serif!important;font-size:24px;font-style:normal;font-weight:400;line-height:32px}.font-title-large{font-family:Roboto,sans-serif!important;font-size:22px;font-style:normal;font-weight:400;line-height:28px}.font-title-medium{font-family:Roboto,sans-serif!important;font-size:16px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.15px}.font-title-small{font-family:Roboto,sans-serif!important;font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.1px}.font-label-large{font-family:Roboto,sans-serif!important;font-size:14px;font-style:normal;font-weight:500;line-height:20px;letter-spacing:.1px}.font-label-medium{font-family:Roboto,sans-serif!important;font-size:12px;font-style:normal;font-weight:400;line-height:12px;letter-spacing:.5px}.font-label-small{font-family:Roboto,sans-serif!important;font-size:10px;font-style:normal;font-weight:400;line-height:10px;letter-spacing:.5px}.font-body-large{font-family:Roboto,sans-serif!important;font-size:16px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.5px}.font-body-medium{font-family:Roboto,sans-serif!important;font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px}.font-body-small{font-family:Roboto,sans-serif!important;font-size:12px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.4px}.material-icons-outlined{font-family:Material Icons Outlined;font-weight:400;font-style:normal;font-feature-settings:\"liga\";font-variation-settings:\"FILL\" 0,\"wght\" 400,\"GRAD\" 0,\"opsz\" 24}.mdc-button.btn{border-radius:5px;display:flex;align-items:center;cursor:pointer;border:none;transition:background .2s,border .2s,transform .1s;min-width:auto!important;gap:8px;height:auto!important}.mdc-button.btn-primary1{background-color:#5473e8;color:#fff}.mdc-button.btn-primary2{background-color:#37c1ce;color:#fff}.mdc-button.btn-secondary{background-color:#383b4a;color:#fff}.mdc-button.btn-destructive{background-color:#e854a4;color:#fff}.mdc-button.btn-gradient{background:linear-gradient(275deg,#5473e8 -36.22%,#37c1ce 100.04%);color:#fff}.mdc-button.btn-primary2:hover{background-color:#4bc7d3!important}.mdc-button.btn-primary2:active{background-color:#299da8!important}.mdc-button.btn-primary2:outlined{background-color:#fff;border-radius:4px;border:1px solid #37c1ce}.mdc-button.btn-primary1:hover{background-color:#6581ea!important}.mdc-button.btn-primary1:active{background-color:#1e46df!important}.mdc-button.btn-primary1:outlined{background-color:#fff;border-radius:4px;border:1px solid #5473e8}.mdc-button.btn-secondary:hover{background-color:#4b4f62!important}.mdc-button.btn-secondary:active{background-color:#252831!important}.mdc-button.btn-secondary:outlined{background-color:#fff;border-radius:4px;border:1px solid #383B4A}.mdc-button.btn-destructive:hover{background-color:#ef87bf!important}.mdc-button.btn-destructive:active{background-color:#e22a8e!important}.mdc-button.btn-destructive:outlined{background-color:#fff;border-radius:4px;border:1px solid #E854A4}.mdc-button.btn-gradient:hover{background:linear-gradient(275deg,#4a90e2 -36.22%,#2bbbad 100.04%)!important}.mdc-button.btn-gradient:active{background:linear-gradient(275deg,#42a5f5 -36.22%,#1e88e5 100.04%)!important}.mdc-button.btn-disabled{border:none!important;background-color:#b0b0b0;color:#666;cursor:not-allowed}.mdc-button.btn-outlined{background:transparent;border:2px solid currentColor}.blue{background-color:#5473e8!important;color:#fff}.blue.btn-hover,.blue:hover{background-color:#6581ea!important}.blue.btn-pressed,.blue:active{background-color:#1e46df!important}.green{background-color:#37c1ce!important;color:#fff}.green.btn-hover,.green:hover{background-color:#4bc7d3!important}.green.btn-pressed,.green:active{background-color:#299da8!important}.grey{background-color:#383b4a!important;color:#fff}.grey.btn-hover,.grey:hover{background-color:#4b4f62!important}.grey.btn-pressed,.grey:active{background-color:#252831!important}.error{background-color:#e854a4!important;color:#fff}.error.btn-hover,.error:hover{background-color:#ef87bf!important}.error.btn-pressed,.error:active{background-color:#e22a8e!important}.gradient{background:linear-gradient(275deg,#5473e8 -36.22%,#37c1ce 100.04%);color:#fff}.gradient.btn-hover,.gradient:hover{opacity:.9}.gradient.btn-pressed,.gradient:active{opacity:.8}.btn.custom-button>*+*{margin-left:8px}.two-icon-label{padding:4px 12px!important}button.two-icon-label .mat-icon{width:20px!important;height:20px!important}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialicons/v143/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2) format(\"woff2\")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased}.left-icon{order:0}.right-icon{order:2}mat-icon.mat-icon{margin:0!important;padding:0!important}.size-header{font-size:20px;padding:4px 12px!important}.size-xs{font-size:12px;padding:8px 12px!important}.size-sm{font-size:14px;padding:8px 12px!important}.size-base{font-size:14px;padding:10px 20px!important}.size-l{font-size:16px;padding:12px 20px!important}.size-xl{font-size:16px;padding:14px 24px!important}.size-header .mat-icon{font-size:20px;height:20px;width:20px}.size-xs .mat-icon,.size-sm .mat-icon,.size-base .mat-icon{font-size:16px;height:16px;width:16px}.size-l .mat-icon,.size-xl .mat-icon{font-size:20px;height:20px;width:20px}.btn.size-header{gap:4px!important;padding:4px 12px!important}::ng-deep .custom-dropdown-menu.mat-mdc-menu-panel,::ng-deep .custom-dropdown-menu.mat-menu-panel{padding:0;border-radius:8px;box-shadow:0 2px 6px #00000026;border:1px solid rgba(0,0,0,.12)}::ng-deep .custom-dropdown-menu .mat-mdc-menu-content,::ng-deep .custom-dropdown-menu .mat-menu-content{padding:0}::ng-deep .custom-dropdown-menu .mat-mdc-menu-item,::ng-deep .custom-dropdown-menu .mat-menu-item{font-family:Roboto,sans-serif;font-size:16px;line-height:24px;height:56px;padding:16px 24px;color:#47515e}::ng-deep .custom-dropdown-menu .mat-mdc-menu-item:hover,::ng-deep .custom-dropdown-menu .mat-menu-item:hover{background:#f5f6f7}::ng-deep .custom-dropdown-menu .mat-mdc-menu-item+.mat-mdc-menu-item,::ng-deep .custom-dropdown-menu .mat-menu-item+.mat-menu-item{border-top:1px solid #EAECEE}::ng-deep .mat-mdc-menu-panel,::ng-deep .mat-menu-panel,::ng-deep .mdc-menu-surface{background-color:#fff!important;--mdc-theme-surface: #ffffff !important;--mdc-menu-container-color: #ffffff !important}::ng-deep .mat-mdc-menu-panel .mat-mdc-menu-content,::ng-deep .mat-menu-panel .mat-menu-content{background-color:#fff!important}.cdk-overlay-pane{z-index:1000!important;background:#fff!important}::ng-deep .mat-mdc-menu-panel,::ng-deep .mat-menu-panel,::ng-deep .mdc-menu-surface,.cdk-overlay-pane .mat-mdc-menu-panel,.cdk-overlay-pane .mdc-menu-surface,.cdk-overlay-pane .mat-menu-panel{background-color:#fff!important;--mdc-theme-surface:#ffffff !important;--mdc-menu-container-color:#fff !important}.mat-mdc-menu-panel,.mdc-menu-surface,.mat-menu-panel{--mdc-theme-surface: #ffffff !important;background-color:#fff!important}.cdk-overlay-pane .mat-mdc-menu-panel,.cdk-overlay-pane .mdc-menu-surface{--mdc-menu-container-color:#fff !important}.cdk-overlay-pane .mat-menu-panel,.cdk-overlay-pane .mat-mdc-menu-content,.cdk-overlay-pane .mat-menu-content{background:#fff!important}button.icon-circle{width:auto!important;height:auto!important;border-radius:50%!important;aspect-ratio:1/1;display:inline-flex;align-items:center;min-width:0!important;justify-content:center;padding:6px!important}.size-small.icon-circle{padding:4px!important}.size-medium.icon-circle{padding:8px!important}.size-large.icon-circle{padding:12px!important}.size-header.icon-circle{padding:4px!important}.size-header.icon-circle .mat-icon{width:10px;height:10px;font-size:10px}.size-xs.icon-circle{padding:4px!important}.size-xs.icon-circle .mat-icon{width:12px;height:12px;font-size:12px}.size-sm.icon-circle{padding:8px!important}.size-sm.icon-circle .mat-icon{width:12px;height:12px;font-size:12px}.size-base.icon-circle{padding:10px!important}.size-base.icon-circle .mat-icon{width:12px;height:12px;font-size:12px}.size-l.icon-circle{padding:12px!important}.size-l.icon-circle .mat-icon{width:16px;height:16px;font-size:16px}.size-xl.icon-circle{padding:14px!important}.size-xl.icon-circle .mat-icon{width:16px;height:16px;font-size:16px}.icon-xs{padding:4px!important}.mdc-button.blue{background-color:#5473e8;color:#fff}.mdc-button.blue:hover{background-color:#6581ea}.mdc-button.blue:active{background-color:#1e46df}.mdc-button.green{background-color:#37c1ce;color:#fff}.mdc-button.green:hover{background-color:#4bc7d3}.mdc-button.green:active{background-color:#299da8}.mdc-button.grey{background-color:#383b4a;color:#fff}.mdc-button.grey:hover{background-color:#4b4f62}.mdc-button.grey:active{background-color:#252831}.mdc-button.error{background-color:#e854a4;color:#fff}.mdc-button.error:hover{background-color:#ef87bf}.mdc-button.error:active{background-color:#e22a8e}.mdc-button.gradient{background:linear-gradient(275deg,#5473e8 -36.22%,#37c1ce 100.04%);color:#fff}.mdc-button.gradient:hover{background:linear-gradient(0deg,#fafafd4d 0% 100%),linear-gradient(275deg,#2bbbad 9.3%,#4a90e2 115.85%)}.mdc-button.gradient:active{background:linear-gradient(0deg,#383b4a80 0% 100%),linear-gradient(275deg,#2bbbad 9.3%,#4a90e2 115.85%)}.mdc-button.disabled,.mdc-button:disabled{background-color:#d1d3db!important;color:#666!important;cursor:not-allowed!important}.mdc-button.blue-no-outline{background-color:#fff;color:#5473e8;border:1px solid #5473E8}.mdc-button.blue-no-outline:hover{background-color:#6581ea;color:#fff}.mdc-button.blue-no-outline:active{background-color:#1e46df;color:#fff}.mdc-button.green-no-outline{background-color:#fff;color:#37c1ce;border:1px solid #37C1CE}.mdc-button.green-no-outline:hover{background-color:#4bc7d3;color:#fff}.mdc-button.green-no-outline:active{background-color:#299da8;color:#fff}.mdc-button.grey-no-outline{background-color:#fff;color:#383b4a;border:1px solid #383B4A}.mdc-button.grey-no-outline:hover{background-color:#4b4f62;color:#fff}.mdc-button.grey-no-outline:active{background-color:#252831;color:#fff}.mdc-button.error-no-outline{background-color:#fff;color:#e854a4;border:1px solid #E854A4}.mdc-button.error-no-outline:hover{background-color:#ef87bf;color:#fff}.mdc-button.error-no-outline:active{background-color:#e22a8e;color:#fff}::ng-deep .cdk-overlay-pane{border-radius:6px!important;box-shadow:0 2px 6px #00000026!important}::ng-deep .mat-mdc-menu-panel{padding:4px 0!important;background-color:#fff!important;min-width:180px!important;border-radius:6px!important;box-shadow:none!important}::ng-deep .mat-mdc-menu-item{font-family:Roboto,sans-serif;font-size:14px;color:#333;padding:12px 16px;border-radius:0!important;transition:background .2s ease-in-out}::ng-deep .mat-mdc-menu-item:hover{background-color:#f5f5f5!important}.size-header ::ng-deep .mdc-button__label{display:none!important}\n"] }]
147
+ }], propDecorators: { iconPlacement: [{
148
+ type: Input
149
+ }], state: [{
138
150
  type: Input
139
151
  }], category: [{
140
152
  type: Input
@@ -182,15 +194,14 @@ class ButtonModule {
182
194
  this.iconRegistry.registerFontClassAlias('material-symbols-outlined', 'material-symbols-outlined');
183
195
  }
184
196
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: ButtonModule, deps: [{ token: i1$1.MatIconRegistry }, { token: i2$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.NgModule }); }
185
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.6", ngImport: i0, type: ButtonModule, imports: [CommonModule, ButtonComponent] }); }
197
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.6", ngImport: i0, type: ButtonModule, imports: [CommonModule, ButtonComponent], exports: [ButtonComponent] }); }
186
198
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: ButtonModule, imports: [CommonModule, ButtonComponent] }); }
187
199
  }
188
200
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: ButtonModule, decorators: [{
189
201
  type: NgModule,
190
202
  args: [{
191
- declarations: [], // ✅ Ensure ButtonComponent is declared
192
- exports: [], // ✅ Export if used in other modules
193
- imports: [CommonModule, ButtonComponent], // ✅ Required for Angular directives like *ngIf, *ngFor
203
+ imports: [CommonModule, ButtonComponent],
204
+ exports: [ButtonComponent],
194
205
  }]
195
206
  }], ctorParameters: () => [{ type: i1$1.MatIconRegistry }, { type: i2$1.DomSanitizer }] });
196
207
 
@@ -211,6 +222,7 @@ class InputComponent {
211
222
  this.size = 'base';
212
223
  this.inputTypes = 'simple';
213
224
  this.noBorder = false;
225
+ this.outlined = false;
214
226
  this.valueChange = new EventEmitter();
215
227
  this.onChange = (value) => { };
216
228
  this.onTouched = () => { };
@@ -253,13 +265,13 @@ class InputComponent {
253
265
  return 'al-input-category-' + this.inputTypes;
254
266
  }
255
267
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: InputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
256
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.6", type: InputComponent, isStandalone: true, selector: "al-input", inputs: { label: "label", placeholder: "placeholder", value: "value", formControlName: "formControlName", type: "type", disabled: "disabled", helperText: "helperText", helperTextLabel: "helperTextLabel", leftIcon: "leftIcon", rightIcon: "rightIcon", dropDown: "dropDown", options: "options", size: "size", inputTypes: "inputTypes", noBorder: "noBorder" }, outputs: { valueChange: "valueChange" }, providers: [
268
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.6", type: InputComponent, isStandalone: true, selector: "al-input", inputs: { label: "label", placeholder: "placeholder", value: "value", formControlName: "formControlName", type: "type", disabled: "disabled", helperText: "helperText", helperTextLabel: "helperTextLabel", leftIcon: "leftIcon", rightIcon: "rightIcon", dropDown: "dropDown", options: "options", size: "size", inputTypes: "inputTypes" }, outputs: { valueChange: "valueChange" }, providers: [
257
269
  {
258
270
  provide: NG_VALUE_ACCESSOR,
259
271
  useExisting: forwardRef(() => InputComponent),
260
272
  multi: true
261
273
  }
262
- ], ngImport: i0, template: "<mat-form-field appearance=\"outline\" class=\"al-input-field\" [ngClass]=\"[\n helperText ? 'has-error' : '',\n getSizeClass(),\n getCategoryClass(),\n noBorder ? 'al-input-no-border' : ''\n ]\">\n <mat-label *ngIf=\"label && !noBorder\">{{ label }}</mat-label>\n\n <span *ngIf=\"leftIcon\" matPrefix class=\"material-symbols-outlined\">\n {{ leftIcon }}\n </span>\n\n <ng-container *ngIf=\"dropDown; else regularInput\">\n <mat-select [disabled]=\"isDisabled\" [(ngModel)]=\"value\" (selectionChange)=\"onSelectionChange($event.value)\">\n <mat-option *ngFor=\"let option of options\" [value]=\"option\">{{ option }}</mat-option>\n </mat-select>\n </ng-container>\n <ng-template #regularInput>\n <input matInput [placeholder]=\"placeholder\" [type]=\"type\" [disabled]=\"isDisabled\" [(ngModel)]=\"value\"\n (input)=\"onInputChange($any($event.target).value)\" (blur)=\"onTouched()\" />\n </ng-template>\n\n <span *ngIf=\"rightIcon\" matSuffix class=\"material-symbols-outlined\">{{ rightIcon }}</span>\n\n <mat-error *ngIf=\"helperText\">{{ helperTextLabel }}</mat-error>\n <mat-hint *ngIf=\"!helperText && helperTextLabel\">{{ helperTextLabel }}</mat-hint>\n</mat-form-field>\n", styles: ["@import\"https://fonts.googleapis.com/icon?family=Material+Icons|Material+Icons+Outlined\";@import\"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap\";@import\"https://fonts.googleapis.com/icon?family=Material+Icons\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined\";@import\"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap\";@import\"https://cdn.jsdelivr.net/npm/@angular/material@19.2.3/prebuilt-themes/indigo-pink.css\";.al-input-field{width:100%;margin-bottom:16px}::ng-deep .al-input-field .mat-mdc-form-field-flex,::ng-deep .al-input-field .mat-mdc-text-field-wrapper,::ng-deep .al-input-field .mat-mdc-form-field-infix{background-color:#f7f9fe!important}::ng-deep .al-input-field .mat-mdc-form-field-subscript-wrapper{background-color:transparent!important}::ng-deep .al-input-field .mat-mdc-form-field-focus-overlay{background-color:#f7f9fe!important}::ng-deep .al-input-category-primary,::ng-deep .al-input-category-success,::ng-deep .al-input-category-warn,::ng-deep .al-input-category-disabled{--mdc-outlined-text-field-outline-width: 1px !important;--mdc-outlined-text-field-focus-outline-width: 1px !important;--mdc-outlined-text-field-hover-outline-width: 1px !important}::ng-deep .al-input-category-simple{--mdc-outlined-text-field-outline-color: #C3C5D1 !important;--mdc-outlined-text-field-focus-outline-color: #C3C5D1 !important;--mdc-outlined-text-field-hover-outline-color: #C3C5D1 !important;--mdc-outlined-text-field-label-text-color: #5473E8 !important;--mdc-outlined-text-field-focus-label-text-color: #5473E8 !important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatOptionModule }] }); }
274
+ ], ngImport: i0, template: "<mat-form-field appearance=\"outline\" class=\"al-input-field\" [ngClass]=\"[\n helperText ? 'has-error' : '',\n getSizeClass(),\n getCategoryClass(),\n noBorder ? 'al-input-no-border' : '',\n leftIcon ? 'has-left-icon' : ''\n ]\">\n <mat-label *ngIf=\"label && !noBorder\">{{ label }}</mat-label>\n\n <mat-icon *ngIf=\"leftIcon?.trim() as leftIconText\" [fontSet]=\"outlined ? 'material-icons-outlined' : 'material-icons'\"\n matPrefix class=\"left-icon\">{{ leftIconText }}</mat-icon>\n\n <ng-container *ngIf=\"dropDown; else regularInput\">\n <mat-select [disabled]=\"isDisabled\" [(ngModel)]=\"value\" (selectionChange)=\"onSelectionChange($event.value)\">\n <mat-option *ngFor=\"let option of options\" [value]=\"option\">{{ option }}</mat-option>\n </mat-select>\n </ng-container>\n <ng-template #regularInput>\n <input matInput [placeholder]=\"placeholder\" [type]=\"type\" [disabled]=\"isDisabled\" [(ngModel)]=\"value\"\n (input)=\"onInputChange($any($event.target).value)\" (blur)=\"onTouched()\" />\n </ng-template>\n\n <mat-icon *ngIf=\"rightIcon?.trim() as rightIconText\"\n [fontSet]=\"outlined ? 'material-icons-outlined' : 'material-icons'\" matSuffix class=\"right-icon\">{{ rightIconText\n }}</mat-icon>\n\n <mat-error *ngIf=\"false && helperTextLabel\">{{ helperTextLabel }}</mat-error>\n <mat-hint *ngIf=\"helperText && helperTextLabel\">{{ helperTextLabel }}</mat-hint>\n</mat-form-field>", styles: ["@import\"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap\";@import\"https://fonts.googleapis.com/icon?family=Material+Icons\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined\";@import\"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap\";@import\"https://cdn.jsdelivr.net/npm/@angular/material@19.2.3/prebuilt-themes/indigo-pink.css\";@import\"https://fonts.googleapis.com/icon?family=Material+Icons|Material+Icons+Outlined\";.al-input-field{width:100%;margin-bottom:16px}::ng-deep .al-input-field .mat-mdc-form-field-flex,::ng-deep .al-input-field .mat-mdc-text-field-wrapper,::ng-deep .al-input-field .mat-mdc-form-field-infix{background-color:#f7f9fe!important}::ng-deep .al-input-field .mat-mdc-form-field-subscript-wrapper{background-color:transparent!important}::ng-deep .al-input-field .mat-mdc-form-field-focus-overlay{background-color:#f7f9fe!important}::ng-deep .al-input-category-primary,::ng-deep .al-input-category-success,::ng-deep .al-input-category-warn,::ng-deep .al-input-category-disabled{--mdc-outlined-text-field-outline-width: 1px !important;--mdc-outlined-text-field-focus-outline-width: 1px !important;--mdc-outlined-text-field-hover-outline-width: 1px !important}::ng-deep .al-input-category-simple{--mdc-outlined-text-field-outline-color: #C3C5D1 !important;--mdc-outlined-text-field-focus-outline-color: #C3C5D1 !important;--mdc-outlined-text-field-hover-outline-color: #C3C5D1 !important;--mdc-outlined-text-field-label-text-color: #5473E8 !important;--mdc-outlined-text-field-focus-label-text-color: #5473E8 !important}::ng-deep .al-input-category-success{--mdc-outlined-text-field-outline-color: #00AD83 !important;--mdc-outlined-text-field-focus-outline-color: #00AD83 !important;--mdc-outlined-text-field-hover-outline-color: #00AD83 !important;--mdc-outlined-text-field-label-text-color: #00AD83 !important;--mdc-outlined-text-field-focus-label-text-color: #00AD83 !important}::ng-deep .al-input-category-success input::placeholder{color:#00ad83!important}::ng-deep .al-input-category-warn{--mdc-outlined-text-field-outline-color: #E854A4 !important;--mdc-outlined-text-field-focus-outline-color: #E854A4 !important;--mdc-outlined-text-field-hover-outline-color: #E854A4 !important;--mdc-outlined-text-field-label-text-color: #E854A4 !important;--mdc-outlined-text-field-focus-label-text-color: #E854A4 !important}::ng-deep .al-input-category-warn input::placeholder{color:#e854a4!important}::ng-deep .al-input-category-disabled{--mdc-outlined-text-field-outline-color: #5473E8 !important;--mdc-outlined-text-field-focus-outline-color: #5473E8 !important;--mdc-outlined-text-field-hover-outline-color: #5473E8 !important;--mdc-outlined-text-field-label-text-color: #5473E8 !important;--mdc-outlined-text-field-focus-label-text-color: #5473E8 !important}::ng-deep .al-input-category-primary{--mdc-outlined-text-field-focus-outline-width: 1px !important;--mdc-outlined-text-field-outline-color: #C3C5D1 !important;--mdc-outlined-text-field-focus-outline-color: #5473E8 !important;--mdc-outlined-text-field-hover-outline-color: #C3C5D1 !important;--mdc-outlined-text-field-label-text-color: #5473E8 !important;--mdc-outlined-text-field-focus-label-text-color: #5473E8 !important}::ng-deep .al-input-category-primary .mdc-notched-outline__notch{border-width:1px!important}::ng-deep .al-input-category-primary .mdc-notched-outline{box-shadow:none!important}::ng-deep .al-input-category-plain{--mdc-outlined-text-field-outline-color: transparent !important;--mdc-outlined-text-field-focus-outline-color: transparent !important;--mdc-outlined-text-field-hover-outline-color: transparent !important;--mdc-outlined-text-field-outline-width: 0 !important;--mdc-outlined-text-field-focus-outline-width: 0 !important;--mdc-outlined-text-field-hover-outline-width: 0 !important}::ng-deep .al-input-category-plain .mat-mdc-form-field-outline,::ng-deep .al-input-category-plain .mat-mdc-form-field-outline-thick,::ng-deep .al-input-category-plain .mat-mdc-form-field-label,::ng-deep .al-input-category-plain .mat-mdc-text-field-wrapper .mat-mdc-form-field-outline,::ng-deep .al-input-category-plain .mat-mdc-text-field-wrapper .mat-mdc-form-field-outline-thick,::ng-deep .al-input-category-plain .mat-mdc-text-field-wrapper .mat-mdc-form-field-outline-gap,::ng-deep .al-input-category-plain .mat-mdc-text-field-wrapper .mat-mdc-form-field-outline-start,::ng-deep .al-input-category-plain .mat-mdc-text-field-wrapper .mat-mdc-form-field-outline-end,::ng-deep .al-input-category-plain .mat-mdc-text-field-wrapper .mat-mdc-form-field-outline-notch,::ng-deep .al-input-category-plain .mat-mdc-text-field-wrapper .mdc-notched-outline,::ng-deep .al-input-category-plain .mat-mdc-text-field-wrapper .mdc-notched-outline__leading,::ng-deep .al-input-category-plain .mat-mdc-text-field-wrapper .mdc-notched-outline__notch,::ng-deep .al-input-category-plain .mat-mdc-text-field-wrapper .mdc-notched-outline__trailing,::ng-deep .al-input-category-plain .mat-mdc-text-field-wrapper .mdc-line-ripple{display:none!important}::ng-deep .al-input-category-plain .material-symbols-outlined,::ng-deep .al-input-category-plain mat-icon{color:#4b4f62!important}::ng-deep .al-input-size-xs .mat-mdc-form-field-infix,::ng-deep .al-input-size-small .mat-mdc-form-field-infix,::ng-deep .al-input-size-header .mat-mdc-form-field-infix{padding:0!important;display:flex;align-items:center}::ng-deep .al-input-size-xs .mat-mdc-form-field-infix{min-height:32px!important}::ng-deep .al-input-size-small .mat-mdc-form-field-infix{min-height:34px!important}::ng-deep .al-input-size-base .mat-mdc-form-field-infix{padding:8px 0!important;min-height:40px!important}::ng-deep .al-input-size-large .mat-mdc-form-field-infix{padding:16px 0!important;min-height:48px!important}::ng-deep .al-input-size-header .mat-mdc-form-field-infix{min-height:28px!important}::ng-deep .al-input-no-border{--mdc-outlined-text-field-outline-color: transparent !important;--mdc-outlined-text-field-focus-outline-color: transparent !important;--mdc-outlined-text-field-hover-outline-color: transparent !important;--mdc-outlined-text-field-outline-width: 0 !important;--mdc-outlined-text-field-focus-outline-width: 0 !important;--mdc-outlined-text-field-hover-outline-width: 0 !important}::ng-deep .al-input-no-border .mat-mdc-form-field-outline,::ng-deep .al-input-no-border .mat-mdc-form-field-outline-thick,::ng-deep .al-input-no-border .mat-mdc-form-field-label,::ng-deep .al-input-no-border .mat-mdc-text-field-wrapper .mat-mdc-form-field-outline,::ng-deep .al-input-no-border .mat-mdc-text-field-wrapper .mat-mdc-form-field-outline-thick,::ng-deep .al-input-no-border .mat-mdc-text-field-wrapper .mat-mdc-form-field-outline-gap,::ng-deep .al-input-no-border .mat-mdc-text-field-wrapper .mat-mdc-form-field-outline-start,::ng-deep .al-input-no-border .mat-mdc-text-field-wrapper .mat-mdc-form-field-outline-end,::ng-deep .al-input-no-border .mat-mdc-text-field-wrapper .mat-mdc-form-field-outline-notch,::ng-deep .al-input-no-border .mat-mdc-text-field-wrapper .mdc-notched-outline,::ng-deep .al-input-no-border .mat-mdc-text-field-wrapper .mdc-notched-outline__leading,::ng-deep .al-input-no-border .mat-mdc-text-field-wrapper .mdc-notched-outline__notch,::ng-deep .al-input-no-border .mat-mdc-text-field-wrapper .mdc-notched-outline__trailing,::ng-deep .al-input-no-border .mat-mdc-text-field-wrapper .mdc-line-ripple{display:none!important}::ng-deep .al-input-field input,::ng-deep .al-input-field .mat-mdc-select-value{color:#4b4f62!important}::ng-deep .al-input-size-xs input,::ng-deep .al-input-size-xs .mat-mdc-select-value,::ng-deep .al-input-size-small input,::ng-deep .al-input-size-small .mat-mdc-select-value,::ng-deep .al-input-size-header input,::ng-deep .al-input-size-header .mat-mdc-select-value{font-size:12px!important}::ng-deep .al-input-size-base input,::ng-deep .al-input-size-base .mat-mdc-select-value{font-size:14px!important}::ng-deep .al-input-size-large input,::ng-deep .al-input-size-large .mat-mdc-select-value{font-size:16px!important}::ng-deep .al-input-field input::placeholder{font-size:12px!important}::ng-deep .al-input-field:hover input::placeholder,::ng-deep .al-input-field:focus input::placeholder,::ng-deep .al-input-field:active input::placeholder,::ng-deep .al-input-field input:hover::placeholder,::ng-deep .al-input-field input:focus::placeholder,::ng-deep .al-input-field input:active::placeholder{color:#4b4f62!important}::ng-deep .al-input-category-primary:hover input::placeholder,::ng-deep .al-input-category-primary:focus input::placeholder,::ng-deep .al-input-category-primary:active input::placeholder,::ng-deep .al-input-category-primary input:hover::placeholder,::ng-deep .al-input-category-primary input:focus::placeholder,::ng-deep .al-input-category-primary input:active::placeholder{color:#4b4f62!important}::ng-deep .al-input-category-simple:hover input::placeholder,::ng-deep .al-input-category-simple:focus input::placeholder,::ng-deep .al-input-category-simple:active input::placeholder,::ng-deep .al-input-category-simple input:hover::placeholder,::ng-deep .al-input-category-simple input:focus::placeholder,::ng-deep .al-input-category-simple input:active::placeholder{color:#4b4f62!important}::ng-deep .al-input-size-xs .mat-mdc-form-field-label,::ng-deep .al-input-size-xs .mat-mdc-floating-label,::ng-deep .al-input-size-small .mat-mdc-form-field-label,::ng-deep .al-input-size-small .mat-mdc-floating-label,::ng-deep .al-input-size-header .mat-mdc-form-field-label,::ng-deep .al-input-size-header .mat-mdc-floating-label{font-size:12px!important}::ng-deep .al-input-size-base .mat-mdc-form-field-label,::ng-deep .al-input-size-base .mat-mdc-floating-label{font-size:14px!important}::ng-deep .al-input-size-large .mat-mdc-form-field-label,::ng-deep .al-input-size-large .mat-mdc-floating-label{font-size:16px!important}::ng-deep .al-input-category-simple input,::ng-deep .al-input-category-simple .mat-mdc-select-value,::ng-deep .al-input-category-primary input,::ng-deep .al-input-category-primary .mat-mdc-select-value{font-weight:400!important;letter-spacing:.5px!important}::ng-deep .al-input-field .material-symbols-outlined,::ng-deep .al-input-field mat-icon{height:20px!important;width:20px!important;font-size:20px!important;display:flex!important;align-items:center!important;justify-content:center!important}::ng-deep .al-input-size-small .material-symbols-outlined,::ng-deep .al-input-size-xs .material-symbols-outlined,::ng-deep .al-input-size-header .material-symbols-outlined,::ng-deep .al-input-size-small mat-icon,::ng-deep .al-input-size-xs mat-icon,::ng-deep .al-input-size-header mat-icon{height:16px!important;width:16px!important;font-size:16px!important}::ng-deep .al-input-size-large .material-symbols-outlined[matSuffix],::ng-deep .al-input-size-base .material-symbols-outlined[matSuffix],::ng-deep .al-input-size-large mat-icon[matSuffix],::ng-deep .al-input-size-base mat-icon[matSuffix]{height:24px!important;width:24px!important;font-size:24px!important}::ng-deep .al-input-size-small .material-symbols-outlined[matSuffix],::ng-deep .al-input-size-xs .material-symbols-outlined[matSuffix],::ng-deep .al-input-size-header .material-symbols-outlined[matSuffix],::ng-deep .al-input-size-small mat-icon[matSuffix],::ng-deep .al-input-size-xs mat-icon[matSuffix],::ng-deep .al-input-size-header mat-icon[matSuffix]{height:20px!important;width:20px!important;font-size:20px!important}::ng-deep .al-input-category-simple .material-symbols-outlined,::ng-deep .al-input-category-primary .material-symbols-outlined,::ng-deep .al-input-category-simple mat-icon,::ng-deep .al-input-category-primary mat-icon{color:#4b4f62!important}::ng-deep .al-input-category-success .material-symbols-outlined,::ng-deep .al-input-category-success mat-icon{color:#00ad83!important}::ng-deep .al-input-category-warn .material-symbols-outlined,::ng-deep .al-input-category-warn mat-icon{color:#e854a4!important}::ng-deep .al-input-field .material-symbols-outlined[matPrefix],::ng-deep .al-input-field mat-icon[matPrefix]{padding-left:12px!important;padding-right:8px!important}::ng-deep .al-input-field .material-symbols-outlined[matSuffix],::ng-deep .al-input-field mat-icon[matSuffix]{padding-right:12px!important}::ng-deep .al-input-field.has-left-icon .mat-mdc-form-field-label{margin-left:8px!important}::ng-deep .al-input-field:not(.has-left-icon) .mat-mdc-form-field-label,::ng-deep .al-input-field:not(.has-left-icon) .mat-mdc-floating-label,::ng-deep .al-input-field:not(.has-left-icon) .mdc-floating-label{margin-left:0!important}::ng-deep .mat-mdc-form-field-icon-prefix{padding:0!important}.material-symbols-outlined[matSuffix],mat-icon[matSuffix]{display:flex;align-items:center;justify-content:center}::ng-deep .al-input-size-xs .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:12px!important}::ng-deep .al-input-size-small .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:13px!important}::ng-deep .al-input-size-base .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:18px!important}::ng-deep .al-input-size-header .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:10px!important}::ng-deep .al-input-size-large .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:23px!important}::ng-deep .al-input-size-xs .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{--mat-mdc-form-field-label-transform: translateY( -19.75px ) scale(var(--mat-mdc-form-field-floating-label-scale, .75));transform:var(--mat-mdc-form-field-label-transform)}::ng-deep .al-input-size-small .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{--mat-mdc-form-field-label-transform: translateY( -22.75px ) scale(var(--mat-mdc-form-field-floating-label-scale, .75));transform:var(--mat-mdc-form-field-label-transform)}::ng-deep .al-input-size-base .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{--mat-mdc-form-field-label-transform: translateY( -24.75px ) scale(var(--mat-mdc-form-field-floating-label-scale, .75));transform:var(--mat-mdc-form-field-label-transform)}::ng-deep .al-input-size-header .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{--mat-mdc-form-field-label-transform: translateY( -18.75px ) scale(var(--mat-mdc-form-field-floating-label-scale, .75));transform:var(--mat-mdc-form-field-label-transform)}::ng-deep .al-input-field.has-error .mat-mdc-form-field-outline{border-color:#e854a4!important}::ng-deep .al-input-category-disabled .mat-mdc-form-field-hint,::ng-deep .al-input-category-disabled .mat-mdc-form-field-label,::ng-deep .al-input-category-disabled .mat-mdc-select-arrow,::ng-deep .al-input-category-disabled .material-symbols-outlined,::ng-deep .al-input-category-disabled mat-icon,::ng-deep .al-input-category-disabled input,::ng-deep .al-input-category-disabled .mat-mdc-select-value{color:#9ca3af!important;opacity:.6!important}::ng-deep .al-input-field .mat-mdc-form-field-label,::ng-deep .al-input-field .mat-mdc-floating-label,::ng-deep .al-input-field .mdc-floating-label,::ng-deep .al-input-field .mdc-text-field__label,::ng-deep .al-input-field .mdc-text-field__label--float-above{transition:none!important}::ng-deep .al-input-field:hover .mat-mdc-form-field-label,::ng-deep .al-input-field:hover .mat-mdc-floating-label,::ng-deep .al-input-field:hover .mdc-floating-label,::ng-deep .al-input-field:hover .mdc-text-field__label,::ng-deep .al-input-field:hover .mdc-text-field__label--float-above,::ng-deep .al-input-field .mat-mdc-form-field:hover .mat-mdc-form-field-label,::ng-deep .al-input-field .mat-mdc-form-field:hover .mat-mdc-floating-label,::ng-deep .al-input-field .mat-mdc-form-field:hover .mdc-floating-label,::ng-deep .al-input-field .mat-mdc-form-field:hover .mdc-text-field__label,::ng-deep .al-input-field .mat-mdc-form-field:hover .mdc-text-field__label--float-above,::ng-deep .al-input-field .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-label,::ng-deep .al-input-field .mat-mdc-text-field-wrapper:hover .mat-mdc-floating-label,::ng-deep .al-input-field .mat-mdc-text-field-wrapper:hover .mdc-floating-label,::ng-deep .al-input-field .mat-mdc-text-field-wrapper:hover .mdc-text-field__label,::ng-deep .al-input-field .mat-mdc-text-field-wrapper:hover .mdc-text-field__label--float-above,::ng-deep .al-input-field .mat-mdc-form-field-flex:hover .mat-mdc-form-field-label,::ng-deep .al-input-field .mat-mdc-form-field-flex:hover .mat-mdc-floating-label,::ng-deep .al-input-field .mat-mdc-form-field-flex:hover .mdc-floating-label,::ng-deep .al-input-field .mat-mdc-form-field-flex:hover .mdc-text-field__label,::ng-deep .al-input-field .mat-mdc-form-field-flex:hover .mdc-text-field__label--float-above,::ng-deep .al-input-field .mdc-text-field:hover .mat-mdc-form-field-label,::ng-deep .al-input-field .mdc-text-field:hover .mat-mdc-floating-label,::ng-deep .al-input-field .mdc-text-field:hover .mdc-floating-label,::ng-deep .al-input-field .mdc-text-field:hover .mdc-text-field__label,::ng-deep .al-input-field .mdc-text-field:hover .mdc-text-field__label--float-above{color:#5473e8!important}::ng-deep .al-input-category-success .mat-mdc-form-field-hint{color:#00ad83!important}::ng-deep .al-input-category-warn .mat-mdc-form-field-hint{color:#e854a4!important}::ng-deep .al-input-category-simple .mat-mdc-form-field-hint,::ng-deep .al-input-category-primary .mat-mdc-form-field-hint,::ng-deep .al-input-category-disabled .mat-mdc-form-field-hint,::ng-deep .al-input-category-plain .mat-mdc-form-field-hint{color:#4b4f62!important}::ng-deep .al-input-category-simple:hover .mat-mdc-form-field-label,::ng-deep .al-input-category-simple:hover .mat-mdc-floating-label,::ng-deep .al-input-category-simple:hover .mdc-floating-label,::ng-deep .al-input-category-simple:hover .mdc-text-field__label,::ng-deep .al-input-category-simple:hover .mdc-text-field__label--float-above{color:#5473e8!important}::ng-deep .al-input-category-primary:hover .mat-mdc-form-field-label,::ng-deep .al-input-category-primary:hover .mat-mdc-floating-label,::ng-deep .al-input-category-primary:hover .mdc-floating-label,::ng-deep .al-input-category-primary:hover .mdc-text-field__label,::ng-deep .al-input-category-primary:hover .mdc-text-field__label--float-above{color:#5473e8!important}::ng-deep .al-input-category-success:hover .mat-mdc-form-field-label,::ng-deep .al-input-category-success:hover .mat-mdc-floating-label,::ng-deep .al-input-category-success:hover .mdc-floating-label,::ng-deep .al-input-category-success:hover .mdc-text-field__label,::ng-deep .al-input-category-success:hover .mdc-text-field__label--float-above{color:#00ad83!important}::ng-deep .al-input-category-warn:hover .mat-mdc-form-field-label,::ng-deep .al-input-category-warn:hover .mat-mdc-floating-label,::ng-deep .al-input-category-warn:hover .mdc-floating-label,::ng-deep .al-input-category-warn:hover .mdc-text-field__label,::ng-deep .al-input-category-warn:hover .mdc-text-field__label--float-above{color:#e854a4!important}::ng-deep .al-input-category-disabled:hover .mat-mdc-form-field-label,::ng-deep .al-input-category-disabled:hover .mat-mdc-floating-label,::ng-deep .al-input-category-disabled:hover .mdc-floating-label,::ng-deep .al-input-category-disabled:hover .mdc-text-field__label,::ng-deep .al-input-category-disabled:hover .mdc-text-field__label--float-above{color:#5473e8!important}::ng-deep .al-input-category-plain:hover .mat-mdc-form-field-label,::ng-deep .al-input-category-plain:hover .mat-mdc-floating-label,::ng-deep .al-input-category-plain:hover .mdc-floating-label,::ng-deep .al-input-category-plain:hover .mdc-text-field__label,::ng-deep .al-input-category-plain:hover .mdc-text-field__label--float-above{color:#5473e8!important}::ng-deep .al-input-category-success .mat-mdc-select-arrow{color:#00ad83!important}::ng-deep .al-input-category-warn .mat-mdc-select-arrow{color:#e854a4!important}::ng-deep .al-input-field .mat-mdc-form-field-hint-wrapper,::ng-deep .al-input-field .mat-mdc-form-field-error-wrapper{padding:0!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatOptionModule }] }); }
263
275
  }
264
276
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: InputComponent, decorators: [{
265
277
  type: Component,
@@ -269,7 +281,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImpor
269
281
  useExisting: forwardRef(() => InputComponent),
270
282
  multi: true
271
283
  }
272
- ], template: "<mat-form-field appearance=\"outline\" class=\"al-input-field\" [ngClass]=\"[\n helperText ? 'has-error' : '',\n getSizeClass(),\n getCategoryClass(),\n noBorder ? 'al-input-no-border' : ''\n ]\">\n <mat-label *ngIf=\"label && !noBorder\">{{ label }}</mat-label>\n\n <span *ngIf=\"leftIcon\" matPrefix class=\"material-symbols-outlined\">\n {{ leftIcon }}\n </span>\n\n <ng-container *ngIf=\"dropDown; else regularInput\">\n <mat-select [disabled]=\"isDisabled\" [(ngModel)]=\"value\" (selectionChange)=\"onSelectionChange($event.value)\">\n <mat-option *ngFor=\"let option of options\" [value]=\"option\">{{ option }}</mat-option>\n </mat-select>\n </ng-container>\n <ng-template #regularInput>\n <input matInput [placeholder]=\"placeholder\" [type]=\"type\" [disabled]=\"isDisabled\" [(ngModel)]=\"value\"\n (input)=\"onInputChange($any($event.target).value)\" (blur)=\"onTouched()\" />\n </ng-template>\n\n <span *ngIf=\"rightIcon\" matSuffix class=\"material-symbols-outlined\">{{ rightIcon }}</span>\n\n <mat-error *ngIf=\"helperText\">{{ helperTextLabel }}</mat-error>\n <mat-hint *ngIf=\"!helperText && helperTextLabel\">{{ helperTextLabel }}</mat-hint>\n</mat-form-field>\n", styles: ["@import\"https://fonts.googleapis.com/icon?family=Material+Icons|Material+Icons+Outlined\";@import\"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap\";@import\"https://fonts.googleapis.com/icon?family=Material+Icons\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined\";@import\"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap\";@import\"https://cdn.jsdelivr.net/npm/@angular/material@19.2.3/prebuilt-themes/indigo-pink.css\";.al-input-field{width:100%;margin-bottom:16px}::ng-deep .al-input-field .mat-mdc-form-field-flex,::ng-deep .al-input-field .mat-mdc-text-field-wrapper,::ng-deep .al-input-field .mat-mdc-form-field-infix{background-color:#f7f9fe!important}::ng-deep .al-input-field .mat-mdc-form-field-subscript-wrapper{background-color:transparent!important}::ng-deep .al-input-field .mat-mdc-form-field-focus-overlay{background-color:#f7f9fe!important}::ng-deep .al-input-category-primary,::ng-deep .al-input-category-success,::ng-deep .al-input-category-warn,::ng-deep .al-input-category-disabled{--mdc-outlined-text-field-outline-width: 1px !important;--mdc-outlined-text-field-focus-outline-width: 1px !important;--mdc-outlined-text-field-hover-outline-width: 1px !important}::ng-deep .al-input-category-simple{--mdc-outlined-text-field-outline-color: #C3C5D1 !important;--mdc-outlined-text-field-focus-outline-color: #C3C5D1 !important;--mdc-outlined-text-field-hover-outline-color: #C3C5D1 !important;--mdc-outlined-text-field-label-text-color: #5473E8 !important;--mdc-outlined-text-field-focus-label-text-color: #5473E8 !important}\n"] }]
284
+ ], template: "<mat-form-field appearance=\"outline\" class=\"al-input-field\" [ngClass]=\"[\n helperText ? 'has-error' : '',\n getSizeClass(),\n getCategoryClass(),\n noBorder ? 'al-input-no-border' : '',\n leftIcon ? 'has-left-icon' : ''\n ]\">\n <mat-label *ngIf=\"label && !noBorder\">{{ label }}</mat-label>\n\n <mat-icon *ngIf=\"leftIcon?.trim() as leftIconText\" [fontSet]=\"outlined ? 'material-icons-outlined' : 'material-icons'\"\n matPrefix class=\"left-icon\">{{ leftIconText }}</mat-icon>\n\n <ng-container *ngIf=\"dropDown; else regularInput\">\n <mat-select [disabled]=\"isDisabled\" [(ngModel)]=\"value\" (selectionChange)=\"onSelectionChange($event.value)\">\n <mat-option *ngFor=\"let option of options\" [value]=\"option\">{{ option }}</mat-option>\n </mat-select>\n </ng-container>\n <ng-template #regularInput>\n <input matInput [placeholder]=\"placeholder\" [type]=\"type\" [disabled]=\"isDisabled\" [(ngModel)]=\"value\"\n (input)=\"onInputChange($any($event.target).value)\" (blur)=\"onTouched()\" />\n </ng-template>\n\n <mat-icon *ngIf=\"rightIcon?.trim() as rightIconText\"\n [fontSet]=\"outlined ? 'material-icons-outlined' : 'material-icons'\" matSuffix class=\"right-icon\">{{ rightIconText\n }}</mat-icon>\n\n <mat-error *ngIf=\"false && helperTextLabel\">{{ helperTextLabel }}</mat-error>\n <mat-hint *ngIf=\"helperText && helperTextLabel\">{{ helperTextLabel }}</mat-hint>\n</mat-form-field>", styles: ["@import\"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap\";@import\"https://fonts.googleapis.com/icon?family=Material+Icons\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined\";@import\"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap\";@import\"https://cdn.jsdelivr.net/npm/@angular/material@19.2.3/prebuilt-themes/indigo-pink.css\";@import\"https://fonts.googleapis.com/icon?family=Material+Icons|Material+Icons+Outlined\";.al-input-field{width:100%;margin-bottom:16px}::ng-deep .al-input-field .mat-mdc-form-field-flex,::ng-deep .al-input-field .mat-mdc-text-field-wrapper,::ng-deep .al-input-field .mat-mdc-form-field-infix{background-color:#f7f9fe!important}::ng-deep .al-input-field .mat-mdc-form-field-subscript-wrapper{background-color:transparent!important}::ng-deep .al-input-field .mat-mdc-form-field-focus-overlay{background-color:#f7f9fe!important}::ng-deep .al-input-category-primary,::ng-deep .al-input-category-success,::ng-deep .al-input-category-warn,::ng-deep .al-input-category-disabled{--mdc-outlined-text-field-outline-width: 1px !important;--mdc-outlined-text-field-focus-outline-width: 1px !important;--mdc-outlined-text-field-hover-outline-width: 1px !important}::ng-deep .al-input-category-simple{--mdc-outlined-text-field-outline-color: #C3C5D1 !important;--mdc-outlined-text-field-focus-outline-color: #C3C5D1 !important;--mdc-outlined-text-field-hover-outline-color: #C3C5D1 !important;--mdc-outlined-text-field-label-text-color: #5473E8 !important;--mdc-outlined-text-field-focus-label-text-color: #5473E8 !important}::ng-deep .al-input-category-success{--mdc-outlined-text-field-outline-color: #00AD83 !important;--mdc-outlined-text-field-focus-outline-color: #00AD83 !important;--mdc-outlined-text-field-hover-outline-color: #00AD83 !important;--mdc-outlined-text-field-label-text-color: #00AD83 !important;--mdc-outlined-text-field-focus-label-text-color: #00AD83 !important}::ng-deep .al-input-category-success input::placeholder{color:#00ad83!important}::ng-deep .al-input-category-warn{--mdc-outlined-text-field-outline-color: #E854A4 !important;--mdc-outlined-text-field-focus-outline-color: #E854A4 !important;--mdc-outlined-text-field-hover-outline-color: #E854A4 !important;--mdc-outlined-text-field-label-text-color: #E854A4 !important;--mdc-outlined-text-field-focus-label-text-color: #E854A4 !important}::ng-deep .al-input-category-warn input::placeholder{color:#e854a4!important}::ng-deep .al-input-category-disabled{--mdc-outlined-text-field-outline-color: #5473E8 !important;--mdc-outlined-text-field-focus-outline-color: #5473E8 !important;--mdc-outlined-text-field-hover-outline-color: #5473E8 !important;--mdc-outlined-text-field-label-text-color: #5473E8 !important;--mdc-outlined-text-field-focus-label-text-color: #5473E8 !important}::ng-deep .al-input-category-primary{--mdc-outlined-text-field-focus-outline-width: 1px !important;--mdc-outlined-text-field-outline-color: #C3C5D1 !important;--mdc-outlined-text-field-focus-outline-color: #5473E8 !important;--mdc-outlined-text-field-hover-outline-color: #C3C5D1 !important;--mdc-outlined-text-field-label-text-color: #5473E8 !important;--mdc-outlined-text-field-focus-label-text-color: #5473E8 !important}::ng-deep .al-input-category-primary .mdc-notched-outline__notch{border-width:1px!important}::ng-deep .al-input-category-primary .mdc-notched-outline{box-shadow:none!important}::ng-deep .al-input-category-plain{--mdc-outlined-text-field-outline-color: transparent !important;--mdc-outlined-text-field-focus-outline-color: transparent !important;--mdc-outlined-text-field-hover-outline-color: transparent !important;--mdc-outlined-text-field-outline-width: 0 !important;--mdc-outlined-text-field-focus-outline-width: 0 !important;--mdc-outlined-text-field-hover-outline-width: 0 !important}::ng-deep .al-input-category-plain .mat-mdc-form-field-outline,::ng-deep .al-input-category-plain .mat-mdc-form-field-outline-thick,::ng-deep .al-input-category-plain .mat-mdc-form-field-label,::ng-deep .al-input-category-plain .mat-mdc-text-field-wrapper .mat-mdc-form-field-outline,::ng-deep .al-input-category-plain .mat-mdc-text-field-wrapper .mat-mdc-form-field-outline-thick,::ng-deep .al-input-category-plain .mat-mdc-text-field-wrapper .mat-mdc-form-field-outline-gap,::ng-deep .al-input-category-plain .mat-mdc-text-field-wrapper .mat-mdc-form-field-outline-start,::ng-deep .al-input-category-plain .mat-mdc-text-field-wrapper .mat-mdc-form-field-outline-end,::ng-deep .al-input-category-plain .mat-mdc-text-field-wrapper .mat-mdc-form-field-outline-notch,::ng-deep .al-input-category-plain .mat-mdc-text-field-wrapper .mdc-notched-outline,::ng-deep .al-input-category-plain .mat-mdc-text-field-wrapper .mdc-notched-outline__leading,::ng-deep .al-input-category-plain .mat-mdc-text-field-wrapper .mdc-notched-outline__notch,::ng-deep .al-input-category-plain .mat-mdc-text-field-wrapper .mdc-notched-outline__trailing,::ng-deep .al-input-category-plain .mat-mdc-text-field-wrapper .mdc-line-ripple{display:none!important}::ng-deep .al-input-category-plain .material-symbols-outlined,::ng-deep .al-input-category-plain mat-icon{color:#4b4f62!important}::ng-deep .al-input-size-xs .mat-mdc-form-field-infix,::ng-deep .al-input-size-small .mat-mdc-form-field-infix,::ng-deep .al-input-size-header .mat-mdc-form-field-infix{padding:0!important;display:flex;align-items:center}::ng-deep .al-input-size-xs .mat-mdc-form-field-infix{min-height:32px!important}::ng-deep .al-input-size-small .mat-mdc-form-field-infix{min-height:34px!important}::ng-deep .al-input-size-base .mat-mdc-form-field-infix{padding:8px 0!important;min-height:40px!important}::ng-deep .al-input-size-large .mat-mdc-form-field-infix{padding:16px 0!important;min-height:48px!important}::ng-deep .al-input-size-header .mat-mdc-form-field-infix{min-height:28px!important}::ng-deep .al-input-no-border{--mdc-outlined-text-field-outline-color: transparent !important;--mdc-outlined-text-field-focus-outline-color: transparent !important;--mdc-outlined-text-field-hover-outline-color: transparent !important;--mdc-outlined-text-field-outline-width: 0 !important;--mdc-outlined-text-field-focus-outline-width: 0 !important;--mdc-outlined-text-field-hover-outline-width: 0 !important}::ng-deep .al-input-no-border .mat-mdc-form-field-outline,::ng-deep .al-input-no-border .mat-mdc-form-field-outline-thick,::ng-deep .al-input-no-border .mat-mdc-form-field-label,::ng-deep .al-input-no-border .mat-mdc-text-field-wrapper .mat-mdc-form-field-outline,::ng-deep .al-input-no-border .mat-mdc-text-field-wrapper .mat-mdc-form-field-outline-thick,::ng-deep .al-input-no-border .mat-mdc-text-field-wrapper .mat-mdc-form-field-outline-gap,::ng-deep .al-input-no-border .mat-mdc-text-field-wrapper .mat-mdc-form-field-outline-start,::ng-deep .al-input-no-border .mat-mdc-text-field-wrapper .mat-mdc-form-field-outline-end,::ng-deep .al-input-no-border .mat-mdc-text-field-wrapper .mat-mdc-form-field-outline-notch,::ng-deep .al-input-no-border .mat-mdc-text-field-wrapper .mdc-notched-outline,::ng-deep .al-input-no-border .mat-mdc-text-field-wrapper .mdc-notched-outline__leading,::ng-deep .al-input-no-border .mat-mdc-text-field-wrapper .mdc-notched-outline__notch,::ng-deep .al-input-no-border .mat-mdc-text-field-wrapper .mdc-notched-outline__trailing,::ng-deep .al-input-no-border .mat-mdc-text-field-wrapper .mdc-line-ripple{display:none!important}::ng-deep .al-input-field input,::ng-deep .al-input-field .mat-mdc-select-value{color:#4b4f62!important}::ng-deep .al-input-size-xs input,::ng-deep .al-input-size-xs .mat-mdc-select-value,::ng-deep .al-input-size-small input,::ng-deep .al-input-size-small .mat-mdc-select-value,::ng-deep .al-input-size-header input,::ng-deep .al-input-size-header .mat-mdc-select-value{font-size:12px!important}::ng-deep .al-input-size-base input,::ng-deep .al-input-size-base .mat-mdc-select-value{font-size:14px!important}::ng-deep .al-input-size-large input,::ng-deep .al-input-size-large .mat-mdc-select-value{font-size:16px!important}::ng-deep .al-input-field input::placeholder{font-size:12px!important}::ng-deep .al-input-field:hover input::placeholder,::ng-deep .al-input-field:focus input::placeholder,::ng-deep .al-input-field:active input::placeholder,::ng-deep .al-input-field input:hover::placeholder,::ng-deep .al-input-field input:focus::placeholder,::ng-deep .al-input-field input:active::placeholder{color:#4b4f62!important}::ng-deep .al-input-category-primary:hover input::placeholder,::ng-deep .al-input-category-primary:focus input::placeholder,::ng-deep .al-input-category-primary:active input::placeholder,::ng-deep .al-input-category-primary input:hover::placeholder,::ng-deep .al-input-category-primary input:focus::placeholder,::ng-deep .al-input-category-primary input:active::placeholder{color:#4b4f62!important}::ng-deep .al-input-category-simple:hover input::placeholder,::ng-deep .al-input-category-simple:focus input::placeholder,::ng-deep .al-input-category-simple:active input::placeholder,::ng-deep .al-input-category-simple input:hover::placeholder,::ng-deep .al-input-category-simple input:focus::placeholder,::ng-deep .al-input-category-simple input:active::placeholder{color:#4b4f62!important}::ng-deep .al-input-size-xs .mat-mdc-form-field-label,::ng-deep .al-input-size-xs .mat-mdc-floating-label,::ng-deep .al-input-size-small .mat-mdc-form-field-label,::ng-deep .al-input-size-small .mat-mdc-floating-label,::ng-deep .al-input-size-header .mat-mdc-form-field-label,::ng-deep .al-input-size-header .mat-mdc-floating-label{font-size:12px!important}::ng-deep .al-input-size-base .mat-mdc-form-field-label,::ng-deep .al-input-size-base .mat-mdc-floating-label{font-size:14px!important}::ng-deep .al-input-size-large .mat-mdc-form-field-label,::ng-deep .al-input-size-large .mat-mdc-floating-label{font-size:16px!important}::ng-deep .al-input-category-simple input,::ng-deep .al-input-category-simple .mat-mdc-select-value,::ng-deep .al-input-category-primary input,::ng-deep .al-input-category-primary .mat-mdc-select-value{font-weight:400!important;letter-spacing:.5px!important}::ng-deep .al-input-field .material-symbols-outlined,::ng-deep .al-input-field mat-icon{height:20px!important;width:20px!important;font-size:20px!important;display:flex!important;align-items:center!important;justify-content:center!important}::ng-deep .al-input-size-small .material-symbols-outlined,::ng-deep .al-input-size-xs .material-symbols-outlined,::ng-deep .al-input-size-header .material-symbols-outlined,::ng-deep .al-input-size-small mat-icon,::ng-deep .al-input-size-xs mat-icon,::ng-deep .al-input-size-header mat-icon{height:16px!important;width:16px!important;font-size:16px!important}::ng-deep .al-input-size-large .material-symbols-outlined[matSuffix],::ng-deep .al-input-size-base .material-symbols-outlined[matSuffix],::ng-deep .al-input-size-large mat-icon[matSuffix],::ng-deep .al-input-size-base mat-icon[matSuffix]{height:24px!important;width:24px!important;font-size:24px!important}::ng-deep .al-input-size-small .material-symbols-outlined[matSuffix],::ng-deep .al-input-size-xs .material-symbols-outlined[matSuffix],::ng-deep .al-input-size-header .material-symbols-outlined[matSuffix],::ng-deep .al-input-size-small mat-icon[matSuffix],::ng-deep .al-input-size-xs mat-icon[matSuffix],::ng-deep .al-input-size-header mat-icon[matSuffix]{height:20px!important;width:20px!important;font-size:20px!important}::ng-deep .al-input-category-simple .material-symbols-outlined,::ng-deep .al-input-category-primary .material-symbols-outlined,::ng-deep .al-input-category-simple mat-icon,::ng-deep .al-input-category-primary mat-icon{color:#4b4f62!important}::ng-deep .al-input-category-success .material-symbols-outlined,::ng-deep .al-input-category-success mat-icon{color:#00ad83!important}::ng-deep .al-input-category-warn .material-symbols-outlined,::ng-deep .al-input-category-warn mat-icon{color:#e854a4!important}::ng-deep .al-input-field .material-symbols-outlined[matPrefix],::ng-deep .al-input-field mat-icon[matPrefix]{padding-left:12px!important;padding-right:8px!important}::ng-deep .al-input-field .material-symbols-outlined[matSuffix],::ng-deep .al-input-field mat-icon[matSuffix]{padding-right:12px!important}::ng-deep .al-input-field.has-left-icon .mat-mdc-form-field-label{margin-left:8px!important}::ng-deep .al-input-field:not(.has-left-icon) .mat-mdc-form-field-label,::ng-deep .al-input-field:not(.has-left-icon) .mat-mdc-floating-label,::ng-deep .al-input-field:not(.has-left-icon) .mdc-floating-label{margin-left:0!important}::ng-deep .mat-mdc-form-field-icon-prefix{padding:0!important}.material-symbols-outlined[matSuffix],mat-icon[matSuffix]{display:flex;align-items:center;justify-content:center}::ng-deep .al-input-size-xs .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:12px!important}::ng-deep .al-input-size-small .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:13px!important}::ng-deep .al-input-size-base .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:18px!important}::ng-deep .al-input-size-header .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:10px!important}::ng-deep .al-input-size-large .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:23px!important}::ng-deep .al-input-size-xs .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{--mat-mdc-form-field-label-transform: translateY( -19.75px ) scale(var(--mat-mdc-form-field-floating-label-scale, .75));transform:var(--mat-mdc-form-field-label-transform)}::ng-deep .al-input-size-small .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{--mat-mdc-form-field-label-transform: translateY( -22.75px ) scale(var(--mat-mdc-form-field-floating-label-scale, .75));transform:var(--mat-mdc-form-field-label-transform)}::ng-deep .al-input-size-base .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{--mat-mdc-form-field-label-transform: translateY( -24.75px ) scale(var(--mat-mdc-form-field-floating-label-scale, .75));transform:var(--mat-mdc-form-field-label-transform)}::ng-deep .al-input-size-header .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{--mat-mdc-form-field-label-transform: translateY( -18.75px ) scale(var(--mat-mdc-form-field-floating-label-scale, .75));transform:var(--mat-mdc-form-field-label-transform)}::ng-deep .al-input-field.has-error .mat-mdc-form-field-outline{border-color:#e854a4!important}::ng-deep .al-input-category-disabled .mat-mdc-form-field-hint,::ng-deep .al-input-category-disabled .mat-mdc-form-field-label,::ng-deep .al-input-category-disabled .mat-mdc-select-arrow,::ng-deep .al-input-category-disabled .material-symbols-outlined,::ng-deep .al-input-category-disabled mat-icon,::ng-deep .al-input-category-disabled input,::ng-deep .al-input-category-disabled .mat-mdc-select-value{color:#9ca3af!important;opacity:.6!important}::ng-deep .al-input-field .mat-mdc-form-field-label,::ng-deep .al-input-field .mat-mdc-floating-label,::ng-deep .al-input-field .mdc-floating-label,::ng-deep .al-input-field .mdc-text-field__label,::ng-deep .al-input-field .mdc-text-field__label--float-above{transition:none!important}::ng-deep .al-input-field:hover .mat-mdc-form-field-label,::ng-deep .al-input-field:hover .mat-mdc-floating-label,::ng-deep .al-input-field:hover .mdc-floating-label,::ng-deep .al-input-field:hover .mdc-text-field__label,::ng-deep .al-input-field:hover .mdc-text-field__label--float-above,::ng-deep .al-input-field .mat-mdc-form-field:hover .mat-mdc-form-field-label,::ng-deep .al-input-field .mat-mdc-form-field:hover .mat-mdc-floating-label,::ng-deep .al-input-field .mat-mdc-form-field:hover .mdc-floating-label,::ng-deep .al-input-field .mat-mdc-form-field:hover .mdc-text-field__label,::ng-deep .al-input-field .mat-mdc-form-field:hover .mdc-text-field__label--float-above,::ng-deep .al-input-field .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-label,::ng-deep .al-input-field .mat-mdc-text-field-wrapper:hover .mat-mdc-floating-label,::ng-deep .al-input-field .mat-mdc-text-field-wrapper:hover .mdc-floating-label,::ng-deep .al-input-field .mat-mdc-text-field-wrapper:hover .mdc-text-field__label,::ng-deep .al-input-field .mat-mdc-text-field-wrapper:hover .mdc-text-field__label--float-above,::ng-deep .al-input-field .mat-mdc-form-field-flex:hover .mat-mdc-form-field-label,::ng-deep .al-input-field .mat-mdc-form-field-flex:hover .mat-mdc-floating-label,::ng-deep .al-input-field .mat-mdc-form-field-flex:hover .mdc-floating-label,::ng-deep .al-input-field .mat-mdc-form-field-flex:hover .mdc-text-field__label,::ng-deep .al-input-field .mat-mdc-form-field-flex:hover .mdc-text-field__label--float-above,::ng-deep .al-input-field .mdc-text-field:hover .mat-mdc-form-field-label,::ng-deep .al-input-field .mdc-text-field:hover .mat-mdc-floating-label,::ng-deep .al-input-field .mdc-text-field:hover .mdc-floating-label,::ng-deep .al-input-field .mdc-text-field:hover .mdc-text-field__label,::ng-deep .al-input-field .mdc-text-field:hover .mdc-text-field__label--float-above{color:#5473e8!important}::ng-deep .al-input-category-success .mat-mdc-form-field-hint{color:#00ad83!important}::ng-deep .al-input-category-warn .mat-mdc-form-field-hint{color:#e854a4!important}::ng-deep .al-input-category-simple .mat-mdc-form-field-hint,::ng-deep .al-input-category-primary .mat-mdc-form-field-hint,::ng-deep .al-input-category-disabled .mat-mdc-form-field-hint,::ng-deep .al-input-category-plain .mat-mdc-form-field-hint{color:#4b4f62!important}::ng-deep .al-input-category-simple:hover .mat-mdc-form-field-label,::ng-deep .al-input-category-simple:hover .mat-mdc-floating-label,::ng-deep .al-input-category-simple:hover .mdc-floating-label,::ng-deep .al-input-category-simple:hover .mdc-text-field__label,::ng-deep .al-input-category-simple:hover .mdc-text-field__label--float-above{color:#5473e8!important}::ng-deep .al-input-category-primary:hover .mat-mdc-form-field-label,::ng-deep .al-input-category-primary:hover .mat-mdc-floating-label,::ng-deep .al-input-category-primary:hover .mdc-floating-label,::ng-deep .al-input-category-primary:hover .mdc-text-field__label,::ng-deep .al-input-category-primary:hover .mdc-text-field__label--float-above{color:#5473e8!important}::ng-deep .al-input-category-success:hover .mat-mdc-form-field-label,::ng-deep .al-input-category-success:hover .mat-mdc-floating-label,::ng-deep .al-input-category-success:hover .mdc-floating-label,::ng-deep .al-input-category-success:hover .mdc-text-field__label,::ng-deep .al-input-category-success:hover .mdc-text-field__label--float-above{color:#00ad83!important}::ng-deep .al-input-category-warn:hover .mat-mdc-form-field-label,::ng-deep .al-input-category-warn:hover .mat-mdc-floating-label,::ng-deep .al-input-category-warn:hover .mdc-floating-label,::ng-deep .al-input-category-warn:hover .mdc-text-field__label,::ng-deep .al-input-category-warn:hover .mdc-text-field__label--float-above{color:#e854a4!important}::ng-deep .al-input-category-disabled:hover .mat-mdc-form-field-label,::ng-deep .al-input-category-disabled:hover .mat-mdc-floating-label,::ng-deep .al-input-category-disabled:hover .mdc-floating-label,::ng-deep .al-input-category-disabled:hover .mdc-text-field__label,::ng-deep .al-input-category-disabled:hover .mdc-text-field__label--float-above{color:#5473e8!important}::ng-deep .al-input-category-plain:hover .mat-mdc-form-field-label,::ng-deep .al-input-category-plain:hover .mat-mdc-floating-label,::ng-deep .al-input-category-plain:hover .mdc-floating-label,::ng-deep .al-input-category-plain:hover .mdc-text-field__label,::ng-deep .al-input-category-plain:hover .mdc-text-field__label--float-above{color:#5473e8!important}::ng-deep .al-input-category-success .mat-mdc-select-arrow{color:#00ad83!important}::ng-deep .al-input-category-warn .mat-mdc-select-arrow{color:#e854a4!important}::ng-deep .al-input-field .mat-mdc-form-field-hint-wrapper,::ng-deep .al-input-field .mat-mdc-form-field-error-wrapper{padding:0!important}\n"] }]
273
285
  }], propDecorators: { label: [{
274
286
  type: Input
275
287
  }], placeholder: [{
@@ -298,8 +310,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImpor
298
310
  type: Input
299
311
  }], inputTypes: [{
300
312
  type: Input
301
- }], noBorder: [{
302
- type: Input
303
313
  }], valueChange: [{
304
314
  type: Output
305
315
  }] } });
@@ -317,6 +327,137 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImpor
317
327
  }]
318
328
  }] });
319
329
 
330
+ class ResumeHeaderComponent {
331
+ constructor() {
332
+ this.isMenuVisible = false;
333
+ this.isEducationHidden = false;
334
+ this.hiddenSection = { headerSectionHidden: false };
335
+ this.isLargeScreen = true;
336
+ this.focusField = new EventEmitter();
337
+ this.blurField = new EventEmitter();
338
+ this.enterKeyPressed = new EventEmitter();
339
+ this.checked = false;
340
+ this.checkedCheckBoxChange = new EventEmitter();
341
+ this.disabled = false;
342
+ this.buttonConfig = [];
343
+ this.buttonClicked = new EventEmitter();
344
+ this.showHideToggleSection = new EventEmitter();
345
+ this.showSection = true;
346
+ this.sectionToggled = new EventEmitter();
347
+ this.borderColor = '#37c1ce';
348
+ }
349
+ toggleAccordion(accordionItem) {
350
+ accordionItem.toggle();
351
+ this.showSection = accordionItem.expanded;
352
+ this.sectionToggled.emit(this.showSection);
353
+ }
354
+ ngOnInit() {
355
+ this.checkScreenSize();
356
+ }
357
+ checkScreenSize() {
358
+ this.isLargeScreen = window.innerWidth >= 1400;
359
+ }
360
+ showMenu() {
361
+ this.isMenuVisible = true;
362
+ this.clearHideTimeout();
363
+ }
364
+ startHideTimeout() {
365
+ this.clearHideTimeout();
366
+ this.hideTimeout = setTimeout(() => {
367
+ this.isMenuVisible = false;
368
+ }, 300);
369
+ }
370
+ clearHideTimeout() {
371
+ if (this.hideTimeout) {
372
+ clearTimeout(this.hideTimeout);
373
+ this.hideTimeout = null;
374
+ }
375
+ }
376
+ onButtonClick(btn) {
377
+ if (btn.buttonType !== 'dropdown') {
378
+ this.buttonClicked.emit(btn);
379
+ }
380
+ }
381
+ onDropdownSelect(btn, value) {
382
+ if (btn.buttonType === 'dropdown') {
383
+ // Find the selected option
384
+ const selectedOption = btn.dropdownOptions?.find((option) => option.value === value);
385
+ // If the option has a custom function, call it
386
+ if (selectedOption?.function) {
387
+ selectedOption.function();
388
+ }
389
+ // Always emit the buttonClicked event for tracking
390
+ this.buttonClicked.emit({ ...btn, dropdownValue: value });
391
+ }
392
+ }
393
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: ResumeHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
394
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.6", type: ResumeHeaderComponent, isStandalone: true, selector: "al-resume-header", inputs: { hiddenSection: "hiddenSection", isLargeScreen: "isLargeScreen", inputHandlers: "inputHandlers", checked: "checked", checkboxConfig: "checkboxConfig", disabled: "disabled", buttonConfig: "buttonConfig", configEyeToggle: "configEyeToggle", accordionItem: "accordionItem", toggleEditIcon: "toggleEditIcon", showSection: "showSection", borderColor: "borderColor" }, outputs: { focusField: "focusField", blurField: "blurField", enterKeyPressed: "enterKeyPressed", checkedCheckBoxChange: "checkedCheckBoxChange", buttonClicked: "buttonClicked", showHideToggleSection: "showHideToggleSection", sectionToggled: "sectionToggled" }, ngImport: i0, template: "<cdk-accordion class=\"example-accordion\">\n <cdk-accordion-item #accordionItem=\"cdkAccordionItem\" [expanded]=\"true\" class=\"example-accordion-item\">\n\n <div class=\"example-accordion-item-header\" [ngStyle]=\"{ 'border-color': borderColor }\">\n <div class=\"left_side_header\" *ngIf=\"!hiddenSection?.headerSectionHidden; else hiddenHeaderLayout\">\n <div [matTooltip]=\"accordionItem.expanded ? 'Collapse' : 'Expand'\" matTooltipPosition=\"above\">\n <button (click)=\"toggleAccordion(accordionItem)\" tabindex=\"0\" class=\"toggle-button align-center \"\n [attr.aria-expanded]=\"accordionItem.expanded\">\n <span class=\"material-icons-outlined\" *ngIf=\"!accordionItem.expanded\">\n expand_less\n </span>\n <span class=\"material-icons-outlined\" *ngIf=\"accordionItem.expanded\">\n expand_more\n </span>\n </button>\n </div>\n\n <div class=\"edit-input-group\">\n <span *ngIf=\"!inputHandlers.headersLoading\" class=\"align-center\">\n <span class=\"material-symbols-outlined\" [attr.alt]=\"inputHandlers.iconAltText || 'edit-icon'\"\n (click)=\"toggleEditIcon?.('educationHeader')\"\n [matTooltip]=\"inputHandlers.tooltipText || 'This header can be edited'\"\n [matTooltipPosition]=\"inputHandlers.tooltipPosition || 'above'\"\n *ngIf=\"inputHandlers.getFieldNotHidden('')\">\n edit\n </span>\n </span>\n\n <div class=\"content_width\" data-test-id=\"edu-section-title-input\">\n <div class=\"content_width\" data-test-id=\"edu-section-title-input\" *ngIf=\"!inputHandlers.headersLoading\">\n <input #textInputSection type=\"text\" [ngClass]=\"{\n 'focusout-input-text': !inputHandlers?.isFocused,\n 'onfocus-input-text': inputHandlers?.isFocused\n }\" [(ngModel)]=\"inputHandlers.shownTitle\" [attr.aria-label]=\"inputHandlers.shownTitle\"\n (focus)=\"focusField.emit('educationHeader')\" (focusout)=\"blurField.emit()\"\n (keypress)=\"enterKeyPressed.emit($event)\" [disabled]=\"inputHandlers?.isDisabled?.() ?? false\" />\n </div>\n </div>\n </div>\n </div>\n\n <!-- \u2705 FIXED: Right side header (shows when section is NOT hidden) -->\n <div class=\"right_side_header\" *ngIf=\"!hiddenSection?.headerSectionHidden\">\n <ng-container *ngIf=\"isLargeScreen\">\n <ng-container class=\"button-margin\"\n *ngTemplateOutlet=\"headerButtonsTemplate; context: { buttons: buttonConfig }\">\n </ng-container>\n </ng-container>\n\n <div class=\"hover-menu-container\" *ngIf=\"!isLargeScreen\">\n <div class=\"menu-trigger\" (mouseenter)=\"showMenu()\" (mouseleave)=\"startHideTimeout()\">\n <span class=\"material-symbols-outlined menu-icon\">more_vert</span>\n </div>\n <div class=\"slide-out-panel\" [class.visible]=\"isMenuVisible\" (mouseenter)=\"showMenu()\"\n (mouseleave)=\"startHideTimeout()\">\n <div class=\"fit-panel\">\n <ng-container *ngTemplateOutlet=\"headerButtonsTemplate; context: { buttons: buttonConfig }\">\n </ng-container>\n </div>\n </div>\n </div>\n\n <!-- \u2705 FIXED: Eye icon for hiding section -->\n <ng-container *ngIf=\"!hiddenSection?.headerSectionHidden\">\n <ng-container *ngFor=\"let eyeConfig of configEyeToggle\">\n <ng-container\n *ngTemplateOutlet=\"eyeIconTemplate; context: { isHidden: false, accordionItem: accordionItem, configEyeToggle: eyeConfig }\"></ng-container>\n </ng-container>\n </ng-container>\n\n <div *ngIf=\"checkboxConfig?.sectionItems?.length\" class=\"mat-checkbox-margin\">\n <mat-checkbox class=\"example-margin\" [matTooltip]=\"checkboxConfig?.tooltipText || 'Select All'\"\n [matTooltipPosition]=\"checkboxConfig.tooltipPosition|| 'above'\" [(ngModel)]=\"checked\"\n (ngModelChange)=\"checkedCheckBoxChange.emit($event)\"\n [disabled]=\"disabled || checkboxConfig?.disabled ?? false\" data-test-id=\"edu-section-select-all-checkbox\">\n </mat-checkbox>\n </div>\n </div>\n\n <!-- \u2705 FIXED: Hidden header layout (shows when section IS hidden) -->\n <ng-template #hiddenHeaderLayout>\n <div class=\"hide-header\">\n <span class=\"header-text-turncate\">{{ inputHandlers?.shownTitle }}</span>\n <div class=\"hidden-write\">Section hidden</div>\n\n <!-- \u2705 FIXED: Eye icon for showing section -->\n <ng-container *ngIf=\"hiddenSection?.headerSectionHidden\">\n <ng-container *ngFor=\"let eyeConfig of configEyeToggle\">\n <ng-container *ngIf=\"!eyeConfig['onClick']\">\n <ng-container\n *ngTemplateOutlet=\"eyeIconTemplate; context: { isHidden: true, accordionItem: accordionItem, configEyeToggle: eyeConfig }\"></ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </ng-template>\n </div>\n\n <!-- \u2705 FIXED: Accordion body (only shows when expanded AND not hidden) -->\n <div *ngIf=\"accordionItem.expanded && !hiddenSection?.headerSectionHidden\" class=\"example-accordion-item-body\"\n role=\"region\">\n Lorem ipsum dolor, sit amet, consectetur adipisicing elit. Perferendis excepturi incidunt ipsum\n deleniti labore, tempore non nam doloribus blanditiis veritatis illo autem iure aliquid ullam\n rem tenetur deserunt velit culpa?\n </div>\n\n </cdk-accordion-item>\n</cdk-accordion>\n\n<!-- Header Buttons Template -->\n<ng-template #headerButtonsTemplate let-buttons=\"buttons\" let-handleClick=\"handleClick\">\n <ng-container *ngFor=\"let btn of buttonConfig\">\n <al-button *ngIf=\"!btn.hidden && (!btn.displayCondition || btn.displayCondition())\" [category]=\"btn.category\"\n [buttonType]=\"btn.buttonType\" [label]=\"btn.label\" [leftIcon]=\"btn.leftIcon\" [rightIcon]=\"btn.rightIcon\"\n [variant]=\"btn.variant\" [state]=\"btn.state\" [color]=\"btn.color\" [size]=\"btn.size\" [outlined]=\"btn.outlined\"\n [dropdownOptions]=\"btn.buttonType === 'dropdown' ? btn.dropdownOptions : null\"\n (optionSelect)=\"onDropdownSelect(btn, $event)\" (click)=\"onButtonClick(btn)\" [attr.alt]=\"btn.alt\"\n [attr.data-test-id]=\"btn.testId\" [matTooltip]=\"btn.tooltipText\"\n [matTooltipPosition]=\"btn.tooltipPosition || 'above'\">\n </al-button>\n </ng-container>\n</ng-template>\n\n<!-- \u2705 FIXED: Eye Icon Template with proper click handler -->\n<ng-template #eyeIconTemplate let-isHidden=\"isHidden\" let-accordionItem=\"accordionItem\"\n let-configEyeToggle=\"configEyeToggle\">\n <div *ngIf=\"configEyeToggle\" class=\"mat-checkbox-margin align-center\"\n [attr.data-test-id]=\"isHidden ? 'edu-section-show-eye-div' : 'edu-section-hide-eye-div'\">\n <span class=\"material-symbols-outlined delete-multiple mat-fab.mat-accent\"\n [matTooltip]=\"configEyeToggle.tooltips[isHidden ? 'collapse' : 'expand']\"\n [matTooltipPosition]=\"configEyeToggle.tooltips.position\"\n [attr.aria-label]=\"configEyeToggle.ariaLabels[isHidden ? 'collapsed' : 'expanded']\"\n (click)=\"showHideToggleSection.emit({ isHidden: isHidden, accordionItem: accordionItem, config: configEyeToggle })\"\n [attr.data-test-id]=\"isHidden ? 'edu-section-show-eye-icon' : 'edu-section-show-hide-eye-icon'\">\n {{ isHidden ? 'visibility' : 'visibility_off' }}\n </span>\n </div>\n</ng-template>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Material+Icons+Outlined\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20,400,0,0\";@import\"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap\";.example-accordion,.example-accordion-item{display:block}.example-accordion-item+.example-accordion-item{border-top:none}.example-accordion-item-header{display:flex;justify-content:space-between;align-items:center;background:#ecedf1;padding:8px 24px;gap:8px;border-bottom:2px solid #37c1ce;border-radius:8px;box-sizing:border-box}.left_side_header button{padding:0!important}.example-accordion-item-description{font-size:.85em;color:#999}.example-accordion-item-body{padding:16px}.example-accordion-item-header:hover{cursor:pointer;background-color:#eee}.icon-button{background:none;border:none;padding:0;cursor:pointer}.toggle-icon,.edit-icon{width:20px;height:20px}.input-header{display:flex;align-items:center;cursor:pointer}.onfocus-input-text{height:30px;padding-left:4px;background:#f4f8fc;border:none;border-radius:5px;font-size:16px;text-overflow:ellipsis;overflow:hidden;font-weight:400;font-family:Roboto,sans-serif}.focusout-input-text{color:#383b4a;background:transparent;display:flex;border:none;font-size:16px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Roboto,sans-serif}.onfocus-input-text,.focusout-input-text{width:calc(100% - 40px)}.content_width{flex:1}input:focus{outline:none;border:none;box-shadow:none}.toggle-button{border:none}.mat-mdc-menu-content,.mat-mdc-menu-panel{background-color:#fff!important}.mat-mdc-menu-item{min-height:36px!important;color:#54595e!important;font-size:14px!important}.mat-mdc-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;outline:0;border-radius:var(--mat-menu-container-shape, var(--mat-app-corner-extra-small));background-color:#fff}::ng-deep .mdc-checkbox .mdc-checkbox__native-control{width:20px!important;height:20px!important}::ng-deep .mdc-checkbox{padding:0!important}::ng-deep .mdc-checkbox__background{top:0!important;left:0!important}::ng-deep .mat-mdc-checkbox .mat-internal-form-field{color:#717793!important}::ng-deep .mat-mdc-menu-panel{background-color:#fff!important}.left_side_header{display:flex;align-items:center;gap:16px;width:100%;padding-right:40px}.edit-input-group{display:flex;align-items:center;gap:8px;flex:1}.right_side_header{display:flex;align-items:center;gap:8px}.mat-checkbox-margin{margin-left:8px}.button-wrapper{display:flex;align-items:center;gap:8px}.hover-menu-container{position:relative;display:inline-block}.menu-trigger{display:flex;align-items:center;justify-content:center;padding:8px;cursor:pointer;z-index:10}.slide-out-panel{position:absolute;right:100%;top:0;max-width:0;overflow:hidden;border-radius:4px;box-shadow:none;transition:max-width .5s ease-in-out}.slide-out-panel.visible{max-width:1000px}.fit-panel{display:inline-flex;transition:max-width .5s ease-in-out;width:fit-content;background:none;gap:8px}.hide-header{display:flex;justify-content:space-between;width:100%;opacity:.7;background-color:#ecedf1}.icon-wrapper{visibility:visible}.header-text-turncate{font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center;color:#a2a6b8;font-family:Roboto,sans-serif}.hidden-write{color:#a2a6b8;position:absolute;left:45%;font-weight:400;font-family:Roboto,sans-serif}.example-accordion-item-body{font-size:15px;font-weight:300;line-height:24px;color:#4b4f62;font-family:Roboto,sans-serif}.align-center{display:flex;align-items:center}.material-icons-outlined{color:#717793}.material-symbols-outlined{height:20px;width:20px;color:#717793;font-size:20px;cursor:pointer}.mat-checkbox .mat-checkbox-frame{border:2px solid var(--Greys-600, #717793)!important}::ng-deep .mat-mdc-checkbox .mdc-checkbox__background{border:2px solid var(--Greys-600, #717793)!important}::ng-deep .mdc-checkbox .mdc-checkbox__native-control:focus:checked+.mdc-checkbox__ripple{background-color:#ecedf1!important;opacity:1!important}::ng-deep .mdc-checkbox__native-control:checked~.mdc-checkbox__background{background:#ecedf1!important}::ng-deep .mdc-checkbox__native-control:focus:checked~.mdc-checkbox__background{background:#ecedf1!important}::ng-deep .mdc-checkbox__native-control:focus:focus:checked~.mdc-checkbox__background,::ng-deep .mdc-checkbox__native-control:focus:focus:indeterminate~.mdc-checkbox__background{background:#ecedf1!important}::ng-deep .mdc-checkbox__native-control:hover:checked~.mdc-checkbox__background{background:#ecedf1!important}::ng-deep .mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark{color:#717793!important}::ng-deep .mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark-path{stroke:#717793!important}::ng-deep .mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__mixedmark{background-color:#717793!important}::ng-deep .mdc-checkbox__native-control:focus:checked~.mdc-checkbox__background .mdc-checkbox__checkmark{color:#717793!important}::ng-deep .mdc-checkbox__native-control:focus:checked~.mdc-checkbox__background .mdc-checkbox__checkmark-path{stroke:#717793!important}::ng-deep .mdc-checkbox__native-control:focus:checked~.mdc-checkbox__background .mdc-checkbox__mixedmark{background-color:#717793!important}::ng-deep .mdc-checkbox__native-control:hover:checked~.mdc-checkbox__background .mdc-checkbox__checkmark{color:#717793!important}::ng-deep .mdc-checkbox__native-control:hover:checked~.mdc-checkbox__background .mdc-checkbox__checkmark-path{stroke:#717793!important}::ng-deep .mdc-checkbox__native-control:hover:checked~.mdc-checkbox__background .mdc-checkbox__mixedmark{background-color:#717793!important}.cdk-overlay-container .mat-mdc-tooltip,.cdk-overlay-container .mat-mdc-tooltip-panel,.mat-mdc-tooltip,.mat-mdc-tooltip-panel,.cdk-overlay-container .mat-mdc-tooltip .mdc-tooltip__surface,.mat-mdc-tooltip .mdc-tooltip__surface{background-color:#4b4f62!important;color:#fff!important;font-size:13px!important;border-radius:4px!important;box-shadow:0 2px 8px #00000026!important;opacity:1!important}.cdk-overlay-container .mat-mdc-tooltip,.cdk-overlay-container .mat-mdc-tooltip-panel,.mat-mdc-tooltip,.mat-mdc-tooltip-panel,.cdk-overlay-container .mat-mdc-tooltip .mdc-tooltip__surface,.mat-mdc-tooltip .mdc-tooltip__surface{background-color:#4b4f62!important;color:#fff!important;font-size:13px!important;border-radius:4px!important;box-shadow:0 2px 8px #00000026!important;opacity:1!important;transition:opacity .15s ease-in-out!important;transform:none!important}.cdk-overlay-container .mat-mdc-tooltip-panel{animation:none!important;transition:opacity .15s ease-in-out!important}.cdk-overlay-container .mat-mdc-tooltip .mdc-tooltip__surface .mdc-tooltip__content,.mat-mdc-tooltip .mdc-tooltip__surface .mdc-tooltip__content{color:#fff!important;font-size:13px!important;font-weight:400!important;line-height:1.4!important;padding:8px 12px!important}.left_side_header input:focus,.left_side_header input{line-height:28px!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i3$1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: CdkAccordionModule }, { kind: "directive", type: i5.CdkAccordion, selector: "cdk-accordion, [cdkAccordion]", inputs: ["multi"], exportAs: ["cdkAccordion"] }, { kind: "directive", type: i5.CdkAccordionItem, selector: "cdk-accordion-item, [cdkAccordionItem]", inputs: ["expanded", "disabled"], outputs: ["closed", "opened", "destroyed", "expandedChange"], exportAs: ["cdkAccordionItem"] }, { kind: "component", type: ButtonComponent, selector: "al-button", inputs: ["iconPlacement", "state", "category", "label", "arialabel", "iconOnly", "leftIcon", "rightIcon", "showLeftIcon", "showRightIcon", "outlined", "color", "size", "buttonType", "fontClass", "dropdownOptions"], outputs: ["onClick", "onHover", "onMouseLeave", "optionSelect"] }] }); }
395
+ }
396
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: ResumeHeaderComponent, decorators: [{
397
+ type: Component,
398
+ args: [{ selector: 'al-resume-header', standalone: true, imports: [
399
+ CommonModule,
400
+ FormsModule,
401
+ MatCheckboxModule,
402
+ MatTooltipModule,
403
+ MatMenuModule,
404
+ MatIconModule,
405
+ CdkAccordionModule,
406
+ ButtonComponent
407
+ ], template: "<cdk-accordion class=\"example-accordion\">\n <cdk-accordion-item #accordionItem=\"cdkAccordionItem\" [expanded]=\"true\" class=\"example-accordion-item\">\n\n <div class=\"example-accordion-item-header\" [ngStyle]=\"{ 'border-color': borderColor }\">\n <div class=\"left_side_header\" *ngIf=\"!hiddenSection?.headerSectionHidden; else hiddenHeaderLayout\">\n <div [matTooltip]=\"accordionItem.expanded ? 'Collapse' : 'Expand'\" matTooltipPosition=\"above\">\n <button (click)=\"toggleAccordion(accordionItem)\" tabindex=\"0\" class=\"toggle-button align-center \"\n [attr.aria-expanded]=\"accordionItem.expanded\">\n <span class=\"material-icons-outlined\" *ngIf=\"!accordionItem.expanded\">\n expand_less\n </span>\n <span class=\"material-icons-outlined\" *ngIf=\"accordionItem.expanded\">\n expand_more\n </span>\n </button>\n </div>\n\n <div class=\"edit-input-group\">\n <span *ngIf=\"!inputHandlers.headersLoading\" class=\"align-center\">\n <span class=\"material-symbols-outlined\" [attr.alt]=\"inputHandlers.iconAltText || 'edit-icon'\"\n (click)=\"toggleEditIcon?.('educationHeader')\"\n [matTooltip]=\"inputHandlers.tooltipText || 'This header can be edited'\"\n [matTooltipPosition]=\"inputHandlers.tooltipPosition || 'above'\"\n *ngIf=\"inputHandlers.getFieldNotHidden('')\">\n edit\n </span>\n </span>\n\n <div class=\"content_width\" data-test-id=\"edu-section-title-input\">\n <div class=\"content_width\" data-test-id=\"edu-section-title-input\" *ngIf=\"!inputHandlers.headersLoading\">\n <input #textInputSection type=\"text\" [ngClass]=\"{\n 'focusout-input-text': !inputHandlers?.isFocused,\n 'onfocus-input-text': inputHandlers?.isFocused\n }\" [(ngModel)]=\"inputHandlers.shownTitle\" [attr.aria-label]=\"inputHandlers.shownTitle\"\n (focus)=\"focusField.emit('educationHeader')\" (focusout)=\"blurField.emit()\"\n (keypress)=\"enterKeyPressed.emit($event)\" [disabled]=\"inputHandlers?.isDisabled?.() ?? false\" />\n </div>\n </div>\n </div>\n </div>\n\n <!-- \u2705 FIXED: Right side header (shows when section is NOT hidden) -->\n <div class=\"right_side_header\" *ngIf=\"!hiddenSection?.headerSectionHidden\">\n <ng-container *ngIf=\"isLargeScreen\">\n <ng-container class=\"button-margin\"\n *ngTemplateOutlet=\"headerButtonsTemplate; context: { buttons: buttonConfig }\">\n </ng-container>\n </ng-container>\n\n <div class=\"hover-menu-container\" *ngIf=\"!isLargeScreen\">\n <div class=\"menu-trigger\" (mouseenter)=\"showMenu()\" (mouseleave)=\"startHideTimeout()\">\n <span class=\"material-symbols-outlined menu-icon\">more_vert</span>\n </div>\n <div class=\"slide-out-panel\" [class.visible]=\"isMenuVisible\" (mouseenter)=\"showMenu()\"\n (mouseleave)=\"startHideTimeout()\">\n <div class=\"fit-panel\">\n <ng-container *ngTemplateOutlet=\"headerButtonsTemplate; context: { buttons: buttonConfig }\">\n </ng-container>\n </div>\n </div>\n </div>\n\n <!-- \u2705 FIXED: Eye icon for hiding section -->\n <ng-container *ngIf=\"!hiddenSection?.headerSectionHidden\">\n <ng-container *ngFor=\"let eyeConfig of configEyeToggle\">\n <ng-container\n *ngTemplateOutlet=\"eyeIconTemplate; context: { isHidden: false, accordionItem: accordionItem, configEyeToggle: eyeConfig }\"></ng-container>\n </ng-container>\n </ng-container>\n\n <div *ngIf=\"checkboxConfig?.sectionItems?.length\" class=\"mat-checkbox-margin\">\n <mat-checkbox class=\"example-margin\" [matTooltip]=\"checkboxConfig?.tooltipText || 'Select All'\"\n [matTooltipPosition]=\"checkboxConfig.tooltipPosition|| 'above'\" [(ngModel)]=\"checked\"\n (ngModelChange)=\"checkedCheckBoxChange.emit($event)\"\n [disabled]=\"disabled || checkboxConfig?.disabled ?? false\" data-test-id=\"edu-section-select-all-checkbox\">\n </mat-checkbox>\n </div>\n </div>\n\n <!-- \u2705 FIXED: Hidden header layout (shows when section IS hidden) -->\n <ng-template #hiddenHeaderLayout>\n <div class=\"hide-header\">\n <span class=\"header-text-turncate\">{{ inputHandlers?.shownTitle }}</span>\n <div class=\"hidden-write\">Section hidden</div>\n\n <!-- \u2705 FIXED: Eye icon for showing section -->\n <ng-container *ngIf=\"hiddenSection?.headerSectionHidden\">\n <ng-container *ngFor=\"let eyeConfig of configEyeToggle\">\n <ng-container *ngIf=\"!eyeConfig['onClick']\">\n <ng-container\n *ngTemplateOutlet=\"eyeIconTemplate; context: { isHidden: true, accordionItem: accordionItem, configEyeToggle: eyeConfig }\"></ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </ng-template>\n </div>\n\n <!-- \u2705 FIXED: Accordion body (only shows when expanded AND not hidden) -->\n <div *ngIf=\"accordionItem.expanded && !hiddenSection?.headerSectionHidden\" class=\"example-accordion-item-body\"\n role=\"region\">\n Lorem ipsum dolor, sit amet, consectetur adipisicing elit. Perferendis excepturi incidunt ipsum\n deleniti labore, tempore non nam doloribus blanditiis veritatis illo autem iure aliquid ullam\n rem tenetur deserunt velit culpa?\n </div>\n\n </cdk-accordion-item>\n</cdk-accordion>\n\n<!-- Header Buttons Template -->\n<ng-template #headerButtonsTemplate let-buttons=\"buttons\" let-handleClick=\"handleClick\">\n <ng-container *ngFor=\"let btn of buttonConfig\">\n <al-button *ngIf=\"!btn.hidden && (!btn.displayCondition || btn.displayCondition())\" [category]=\"btn.category\"\n [buttonType]=\"btn.buttonType\" [label]=\"btn.label\" [leftIcon]=\"btn.leftIcon\" [rightIcon]=\"btn.rightIcon\"\n [variant]=\"btn.variant\" [state]=\"btn.state\" [color]=\"btn.color\" [size]=\"btn.size\" [outlined]=\"btn.outlined\"\n [dropdownOptions]=\"btn.buttonType === 'dropdown' ? btn.dropdownOptions : null\"\n (optionSelect)=\"onDropdownSelect(btn, $event)\" (click)=\"onButtonClick(btn)\" [attr.alt]=\"btn.alt\"\n [attr.data-test-id]=\"btn.testId\" [matTooltip]=\"btn.tooltipText\"\n [matTooltipPosition]=\"btn.tooltipPosition || 'above'\">\n </al-button>\n </ng-container>\n</ng-template>\n\n<!-- \u2705 FIXED: Eye Icon Template with proper click handler -->\n<ng-template #eyeIconTemplate let-isHidden=\"isHidden\" let-accordionItem=\"accordionItem\"\n let-configEyeToggle=\"configEyeToggle\">\n <div *ngIf=\"configEyeToggle\" class=\"mat-checkbox-margin align-center\"\n [attr.data-test-id]=\"isHidden ? 'edu-section-show-eye-div' : 'edu-section-hide-eye-div'\">\n <span class=\"material-symbols-outlined delete-multiple mat-fab.mat-accent\"\n [matTooltip]=\"configEyeToggle.tooltips[isHidden ? 'collapse' : 'expand']\"\n [matTooltipPosition]=\"configEyeToggle.tooltips.position\"\n [attr.aria-label]=\"configEyeToggle.ariaLabels[isHidden ? 'collapsed' : 'expanded']\"\n (click)=\"showHideToggleSection.emit({ isHidden: isHidden, accordionItem: accordionItem, config: configEyeToggle })\"\n [attr.data-test-id]=\"isHidden ? 'edu-section-show-eye-icon' : 'edu-section-show-hide-eye-icon'\">\n {{ isHidden ? 'visibility' : 'visibility_off' }}\n </span>\n </div>\n</ng-template>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Material+Icons+Outlined\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20,400,0,0\";@import\"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap\";.example-accordion,.example-accordion-item{display:block}.example-accordion-item+.example-accordion-item{border-top:none}.example-accordion-item-header{display:flex;justify-content:space-between;align-items:center;background:#ecedf1;padding:8px 24px;gap:8px;border-bottom:2px solid #37c1ce;border-radius:8px;box-sizing:border-box}.left_side_header button{padding:0!important}.example-accordion-item-description{font-size:.85em;color:#999}.example-accordion-item-body{padding:16px}.example-accordion-item-header:hover{cursor:pointer;background-color:#eee}.icon-button{background:none;border:none;padding:0;cursor:pointer}.toggle-icon,.edit-icon{width:20px;height:20px}.input-header{display:flex;align-items:center;cursor:pointer}.onfocus-input-text{height:30px;padding-left:4px;background:#f4f8fc;border:none;border-radius:5px;font-size:16px;text-overflow:ellipsis;overflow:hidden;font-weight:400;font-family:Roboto,sans-serif}.focusout-input-text{color:#383b4a;background:transparent;display:flex;border:none;font-size:16px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Roboto,sans-serif}.onfocus-input-text,.focusout-input-text{width:calc(100% - 40px)}.content_width{flex:1}input:focus{outline:none;border:none;box-shadow:none}.toggle-button{border:none}.mat-mdc-menu-content,.mat-mdc-menu-panel{background-color:#fff!important}.mat-mdc-menu-item{min-height:36px!important;color:#54595e!important;font-size:14px!important}.mat-mdc-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;outline:0;border-radius:var(--mat-menu-container-shape, var(--mat-app-corner-extra-small));background-color:#fff}::ng-deep .mdc-checkbox .mdc-checkbox__native-control{width:20px!important;height:20px!important}::ng-deep .mdc-checkbox{padding:0!important}::ng-deep .mdc-checkbox__background{top:0!important;left:0!important}::ng-deep .mat-mdc-checkbox .mat-internal-form-field{color:#717793!important}::ng-deep .mat-mdc-menu-panel{background-color:#fff!important}.left_side_header{display:flex;align-items:center;gap:16px;width:100%;padding-right:40px}.edit-input-group{display:flex;align-items:center;gap:8px;flex:1}.right_side_header{display:flex;align-items:center;gap:8px}.mat-checkbox-margin{margin-left:8px}.button-wrapper{display:flex;align-items:center;gap:8px}.hover-menu-container{position:relative;display:inline-block}.menu-trigger{display:flex;align-items:center;justify-content:center;padding:8px;cursor:pointer;z-index:10}.slide-out-panel{position:absolute;right:100%;top:0;max-width:0;overflow:hidden;border-radius:4px;box-shadow:none;transition:max-width .5s ease-in-out}.slide-out-panel.visible{max-width:1000px}.fit-panel{display:inline-flex;transition:max-width .5s ease-in-out;width:fit-content;background:none;gap:8px}.hide-header{display:flex;justify-content:space-between;width:100%;opacity:.7;background-color:#ecedf1}.icon-wrapper{visibility:visible}.header-text-turncate{font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center;color:#a2a6b8;font-family:Roboto,sans-serif}.hidden-write{color:#a2a6b8;position:absolute;left:45%;font-weight:400;font-family:Roboto,sans-serif}.example-accordion-item-body{font-size:15px;font-weight:300;line-height:24px;color:#4b4f62;font-family:Roboto,sans-serif}.align-center{display:flex;align-items:center}.material-icons-outlined{color:#717793}.material-symbols-outlined{height:20px;width:20px;color:#717793;font-size:20px;cursor:pointer}.mat-checkbox .mat-checkbox-frame{border:2px solid var(--Greys-600, #717793)!important}::ng-deep .mat-mdc-checkbox .mdc-checkbox__background{border:2px solid var(--Greys-600, #717793)!important}::ng-deep .mdc-checkbox .mdc-checkbox__native-control:focus:checked+.mdc-checkbox__ripple{background-color:#ecedf1!important;opacity:1!important}::ng-deep .mdc-checkbox__native-control:checked~.mdc-checkbox__background{background:#ecedf1!important}::ng-deep .mdc-checkbox__native-control:focus:checked~.mdc-checkbox__background{background:#ecedf1!important}::ng-deep .mdc-checkbox__native-control:focus:focus:checked~.mdc-checkbox__background,::ng-deep .mdc-checkbox__native-control:focus:focus:indeterminate~.mdc-checkbox__background{background:#ecedf1!important}::ng-deep .mdc-checkbox__native-control:hover:checked~.mdc-checkbox__background{background:#ecedf1!important}::ng-deep .mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark{color:#717793!important}::ng-deep .mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark-path{stroke:#717793!important}::ng-deep .mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__mixedmark{background-color:#717793!important}::ng-deep .mdc-checkbox__native-control:focus:checked~.mdc-checkbox__background .mdc-checkbox__checkmark{color:#717793!important}::ng-deep .mdc-checkbox__native-control:focus:checked~.mdc-checkbox__background .mdc-checkbox__checkmark-path{stroke:#717793!important}::ng-deep .mdc-checkbox__native-control:focus:checked~.mdc-checkbox__background .mdc-checkbox__mixedmark{background-color:#717793!important}::ng-deep .mdc-checkbox__native-control:hover:checked~.mdc-checkbox__background .mdc-checkbox__checkmark{color:#717793!important}::ng-deep .mdc-checkbox__native-control:hover:checked~.mdc-checkbox__background .mdc-checkbox__checkmark-path{stroke:#717793!important}::ng-deep .mdc-checkbox__native-control:hover:checked~.mdc-checkbox__background .mdc-checkbox__mixedmark{background-color:#717793!important}.cdk-overlay-container .mat-mdc-tooltip,.cdk-overlay-container .mat-mdc-tooltip-panel,.mat-mdc-tooltip,.mat-mdc-tooltip-panel,.cdk-overlay-container .mat-mdc-tooltip .mdc-tooltip__surface,.mat-mdc-tooltip .mdc-tooltip__surface{background-color:#4b4f62!important;color:#fff!important;font-size:13px!important;border-radius:4px!important;box-shadow:0 2px 8px #00000026!important;opacity:1!important}.cdk-overlay-container .mat-mdc-tooltip,.cdk-overlay-container .mat-mdc-tooltip-panel,.mat-mdc-tooltip,.mat-mdc-tooltip-panel,.cdk-overlay-container .mat-mdc-tooltip .mdc-tooltip__surface,.mat-mdc-tooltip .mdc-tooltip__surface{background-color:#4b4f62!important;color:#fff!important;font-size:13px!important;border-radius:4px!important;box-shadow:0 2px 8px #00000026!important;opacity:1!important;transition:opacity .15s ease-in-out!important;transform:none!important}.cdk-overlay-container .mat-mdc-tooltip-panel{animation:none!important;transition:opacity .15s ease-in-out!important}.cdk-overlay-container .mat-mdc-tooltip .mdc-tooltip__surface .mdc-tooltip__content,.mat-mdc-tooltip .mdc-tooltip__surface .mdc-tooltip__content{color:#fff!important;font-size:13px!important;font-weight:400!important;line-height:1.4!important;padding:8px 12px!important}.left_side_header input:focus,.left_side_header input{line-height:28px!important}\n"] }]
408
+ }], propDecorators: { hiddenSection: [{
409
+ type: Input
410
+ }], isLargeScreen: [{
411
+ type: Input
412
+ }], inputHandlers: [{
413
+ type: Input
414
+ }], focusField: [{
415
+ type: Output
416
+ }], blurField: [{
417
+ type: Output
418
+ }], enterKeyPressed: [{
419
+ type: Output
420
+ }], checked: [{
421
+ type: Input
422
+ }], checkboxConfig: [{
423
+ type: Input
424
+ }], checkedCheckBoxChange: [{
425
+ type: Output
426
+ }], disabled: [{
427
+ type: Input
428
+ }], buttonConfig: [{
429
+ type: Input
430
+ }], buttonClicked: [{
431
+ type: Output
432
+ }], configEyeToggle: [{
433
+ type: Input
434
+ }], accordionItem: [{
435
+ type: Input
436
+ }], showHideToggleSection: [{
437
+ type: Output
438
+ }], toggleEditIcon: [{
439
+ type: Input
440
+ }], showSection: [{
441
+ type: Input
442
+ }], sectionToggled: [{
443
+ type: Output
444
+ }], borderColor: [{
445
+ type: Input
446
+ }] } });
447
+
448
+ class ResumeHeaderModule {
449
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: ResumeHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
450
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.6", ngImport: i0, type: ResumeHeaderModule, imports: [CommonModule, ResumeHeaderComponent], exports: [ResumeHeaderComponent] }); }
451
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: ResumeHeaderModule, imports: [CommonModule, ResumeHeaderComponent] }); }
452
+ }
453
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: ResumeHeaderModule, decorators: [{
454
+ type: NgModule,
455
+ args: [{
456
+ imports: [CommonModule, ResumeHeaderComponent],
457
+ exports: [ResumeHeaderComponent],
458
+ }]
459
+ }] });
460
+
320
461
  /*
321
462
  * Public API Surface of allsorter-lib
322
463
  */
@@ -325,5 +466,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImpor
325
466
  * Generated bundle index. Do not edit.
326
467
  */
327
468
 
328
- export { AllsorterLibComponent, AllsorterLibService, ButtonComponent, ButtonModule, InputComponent, InputModule };
469
+ export { AllsorterLibComponent, AllsorterLibService, ButtonComponent, ButtonModule, InputComponent, InputModule, ResumeHeaderComponent, ResumeHeaderModule };
329
470
  //# sourceMappingURL=allsorter-ui-components.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"allsorter-ui-components.mjs","sources":["../../../projects/allsorter-lib/src/lib/allsorter-lib.service.ts","../../../projects/allsorter-lib/src/lib/allsorter-lib.component.ts","../../../projects/allsorter-lib/src/lib/button/button.component.ts","../../../projects/allsorter-lib/src/lib/button/button.component.html","../../../projects/allsorter-lib/src/lib/button/button.module.ts","../../../projects/allsorter-lib/src/lib/input/input.component.ts","../../../projects/allsorter-lib/src/lib/input/input.component.html","../../../projects/allsorter-lib/src/lib/input/input.module.ts","../../../projects/allsorter-lib/src/public-api.ts","../../../projects/allsorter-lib/src/allsorter-ui-components.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AllsorterLibService {\n\n constructor() { }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-allsorter-lib',\n imports: [],\n template: `\n <p>\n allsorter-lib works!\n </p>\n `,\n styles: ``\n})\nexport class AllsorterLibComponent {\n\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatMenuModule } from '@angular/material/menu';\n\n@Component({\n selector: 'al-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n imports: [CommonModule, MatButtonModule, MatIconModule, MatMenuModule],\n standalone:true\n})\nexport class ButtonComponent {\n /**\n * Returns the typography class to apply. If the consumer passes `fontClass`,\n * that value wins. Otherwise we derive a sensible default based on `size`.\n */\n get effectiveFontClass(): string {\n if (this.fontClass) {\n return this.fontClass;\n }\n switch (this.size) {\n case 'xs':\n return 'font-body-small';\n case 'sm':\n case 'base':\n return 'font-body-medium';\n case 'l':\n case 'xl':\n case 'header':\n return 'font-body-large';\n default:\n return '';\n }\n }\n @Input() state: 'default' | 'hover' | 'pressed' | 'disabled' = 'default';\n @Input() category!: string;\n\n @Input() label: string | undefined = ' '; // Default label\n @Input() arialabel: string | undefined = ' '; // Default label\n @Input() iconOnly: boolean = false; // Toggle for icon-only button\n @Input() leftIcon: string | null | undefined = ''; // ✅ Default to null\n @Input() rightIcon: string | null | undefined = ''; // ✅ Default to null\n /** Show/hide left icon (Storybook control) */\n @Input() showLeftIcon: boolean = true;\n /** Show/hide right icon (Storybook control) */\n @Input() showRightIcon: boolean = true;\n /** If true, use outlined style for icons */\n @Input() outlined: boolean = false;\n @Input() color: 'primary' | 'accent' | 'warn' = 'primary';\n /** Text size option for label and icons */\n @Input() size: 'header' | 'xs' | 'sm' | 'base' | 'l' | 'xl' = 'base';\n\n /** Visual type of button: icon only circle, icon+label, two icons + label */\n @Input() buttonType: 'icon-circle' | 'icon-label' | 'two-icon-label' | 'dropdown' = 'icon-label';\n\n /** Optional typography class, e.g. 'font-display-large' */\n @Input() fontClass: string = '';\n\n @Output() onClick = new EventEmitter<Event>(); // Initialize\n @Output() onHover = new EventEmitter<Event>(); // Initialize\n @Output() onMouseLeave = new EventEmitter<Event>(); // Initialize\n\n /** Dropdown menu options, used when buttonType is 'dropdown' */\n @Input() dropdownOptions: Array<{ label: string; value?: any }> = [];\n\n /** Emits the selected dropdown option's value */\n @Output() optionSelect = new EventEmitter<any>();\n\n selectOption(option: any) {\n this.optionSelect.emit(option?.value ?? option);\n }\n\n computeGap(): number {\n // Header size uses a tighter 4px gap across all combinations\n if (this.size === 'header') {\n return 4;\n }\n const hasLabel = !!(this.label && this.label.trim()) && !this.iconOnly;\n const leftIconPresent = !!(this.leftIcon && this.leftIcon.trim());\n const rightIconPresent = !!(this.rightIcon && this.rightIcon.trim());\n const iconCount = (leftIconPresent ? 1 : 0) + (rightIconPresent ? 1 : 0);\n\n // 0 gap for purely icon-only buttons (≤1 icon and no label)\n if (!hasLabel && iconCount <= 1) {\n return 0;\n }\n\n // Tighter gap when we have two icons and a label (e.g., two-icon buttons)\n if (iconCount === 2 && !hasLabel) {\n return 4;\n }\n\n // Default gap\n return 8;\n }\n\n stateClasses: { [key: string]: string } = {\n default: 'btn-default',\n hover: 'btn-hover',\n pressed: 'btn-pressed',\n disabled: 'btn-disabled',\n };\n}\n","<!-- Regular button types -->\n<ng-container *ngIf=\"buttonType !== 'dropdown'; else dropdownTpl\">\n <button\n mat-flat-button\n class=\"btn custom-button\" [class]=\"effectiveFontClass\"\n [ngClass]=\"{\n 'size-header': size === 'header' && !fontClass,\n 'size-xs': size === 'xs' && !fontClass,\n 'size-sm': size === 'sm' && !fontClass,\n 'size-base': size === 'base' && !fontClass,\n 'size-l': size === 'l' && !fontClass,\n 'size-xl': size === 'xl' && !fontClass,\n 'mat-raised-button': variant === 'raised',\n 'mat-flat-button': variant === 'flat',\n \n 'mat-stroked-button': variant === 'stroked',\n 'mat-fab': variant === 'fab',\n 'mat-icon-button': variant === 'icon',\n 'icon-circle': buttonType === 'icon-circle',\n 'icon-label': buttonType === 'icon-label',\n 'two-icon-label': buttonType === 'two-icon-label',\n 'blue': category === 'blue',\n 'green': category === 'green',\n 'grey': category === 'grey',\n 'error': category === 'error',\n 'gradient': category === 'gradient',\n 'blue-no-outline': category === 'blue-no-outline',\n 'green-no-outline': category === 'green-no-outline',\n 'grey-no-outline': category === 'grey-no-outline',\n 'error-no-outline': category === 'error-no-outline',\n 'btn-default': state === 'default',\n 'btn-hover': state === 'hover',\n 'btn-pressed': state === 'pressed',\n 'btn-disabled': state === 'disabled'\n }\"\n [ngStyle]=\"{ color: color }\"\n [disabled]=\"state === 'disabled'\"\n (click)=\"onClick.emit($event)\"\n (mouseenter)=\"onHover.emit($event)\"\n (mouseleave)=\"onMouseLeave.emit($event)\"\n [style.display]=\"'inline-flex'\"\n [style.align-items]=\"'center'\"\n [style.gap.px]=\"computeGap()\"\n >\n <!-- Left Icon (Only shown if leftIcon is set and not empty) -->\n <mat-icon *ngIf=\"leftIcon?.trim() as leftIconText\"\n [fontSet]=\"outlined ? 'material-icons-outlined' : 'material-icons'\"\n class=\"left-icon\">{{ leftIconText }}</mat-icon>\n <!-- Label (Only shown if iconOnly is false) -->\n <span *ngIf=\"!iconOnly\" class=\"button-label\" [ngStyle]=\"{ color: color }\">{{ label || '' }}</span>\n \n <!-- Right Icon (Only shown if rightIcon is set and not empty) -->\n <mat-icon *ngIf=\"rightIcon?.trim() as rightIconText\"\n [fontSet]=\"outlined ? 'material-icons-outlined' : 'material-icons'\"\n class=\"right-icon\">{{ rightIconText }}</mat-icon>\n </button>\n </ng-container>\n \n <!-- Dropdown button template -->\n <ng-template #dropdownTpl>\n <button\n mat-flat-button\n class=\"btn custom-button\" [class]=\"effectiveFontClass\"\n [ngClass]=\"{\n 'size-header': size === 'header' && !fontClass,\n 'size-xs': size === 'xs' && !fontClass,\n 'size-sm': size === 'sm' && !fontClass,\n 'size-base': size === 'base' && !fontClass,\n 'size-l': size === 'l' && !fontClass,\n 'size-xl': size === 'xl' && !fontClass,\n 'mat-raised-button': variant === 'raised',\n 'mat-flat-button': variant === 'flat',\n 'mat-stroked-button': variant === 'stroked',\n 'mat-fab': variant === 'fab',\n 'mat-icon-button': variant === 'icon',\n 'icon-label': true,\n 'blue': category === 'blue',\n 'green': category === 'green',\n 'grey': category === 'grey',\n 'error': category === 'error',\n 'gradient': category === 'gradient',\n 'blue-no-outline': category === 'blue-no-outline',\n 'green-no-outline': category === 'green-no-outline',\n 'grey-no-outline': category === 'grey-no-outline',\n 'error-no-outline': category === 'error-no-outline',\n 'btn-default': state === 'default',\n 'btn-hover': state === 'hover',\n 'btn-pressed': state === 'pressed',\n 'btn-disabled': state === 'disabled',\n \n }\"\n [ngStyle]=\"{ color: color }\"\n [disabled]=\"state === 'disabled'\"\n (mouseenter)=\"onHover.emit($event)\"\n (mouseleave)=\"onMouseLeave.emit($event)\"\n [style.display]=\"'inline-flex'\"\n [style.align-items]=\"'center'\"\n [style.gap.px]=\"computeGap()\"\n [matMenuTriggerFor]=\"menu\"\n >\n <!-- Left Icon (optional) -->\n <mat-icon *ngIf=\"leftIcon?.trim() as leftIconText\"\n [fontSet]=\"outlined ? 'material-icons-outlined' : 'material-icons'\"\n class=\"left-icon\">{{ leftIconText }}</mat-icon>\n <!-- Label -->\n <span *ngIf=\"!iconOnly\" class=\"button-label\" [ngStyle]=\"{ color: color }\">{{ label || '' }}</span>\n <!-- Dropdown Arrow Icon -->\n <mat-icon class=\"right-icon\">arrow_drop_down</mat-icon>\n </button>\n <!-- Mat Menu -->\n <mat-menu #menu=\"matMenu\" panelClass=\"custom-dropdown-menu\">\n <button mat-menu-item *ngFor=\"let opt of dropdownOptions\" (click)=\"selectOption(opt)\" [ngClass]=\"effectiveFontClass\">\n {{ opt.label || opt }}\n </button>\n </mat-menu>\n </ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonComponent } from './button.component';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@NgModule({\n declarations: [], // ✅ Ensure ButtonComponent is declared\n exports: [], // ✅ Export if used in other modules\n imports: [CommonModule, ButtonComponent], // ✅ Required for Angular directives like *ngIf, *ngFor\n})\nexport class ButtonModule {\n constructor(\n private iconRegistry: MatIconRegistry,\n private sanitizer: DomSanitizer\n ) {\n // register the CSS class alias so <mat-icon> knows about it…\n this.iconRegistry.registerFontClassAlias(\n 'material-symbols-outlined',\n 'material-symbols-outlined'\n );\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatOptionModule } from '@angular/material/core';\n\n@Component({\n selector: 'al-input',\n templateUrl: './input.component.html',\n styleUrl: './input.component.css',\n imports: [CommonModule, FormsModule, MatFormFieldModule, MatInputModule, MatIconModule, MatSelectModule, MatOptionModule],\n standalone: true,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputComponent),\n multi: true\n }\n ]\n})\nexport class InputComponent implements ControlValueAccessor {\n @Input() label: string = '';\n @Input() placeholder: string = '';\n @Input() value: string = '';\n @Input() formControlName: string = '';\n\n @Input() type: 'text' | 'email' | 'number' | 'password' | 'tel' | 'url' | 'date' = 'text';\n @Input() disabled: boolean = false;\n @Input() helperText: boolean = false;\n @Input() helperTextLabel: string = '';\n @Input() leftIcon: string = '';\n @Input() rightIcon: string = '';\n @Input() dropDown: boolean = false;\n @Input() options: string[] = [];\n @Input() size: 'xs' | 'small' | 'base' | 'large' | 'header' = 'base';\n @Input() inputTypes: 'simple' | 'primary' | 'success' | 'warn' | 'disabled' | 'plain' = 'simple';\n @Input() noBorder: boolean = false;\n\n @Output() valueChange = new EventEmitter<string>();\n\n private onChange = (value: string) => { };\n onTouched = () => { };\n\n get isDisabled(): boolean {\n return this.disabled || this.inputTypes === 'disabled';\n }\n\n writeValue(value: string | null | undefined): void {\n this.value = value || '';\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n onInputChange(value: string): void {\n this.value = value;\n this.onChange(value);\n this.valueChange.emit(value);\n }\n\n onSelectionChange(value: string): void {\n this.value = value;\n this.onChange(value);\n this.valueChange.emit(value);\n }\n\n getSizeClass(): string {\n return 'al-input-size-' + this.size;\n }\n\n getCategoryClass(): string {\n if (this.disabled) {\n return 'al-input-category-disabled';\n }\n if (this.inputTypes === 'plain') {\n return 'al-input-category-plain';\n }\n return 'al-input-category-' + this.inputTypes;\n }\n}\n","<mat-form-field appearance=\"outline\" class=\"al-input-field\" [ngClass]=\"[\n helperText ? 'has-error' : '',\n getSizeClass(),\n getCategoryClass(),\n noBorder ? 'al-input-no-border' : ''\n ]\">\n <mat-label *ngIf=\"label && !noBorder\">{{ label }}</mat-label>\n\n <span *ngIf=\"leftIcon\" matPrefix class=\"material-symbols-outlined\">\n {{ leftIcon }}\n </span>\n\n <ng-container *ngIf=\"dropDown; else regularInput\">\n <mat-select [disabled]=\"isDisabled\" [(ngModel)]=\"value\" (selectionChange)=\"onSelectionChange($event.value)\">\n <mat-option *ngFor=\"let option of options\" [value]=\"option\">{{ option }}</mat-option>\n </mat-select>\n </ng-container>\n <ng-template #regularInput>\n <input matInput [placeholder]=\"placeholder\" [type]=\"type\" [disabled]=\"isDisabled\" [(ngModel)]=\"value\"\n (input)=\"onInputChange($any($event.target).value)\" (blur)=\"onTouched()\" />\n </ng-template>\n\n <span *ngIf=\"rightIcon\" matSuffix class=\"material-symbols-outlined\">{{ rightIcon }}</span>\n\n <mat-error *ngIf=\"helperText\">{{ helperTextLabel }}</mat-error>\n <mat-hint *ngIf=\"!helperText && helperTextLabel\">{{ helperTextLabel }}</mat-hint>\n</mat-form-field>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InputComponent } from './input.component';\n\n@NgModule({\n imports: [CommonModule, InputComponent],\n exports: [InputComponent],\n})\nexport class InputModule { }\n","/*\n * Public API Surface of allsorter-lib\n */\n\nexport * from './lib/allsorter-lib.service';\nexport * from './lib/allsorter-lib.component';\nexport * from './lib/button/button.component';\nexport * from './lib/button/button.module';\nexport * from './lib/input/input.component';\nexport * from './lib/input/input.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3","i1","i2","i4"],"mappings":"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"}
1
+ {"version":3,"file":"allsorter-ui-components.mjs","sources":["../../../projects/allsorter-lib/src/lib/allsorter-lib.service.ts","../../../projects/allsorter-lib/src/lib/allsorter-lib.component.ts","../../../projects/allsorter-lib/src/lib/button/button.component.ts","../../../projects/allsorter-lib/src/lib/button/button.component.html","../../../projects/allsorter-lib/src/lib/button/button.module.ts","../../../projects/allsorter-lib/src/lib/input/input.component.ts","../../../projects/allsorter-lib/src/lib/input/input.component.html","../../../projects/allsorter-lib/src/lib/input/input.module.ts","../../../projects/allsorter-lib/src/lib/resume-header/resume-header.component.ts","../../../projects/allsorter-lib/src/lib/resume-header/resume-header.component.html","../../../projects/allsorter-lib/src/lib/resume-header/resume-header.module.ts","../../../projects/allsorter-lib/src/public-api.ts","../../../projects/allsorter-lib/src/allsorter-ui-components.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AllsorterLibService {\n\n constructor() { }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-allsorter-lib',\n imports: [],\n template: `\n <p>\n allsorter-lib works!\n </p>\n `,\n styles: ``\n})\nexport class AllsorterLibComponent {\n\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatMenuModule } from '@angular/material/menu';\n\n@Component({\n selector: 'al-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n imports: [CommonModule, MatButtonModule, MatIconModule, MatMenuModule],\n standalone:true,\n})\nexport class ButtonComponent {\n /**\n * Storybook-only: Controls icon placement in stories. Valid values: 'none', 'left', 'right', 'dropdown'.\n */\n @Input() iconPlacement: 'none' | 'left' | 'right' | 'dropdown' = 'none';\n /**\n * Returns the typography class to apply. If the consumer passes `fontClass`,\n * that value wins. Otherwise we derive a sensible default based on `size`.\n */\n get effectiveFontClass(): string {\n if (this.fontClass) {\n return this.fontClass;\n }\n switch (this.size) {\n case 'xs':\n return 'font-body-small';\n case 'sm':\n case 'base':\n return 'font-body-medium';\n case 'l':\n case 'xl':\n case 'header':\n return 'font-body-large';\n default:\n return '';\n }\n }\n @Input() state: 'default' | 'hover' | 'pressed' | 'disabled' = 'default';\n @Input() category!: string;\n\n @Input() label: string | undefined = ' '; // Default label\n @Input() arialabel: string | undefined = ' '; // Default label\n @Input() iconOnly: boolean = false; // Toggle for icon-only button\n @Input() leftIcon: string | null | undefined = ''; // ✅ Default to null\n @Input() rightIcon: string | null | undefined = ''; // ✅ Default to null\n /** Show/hide left icon (Storybook control) */\n @Input() showLeftIcon: boolean = true;\n /** Show/hide right icon (Storybook control) */\n @Input() showRightIcon: boolean = true;\n /** If true, use outlined style for icons */\n @Input() outlined: boolean = false;\n @Input() color: 'primary' | 'accent' | 'warn' = 'primary';\n /** Text size option for label and icons */\n @Input() size: 'header' | 'xs' | 'sm' | 'base' | 'l' | 'xl' = 'base';\n\n /** Visual type of button: icon only circle, icon+label, two icons + label */\n @Input() buttonType: 'icon-circle' | 'icon-label' | 'two-icon-label' | 'dropdown' = 'icon-label';\n\n /** Optional typography class, e.g. 'font-display-large' */\n @Input() fontClass: string = '';\n\n @Output() onClick = new EventEmitter<Event>(); // Initialize\n @Output() onHover = new EventEmitter<Event>(); // Initialize\n @Output() onMouseLeave = new EventEmitter<Event>(); // Initialize\n\n /** Dropdown menu options, used when buttonType is 'dropdown' */\n @Input() dropdownOptions: Array<{ label: string; value?: any }> = [];\n\n /** Emits the selected dropdown option's value */\n @Output() optionSelect = new EventEmitter<any>();\n\n selectOption(option: any) {\n this.optionSelect.emit(option?.value ?? option);\n }\n\n computeGap(): number {\n // Header size uses a tighter 4px gap across all combinations\n if (this.size === 'header') {\n return 4;\n }\n const hasLabel = !!(this.label && this.label.trim()) && !this.iconOnly;\n const leftIconPresent = !!(this.leftIcon && this.leftIcon.trim());\n const rightIconPresent = !!(this.rightIcon && this.rightIcon.trim());\n const iconCount = (leftIconPresent ? 1 : 0) + (rightIconPresent ? 1 : 0);\n\n // 0 gap for purely icon-only buttons (≤1 icon and no label)\n if (!hasLabel && iconCount <= 1) {\n return 0;\n }\n\n // Tighter gap when we have two icons and a label (e.g., two-icon buttons)\n if (iconCount === 2 && !hasLabel) {\n return 4;\n }\n\n // Default gap\n return 8;\n }\n\n stateClasses: { [key: string]: string } = {\n default: 'btn-default',\n hover: 'btn-hover',\n pressed: 'btn-pressed',\n disabled: 'btn-disabled',\n };\n}\n","<!-- Regular button types -->\n<ng-container *ngIf=\"buttonType !== 'dropdown'; else dropdownTpl\">\n <button\n mat-flat-button\n class=\"btn custom-button\" [class]=\"effectiveFontClass\"\n [ngClass]=\"{\n 'size-header': size === 'header' && !fontClass,\n 'size-xs': size === 'xs' && !fontClass,\n 'size-sm': size === 'sm' && !fontClass,\n 'size-base': size === 'base' && !fontClass,\n 'size-l': size === 'l' && !fontClass,\n 'size-xl': size === 'xl' && !fontClass,\n 'mat-raised-button': variant === 'raised',\n 'mat-flat-button': variant === 'flat',\n \n 'mat-stroked-button': variant === 'stroked',\n 'mat-fab': variant === 'fab',\n 'mat-icon-button': variant === 'icon',\n 'icon-circle': buttonType === 'icon-circle',\n 'blue': category === 'blue',\n 'green': category === 'green',\n 'grey': category === 'grey',\n 'error': category === 'error',\n 'gradient': category === 'gradient',\n 'blue-no-outline': category === 'blue-no-outline',\n 'green-no-outline': category === 'green-no-outline',\n 'grey-no-outline': category === 'grey-no-outline',\n 'error-no-outline': category === 'error-no-outline',\n 'btn-default': state === 'default',\n 'btn-hover': state === 'hover',\n 'btn-pressed': state === 'pressed',\n 'btn-disabled': state === 'disabled'\n }\"\n [ngStyle]=\"{ color: color }\"\n [disabled]=\"state === 'disabled'\"\n (click)=\"onClick.emit($event)\"\n (mouseenter)=\"onHover.emit($event)\"\n (mouseleave)=\"onMouseLeave.emit($event)\"\n [style.display]=\"'inline-flex'\"\n [style.align-items]=\"'center'\"\n [style.gap.px]=\"computeGap()\"\n >\n <!-- Left Icon (Only shown if leftIcon is set and not empty) -->\n <mat-icon *ngIf=\"leftIcon?.trim() as leftIconText\"\n [fontSet]=\"outlined ? 'material-icons-outlined' : 'material-icons'\"\n class=\"left-icon\">{{ leftIconText }}</mat-icon>\n <!-- Label (Only shown if iconOnly is false) -->\n <span *ngIf=\"!iconOnly\" class=\"button-label\" [ngStyle]=\"{ color: color }\">{{ label || '' }}</span>\n \n <!-- Right Icon (Only shown if rightIcon is set and not empty) -->\n <mat-icon *ngIf=\"rightIcon?.trim() as rightIconText\"\n [fontSet]=\"outlined ? 'material-icons-outlined' : 'material-icons'\"\n class=\"right-icon\">{{ rightIconText }}</mat-icon>\n </button>\n </ng-container>\n \n <!-- Dropdown button template -->\n <ng-template #dropdownTpl>\n <button\n mat-flat-button\n class=\"btn custom-button\" [class]=\"effectiveFontClass\"\n [ngClass]=\"{\n 'size-header': size === 'header' && !fontClass,\n 'size-xs': size === 'xs' && !fontClass,\n 'size-sm': size === 'sm' && !fontClass,\n 'size-base': size === 'base' && !fontClass,\n 'size-l': size === 'l' && !fontClass,\n 'size-xl': size === 'xl' && !fontClass,\n 'mat-raised-button': variant === 'raised',\n 'mat-flat-button': variant === 'flat',\n 'mat-stroked-button': variant === 'stroked',\n 'mat-fab': variant === 'fab',\n 'mat-icon-button': variant === 'icon',\n 'icon-label': true,\n 'blue': category === 'blue',\n 'green': category === 'green',\n 'grey': category === 'grey',\n 'error': category === 'error',\n 'gradient': category === 'gradient',\n 'blue-no-outline': category === 'blue-no-outline',\n 'green-no-outline': category === 'green-no-outline',\n 'grey-no-outline': category === 'grey-no-outline',\n 'error-no-outline': category === 'error-no-outline',\n 'btn-default': state === 'default',\n 'btn-hover': state === 'hover',\n 'btn-pressed': state === 'pressed',\n 'btn-disabled': state === 'disabled',\n \n }\"\n [ngStyle]=\"{ color: color }\"\n [disabled]=\"state === 'disabled'\"\n (mouseenter)=\"onHover.emit($event)\"\n (mouseleave)=\"onMouseLeave.emit($event)\"\n [style.display]=\"'inline-flex'\"\n [style.align-items]=\"'center'\"\n [style.gap.px]=\"computeGap()\"\n [matMenuTriggerFor]=\"menu\"\n >\n <!-- Left Icon (optional) -->\n <mat-icon *ngIf=\"leftIcon?.trim() as leftIconText\"\n [fontSet]=\"outlined ? 'material-icons-outlined' : 'material-icons'\"\n class=\"left-icon\">{{ leftIconText }}</mat-icon>\n <!-- Label -->\n <span *ngIf=\"!iconOnly\" class=\"button-label\" [ngStyle]=\"{ color: color }\">{{ label || '' }}</span>\n <!-- Dropdown Arrow Icon -->\n <mat-icon class=\"right-icon\">arrow_drop_down</mat-icon>\n </button>\n <!-- Mat Menu -->\n <mat-menu #menu=\"matMenu\" panelClass=\"custom-dropdown-menu\">\n <button mat-menu-item *ngFor=\"let opt of dropdownOptions\" (click)=\"selectOption(opt)\" [ngClass]=\"effectiveFontClass\">\n {{ opt.label || opt }}\n </button>\n </mat-menu>\n </ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonComponent } from './button.component';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@NgModule({\n imports: [CommonModule, ButtonComponent],\n exports: [ButtonComponent],\n})\nexport class ButtonModule {\n constructor(\n private iconRegistry: MatIconRegistry,\n private sanitizer: DomSanitizer\n ) {\n // register the CSS class alias so <mat-icon> knows about it…\n this.iconRegistry.registerFontClassAlias(\n 'material-symbols-outlined',\n 'material-symbols-outlined'\n );\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatOptionModule } from '@angular/material/core';\n\n@Component({\n selector: 'al-input',\n templateUrl: './input.component.html',\n styleUrl: './input.component.css',\n imports: [CommonModule, FormsModule, MatFormFieldModule, MatInputModule, MatIconModule, MatSelectModule, MatOptionModule],\n standalone: true,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputComponent),\n multi: true\n }\n ]\n})\nexport class InputComponent implements ControlValueAccessor {\n @Input() label: string = '';\n @Input() placeholder: string = '';\n @Input() value: string = '';\n @Input() formControlName: string = '';\n\n @Input() type: 'text' | 'email' | 'number' | 'password' | 'tel' | 'url' | 'date' = 'text';\n @Input() disabled: boolean = false;\n @Input() helperText: boolean = false;\n @Input() helperTextLabel: string = '';\n @Input() leftIcon: string = '';\n @Input() rightIcon: string = '';\n @Input() dropDown: boolean = false;\n @Input() options: string[] = [];\n @Input() size: 'xs' | 'small' | 'base' | 'large' | 'header' = 'base';\n @Input() inputTypes: 'simple' | 'primary' | 'success' | 'warn' | 'disabled' | 'plain' = 'simple';\n noBorder: boolean = false;\n outlined: boolean = false;\n\n @Output() valueChange = new EventEmitter<string>();\n\n private onChange = (value: string) => { };\n onTouched = () => { };\n\n get isDisabled(): boolean {\n return this.disabled || this.inputTypes === 'disabled';\n }\n\n writeValue(value: string | null | undefined): void {\n this.value = value || '';\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n onInputChange(value: string): void {\n this.value = value;\n this.onChange(value);\n this.valueChange.emit(value);\n }\n\n onSelectionChange(value: string): void {\n this.value = value;\n this.onChange(value);\n this.valueChange.emit(value);\n }\n\n getSizeClass(): string {\n return 'al-input-size-' + this.size;\n }\n\n getCategoryClass(): string {\n if (this.disabled) {\n return 'al-input-category-disabled';\n }\n if (this.inputTypes === 'plain') {\n return 'al-input-category-plain';\n }\n return 'al-input-category-' + this.inputTypes;\n }\n}\n","<mat-form-field appearance=\"outline\" class=\"al-input-field\" [ngClass]=\"[\n helperText ? 'has-error' : '',\n getSizeClass(),\n getCategoryClass(),\n noBorder ? 'al-input-no-border' : '',\n leftIcon ? 'has-left-icon' : ''\n ]\">\n <mat-label *ngIf=\"label && !noBorder\">{{ label }}</mat-label>\n\n <mat-icon *ngIf=\"leftIcon?.trim() as leftIconText\" [fontSet]=\"outlined ? 'material-icons-outlined' : 'material-icons'\"\n matPrefix class=\"left-icon\">{{ leftIconText }}</mat-icon>\n\n <ng-container *ngIf=\"dropDown; else regularInput\">\n <mat-select [disabled]=\"isDisabled\" [(ngModel)]=\"value\" (selectionChange)=\"onSelectionChange($event.value)\">\n <mat-option *ngFor=\"let option of options\" [value]=\"option\">{{ option }}</mat-option>\n </mat-select>\n </ng-container>\n <ng-template #regularInput>\n <input matInput [placeholder]=\"placeholder\" [type]=\"type\" [disabled]=\"isDisabled\" [(ngModel)]=\"value\"\n (input)=\"onInputChange($any($event.target).value)\" (blur)=\"onTouched()\" />\n </ng-template>\n\n <mat-icon *ngIf=\"rightIcon?.trim() as rightIconText\"\n [fontSet]=\"outlined ? 'material-icons-outlined' : 'material-icons'\" matSuffix class=\"right-icon\">{{ rightIconText\n }}</mat-icon>\n\n <mat-error *ngIf=\"false && helperTextLabel\">{{ helperTextLabel }}</mat-error>\n <mat-hint *ngIf=\"helperText && helperTextLabel\">{{ helperTextLabel }}</mat-hint>\n</mat-form-field>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InputComponent } from './input.component';\n\n@NgModule({\n imports: [CommonModule, InputComponent],\n exports: [InputComponent],\n})\nexport class InputModule { }\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\nimport { CdkAccordionModule } from '@angular/cdk/accordion';\nimport { ButtonComponent } from '../button/button.component';\nimport { EyeIconConfig, HeaderButton, InputHandlersConfig, SectionCheckboxConfig } from './resume-header.model';\n\n@Component({\n selector: 'al-resume-header',\n templateUrl: './resume-header.component.html',\n styleUrl: './resume-header.component.css',\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n MatCheckboxModule,\n MatTooltipModule,\n MatMenuModule,\n MatIconModule,\n CdkAccordionModule,\n ButtonComponent\n ]\n})\nexport class ResumeHeaderComponent {\n hideTimeout: any;\n isMenuVisible = false;\n isEducationHidden = false;\n @Input() hiddenSection: { headerSectionHidden: boolean } = { headerSectionHidden: false };\n @Input() isLargeScreen = true;\n @Input() inputHandlers!: InputHandlersConfig;\n @Output() focusField = new EventEmitter<string>();\n @Output() blurField = new EventEmitter<void>();\n @Output() enterKeyPressed = new EventEmitter<KeyboardEvent>();\n @Input() checked = false;\n @Input() checkboxConfig!: SectionCheckboxConfig;\n @Output() checkedCheckBoxChange = new EventEmitter<boolean>();\n @Input() disabled = false;\n @Input() buttonConfig: HeaderButton[] = [];\n @Output() buttonClicked = new EventEmitter<HeaderButton>();\n @Input() configEyeToggle!: EyeIconConfig[];\n @Input() accordionItem: any;\n @Output() showHideToggleSection = new EventEmitter<{ isHidden: boolean; accordionItem?: any; config: EyeIconConfig }>();\n @Input() toggleEditIcon?: (field: string) => void;\n @Input() showSection = true;\n @Output() sectionToggled = new EventEmitter<boolean>();\n @Input() borderColor = '#37c1ce';\n\n toggleAccordion(accordionItem: any) {\n accordionItem.toggle();\n this.showSection = accordionItem.expanded;\n this.sectionToggled.emit(this.showSection);\n }\n\n ngOnInit() {\n this.checkScreenSize();\n }\n\n checkScreenSize() {\n this.isLargeScreen = window.innerWidth >= 1400;\n }\n\n showMenu() {\n this.isMenuVisible = true;\n this.clearHideTimeout();\n }\n\n startHideTimeout() {\n this.clearHideTimeout();\n this.hideTimeout = setTimeout(() => {\n this.isMenuVisible = false;\n }, 300);\n }\n\n clearHideTimeout() {\n if (this.hideTimeout) {\n clearTimeout(this.hideTimeout);\n this.hideTimeout = null;\n }\n }\n\n onButtonClick(btn: any) {\n if (btn.buttonType !== 'dropdown') {\n this.buttonClicked.emit(btn);\n }\n }\n\n onDropdownSelect(btn: any, value: any) {\n if (btn.buttonType === 'dropdown') {\n // Find the selected option\n const selectedOption = btn.dropdownOptions?.find((option: any) => option.value === value);\n\n // If the option has a custom function, call it\n if (selectedOption?.function) {\n selectedOption.function();\n }\n\n // Always emit the buttonClicked event for tracking\n this.buttonClicked.emit({ ...btn, dropdownValue: value });\n }\n }\n}\n","<cdk-accordion class=\"example-accordion\">\n <cdk-accordion-item #accordionItem=\"cdkAccordionItem\" [expanded]=\"true\" class=\"example-accordion-item\">\n\n <div class=\"example-accordion-item-header\" [ngStyle]=\"{ 'border-color': borderColor }\">\n <div class=\"left_side_header\" *ngIf=\"!hiddenSection?.headerSectionHidden; else hiddenHeaderLayout\">\n <div [matTooltip]=\"accordionItem.expanded ? 'Collapse' : 'Expand'\" matTooltipPosition=\"above\">\n <button (click)=\"toggleAccordion(accordionItem)\" tabindex=\"0\" class=\"toggle-button align-center \"\n [attr.aria-expanded]=\"accordionItem.expanded\">\n <span class=\"material-icons-outlined\" *ngIf=\"!accordionItem.expanded\">\n expand_less\n </span>\n <span class=\"material-icons-outlined\" *ngIf=\"accordionItem.expanded\">\n expand_more\n </span>\n </button>\n </div>\n\n <div class=\"edit-input-group\">\n <span *ngIf=\"!inputHandlers.headersLoading\" class=\"align-center\">\n <span class=\"material-symbols-outlined\" [attr.alt]=\"inputHandlers.iconAltText || 'edit-icon'\"\n (click)=\"toggleEditIcon?.('educationHeader')\"\n [matTooltip]=\"inputHandlers.tooltipText || 'This header can be edited'\"\n [matTooltipPosition]=\"inputHandlers.tooltipPosition || 'above'\"\n *ngIf=\"inputHandlers.getFieldNotHidden('')\">\n edit\n </span>\n </span>\n\n <div class=\"content_width\" data-test-id=\"edu-section-title-input\">\n <div class=\"content_width\" data-test-id=\"edu-section-title-input\" *ngIf=\"!inputHandlers.headersLoading\">\n <input #textInputSection type=\"text\" [ngClass]=\"{\n 'focusout-input-text': !inputHandlers?.isFocused,\n 'onfocus-input-text': inputHandlers?.isFocused\n }\" [(ngModel)]=\"inputHandlers.shownTitle\" [attr.aria-label]=\"inputHandlers.shownTitle\"\n (focus)=\"focusField.emit('educationHeader')\" (focusout)=\"blurField.emit()\"\n (keypress)=\"enterKeyPressed.emit($event)\" [disabled]=\"inputHandlers?.isDisabled?.() ?? false\" />\n </div>\n </div>\n </div>\n </div>\n\n <!-- ✅ FIXED: Right side header (shows when section is NOT hidden) -->\n <div class=\"right_side_header\" *ngIf=\"!hiddenSection?.headerSectionHidden\">\n <ng-container *ngIf=\"isLargeScreen\">\n <ng-container class=\"button-margin\"\n *ngTemplateOutlet=\"headerButtonsTemplate; context: { buttons: buttonConfig }\">\n </ng-container>\n </ng-container>\n\n <div class=\"hover-menu-container\" *ngIf=\"!isLargeScreen\">\n <div class=\"menu-trigger\" (mouseenter)=\"showMenu()\" (mouseleave)=\"startHideTimeout()\">\n <span class=\"material-symbols-outlined menu-icon\">more_vert</span>\n </div>\n <div class=\"slide-out-panel\" [class.visible]=\"isMenuVisible\" (mouseenter)=\"showMenu()\"\n (mouseleave)=\"startHideTimeout()\">\n <div class=\"fit-panel\">\n <ng-container *ngTemplateOutlet=\"headerButtonsTemplate; context: { buttons: buttonConfig }\">\n </ng-container>\n </div>\n </div>\n </div>\n\n <!-- ✅ FIXED: Eye icon for hiding section -->\n <ng-container *ngIf=\"!hiddenSection?.headerSectionHidden\">\n <ng-container *ngFor=\"let eyeConfig of configEyeToggle\">\n <ng-container\n *ngTemplateOutlet=\"eyeIconTemplate; context: { isHidden: false, accordionItem: accordionItem, configEyeToggle: eyeConfig }\"></ng-container>\n </ng-container>\n </ng-container>\n\n <div *ngIf=\"checkboxConfig?.sectionItems?.length\" class=\"mat-checkbox-margin\">\n <mat-checkbox class=\"example-margin\" [matTooltip]=\"checkboxConfig?.tooltipText || 'Select All'\"\n [matTooltipPosition]=\"checkboxConfig.tooltipPosition|| 'above'\" [(ngModel)]=\"checked\"\n (ngModelChange)=\"checkedCheckBoxChange.emit($event)\"\n [disabled]=\"disabled || checkboxConfig?.disabled ?? false\" data-test-id=\"edu-section-select-all-checkbox\">\n </mat-checkbox>\n </div>\n </div>\n\n <!-- ✅ FIXED: Hidden header layout (shows when section IS hidden) -->\n <ng-template #hiddenHeaderLayout>\n <div class=\"hide-header\">\n <span class=\"header-text-turncate\">{{ inputHandlers?.shownTitle }}</span>\n <div class=\"hidden-write\">Section hidden</div>\n\n <!-- ✅ FIXED: Eye icon for showing section -->\n <ng-container *ngIf=\"hiddenSection?.headerSectionHidden\">\n <ng-container *ngFor=\"let eyeConfig of configEyeToggle\">\n <ng-container *ngIf=\"!eyeConfig['onClick']\">\n <ng-container\n *ngTemplateOutlet=\"eyeIconTemplate; context: { isHidden: true, accordionItem: accordionItem, configEyeToggle: eyeConfig }\"></ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </ng-template>\n </div>\n\n <!-- ✅ FIXED: Accordion body (only shows when expanded AND not hidden) -->\n <div *ngIf=\"accordionItem.expanded && !hiddenSection?.headerSectionHidden\" class=\"example-accordion-item-body\"\n role=\"region\">\n Lorem ipsum dolor, sit amet, consectetur adipisicing elit. Perferendis excepturi incidunt ipsum\n deleniti labore, tempore non nam doloribus blanditiis veritatis illo autem iure aliquid ullam\n rem tenetur deserunt velit culpa?\n </div>\n\n </cdk-accordion-item>\n</cdk-accordion>\n\n<!-- Header Buttons Template -->\n<ng-template #headerButtonsTemplate let-buttons=\"buttons\" let-handleClick=\"handleClick\">\n <ng-container *ngFor=\"let btn of buttonConfig\">\n <al-button *ngIf=\"!btn.hidden && (!btn.displayCondition || btn.displayCondition())\" [category]=\"btn.category\"\n [buttonType]=\"btn.buttonType\" [label]=\"btn.label\" [leftIcon]=\"btn.leftIcon\" [rightIcon]=\"btn.rightIcon\"\n [variant]=\"btn.variant\" [state]=\"btn.state\" [color]=\"btn.color\" [size]=\"btn.size\" [outlined]=\"btn.outlined\"\n [dropdownOptions]=\"btn.buttonType === 'dropdown' ? btn.dropdownOptions : null\"\n (optionSelect)=\"onDropdownSelect(btn, $event)\" (click)=\"onButtonClick(btn)\" [attr.alt]=\"btn.alt\"\n [attr.data-test-id]=\"btn.testId\" [matTooltip]=\"btn.tooltipText\"\n [matTooltipPosition]=\"btn.tooltipPosition || 'above'\">\n </al-button>\n </ng-container>\n</ng-template>\n\n<!-- ✅ FIXED: Eye Icon Template with proper click handler -->\n<ng-template #eyeIconTemplate let-isHidden=\"isHidden\" let-accordionItem=\"accordionItem\"\n let-configEyeToggle=\"configEyeToggle\">\n <div *ngIf=\"configEyeToggle\" class=\"mat-checkbox-margin align-center\"\n [attr.data-test-id]=\"isHidden ? 'edu-section-show-eye-div' : 'edu-section-hide-eye-div'\">\n <span class=\"material-symbols-outlined delete-multiple mat-fab.mat-accent\"\n [matTooltip]=\"configEyeToggle.tooltips[isHidden ? 'collapse' : 'expand']\"\n [matTooltipPosition]=\"configEyeToggle.tooltips.position\"\n [attr.aria-label]=\"configEyeToggle.ariaLabels[isHidden ? 'collapsed' : 'expanded']\"\n (click)=\"showHideToggleSection.emit({ isHidden: isHidden, accordionItem: accordionItem, config: configEyeToggle })\"\n [attr.data-test-id]=\"isHidden ? 'edu-section-show-eye-icon' : 'edu-section-show-hide-eye-icon'\">\n {{ isHidden ? 'visibility' : 'visibility_off' }}\n </span>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ResumeHeaderComponent } from './resume-header.component';\n\n@NgModule({\n imports: [CommonModule, ResumeHeaderComponent],\n exports: [ResumeHeaderComponent],\n})\nexport class ResumeHeaderModule { }\n","/*\n * Public API Surface of allsorter-lib\n */\n\nexport * from './lib/allsorter-lib.service';\nexport * from './lib/allsorter-lib.component';\nexport * from './lib/button/button.component';\nexport * from './lib/button/button.module';\nexport * from './lib/input/input.component';\nexport * from './lib/input/input.module';\nexport * from './lib/resume-header/resume-header.component';\nexport * from './lib/resume-header/resume-header.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3","i1","i2","i4","i5"],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  import { EventEmitter } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class ButtonComponent {
4
+ /**
5
+ * Storybook-only: Controls icon placement in stories. Valid values: 'none', 'left', 'right', 'dropdown'.
6
+ */
7
+ iconPlacement: 'none' | 'left' | 'right' | 'dropdown';
4
8
  /**
5
9
  * Returns the typography class to apply. If the consumer passes `fontClass`,
6
10
  * that value wins. Otherwise we derive a sensible default based on `size`.
@@ -42,5 +46,5 @@ export declare class ButtonComponent {
42
46
  [key: string]: string;
43
47
  };
44
48
  static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, never>;
45
- static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "al-button", never, { "state": { "alias": "state"; "required": false; }; "category": { "alias": "category"; "required": false; }; "label": { "alias": "label"; "required": false; }; "arialabel": { "alias": "arialabel"; "required": false; }; "iconOnly": { "alias": "iconOnly"; "required": false; }; "leftIcon": { "alias": "leftIcon"; "required": false; }; "rightIcon": { "alias": "rightIcon"; "required": false; }; "showLeftIcon": { "alias": "showLeftIcon"; "required": false; }; "showRightIcon": { "alias": "showRightIcon"; "required": false; }; "outlined": { "alias": "outlined"; "required": false; }; "color": { "alias": "color"; "required": false; }; "size": { "alias": "size"; "required": false; }; "buttonType": { "alias": "buttonType"; "required": false; }; "fontClass": { "alias": "fontClass"; "required": false; }; "dropdownOptions": { "alias": "dropdownOptions"; "required": false; }; }, { "onClick": "onClick"; "onHover": "onHover"; "onMouseLeave": "onMouseLeave"; "optionSelect": "optionSelect"; }, never, never, true, never>;
49
+ static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "al-button", never, { "iconPlacement": { "alias": "iconPlacement"; "required": false; }; "state": { "alias": "state"; "required": false; }; "category": { "alias": "category"; "required": false; }; "label": { "alias": "label"; "required": false; }; "arialabel": { "alias": "arialabel"; "required": false; }; "iconOnly": { "alias": "iconOnly"; "required": false; }; "leftIcon": { "alias": "leftIcon"; "required": false; }; "rightIcon": { "alias": "rightIcon"; "required": false; }; "showLeftIcon": { "alias": "showLeftIcon"; "required": false; }; "showRightIcon": { "alias": "showRightIcon"; "required": false; }; "outlined": { "alias": "outlined"; "required": false; }; "color": { "alias": "color"; "required": false; }; "size": { "alias": "size"; "required": false; }; "buttonType": { "alias": "buttonType"; "required": false; }; "fontClass": { "alias": "fontClass"; "required": false; }; "dropdownOptions": { "alias": "dropdownOptions"; "required": false; }; }, { "onClick": "onClick"; "onHover": "onHover"; "onMouseLeave": "onMouseLeave"; "optionSelect": "optionSelect"; }, never, never, true, never>;
46
50
  }
@@ -8,6 +8,6 @@ export declare class ButtonModule {
8
8
  private sanitizer;
9
9
  constructor(iconRegistry: MatIconRegistry, sanitizer: DomSanitizer);
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<ButtonModule, never>;
11
- static ɵmod: i0.ɵɵNgModuleDeclaration<ButtonModule, never, [typeof i1.CommonModule, typeof i2.ButtonComponent], never>;
11
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ButtonModule, never, [typeof i1.CommonModule, typeof i2.ButtonComponent], [typeof i2.ButtonComponent]>;
12
12
  static ɵinj: i0.ɵɵInjectorDeclaration<ButtonModule>;
13
13
  }
@@ -17,6 +17,7 @@ export declare class InputComponent implements ControlValueAccessor {
17
17
  size: 'xs' | 'small' | 'base' | 'large' | 'header';
18
18
  inputTypes: 'simple' | 'primary' | 'success' | 'warn' | 'disabled' | 'plain';
19
19
  noBorder: boolean;
20
+ outlined: boolean;
20
21
  valueChange: EventEmitter<string>;
21
22
  private onChange;
22
23
  onTouched: () => void;
@@ -30,5 +31,5 @@ export declare class InputComponent implements ControlValueAccessor {
30
31
  getSizeClass(): string;
31
32
  getCategoryClass(): string;
32
33
  static ɵfac: i0.ɵɵFactoryDeclaration<InputComponent, never>;
33
- static ɵcmp: i0.ɵɵComponentDeclaration<InputComponent, "al-input", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "value": { "alias": "value"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "type": { "alias": "type"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "helperTextLabel": { "alias": "helperTextLabel"; "required": false; }; "leftIcon": { "alias": "leftIcon"; "required": false; }; "rightIcon": { "alias": "rightIcon"; "required": false; }; "dropDown": { "alias": "dropDown"; "required": false; }; "options": { "alias": "options"; "required": false; }; "size": { "alias": "size"; "required": false; }; "inputTypes": { "alias": "inputTypes"; "required": false; }; "noBorder": { "alias": "noBorder"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<InputComponent, "al-input", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "value": { "alias": "value"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "type": { "alias": "type"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "helperTextLabel": { "alias": "helperTextLabel"; "required": false; }; "leftIcon": { "alias": "leftIcon"; "required": false; }; "rightIcon": { "alias": "rightIcon"; "required": false; }; "dropDown": { "alias": "dropDown"; "required": false; }; "options": { "alias": "options"; "required": false; }; "size": { "alias": "size"; "required": false; }; "inputTypes": { "alias": "inputTypes"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
34
35
  }
@@ -0,0 +1,43 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { EyeIconConfig, HeaderButton, InputHandlersConfig, SectionCheckboxConfig } from './resume-header.model';
3
+ import * as i0 from "@angular/core";
4
+ export declare class ResumeHeaderComponent {
5
+ hideTimeout: any;
6
+ isMenuVisible: boolean;
7
+ isEducationHidden: boolean;
8
+ hiddenSection: {
9
+ headerSectionHidden: boolean;
10
+ };
11
+ isLargeScreen: boolean;
12
+ inputHandlers: InputHandlersConfig;
13
+ focusField: EventEmitter<string>;
14
+ blurField: EventEmitter<void>;
15
+ enterKeyPressed: EventEmitter<KeyboardEvent>;
16
+ checked: boolean;
17
+ checkboxConfig: SectionCheckboxConfig;
18
+ checkedCheckBoxChange: EventEmitter<boolean>;
19
+ disabled: boolean;
20
+ buttonConfig: HeaderButton[];
21
+ buttonClicked: EventEmitter<HeaderButton>;
22
+ configEyeToggle: EyeIconConfig[];
23
+ accordionItem: any;
24
+ showHideToggleSection: EventEmitter<{
25
+ isHidden: boolean;
26
+ accordionItem?: any;
27
+ config: EyeIconConfig;
28
+ }>;
29
+ toggleEditIcon?: (field: string) => void;
30
+ showSection: boolean;
31
+ sectionToggled: EventEmitter<boolean>;
32
+ borderColor: string;
33
+ toggleAccordion(accordionItem: any): void;
34
+ ngOnInit(): void;
35
+ checkScreenSize(): void;
36
+ showMenu(): void;
37
+ startHideTimeout(): void;
38
+ clearHideTimeout(): void;
39
+ onButtonClick(btn: any): void;
40
+ onDropdownSelect(btn: any, value: any): void;
41
+ static ɵfac: i0.ɵɵFactoryDeclaration<ResumeHeaderComponent, never>;
42
+ static ɵcmp: i0.ɵɵComponentDeclaration<ResumeHeaderComponent, "al-resume-header", never, { "hiddenSection": { "alias": "hiddenSection"; "required": false; }; "isLargeScreen": { "alias": "isLargeScreen"; "required": false; }; "inputHandlers": { "alias": "inputHandlers"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "checkboxConfig": { "alias": "checkboxConfig"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "buttonConfig": { "alias": "buttonConfig"; "required": false; }; "configEyeToggle": { "alias": "configEyeToggle"; "required": false; }; "accordionItem": { "alias": "accordionItem"; "required": false; }; "toggleEditIcon": { "alias": "toggleEditIcon"; "required": false; }; "showSection": { "alias": "showSection"; "required": false; }; "borderColor": { "alias": "borderColor"; "required": false; }; }, { "focusField": "focusField"; "blurField": "blurField"; "enterKeyPressed": "enterKeyPressed"; "checkedCheckBoxChange": "checkedCheckBoxChange"; "buttonClicked": "buttonClicked"; "showHideToggleSection": "showHideToggleSection"; "sectionToggled": "sectionToggled"; }, never, never, true, never>;
43
+ }
@@ -0,0 +1,103 @@
1
+ export interface InputHandlersConfig {
2
+ headersLoading: boolean;
3
+ shownTitle: string;
4
+ isFocused: boolean;
5
+ tooltipText?: string;
6
+ tooltipPosition?: 'above' | 'below' | 'left' | 'right';
7
+ iconAltText?: string;
8
+ resumeProgress: number;
9
+ getFieldNotHidden: (field: string) => boolean;
10
+ sectionProgress: number;
11
+ isDisabled: () => boolean;
12
+ }
13
+ export interface SectionCheckboxConfig {
14
+ sectionItems: any[];
15
+ tooltipText?: string;
16
+ tooltipPosition?: 'above' | 'below' | 'left' | 'right';
17
+ disabled?: boolean;
18
+ }
19
+ export interface DropdownOption {
20
+ label: string;
21
+ value: string;
22
+ function?: () => void;
23
+ }
24
+ export interface HeaderButton {
25
+ state: 'default' | 'hover' | 'pressed' | 'disabled';
26
+ category: string;
27
+ buttonType: 'icon-circle' | 'icon-label' | 'two-icon-label' | 'dropdown';
28
+ label: string;
29
+ arialabel: string;
30
+ iconOnly: boolean;
31
+ leftIcon: string;
32
+ rightIcon: string;
33
+ color: 'primary' | 'accent' | 'warn';
34
+ variant: 'raised' | 'flat' | 'stroked' | 'fab' | 'icon';
35
+ size: 'sm' | 'medium' | 'base' | 'large' | 'xl';
36
+ outlined: boolean;
37
+ disabled?: boolean;
38
+ hidden?: boolean;
39
+ tooltip?: string;
40
+ alt?: string;
41
+ testId?: string;
42
+ tooltipText?: string;
43
+ tooltipPosition?: 'above' | 'below' | 'left' | 'right';
44
+ action: string;
45
+ displayCondition?: () => boolean;
46
+ onClick?: () => void;
47
+ dropdownOptions?: DropdownOption[];
48
+ }
49
+ export interface EyeIconConfig {
50
+ isHidden: boolean;
51
+ isCandidateUrl: boolean;
52
+ aiInProgress: boolean;
53
+ canToggle: boolean;
54
+ icons: {
55
+ expanded: string;
56
+ collapsed: string;
57
+ };
58
+ ariaLabels: {
59
+ expanded: string;
60
+ collapsed: string;
61
+ };
62
+ tooltips: {
63
+ expand: string;
64
+ collapse: string;
65
+ position: 'above' | 'below' | 'left' | 'right';
66
+ };
67
+ onClick?: () => void;
68
+ }
69
+ export interface SectionToggleHandlers {
70
+ isExpanded: boolean;
71
+ toggle: () => void;
72
+ tooltipExpanded?: string;
73
+ tooltipCollapsed?: string;
74
+ disabled?: boolean;
75
+ iconExpanded?: string;
76
+ iconCollapsed?: string;
77
+ accordionItem?: any;
78
+ aiInProgress?: boolean;
79
+ }
80
+ export interface ToggleSectionConfig {
81
+ isExpanded: boolean;
82
+ isLoading: boolean;
83
+ isCandidateUrl: boolean;
84
+ icons: {
85
+ expanded: string;
86
+ collapsed: string;
87
+ };
88
+ ariaLabels: {
89
+ expanded: string;
90
+ collapsed: string;
91
+ };
92
+ tooltips: {
93
+ expand: string;
94
+ collapse: string;
95
+ position: 'above' | 'below' | 'left' | 'right';
96
+ };
97
+ }
98
+ export interface CheckboxConfig {
99
+ display: boolean;
100
+ title?: string;
101
+ disabled?: boolean;
102
+ tooltip?: string;
103
+ }
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "@angular/common";
3
+ import * as i2 from "./resume-header.component";
4
+ export declare class ResumeHeaderModule {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<ResumeHeaderModule, never>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ResumeHeaderModule, never, [typeof i1.CommonModule, typeof i2.ResumeHeaderComponent], [typeof i2.ResumeHeaderComponent]>;
7
+ static ɵinj: i0.ɵɵInjectorDeclaration<ResumeHeaderModule>;
8
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allsorter/ui-components",
3
- "version": "0.0.338",
3
+ "version": "0.0.341",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^19.0.0",
6
6
  "@angular/core": "^19.0.0"
package/public-api.d.ts CHANGED
@@ -4,3 +4,5 @@ export * from './lib/button/button.component';
4
4
  export * from './lib/button/button.module';
5
5
  export * from './lib/input/input.component';
6
6
  export * from './lib/input/input.module';
7
+ export * from './lib/resume-header/resume-header.component';
8
+ export * from './lib/resume-header/resume-header.module';