@allsorter/ui-components 0.0.380 → 0.0.382

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.
@@ -1688,6 +1688,7 @@ class NewResumeHeaderComponent {
1688
1688
  this.isInputFocused = false;
1689
1689
  this.isMenuVisible = false;
1690
1690
  this.isPopOutDismissed = false;
1691
+ this.isPopOutNarrow = false; // Track if pop-out panel is ≤ 440px
1691
1692
  // Register icons synchronously - this must happen before template rendering
1692
1693
  this.registerIcons();
1693
1694
  }
@@ -1928,6 +1929,15 @@ class NewResumeHeaderComponent {
1928
1929
  this.isMenuVisible = false;
1929
1930
  }
1930
1931
  }
1932
+ checkPopOutSize() {
1933
+ // Check pop-out panel width
1934
+ if (this.popOutPanel?.nativeElement) {
1935
+ const popOutWidth = this.popOutPanel.nativeElement.offsetWidth ||
1936
+ this.popOutPanel.nativeElement.clientWidth || 0;
1937
+ this.isPopOutNarrow = popOutWidth <= 440;
1938
+ this.cdr.detectChanges();
1939
+ }
1940
+ }
1931
1941
  ngOnChanges(changes) {
1932
1942
  // Trigger change detection when configEyeToggle changes to update icon
1933
1943
  if (changes['configEyeToggle']) {
@@ -1941,6 +1951,16 @@ class NewResumeHeaderComponent {
1941
1951
  // Reset dismissed flag when showPopOutPanel changes to true
1942
1952
  if (changes['showPopOutPanel'] && this.showPopOutPanel) {
1943
1953
  this.isPopOutDismissed = false;
1954
+ // Setup ResizeObserver for pop-out panel when it becomes visible
1955
+ setTimeout(() => {
1956
+ if (this.popOutPanel?.nativeElement && !this.popOutResizeObserver) {
1957
+ this.checkPopOutSize();
1958
+ this.popOutResizeObserver = new ResizeObserver(() => {
1959
+ this.checkPopOutSize();
1960
+ });
1961
+ this.popOutResizeObserver.observe(this.popOutPanel.nativeElement);
1962
+ }
1963
+ }, 0);
1944
1964
  }
1945
1965
  // Close menu when isLargeScreen becomes true (large screen)
1946
1966
  if (changes['isLargeScreen'] && this.isLargeScreen) {
@@ -1985,6 +2005,14 @@ class NewResumeHeaderComponent {
1985
2005
  });
1986
2006
  this.resizeObserver.observe(elementToObserve);
1987
2007
  }
2008
+ // Setup ResizeObserver to watch pop-out panel size
2009
+ if (this.popOutPanel?.nativeElement) {
2010
+ this.checkPopOutSize();
2011
+ this.popOutResizeObserver = new ResizeObserver(() => {
2012
+ this.checkPopOutSize();
2013
+ });
2014
+ this.popOutResizeObserver.observe(this.popOutPanel.nativeElement);
2015
+ }
1988
2016
  }, 0);
1989
2017
  }
1990
2018
  ngOnDestroy() {
@@ -1995,12 +2023,15 @@ class NewResumeHeaderComponent {
1995
2023
  if (this.resizeObserver) {
1996
2024
  this.resizeObserver.disconnect();
1997
2025
  }
2026
+ if (this.popOutResizeObserver) {
2027
+ this.popOutResizeObserver.disconnect();
2028
+ }
1998
2029
  if (this.clickOutsideListener) {
1999
2030
  document.removeEventListener('click', this.clickOutsideListener);
2000
2031
  }
2001
2032
  }
2002
2033
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NewResumeHeaderComponent, deps: [{ token: i2.DomSanitizer }, { token: i0.ChangeDetectorRef }, { token: i1.MatIconRegistry }], target: i0.ɵɵFactoryTarget.Component }); }
2003
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NewResumeHeaderComponent, isStandalone: true, selector: "al-newresumeheader", inputs: { title: "title", showHeaderCheckbox: "showHeaderCheckbox", headerCheckboxChecked: "headerCheckboxChecked", configEyeToggle: "configEyeToggle", hiddenSection: "hiddenSection", buttonConfig: "buttonConfig", isLargeScreen: "isLargeScreen", popOutButtonLabel: "popOutButtonLabel", popOutButtonIcon: "popOutButtonIcon", popOutButtonTooltip: "popOutButtonTooltip", popOutButtonTooltipPosition: "popOutButtonTooltipPosition", showPopOutPanel: "showPopOutPanel", popOutMessage: "popOutMessage", dataTestId: "dataTestId" }, outputs: { titleChange: "titleChange", sectionToggled: "sectionToggled", headerCheckboxChange: "headerCheckboxChange", showHideToggleSection: "showHideToggleSection", buttonClicked: "buttonClicked", popOutButtonClick: "popOutButtonClick" }, viewQueries: [{ propertyName: "titleInput", first: true, predicate: ["titleInput"], descendants: true }, { propertyName: "accordionHeader", first: true, predicate: ["accordionHeader"], descendants: true, read: ElementRef }, { propertyName: "generalContainer", first: true, predicate: ["generalContainer"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<al-general-container #generalContainer [borderRadius]=\"'0'\" [borderPosition]=\"'none'\" [boxShadow]=\"false\"\n [padding]=\"'0'\" [width]=\"'100%'\"><cdk-accordion class=\"example-accordion\"><cdk-accordion-item\n #accordionItem=\"cdkAccordionItem\" [expanded]=\"true\" class=\"example-accordion-item\">\n <div class=\"example-accordion-item-header\" #accordionHeader [ngClass]=\"{'header-hidden': isSectionHidden}\">\n <!-- Normal header layout (shows when section is NOT hidden) --><ng-container\n *ngIf=\"!isSectionHidden; else hiddenHeaderLayout\"><al-responsive-columns [stackAt]=\"0\" [gap]=\"'12px'\"\n [padding]=\"'8px 12px'\">\n <div left><button (click)=\"toggleAccordion(accordionItem)\" tabindex=\"0\" class=\"toggle-button align-center\"\n [attr.aria-expanded]=\"accordionItem.expanded\"\n [matTooltip]=\"accordionItem.expanded ? 'Collapse' : 'Expand'\" matTooltipPosition=\"above\"><span\n class=\"material-icons-outlined\" *ngIf=\"!accordionItem.expanded\">expand_less </span><span\n class=\"material-icons-outlined\" *ngIf=\"accordionItem.expanded\">expand_more\n </span></button><ng-content select=\"[header-left]\"></ng-content></div>\n <div center><al-responsive-columns [stackAt]=\"0\" [gap]=\"'12px'\" [padding]=\"'0'\" [leftWidth]=\"'auto'\"\n [rightWidth]=\"'32px'\" [ngClass]=\"{'input-focused': isInputFocused}\">\n <div left>\n <div class=\"edit-input-group\" [ngClass]=\"{'input-focused': isInputFocused}\">\n <div class=\"content_width\"><span *ngIf=\"!isTitleEditing\" class=\"title-text\"\n (click)=\"onTitleClick()\">\n {{ title || 'Click to edit' }}\n </span><input *ngIf=\"isTitleEditing\" #titleInput type=\"text\" [(ngModel)]=\"editedTitle\"\n (focus)=\"onTitleFocus()\" (blur)=\"onTitleBlur()\" (keydown)=\"onTitleKeyPress($event)\"\n class=\"title-input onfocus-input-text\" /><ng-content select=\"[header-center-left]\"></ng-content>\n </div><mat-icon class=\"edit-icon\" svgIcon=\"edit_icon\" matTooltip=\"Edit title\"\n matTooltipPosition=\"above\" (click)=\"onTitleClick()\"></mat-icon>\n </div>\n </div>\n <div center><ng-content select=\"[header-center-center]\"></ng-content>\n <!-- Header buttons for large screens (including Deep Extraction via buttonConfig) --><ng-container\n *ngIf=\"isLargeScreen\"><ng-container\n *ngTemplateOutlet=\"headerButtonsTemplate; context: { buttons: buttonConfig }\"></ng-container></ng-container>\n <!-- Menu trigger and slide-out panel for small screens only -->\n <div class=\"hover-menu-container\" *ngIf=\"!isLargeScreen\">\n <div class=\"menu-trigger\" (click)=\"toggleMenu()\"><al-button buttonType=\"icon-label\" iconOnly\n size=\"header\" category=\"grey\" leftIcon=\"more_vert\" aria-label=\"More options\"\n [dataTestId]=\"'resume-header-more-menu'\"></al-button></div>\n <div class=\"slide-out-panel\" [class.visible]=\"isMenuVisible\">\n <div class=\"fit-panel\"><ng-container\n *ngTemplateOutlet=\"headerButtonsTemplate; context: { buttons: buttonConfig }\"></ng-container>\n </div>\n </div>\n </div>\n </div>\n <div right><ng-content select=\"[header-center-right]\"></ng-content>\n <!-- Eye icon - uses actual isHidden value from config, always visible --><ng-container\n *ngIf=\"configEyeToggle && configEyeToggle.length > 0\"><ng-container\n *ngFor=\"let eyeConfig of configEyeToggle\"><ng-container *ngIf=\"eyeConfig\"><ng-container\n *ngTemplateOutlet=\"eyeIconTemplate; context: { isHidden: eyeConfig.isHidden === true, accordionItem: accordionItem, configEyeToggle: eyeConfig }\"></ng-container></ng-container></ng-container></ng-container>\n </div>\n </al-responsive-columns></div>\n <div right><al-checkbox *ngIf=\"showHeaderCheckbox\" [checked]=\"headerCheckboxChecked\" [showLabels]=\"false\"\n (change)=\"onHeaderCheckboxChange($event)\"></al-checkbox><ng-content\n select=\"[header-right]\"></ng-content></div>\n </al-responsive-columns></ng-container>\n <!-- Hidden header layout (shows when section IS hidden) --><ng-template\n #hiddenHeaderLayout><al-responsive-columns [stackAt]=\"0\" [gap]=\"'12px'\" [padding]=\"'8px 12px'\">\n <div left>\n <!-- Toggle button hidden when section is hidden --><ng-content select=\"[header-left]\"></ng-content>\n </div>\n <div center><al-responsive-columns [stackAt]=\"0\" [gap]=\"'12px'\" [padding]=\"'0'\" [leftWidth]=\"'auto'\"\n [rightWidth]=\"'32px'\">\n <div left>\n <div class=\"edit-input-group hide-header-title\">\n <div class=\"content_width\"><span class=\"title-text header-text-turncate\">\n {{ title }}\n </span></div>\n </div>\n </div>\n <div center>\n <div class=\"hidden-write\">Section hidden</div>\n </div>\n <div right><ng-content select=\"[header-center-right]\"></ng-content>\n <!-- Eye icon - uses actual isHidden value from config, always visible --><ng-container\n *ngIf=\"configEyeToggle && configEyeToggle.length > 0\"><ng-container\n *ngFor=\"let eyeConfig of configEyeToggle\"><ng-container *ngIf=\"eyeConfig\"><ng-container\n *ngTemplateOutlet=\"eyeIconTemplate; context: { isHidden: eyeConfig.isHidden === true, accordionItem: accordionItem, configEyeToggle: eyeConfig }\"></ng-container></ng-container></ng-container></ng-container>\n </div>\n </al-responsive-columns></div>\n <div right>\n <!-- Checkbox hidden when section is hidden --><ng-content select=\"[header-right]\"></ng-content>\n </div>\n </al-responsive-columns></ng-template>\n </div>\n <!-- Accordion body (only shows when expanded AND not hidden) -->\n <div class=\"example-accordion-item-body\" *ngIf=\"accordionItem.expanded && !isSectionHidden\">\n <!-- Pop-out Panel -->\n <div *ngIf=\"shouldShowPopOut\" class=\"pop-out-panel\">\n <div class=\"pop-out-content\"><al-button [labelText]=\"popOutButtonLabel\" [rightIcon]=\"popOutButtonIcon\"\n [buttonType]=\"'icon-label'\" [category]=\"'gradient'\" [size]=\"'xs'\" [iconOnly]=\"false\"\n (onClick)=\"popOutButtonClick.emit()\" [dataTestId]=\"'pop-out-run-deep-extraction'\"\n [title]=\"popOutButtonLabel\"></al-button>\n <p class=\"pop-out-message\" [innerHTML]=\"sanitizedMessage\"></p><button type=\"button\" class=\"pop-out-close\"\n (click)=\"dismissPopOut()\" aria-label=\"Close pop-out panel\"><span\n class=\"material-icons-outlined\">close</span></button>\n </div>\n </div>\n <!-- Single body content slot - child component will handle 3-column layout internally -->\n <ng-content></ng-content>\n </div>\n </cdk-accordion-item></cdk-accordion></al-general-container><ng-template #headerButtonsTemplate\n let-buttons=\"buttons\" let-handleClick=\"handleClick\"><ng-container *ngFor=\"let btn of buttonConfig\"><al-button\n *ngIf=\"!btn.displayCondition || btn.displayCondition()\" [color]=\"btn.color\" [outline]=\"btn.outline\"\n [size]=\"btn.size\" [iconOutlined]=\"btn.iconOutlined\" [labelText]=\"btn.labelText\"\n [leftIcon]=\"getButtonIcons(btn).leftIcon\" [rightIcon]=\"getButtonIcons(btn).rightIcon\"\n [dataTestId]=\"btn.dataTestId\" [hasDropDown]=\"btn.hasDropDown\" [dropdownItems]=\"btn.dropdownItems\"\n [buttonType]=\"'icon-label'\" [iconOnly]=\"!btn.labelText\" [tooltip]=\"getButtonTooltip(btn)\"\n [tooltipPosition]=\"'above'\" (onClick)=\"onButtonClick(btn, $event)\"\n (optionSelect)=\"onDropdownSelect(btn, $event)\"></al-button></ng-container></ng-template><ng-template\n #eyeIconTemplate let-isHidden=\"isHidden\" let-accordionItem=\"accordionItem\" let-configEyeToggle=\"configEyeToggle\">\n <div class=\"mat-checkbox-margin align-center\"\n [attr.data-test-id]=\"isHidden ? 'section-show-eye-div' : 'section-hide-eye-div'\"\n style=\"display: flex; align-items: center; justify-content: center;\"><mat-icon\n class=\"delete-multiple mat-fab.mat-accent eye-icon\" [svgIcon]=\"isHidden ? 'visibility' : 'visibility_off'\"\n [matTooltip]=\"configEyeToggle?.tooltips?.[isHidden ? 'collapse' : 'expand'] || (isHidden ? 'Show Section' : 'Hide Section')\"\n [matTooltipPosition]=\"configEyeToggle?.tooltips?.position || 'above'\"\n [attr.aria-label]=\"configEyeToggle?.ariaLabels?.[isHidden ? 'collapsed' : 'expanded'] || (isHidden ? 'Show section' : 'Hide section')\"\n (click)=\"onEyeIconClick(isHidden, accordionItem, configEyeToggle)\"\n [attr.data-test-id]=\"isHidden ? 'section-show-eye-icon' : 'section-hide-eye-icon'\"\n style=\"cursor: pointer; display: inline-block; width: 24px; height: 24px; font-size: 24px; color: #717793;\"\n [style.opacity]=\"1\" [style.visibility]=\"'visible'\"></mat-icon></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\";:root{--color-blue-50: #E5E9FC;--color-blue-100: #BBC7F6;--color-blue-200: #98ABF1;--color-blue-300: #768FED;--color-blue-400: #6581EA;--color-blue-500: #5473E8;--color-blue-600: #1E46DF;--color-blue-700: #0F236F;--color-blue-800: #071238;--color-blue-900: #04091C;--color-green-50: #D7F3F5;--color-green-100: #AFE6EB;--color-green-200: #87DAE2;--color-green-300: #5FCDD8;--color-green-400: #4BC7D3;--color-green-500: #37C1CE;--color-green-600: #299DA8;--color-green-700: #1F767E;--color-green-800: #154E54;--color-green-900: #0A272A;--color-grey-50: #FAFBFB;--color-grey-100: #ECEDF1;--color-grey-200: #DEE0E6;--color-grey-300: #D1D3DB;--color-grey-400: #C3C5D1;--color-grey-500: #A2A6B8;--color-grey-600: #717793;--color-grey-700: #4B4F62;--color-grey-800: #383B4A;--color-grey-900: #252831;--color-error-50: #FDEEF6;--color-error-100: #F9D4E8;--color-error-200: #F6BBDB;--color-error-300: #F2A1CD;--color-error-400: #EF87BF;--color-error-500: #E854A4;--color-error-600: #E22A8E;--color-error-700: #C31A75;--color-error-800: #99155C;--color-error-900: #6F0F43;--color-success-50: #E9F9F3;--color-success-100: #C8F1E3;--color-success-200: #9EE7CE;--color-success-300: #6EDDB7;--color-success-400: #3DD3A0;--color-success-500: #00AD83;--color-success-600: #009873;--color-success-700: #007F61;--color-success-800: #00654F;--color-success-900: #003D30;--color-blue: #5473E8;--color-blue-hover: #6581EA;--color-blue-active: #1E46DF;--color-green: #37C1CE;--color-green-hover: #4BC7D3;--color-green-active: #299DA8;--color-grey: #383B4A;--color-grey-hover: #4B4F62;--color-grey-active: #252831;--color-error: #E854A4;--color-error-hover: #EF87BF;--color-error-active: #E22A8E;--color-success: #00AD83;--color-success-hover: #009873;--color-success-active: #007F61;--color-disabled-bg: #D1D3DB;--color-disabled-text: #A2A6B8}.example-accordion-item-header{display:flex;align-items:center;cursor:pointer;width:100%}.example-accordion-item-header al-responsive-columns{width:100%;display:block}.example-accordion-item-header al-responsive-columns ::ng-deep .container{align-items:center;display:grid}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns{width:100%;display:block}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns ::ng-deep .container{align-items:center;display:grid;min-width:0;transition:grid-template-columns .2s ease}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns.input-focused ::ng-deep .container{grid-template-columns:1fr auto 32px!important}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns ::ng-deep .column{display:flex;align-items:center;min-width:0}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[left],.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[center],.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[right]{display:flex;align-items:center;width:100%;min-width:0}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[left]{flex-shrink:1;min-width:0;overflow:hidden;max-width:100%;transition:flex .2s ease,width .2s ease}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns.input-focused div[left],.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[left] .edit-input-group.input-focused{width:100%;min-width:0;max-width:none}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns ::ng-deep .column.left{min-width:0;overflow:hidden;max-width:100%;transition:flex .2s ease}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns.input-focused ::ng-deep .column.left{min-width:0;max-width:none;width:100%}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[center]{justify-content:flex-end;gap:8px;flex-shrink:0;flex-wrap:nowrap;display:flex;align-items:center}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[right]{flex-shrink:0}.example-accordion-item-body{width:100%}.example-accordion-item-body al-responsive-columns{width:100%;display:block}.toggle-button{border:none;background:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.toggle-button .material-icons-outlined{color:#717793}.example-accordion-item-header al-responsive-columns div[left]{display:flex;align-items:center;justify-content:center}.example-accordion-item-header al-responsive-columns div[right]{display:flex;align-items:center;justify-content:center;flex-shrink:0}.align-center{display:flex;align-items:center}.example-accordion-item-header{display:flex;justify-content:space-between;align-items:center;background:#ecedf1;gap:8px;border-bottom:2px solid #37c1ce;border-radius:8px;box-sizing:border-box}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased;color:#717793;width:24px;height:24px;cursor:pointer;transition:color .2s ease;font-variation-settings:\"FILL\" 0,\"wght\" 400,\"GRAD\" 0,\"opsz\" 20}.material-symbols-outlined:hover{color:#4b4f62;background-color:#bbc7f6;width:24px;height:24px;border-radius:4px}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[right]{display:flex;align-items:center;justify-content:center}.edit-input-group{display:flex;align-items:center;gap:4px;min-width:0;border-radius:4px;transition:background-color .2s ease,width .2s ease;padding:0 8px;flex-shrink:1;width:100%;max-width:100%;overflow:hidden;flex:1 1 0}.edit-input-group.input-focused{width:100%;flex:1 1 100%;min-width:0}.edit-input-group:hover{background-color:#d1d3db}.edit-input-group:has(input:focus):hover,.edit-input-group:focus-within:hover{background-color:transparent}.edit-input-group:has(input:focus) mat-icon.edit-icon,.edit-input-group:focus-within mat-icon.edit-icon{opacity:0;visibility:hidden}.hover-menu-container{position:relative;display:inline-block}.menu-trigger{display:flex;align-items:center;justify-content:center;padding:0 8px;cursor:pointer;z-index:10}.slide-out-panel{position:absolute;bottom:100%;right:0;background-color:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:10035;padding:8px;margin-bottom:6px;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;display:flex;flex-direction:row;gap:8px;flex-wrap:nowrap;white-space:nowrap;align-items:center}.slide-out-panel.visible{opacity:1;visibility:visible}.fit-panel{display:inline-flex;width:fit-content;background:none;gap:8px;align-items:center}.example-accordion-item-body .pop-out-panel{background-color:#717793;border-radius:12px;width:calc(100% - 110px);margin:8px auto;padding:12px 16px;position:relative;box-sizing:border-box}.pop-out-content{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;align-items:center}.pop-out-content al-button{flex-shrink:0;align-self:center}.pop-out-content al-button .button-label{display:inline-block!important;visibility:visible!important;opacity:1!important}.pop-out-message{flex:1;color:#fff;font-size:12px;line-height:1.5;font-family:Roboto,sans-serif;font-weight:400;min-width:0;letter-spacing:.06px}.pop-out-message ::ng-deep a,.pop-out-link{color:var(--Base-Blue, #5473E8);font-family:Roboto;font-size:12px;font-style:normal;font-weight:400;line-height:136%;letter-spacing:.06px;cursor:pointer}.pop-out-message ::ng-deep a:hover,.pop-out-link:hover{color:#6581ea}.pop-out-close{background:transparent;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;color:#6b7280;transition:color .2s ease}.pop-out-close:hover{color:#374151}.pop-out-close .material-icons-outlined{font-size:20px;width:20px;height:20px;color:#fff}.edit-input-group .content_width{flex:1 1 0;min-width:0;max-width:450px;overflow:hidden;display:flex;align-items:center;transition:flex .2s ease,width .2s ease}.edit-input-group.input-focused .content_width{flex:1 1 100%;width:100%;min-width:0}.title-text{font-size:16px;font-weight:400;color:#383b4a;font-family:Roboto,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:4px;flex-shrink:1;min-width:0;max-width:100%;cursor:pointer}.title-input{font-size:16px;font-weight:400;font-family:Roboto,sans-serif;border:none;outline:none;padding:0;margin:0 4px 0 0;flex-shrink:1;min-width:100px;max-width:100%;box-sizing:border-box;width:100%;transition:width .2s ease}.title-input:focus{width:100%;min-width:100%;flex:1 1 100%}.title-input.onfocus-input-text{height:28px;background:#f4f8fc;border-radius:5px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.title-input.focusout-input-text{color:#383b4a;background:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.title-input:focus{outline:none;border:none;box-shadow:none}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns ::ng-deep .column.left{min-width:0;overflow:visible}.edit-input-group mat-icon.edit-icon{opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;cursor:pointer;border-radius:4px;flex-shrink:0;min-width:16px;width:16px;height:16px;font-size:16px;display:inline-flex;align-items:center;justify-content:center;color:#717793}.edit-input-group:hover mat-icon.edit-icon{opacity:1;visibility:visible}.hide-header-title mat-icon.edit-icon{display:none}.hide-header-title .edit-input-group{cursor:default;opacity:.7}.hide-header-title .edit-input-group:hover{background-color:transparent}.hide-header-title .title-text{cursor:default;pointer-events:none}.header-text-turncate{font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:#a2a6b8;line-height:28px;font-family:Roboto,sans-serif;cursor:default}.hidden-section-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.hidden-write{color:#a2a6b8;font-weight:400;font-family:Roboto,sans-serif;white-space:nowrap}.example-accordion-item-header.header-hidden{opacity:.7}.mat-checkbox-margin{margin-left:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { 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: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: GeneralContainerComponent, selector: "al-general-container", inputs: ["backgroundColor", "padding", "width", "height", "overflowX", "overflowY", "borderPosition", "borderColor", "borderRadius", "boxShadow", "customBoxShadow"] }, { kind: "component", type: ResponsiveColumnsComponent, selector: "al-responsive-columns", inputs: ["dataTestId", "gap", "padding", "leftWidth", "rightWidth", "stackAt"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: CheckboxComponent, selector: "al-checkbox", inputs: ["checked", "disabled", "labelPosition", "name", "required", "value", "color", "labelText", "helperText", "showLabels", "showHelperIcon", "helperIconTooltip", "dataTestId", "tooltip", "tooltipPosition"], outputs: ["change", "indeterminateChange", "focus", "blur", "helperIconClick"] }, { kind: "component", type: ButtonComponent, selector: "al-button", inputs: ["state", "disabled", "color", "category", "outline", "labelText", "label", "arialabel", "iconOnly", "leftIcon", "rightIcon", "icon", "iconOutlined", "outlined", "size", "buttonType", "fontClass", "dataTestId", "tooltip", "tooltipPosition", "dropdownItems", "dropdownOptions", "hasDropDown", "dropdown", "hasDropdown", "isDropdown"], outputs: ["onClick", "onHover", "onMouseLeave", "optionSelect"] }] }); }
2034
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NewResumeHeaderComponent, isStandalone: true, selector: "al-newresumeheader", inputs: { title: "title", showHeaderCheckbox: "showHeaderCheckbox", headerCheckboxChecked: "headerCheckboxChecked", configEyeToggle: "configEyeToggle", hiddenSection: "hiddenSection", buttonConfig: "buttonConfig", isLargeScreen: "isLargeScreen", popOutButtonLabel: "popOutButtonLabel", popOutButtonIcon: "popOutButtonIcon", popOutButtonTooltip: "popOutButtonTooltip", popOutButtonTooltipPosition: "popOutButtonTooltipPosition", showPopOutPanel: "showPopOutPanel", popOutMessage: "popOutMessage", dataTestId: "dataTestId" }, outputs: { titleChange: "titleChange", sectionToggled: "sectionToggled", headerCheckboxChange: "headerCheckboxChange", showHideToggleSection: "showHideToggleSection", buttonClicked: "buttonClicked", popOutButtonClick: "popOutButtonClick" }, viewQueries: [{ propertyName: "titleInput", first: true, predicate: ["titleInput"], descendants: true }, { propertyName: "accordionHeader", first: true, predicate: ["accordionHeader"], descendants: true, read: ElementRef }, { propertyName: "generalContainer", first: true, predicate: ["generalContainer"], descendants: true, read: ElementRef }, { propertyName: "popOutPanel", first: true, predicate: ["popOutPanel"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<al-general-container #generalContainer [borderRadius]=\"'0'\" [borderPosition]=\"'none'\" [boxShadow]=\"false\"\n [padding]=\"'0'\" [width]=\"'100%'\"><cdk-accordion class=\"example-accordion\"><cdk-accordion-item\n #accordionItem=\"cdkAccordionItem\" [expanded]=\"true\" class=\"example-accordion-item\">\n <div class=\"example-accordion-item-header\" #accordionHeader [ngClass]=\"{'header-hidden': isSectionHidden}\">\n <!-- Normal header layout (shows when section is NOT hidden) --><ng-container\n *ngIf=\"!isSectionHidden; else hiddenHeaderLayout\"><al-responsive-columns [stackAt]=\"0\" [gap]=\"'12px'\"\n [padding]=\"'8px 12px'\">\n <div left><button (click)=\"toggleAccordion(accordionItem)\" tabindex=\"0\" class=\"toggle-button align-center\"\n [attr.aria-expanded]=\"accordionItem.expanded\"\n [matTooltip]=\"accordionItem.expanded ? 'Collapse' : 'Expand'\" matTooltipPosition=\"above\"><span\n class=\"material-icons-outlined\" *ngIf=\"!accordionItem.expanded\">expand_less </span><span\n class=\"material-icons-outlined\" *ngIf=\"accordionItem.expanded\">expand_more\n </span></button><ng-content select=\"[header-left]\"></ng-content></div>\n <div center><al-responsive-columns [stackAt]=\"0\" [gap]=\"'12px'\" [padding]=\"'0'\" [leftWidth]=\"'auto'\"\n [rightWidth]=\"'32px'\" [ngClass]=\"{'input-focused': isInputFocused}\">\n <div left>\n <div class=\"edit-input-group\" [ngClass]=\"{'input-focused': isInputFocused}\">\n <div class=\"content_width\"><span *ngIf=\"!isTitleEditing\" class=\"title-text\"\n (click)=\"onTitleClick()\">\n {{ title || 'Click to edit' }}\n </span><input *ngIf=\"isTitleEditing\" #titleInput type=\"text\" [(ngModel)]=\"editedTitle\"\n (focus)=\"onTitleFocus()\" (blur)=\"onTitleBlur()\" (keydown)=\"onTitleKeyPress($event)\"\n class=\"title-input onfocus-input-text\" /><ng-content select=\"[header-center-left]\"></ng-content>\n </div><mat-icon class=\"edit-icon\" svgIcon=\"edit_icon\" matTooltip=\"Edit title\"\n matTooltipPosition=\"above\" (click)=\"onTitleClick()\"></mat-icon>\n </div>\n </div>\n <div center><ng-content select=\"[header-center-center]\"></ng-content>\n <!-- Header buttons for large screens (including Deep Extraction via buttonConfig) --><ng-container\n *ngIf=\"isLargeScreen\"><ng-container\n *ngTemplateOutlet=\"headerButtonsTemplate; context: { buttons: buttonConfig }\"></ng-container></ng-container>\n <!-- Menu trigger and slide-out panel for small screens only -->\n <div class=\"hover-menu-container\" *ngIf=\"!isLargeScreen\">\n <div class=\"menu-trigger\" (click)=\"toggleMenu()\"><al-button buttonType=\"icon-label\" iconOnly\n size=\"header\" category=\"grey\" leftIcon=\"more_vert\" aria-label=\"More options\"\n [dataTestId]=\"'resume-header-more-menu'\"></al-button></div>\n <div class=\"slide-out-panel\" [class.visible]=\"isMenuVisible\">\n <div class=\"fit-panel\"><ng-container\n *ngTemplateOutlet=\"headerButtonsTemplate; context: { buttons: buttonConfig }\"></ng-container>\n </div>\n </div>\n </div>\n </div>\n <div right><ng-content select=\"[header-center-right]\"></ng-content>\n <!-- Eye icon - uses actual isHidden value from config, always visible --><ng-container\n *ngIf=\"configEyeToggle && configEyeToggle.length > 0\"><ng-container\n *ngFor=\"let eyeConfig of configEyeToggle\"><ng-container *ngIf=\"eyeConfig\"><ng-container\n *ngTemplateOutlet=\"eyeIconTemplate; context: { isHidden: eyeConfig.isHidden === true, accordionItem: accordionItem, configEyeToggle: eyeConfig }\"></ng-container></ng-container></ng-container></ng-container>\n </div>\n </al-responsive-columns></div>\n <div right><al-checkbox *ngIf=\"showHeaderCheckbox\" [checked]=\"headerCheckboxChecked\" [showLabels]=\"false\"\n (change)=\"onHeaderCheckboxChange($event)\"></al-checkbox><ng-content\n select=\"[header-right]\"></ng-content></div>\n </al-responsive-columns></ng-container>\n <!-- Hidden header layout (shows when section IS hidden) --><ng-template\n #hiddenHeaderLayout><al-responsive-columns [stackAt]=\"0\" [gap]=\"'12px'\" [padding]=\"'8px 12px'\">\n <div left>\n <!-- Toggle button hidden when section is hidden --><ng-content select=\"[header-left]\"></ng-content>\n </div>\n <div center><al-responsive-columns [stackAt]=\"0\" [gap]=\"'12px'\" [padding]=\"'0'\" [leftWidth]=\"'auto'\"\n [rightWidth]=\"'32px'\">\n <div left>\n <div class=\"edit-input-group hide-header-title\">\n <div class=\"content_width\"><span class=\"title-text header-text-turncate\">\n {{ title }}\n </span></div>\n </div>\n </div>\n <div center>\n <div class=\"hidden-write\">Section hidden</div>\n </div>\n <div right><ng-content select=\"[header-center-right]\"></ng-content>\n <!-- Eye icon - uses actual isHidden value from config, always visible --><ng-container\n *ngIf=\"configEyeToggle && configEyeToggle.length > 0\"><ng-container\n *ngFor=\"let eyeConfig of configEyeToggle\"><ng-container *ngIf=\"eyeConfig\"><ng-container\n *ngTemplateOutlet=\"eyeIconTemplate; context: { isHidden: eyeConfig.isHidden === true, accordionItem: accordionItem, configEyeToggle: eyeConfig }\"></ng-container></ng-container></ng-container></ng-container>\n </div>\n </al-responsive-columns></div>\n <div right>\n <!-- Checkbox hidden when section is hidden --><ng-content select=\"[header-right]\"></ng-content>\n </div>\n </al-responsive-columns></ng-template>\n </div>\n <!-- Accordion body (only shows when expanded AND not hidden) -->\n <div class=\"example-accordion-item-body\" *ngIf=\"accordionItem.expanded && !isSectionHidden\">\n <!-- Pop-out Panel -->\n <div *ngIf=\"shouldShowPopOut\" #popOutPanel class=\"pop-out-panel\" [ngClass]=\"{'pop-out-narrow': isPopOutNarrow}\">\n <div class=\"pop-out-content\">\n <al-button [labelText]=\"popOutButtonLabel\" [rightIcon]=\"popOutButtonIcon\"\n [buttonType]=\"'icon-label'\" [category]=\"'gradient'\" [size]=\"'xs'\" [iconOnly]=\"false\"\n (onClick)=\"popOutButtonClick.emit()\" [dataTestId]=\"'pop-out-run-deep-extraction'\"\n [title]=\"popOutButtonLabel\"></al-button>\n <p class=\"pop-out-message\" [innerHTML]=\"sanitizedMessage\"></p>\n <button type=\"button\" class=\"pop-out-close\"\n (click)=\"dismissPopOut()\" aria-label=\"Close pop-out panel\"><span\n class=\"material-icons-outlined\">close</span></button>\n </div>\n </div>\n <!-- Single body content slot - child component will handle 3-column layout internally -->\n <ng-content></ng-content>\n </div>\n </cdk-accordion-item></cdk-accordion></al-general-container><ng-template #headerButtonsTemplate\n let-buttons=\"buttons\" let-handleClick=\"handleClick\"><ng-container *ngFor=\"let btn of buttonConfig\"><al-button\n *ngIf=\"!btn.displayCondition || btn.displayCondition()\" [color]=\"btn.color\" [outline]=\"btn.outline\"\n [size]=\"btn.size\" [iconOutlined]=\"btn.iconOutlined\" [labelText]=\"btn.labelText\"\n [leftIcon]=\"getButtonIcons(btn).leftIcon\" [rightIcon]=\"getButtonIcons(btn).rightIcon\"\n [dataTestId]=\"btn.dataTestId\" [hasDropDown]=\"btn.hasDropDown\" [dropdownItems]=\"btn.dropdownItems\"\n [buttonType]=\"'icon-label'\" [iconOnly]=\"!btn.labelText\" [tooltip]=\"getButtonTooltip(btn)\"\n [tooltipPosition]=\"'above'\" (onClick)=\"onButtonClick(btn, $event)\"\n (optionSelect)=\"onDropdownSelect(btn, $event)\"></al-button></ng-container></ng-template><ng-template\n #eyeIconTemplate let-isHidden=\"isHidden\" let-accordionItem=\"accordionItem\" let-configEyeToggle=\"configEyeToggle\">\n <div class=\"mat-checkbox-margin align-center\"\n [attr.data-test-id]=\"isHidden ? 'section-show-eye-div' : 'section-hide-eye-div'\"\n style=\"display: flex; align-items: center; justify-content: center;\"><mat-icon\n class=\"delete-multiple mat-fab.mat-accent eye-icon\" [svgIcon]=\"isHidden ? 'visibility' : 'visibility_off'\"\n [matTooltip]=\"configEyeToggle?.tooltips?.[isHidden ? 'collapse' : 'expand'] || (isHidden ? 'Show Section' : 'Hide Section')\"\n [matTooltipPosition]=\"configEyeToggle?.tooltips?.position || 'above'\"\n [attr.aria-label]=\"configEyeToggle?.ariaLabels?.[isHidden ? 'collapsed' : 'expanded'] || (isHidden ? 'Show section' : 'Hide section')\"\n (click)=\"onEyeIconClick(isHidden, accordionItem, configEyeToggle)\"\n [attr.data-test-id]=\"isHidden ? 'section-show-eye-icon' : 'section-hide-eye-icon'\"\n style=\"cursor: pointer; display: inline-block; width: 24px; height: 24px; font-size: 24px; color: #717793;\"\n [style.opacity]=\"1\" [style.visibility]=\"'visible'\"></mat-icon></div>\n</ng-template>\n", styles: ["@charset \"UTF-8\";@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\";:root{--color-blue-50: #E5E9FC;--color-blue-100: #BBC7F6;--color-blue-200: #98ABF1;--color-blue-300: #768FED;--color-blue-400: #6581EA;--color-blue-500: #5473E8;--color-blue-600: #1E46DF;--color-blue-700: #0F236F;--color-blue-800: #071238;--color-blue-900: #04091C;--color-green-50: #D7F3F5;--color-green-100: #AFE6EB;--color-green-200: #87DAE2;--color-green-300: #5FCDD8;--color-green-400: #4BC7D3;--color-green-500: #37C1CE;--color-green-600: #299DA8;--color-green-700: #1F767E;--color-green-800: #154E54;--color-green-900: #0A272A;--color-grey-50: #FAFBFB;--color-grey-100: #ECEDF1;--color-grey-200: #DEE0E6;--color-grey-300: #D1D3DB;--color-grey-400: #C3C5D1;--color-grey-500: #A2A6B8;--color-grey-600: #717793;--color-grey-700: #4B4F62;--color-grey-800: #383B4A;--color-grey-900: #252831;--color-error-50: #FDEEF6;--color-error-100: #F9D4E8;--color-error-200: #F6BBDB;--color-error-300: #F2A1CD;--color-error-400: #EF87BF;--color-error-500: #E854A4;--color-error-600: #E22A8E;--color-error-700: #C31A75;--color-error-800: #99155C;--color-error-900: #6F0F43;--color-success-50: #E9F9F3;--color-success-100: #C8F1E3;--color-success-200: #9EE7CE;--color-success-300: #6EDDB7;--color-success-400: #3DD3A0;--color-success-500: #00AD83;--color-success-600: #009873;--color-success-700: #007F61;--color-success-800: #00654F;--color-success-900: #003D30;--color-blue: #5473E8;--color-blue-hover: #6581EA;--color-blue-active: #1E46DF;--color-green: #37C1CE;--color-green-hover: #4BC7D3;--color-green-active: #299DA8;--color-grey: #383B4A;--color-grey-hover: #4B4F62;--color-grey-active: #252831;--color-error: #E854A4;--color-error-hover: #EF87BF;--color-error-active: #E22A8E;--color-success: #00AD83;--color-success-hover: #009873;--color-success-active: #007F61;--color-disabled-bg: #D1D3DB;--color-disabled-text: #A2A6B8}.example-accordion-item-header{display:flex;align-items:center;cursor:pointer;width:100%}.example-accordion-item-header al-responsive-columns{width:100%;display:block}.example-accordion-item-header al-responsive-columns ::ng-deep .container{align-items:center;display:grid}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns{width:100%;display:block}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns ::ng-deep .container{align-items:center;display:grid;min-width:0;transition:grid-template-columns .2s ease}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns.input-focused ::ng-deep .container{grid-template-columns:1fr auto 32px!important}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns ::ng-deep .column{display:flex;align-items:center;min-width:0}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[left],.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[center],.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[right]{display:flex;align-items:center;width:100%;min-width:0}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[left]{flex-shrink:1;min-width:0;overflow:hidden;max-width:100%;transition:flex .2s ease,width .2s ease}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns.input-focused div[left],.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[left] .edit-input-group.input-focused{width:100%;min-width:0;max-width:none}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns ::ng-deep .column.left{min-width:0;overflow:hidden;max-width:100%;transition:flex .2s ease}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns.input-focused ::ng-deep .column.left{min-width:0;max-width:none;width:100%}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[center]{justify-content:flex-end;gap:8px;flex-shrink:0;flex-wrap:nowrap;display:flex;align-items:center}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[right]{flex-shrink:0}.example-accordion-item-body{width:100%}.example-accordion-item-body al-responsive-columns{width:100%;display:block}.toggle-button{border:none;background:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.toggle-button .material-icons-outlined{color:#717793}.example-accordion-item-header al-responsive-columns div[left]{display:flex;align-items:center;justify-content:center}.example-accordion-item-header al-responsive-columns div[right]{display:flex;align-items:center;justify-content:center;flex-shrink:0}.align-center{display:flex;align-items:center}.example-accordion-item-header{display:flex;justify-content:space-between;align-items:center;background:#ecedf1;gap:8px;border-bottom:2px solid #37c1ce;border-radius:8px;box-sizing:border-box}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased;color:#717793;width:24px;height:24px;cursor:pointer;transition:color .2s ease;font-variation-settings:\"FILL\" 0,\"wght\" 400,\"GRAD\" 0,\"opsz\" 20}.material-symbols-outlined:hover{color:#4b4f62;background-color:#bbc7f6;width:24px;height:24px;border-radius:4px}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[right]{display:flex;align-items:center;justify-content:center}.edit-input-group{display:flex;align-items:center;gap:4px;min-width:0;border-radius:4px;transition:background-color .2s ease,width .2s ease;padding:0 8px;flex-shrink:1;width:100%;max-width:100%;overflow:hidden;flex:1 1 0}.edit-input-group.input-focused{width:100%;flex:1 1 100%;min-width:0}.edit-input-group:hover{background-color:#d1d3db}.edit-input-group:has(input:focus):hover,.edit-input-group:focus-within:hover{background-color:transparent}.edit-input-group:has(input:focus) mat-icon.edit-icon,.edit-input-group:focus-within mat-icon.edit-icon{opacity:0;visibility:hidden}.hover-menu-container{position:relative;display:inline-block}.menu-trigger{display:flex;align-items:center;justify-content:center;padding:0 8px;cursor:pointer;z-index:10}.slide-out-panel{position:absolute;bottom:100%;right:0;background-color:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:10035;padding:8px;margin-bottom:6px;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;display:flex;flex-direction:row;gap:8px;flex-wrap:nowrap;white-space:nowrap;align-items:center}.slide-out-panel.visible{opacity:1;visibility:visible}.fit-panel{display:inline-flex;width:fit-content;background:none;gap:8px;align-items:center}.example-accordion-item-body .pop-out-panel{background-color:#717793;border-radius:12px;width:calc(100% - 30px);margin:8px auto;padding:12px 16px;position:relative;box-sizing:border-box}.pop-out-content{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:nowrap}.pop-out-content al-button{flex-shrink:0}.pop-out-content al-button .button-label{display:inline-block!important;visibility:visible!important;opacity:1!important}.pop-out-message{flex:1;color:#fff;font-size:12px;line-height:1.5;font-family:Roboto,sans-serif;font-weight:400;min-width:0;letter-spacing:.06px;margin:0}.pop-out-panel.pop-out-narrow .pop-out-content{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;gap:8px}.pop-out-panel.pop-out-narrow .pop-out-content al-button{grid-column:1;grid-row:1;justify-self:start}.pop-out-panel.pop-out-narrow .pop-out-content .pop-out-close{grid-column:1;grid-row:1;justify-self:end}.pop-out-panel.pop-out-narrow .pop-out-message{grid-column:1;grid-row:2;flex:none;width:100%}.pop-out-message ::ng-deep a,.pop-out-link{color:var(--Base-Blue, #5473E8);font-family:Roboto;font-size:12px;font-style:normal;font-weight:400;line-height:136%;letter-spacing:.06px;cursor:pointer}.pop-out-message ::ng-deep a:hover,.pop-out-link:hover{color:#6581ea}.pop-out-close{background:transparent;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;color:#6b7280;transition:color .2s ease}.pop-out-close:hover{color:#374151}.pop-out-close .material-icons-outlined{font-size:20px;width:20px;height:20px;color:#fff}.edit-input-group .content_width{flex:1 1 0;min-width:0;max-width:450px;overflow:hidden;display:flex;align-items:center;transition:flex .2s ease,width .2s ease}.edit-input-group.input-focused .content_width{flex:1 1 100%;width:100%;min-width:0}.title-text{font-size:16px;font-weight:400;color:#383b4a;font-family:Roboto,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:4px;flex-shrink:1;min-width:0;max-width:100%;cursor:pointer}.title-input{font-size:16px;font-weight:400;font-family:Roboto,sans-serif;border:none;outline:none;padding:0;margin:0 4px 0 0;flex-shrink:1;min-width:100px;max-width:100%;box-sizing:border-box;width:100%;transition:width .2s ease}.title-input:focus{width:100%;min-width:100%;flex:1 1 100%}.title-input.onfocus-input-text{height:28px;background:#f4f8fc;border-radius:5px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.title-input.focusout-input-text{color:#383b4a;background:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.title-input:focus{outline:none;border:none;box-shadow:none}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns ::ng-deep .column.left{min-width:0;overflow:visible}.edit-input-group mat-icon.edit-icon{opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;cursor:pointer;border-radius:4px;flex-shrink:0;min-width:16px;width:16px;height:16px;font-size:16px;display:inline-flex;align-items:center;justify-content:center;color:#717793}.edit-input-group:hover mat-icon.edit-icon{opacity:1;visibility:visible}.hide-header-title mat-icon.edit-icon{display:none}.hide-header-title .edit-input-group{cursor:default;opacity:.7}.hide-header-title .edit-input-group:hover{background-color:transparent}.hide-header-title .title-text{cursor:default;pointer-events:none}.header-text-turncate{font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:#a2a6b8;line-height:28px;font-family:Roboto,sans-serif;cursor:default}.hidden-section-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.hidden-write{color:#a2a6b8;font-weight:400;font-family:Roboto,sans-serif;white-space:nowrap}.example-accordion-item-header.header-hidden{opacity:.7}.mat-checkbox-margin{margin-left:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { 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: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: GeneralContainerComponent, selector: "al-general-container", inputs: ["backgroundColor", "padding", "width", "height", "overflowX", "overflowY", "borderPosition", "borderColor", "borderRadius", "boxShadow", "customBoxShadow"] }, { kind: "component", type: ResponsiveColumnsComponent, selector: "al-responsive-columns", inputs: ["dataTestId", "gap", "padding", "leftWidth", "rightWidth", "stackAt"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: CheckboxComponent, selector: "al-checkbox", inputs: ["checked", "disabled", "labelPosition", "name", "required", "value", "color", "labelText", "helperText", "showLabels", "showHelperIcon", "helperIconTooltip", "dataTestId", "tooltip", "tooltipPosition"], outputs: ["change", "indeterminateChange", "focus", "blur", "helperIconClick"] }, { kind: "component", type: ButtonComponent, selector: "al-button", inputs: ["state", "disabled", "color", "category", "outline", "labelText", "label", "arialabel", "iconOnly", "leftIcon", "rightIcon", "icon", "iconOutlined", "outlined", "size", "buttonType", "fontClass", "dataTestId", "tooltip", "tooltipPosition", "dropdownItems", "dropdownOptions", "hasDropDown", "dropdown", "hasDropdown", "isDropdown"], outputs: ["onClick", "onHover", "onMouseLeave", "optionSelect"] }] }); }
2004
2035
  }
2005
2036
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NewResumeHeaderComponent, decorators: [{
2006
2037
  type: Component,
@@ -2014,7 +2045,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2014
2045
  ResponsiveColumnsComponent,
2015
2046
  CheckboxModule,
2016
2047
  ButtonComponent
2017
- ], template: "<al-general-container #generalContainer [borderRadius]=\"'0'\" [borderPosition]=\"'none'\" [boxShadow]=\"false\"\n [padding]=\"'0'\" [width]=\"'100%'\"><cdk-accordion class=\"example-accordion\"><cdk-accordion-item\n #accordionItem=\"cdkAccordionItem\" [expanded]=\"true\" class=\"example-accordion-item\">\n <div class=\"example-accordion-item-header\" #accordionHeader [ngClass]=\"{'header-hidden': isSectionHidden}\">\n <!-- Normal header layout (shows when section is NOT hidden) --><ng-container\n *ngIf=\"!isSectionHidden; else hiddenHeaderLayout\"><al-responsive-columns [stackAt]=\"0\" [gap]=\"'12px'\"\n [padding]=\"'8px 12px'\">\n <div left><button (click)=\"toggleAccordion(accordionItem)\" tabindex=\"0\" class=\"toggle-button align-center\"\n [attr.aria-expanded]=\"accordionItem.expanded\"\n [matTooltip]=\"accordionItem.expanded ? 'Collapse' : 'Expand'\" matTooltipPosition=\"above\"><span\n class=\"material-icons-outlined\" *ngIf=\"!accordionItem.expanded\">expand_less </span><span\n class=\"material-icons-outlined\" *ngIf=\"accordionItem.expanded\">expand_more\n </span></button><ng-content select=\"[header-left]\"></ng-content></div>\n <div center><al-responsive-columns [stackAt]=\"0\" [gap]=\"'12px'\" [padding]=\"'0'\" [leftWidth]=\"'auto'\"\n [rightWidth]=\"'32px'\" [ngClass]=\"{'input-focused': isInputFocused}\">\n <div left>\n <div class=\"edit-input-group\" [ngClass]=\"{'input-focused': isInputFocused}\">\n <div class=\"content_width\"><span *ngIf=\"!isTitleEditing\" class=\"title-text\"\n (click)=\"onTitleClick()\">\n {{ title || 'Click to edit' }}\n </span><input *ngIf=\"isTitleEditing\" #titleInput type=\"text\" [(ngModel)]=\"editedTitle\"\n (focus)=\"onTitleFocus()\" (blur)=\"onTitleBlur()\" (keydown)=\"onTitleKeyPress($event)\"\n class=\"title-input onfocus-input-text\" /><ng-content select=\"[header-center-left]\"></ng-content>\n </div><mat-icon class=\"edit-icon\" svgIcon=\"edit_icon\" matTooltip=\"Edit title\"\n matTooltipPosition=\"above\" (click)=\"onTitleClick()\"></mat-icon>\n </div>\n </div>\n <div center><ng-content select=\"[header-center-center]\"></ng-content>\n <!-- Header buttons for large screens (including Deep Extraction via buttonConfig) --><ng-container\n *ngIf=\"isLargeScreen\"><ng-container\n *ngTemplateOutlet=\"headerButtonsTemplate; context: { buttons: buttonConfig }\"></ng-container></ng-container>\n <!-- Menu trigger and slide-out panel for small screens only -->\n <div class=\"hover-menu-container\" *ngIf=\"!isLargeScreen\">\n <div class=\"menu-trigger\" (click)=\"toggleMenu()\"><al-button buttonType=\"icon-label\" iconOnly\n size=\"header\" category=\"grey\" leftIcon=\"more_vert\" aria-label=\"More options\"\n [dataTestId]=\"'resume-header-more-menu'\"></al-button></div>\n <div class=\"slide-out-panel\" [class.visible]=\"isMenuVisible\">\n <div class=\"fit-panel\"><ng-container\n *ngTemplateOutlet=\"headerButtonsTemplate; context: { buttons: buttonConfig }\"></ng-container>\n </div>\n </div>\n </div>\n </div>\n <div right><ng-content select=\"[header-center-right]\"></ng-content>\n <!-- Eye icon - uses actual isHidden value from config, always visible --><ng-container\n *ngIf=\"configEyeToggle && configEyeToggle.length > 0\"><ng-container\n *ngFor=\"let eyeConfig of configEyeToggle\"><ng-container *ngIf=\"eyeConfig\"><ng-container\n *ngTemplateOutlet=\"eyeIconTemplate; context: { isHidden: eyeConfig.isHidden === true, accordionItem: accordionItem, configEyeToggle: eyeConfig }\"></ng-container></ng-container></ng-container></ng-container>\n </div>\n </al-responsive-columns></div>\n <div right><al-checkbox *ngIf=\"showHeaderCheckbox\" [checked]=\"headerCheckboxChecked\" [showLabels]=\"false\"\n (change)=\"onHeaderCheckboxChange($event)\"></al-checkbox><ng-content\n select=\"[header-right]\"></ng-content></div>\n </al-responsive-columns></ng-container>\n <!-- Hidden header layout (shows when section IS hidden) --><ng-template\n #hiddenHeaderLayout><al-responsive-columns [stackAt]=\"0\" [gap]=\"'12px'\" [padding]=\"'8px 12px'\">\n <div left>\n <!-- Toggle button hidden when section is hidden --><ng-content select=\"[header-left]\"></ng-content>\n </div>\n <div center><al-responsive-columns [stackAt]=\"0\" [gap]=\"'12px'\" [padding]=\"'0'\" [leftWidth]=\"'auto'\"\n [rightWidth]=\"'32px'\">\n <div left>\n <div class=\"edit-input-group hide-header-title\">\n <div class=\"content_width\"><span class=\"title-text header-text-turncate\">\n {{ title }}\n </span></div>\n </div>\n </div>\n <div center>\n <div class=\"hidden-write\">Section hidden</div>\n </div>\n <div right><ng-content select=\"[header-center-right]\"></ng-content>\n <!-- Eye icon - uses actual isHidden value from config, always visible --><ng-container\n *ngIf=\"configEyeToggle && configEyeToggle.length > 0\"><ng-container\n *ngFor=\"let eyeConfig of configEyeToggle\"><ng-container *ngIf=\"eyeConfig\"><ng-container\n *ngTemplateOutlet=\"eyeIconTemplate; context: { isHidden: eyeConfig.isHidden === true, accordionItem: accordionItem, configEyeToggle: eyeConfig }\"></ng-container></ng-container></ng-container></ng-container>\n </div>\n </al-responsive-columns></div>\n <div right>\n <!-- Checkbox hidden when section is hidden --><ng-content select=\"[header-right]\"></ng-content>\n </div>\n </al-responsive-columns></ng-template>\n </div>\n <!-- Accordion body (only shows when expanded AND not hidden) -->\n <div class=\"example-accordion-item-body\" *ngIf=\"accordionItem.expanded && !isSectionHidden\">\n <!-- Pop-out Panel -->\n <div *ngIf=\"shouldShowPopOut\" class=\"pop-out-panel\">\n <div class=\"pop-out-content\"><al-button [labelText]=\"popOutButtonLabel\" [rightIcon]=\"popOutButtonIcon\"\n [buttonType]=\"'icon-label'\" [category]=\"'gradient'\" [size]=\"'xs'\" [iconOnly]=\"false\"\n (onClick)=\"popOutButtonClick.emit()\" [dataTestId]=\"'pop-out-run-deep-extraction'\"\n [title]=\"popOutButtonLabel\"></al-button>\n <p class=\"pop-out-message\" [innerHTML]=\"sanitizedMessage\"></p><button type=\"button\" class=\"pop-out-close\"\n (click)=\"dismissPopOut()\" aria-label=\"Close pop-out panel\"><span\n class=\"material-icons-outlined\">close</span></button>\n </div>\n </div>\n <!-- Single body content slot - child component will handle 3-column layout internally -->\n <ng-content></ng-content>\n </div>\n </cdk-accordion-item></cdk-accordion></al-general-container><ng-template #headerButtonsTemplate\n let-buttons=\"buttons\" let-handleClick=\"handleClick\"><ng-container *ngFor=\"let btn of buttonConfig\"><al-button\n *ngIf=\"!btn.displayCondition || btn.displayCondition()\" [color]=\"btn.color\" [outline]=\"btn.outline\"\n [size]=\"btn.size\" [iconOutlined]=\"btn.iconOutlined\" [labelText]=\"btn.labelText\"\n [leftIcon]=\"getButtonIcons(btn).leftIcon\" [rightIcon]=\"getButtonIcons(btn).rightIcon\"\n [dataTestId]=\"btn.dataTestId\" [hasDropDown]=\"btn.hasDropDown\" [dropdownItems]=\"btn.dropdownItems\"\n [buttonType]=\"'icon-label'\" [iconOnly]=\"!btn.labelText\" [tooltip]=\"getButtonTooltip(btn)\"\n [tooltipPosition]=\"'above'\" (onClick)=\"onButtonClick(btn, $event)\"\n (optionSelect)=\"onDropdownSelect(btn, $event)\"></al-button></ng-container></ng-template><ng-template\n #eyeIconTemplate let-isHidden=\"isHidden\" let-accordionItem=\"accordionItem\" let-configEyeToggle=\"configEyeToggle\">\n <div class=\"mat-checkbox-margin align-center\"\n [attr.data-test-id]=\"isHidden ? 'section-show-eye-div' : 'section-hide-eye-div'\"\n style=\"display: flex; align-items: center; justify-content: center;\"><mat-icon\n class=\"delete-multiple mat-fab.mat-accent eye-icon\" [svgIcon]=\"isHidden ? 'visibility' : 'visibility_off'\"\n [matTooltip]=\"configEyeToggle?.tooltips?.[isHidden ? 'collapse' : 'expand'] || (isHidden ? 'Show Section' : 'Hide Section')\"\n [matTooltipPosition]=\"configEyeToggle?.tooltips?.position || 'above'\"\n [attr.aria-label]=\"configEyeToggle?.ariaLabels?.[isHidden ? 'collapsed' : 'expanded'] || (isHidden ? 'Show section' : 'Hide section')\"\n (click)=\"onEyeIconClick(isHidden, accordionItem, configEyeToggle)\"\n [attr.data-test-id]=\"isHidden ? 'section-show-eye-icon' : 'section-hide-eye-icon'\"\n style=\"cursor: pointer; display: inline-block; width: 24px; height: 24px; font-size: 24px; color: #717793;\"\n [style.opacity]=\"1\" [style.visibility]=\"'visible'\"></mat-icon></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\";:root{--color-blue-50: #E5E9FC;--color-blue-100: #BBC7F6;--color-blue-200: #98ABF1;--color-blue-300: #768FED;--color-blue-400: #6581EA;--color-blue-500: #5473E8;--color-blue-600: #1E46DF;--color-blue-700: #0F236F;--color-blue-800: #071238;--color-blue-900: #04091C;--color-green-50: #D7F3F5;--color-green-100: #AFE6EB;--color-green-200: #87DAE2;--color-green-300: #5FCDD8;--color-green-400: #4BC7D3;--color-green-500: #37C1CE;--color-green-600: #299DA8;--color-green-700: #1F767E;--color-green-800: #154E54;--color-green-900: #0A272A;--color-grey-50: #FAFBFB;--color-grey-100: #ECEDF1;--color-grey-200: #DEE0E6;--color-grey-300: #D1D3DB;--color-grey-400: #C3C5D1;--color-grey-500: #A2A6B8;--color-grey-600: #717793;--color-grey-700: #4B4F62;--color-grey-800: #383B4A;--color-grey-900: #252831;--color-error-50: #FDEEF6;--color-error-100: #F9D4E8;--color-error-200: #F6BBDB;--color-error-300: #F2A1CD;--color-error-400: #EF87BF;--color-error-500: #E854A4;--color-error-600: #E22A8E;--color-error-700: #C31A75;--color-error-800: #99155C;--color-error-900: #6F0F43;--color-success-50: #E9F9F3;--color-success-100: #C8F1E3;--color-success-200: #9EE7CE;--color-success-300: #6EDDB7;--color-success-400: #3DD3A0;--color-success-500: #00AD83;--color-success-600: #009873;--color-success-700: #007F61;--color-success-800: #00654F;--color-success-900: #003D30;--color-blue: #5473E8;--color-blue-hover: #6581EA;--color-blue-active: #1E46DF;--color-green: #37C1CE;--color-green-hover: #4BC7D3;--color-green-active: #299DA8;--color-grey: #383B4A;--color-grey-hover: #4B4F62;--color-grey-active: #252831;--color-error: #E854A4;--color-error-hover: #EF87BF;--color-error-active: #E22A8E;--color-success: #00AD83;--color-success-hover: #009873;--color-success-active: #007F61;--color-disabled-bg: #D1D3DB;--color-disabled-text: #A2A6B8}.example-accordion-item-header{display:flex;align-items:center;cursor:pointer;width:100%}.example-accordion-item-header al-responsive-columns{width:100%;display:block}.example-accordion-item-header al-responsive-columns ::ng-deep .container{align-items:center;display:grid}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns{width:100%;display:block}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns ::ng-deep .container{align-items:center;display:grid;min-width:0;transition:grid-template-columns .2s ease}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns.input-focused ::ng-deep .container{grid-template-columns:1fr auto 32px!important}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns ::ng-deep .column{display:flex;align-items:center;min-width:0}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[left],.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[center],.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[right]{display:flex;align-items:center;width:100%;min-width:0}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[left]{flex-shrink:1;min-width:0;overflow:hidden;max-width:100%;transition:flex .2s ease,width .2s ease}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns.input-focused div[left],.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[left] .edit-input-group.input-focused{width:100%;min-width:0;max-width:none}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns ::ng-deep .column.left{min-width:0;overflow:hidden;max-width:100%;transition:flex .2s ease}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns.input-focused ::ng-deep .column.left{min-width:0;max-width:none;width:100%}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[center]{justify-content:flex-end;gap:8px;flex-shrink:0;flex-wrap:nowrap;display:flex;align-items:center}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[right]{flex-shrink:0}.example-accordion-item-body{width:100%}.example-accordion-item-body al-responsive-columns{width:100%;display:block}.toggle-button{border:none;background:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.toggle-button .material-icons-outlined{color:#717793}.example-accordion-item-header al-responsive-columns div[left]{display:flex;align-items:center;justify-content:center}.example-accordion-item-header al-responsive-columns div[right]{display:flex;align-items:center;justify-content:center;flex-shrink:0}.align-center{display:flex;align-items:center}.example-accordion-item-header{display:flex;justify-content:space-between;align-items:center;background:#ecedf1;gap:8px;border-bottom:2px solid #37c1ce;border-radius:8px;box-sizing:border-box}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased;color:#717793;width:24px;height:24px;cursor:pointer;transition:color .2s ease;font-variation-settings:\"FILL\" 0,\"wght\" 400,\"GRAD\" 0,\"opsz\" 20}.material-symbols-outlined:hover{color:#4b4f62;background-color:#bbc7f6;width:24px;height:24px;border-radius:4px}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[right]{display:flex;align-items:center;justify-content:center}.edit-input-group{display:flex;align-items:center;gap:4px;min-width:0;border-radius:4px;transition:background-color .2s ease,width .2s ease;padding:0 8px;flex-shrink:1;width:100%;max-width:100%;overflow:hidden;flex:1 1 0}.edit-input-group.input-focused{width:100%;flex:1 1 100%;min-width:0}.edit-input-group:hover{background-color:#d1d3db}.edit-input-group:has(input:focus):hover,.edit-input-group:focus-within:hover{background-color:transparent}.edit-input-group:has(input:focus) mat-icon.edit-icon,.edit-input-group:focus-within mat-icon.edit-icon{opacity:0;visibility:hidden}.hover-menu-container{position:relative;display:inline-block}.menu-trigger{display:flex;align-items:center;justify-content:center;padding:0 8px;cursor:pointer;z-index:10}.slide-out-panel{position:absolute;bottom:100%;right:0;background-color:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:10035;padding:8px;margin-bottom:6px;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;display:flex;flex-direction:row;gap:8px;flex-wrap:nowrap;white-space:nowrap;align-items:center}.slide-out-panel.visible{opacity:1;visibility:visible}.fit-panel{display:inline-flex;width:fit-content;background:none;gap:8px;align-items:center}.example-accordion-item-body .pop-out-panel{background-color:#717793;border-radius:12px;width:calc(100% - 110px);margin:8px auto;padding:12px 16px;position:relative;box-sizing:border-box}.pop-out-content{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;align-items:center}.pop-out-content al-button{flex-shrink:0;align-self:center}.pop-out-content al-button .button-label{display:inline-block!important;visibility:visible!important;opacity:1!important}.pop-out-message{flex:1;color:#fff;font-size:12px;line-height:1.5;font-family:Roboto,sans-serif;font-weight:400;min-width:0;letter-spacing:.06px}.pop-out-message ::ng-deep a,.pop-out-link{color:var(--Base-Blue, #5473E8);font-family:Roboto;font-size:12px;font-style:normal;font-weight:400;line-height:136%;letter-spacing:.06px;cursor:pointer}.pop-out-message ::ng-deep a:hover,.pop-out-link:hover{color:#6581ea}.pop-out-close{background:transparent;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;color:#6b7280;transition:color .2s ease}.pop-out-close:hover{color:#374151}.pop-out-close .material-icons-outlined{font-size:20px;width:20px;height:20px;color:#fff}.edit-input-group .content_width{flex:1 1 0;min-width:0;max-width:450px;overflow:hidden;display:flex;align-items:center;transition:flex .2s ease,width .2s ease}.edit-input-group.input-focused .content_width{flex:1 1 100%;width:100%;min-width:0}.title-text{font-size:16px;font-weight:400;color:#383b4a;font-family:Roboto,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:4px;flex-shrink:1;min-width:0;max-width:100%;cursor:pointer}.title-input{font-size:16px;font-weight:400;font-family:Roboto,sans-serif;border:none;outline:none;padding:0;margin:0 4px 0 0;flex-shrink:1;min-width:100px;max-width:100%;box-sizing:border-box;width:100%;transition:width .2s ease}.title-input:focus{width:100%;min-width:100%;flex:1 1 100%}.title-input.onfocus-input-text{height:28px;background:#f4f8fc;border-radius:5px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.title-input.focusout-input-text{color:#383b4a;background:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.title-input:focus{outline:none;border:none;box-shadow:none}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns ::ng-deep .column.left{min-width:0;overflow:visible}.edit-input-group mat-icon.edit-icon{opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;cursor:pointer;border-radius:4px;flex-shrink:0;min-width:16px;width:16px;height:16px;font-size:16px;display:inline-flex;align-items:center;justify-content:center;color:#717793}.edit-input-group:hover mat-icon.edit-icon{opacity:1;visibility:visible}.hide-header-title mat-icon.edit-icon{display:none}.hide-header-title .edit-input-group{cursor:default;opacity:.7}.hide-header-title .edit-input-group:hover{background-color:transparent}.hide-header-title .title-text{cursor:default;pointer-events:none}.header-text-turncate{font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:#a2a6b8;line-height:28px;font-family:Roboto,sans-serif;cursor:default}.hidden-section-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.hidden-write{color:#a2a6b8;font-weight:400;font-family:Roboto,sans-serif;white-space:nowrap}.example-accordion-item-header.header-hidden{opacity:.7}.mat-checkbox-margin{margin-left:8px}\n"] }]
2048
+ ], template: "<al-general-container #generalContainer [borderRadius]=\"'0'\" [borderPosition]=\"'none'\" [boxShadow]=\"false\"\n [padding]=\"'0'\" [width]=\"'100%'\"><cdk-accordion class=\"example-accordion\"><cdk-accordion-item\n #accordionItem=\"cdkAccordionItem\" [expanded]=\"true\" class=\"example-accordion-item\">\n <div class=\"example-accordion-item-header\" #accordionHeader [ngClass]=\"{'header-hidden': isSectionHidden}\">\n <!-- Normal header layout (shows when section is NOT hidden) --><ng-container\n *ngIf=\"!isSectionHidden; else hiddenHeaderLayout\"><al-responsive-columns [stackAt]=\"0\" [gap]=\"'12px'\"\n [padding]=\"'8px 12px'\">\n <div left><button (click)=\"toggleAccordion(accordionItem)\" tabindex=\"0\" class=\"toggle-button align-center\"\n [attr.aria-expanded]=\"accordionItem.expanded\"\n [matTooltip]=\"accordionItem.expanded ? 'Collapse' : 'Expand'\" matTooltipPosition=\"above\"><span\n class=\"material-icons-outlined\" *ngIf=\"!accordionItem.expanded\">expand_less </span><span\n class=\"material-icons-outlined\" *ngIf=\"accordionItem.expanded\">expand_more\n </span></button><ng-content select=\"[header-left]\"></ng-content></div>\n <div center><al-responsive-columns [stackAt]=\"0\" [gap]=\"'12px'\" [padding]=\"'0'\" [leftWidth]=\"'auto'\"\n [rightWidth]=\"'32px'\" [ngClass]=\"{'input-focused': isInputFocused}\">\n <div left>\n <div class=\"edit-input-group\" [ngClass]=\"{'input-focused': isInputFocused}\">\n <div class=\"content_width\"><span *ngIf=\"!isTitleEditing\" class=\"title-text\"\n (click)=\"onTitleClick()\">\n {{ title || 'Click to edit' }}\n </span><input *ngIf=\"isTitleEditing\" #titleInput type=\"text\" [(ngModel)]=\"editedTitle\"\n (focus)=\"onTitleFocus()\" (blur)=\"onTitleBlur()\" (keydown)=\"onTitleKeyPress($event)\"\n class=\"title-input onfocus-input-text\" /><ng-content select=\"[header-center-left]\"></ng-content>\n </div><mat-icon class=\"edit-icon\" svgIcon=\"edit_icon\" matTooltip=\"Edit title\"\n matTooltipPosition=\"above\" (click)=\"onTitleClick()\"></mat-icon>\n </div>\n </div>\n <div center><ng-content select=\"[header-center-center]\"></ng-content>\n <!-- Header buttons for large screens (including Deep Extraction via buttonConfig) --><ng-container\n *ngIf=\"isLargeScreen\"><ng-container\n *ngTemplateOutlet=\"headerButtonsTemplate; context: { buttons: buttonConfig }\"></ng-container></ng-container>\n <!-- Menu trigger and slide-out panel for small screens only -->\n <div class=\"hover-menu-container\" *ngIf=\"!isLargeScreen\">\n <div class=\"menu-trigger\" (click)=\"toggleMenu()\"><al-button buttonType=\"icon-label\" iconOnly\n size=\"header\" category=\"grey\" leftIcon=\"more_vert\" aria-label=\"More options\"\n [dataTestId]=\"'resume-header-more-menu'\"></al-button></div>\n <div class=\"slide-out-panel\" [class.visible]=\"isMenuVisible\">\n <div class=\"fit-panel\"><ng-container\n *ngTemplateOutlet=\"headerButtonsTemplate; context: { buttons: buttonConfig }\"></ng-container>\n </div>\n </div>\n </div>\n </div>\n <div right><ng-content select=\"[header-center-right]\"></ng-content>\n <!-- Eye icon - uses actual isHidden value from config, always visible --><ng-container\n *ngIf=\"configEyeToggle && configEyeToggle.length > 0\"><ng-container\n *ngFor=\"let eyeConfig of configEyeToggle\"><ng-container *ngIf=\"eyeConfig\"><ng-container\n *ngTemplateOutlet=\"eyeIconTemplate; context: { isHidden: eyeConfig.isHidden === true, accordionItem: accordionItem, configEyeToggle: eyeConfig }\"></ng-container></ng-container></ng-container></ng-container>\n </div>\n </al-responsive-columns></div>\n <div right><al-checkbox *ngIf=\"showHeaderCheckbox\" [checked]=\"headerCheckboxChecked\" [showLabels]=\"false\"\n (change)=\"onHeaderCheckboxChange($event)\"></al-checkbox><ng-content\n select=\"[header-right]\"></ng-content></div>\n </al-responsive-columns></ng-container>\n <!-- Hidden header layout (shows when section IS hidden) --><ng-template\n #hiddenHeaderLayout><al-responsive-columns [stackAt]=\"0\" [gap]=\"'12px'\" [padding]=\"'8px 12px'\">\n <div left>\n <!-- Toggle button hidden when section is hidden --><ng-content select=\"[header-left]\"></ng-content>\n </div>\n <div center><al-responsive-columns [stackAt]=\"0\" [gap]=\"'12px'\" [padding]=\"'0'\" [leftWidth]=\"'auto'\"\n [rightWidth]=\"'32px'\">\n <div left>\n <div class=\"edit-input-group hide-header-title\">\n <div class=\"content_width\"><span class=\"title-text header-text-turncate\">\n {{ title }}\n </span></div>\n </div>\n </div>\n <div center>\n <div class=\"hidden-write\">Section hidden</div>\n </div>\n <div right><ng-content select=\"[header-center-right]\"></ng-content>\n <!-- Eye icon - uses actual isHidden value from config, always visible --><ng-container\n *ngIf=\"configEyeToggle && configEyeToggle.length > 0\"><ng-container\n *ngFor=\"let eyeConfig of configEyeToggle\"><ng-container *ngIf=\"eyeConfig\"><ng-container\n *ngTemplateOutlet=\"eyeIconTemplate; context: { isHidden: eyeConfig.isHidden === true, accordionItem: accordionItem, configEyeToggle: eyeConfig }\"></ng-container></ng-container></ng-container></ng-container>\n </div>\n </al-responsive-columns></div>\n <div right>\n <!-- Checkbox hidden when section is hidden --><ng-content select=\"[header-right]\"></ng-content>\n </div>\n </al-responsive-columns></ng-template>\n </div>\n <!-- Accordion body (only shows when expanded AND not hidden) -->\n <div class=\"example-accordion-item-body\" *ngIf=\"accordionItem.expanded && !isSectionHidden\">\n <!-- Pop-out Panel -->\n <div *ngIf=\"shouldShowPopOut\" #popOutPanel class=\"pop-out-panel\" [ngClass]=\"{'pop-out-narrow': isPopOutNarrow}\">\n <div class=\"pop-out-content\">\n <al-button [labelText]=\"popOutButtonLabel\" [rightIcon]=\"popOutButtonIcon\"\n [buttonType]=\"'icon-label'\" [category]=\"'gradient'\" [size]=\"'xs'\" [iconOnly]=\"false\"\n (onClick)=\"popOutButtonClick.emit()\" [dataTestId]=\"'pop-out-run-deep-extraction'\"\n [title]=\"popOutButtonLabel\"></al-button>\n <p class=\"pop-out-message\" [innerHTML]=\"sanitizedMessage\"></p>\n <button type=\"button\" class=\"pop-out-close\"\n (click)=\"dismissPopOut()\" aria-label=\"Close pop-out panel\"><span\n class=\"material-icons-outlined\">close</span></button>\n </div>\n </div>\n <!-- Single body content slot - child component will handle 3-column layout internally -->\n <ng-content></ng-content>\n </div>\n </cdk-accordion-item></cdk-accordion></al-general-container><ng-template #headerButtonsTemplate\n let-buttons=\"buttons\" let-handleClick=\"handleClick\"><ng-container *ngFor=\"let btn of buttonConfig\"><al-button\n *ngIf=\"!btn.displayCondition || btn.displayCondition()\" [color]=\"btn.color\" [outline]=\"btn.outline\"\n [size]=\"btn.size\" [iconOutlined]=\"btn.iconOutlined\" [labelText]=\"btn.labelText\"\n [leftIcon]=\"getButtonIcons(btn).leftIcon\" [rightIcon]=\"getButtonIcons(btn).rightIcon\"\n [dataTestId]=\"btn.dataTestId\" [hasDropDown]=\"btn.hasDropDown\" [dropdownItems]=\"btn.dropdownItems\"\n [buttonType]=\"'icon-label'\" [iconOnly]=\"!btn.labelText\" [tooltip]=\"getButtonTooltip(btn)\"\n [tooltipPosition]=\"'above'\" (onClick)=\"onButtonClick(btn, $event)\"\n (optionSelect)=\"onDropdownSelect(btn, $event)\"></al-button></ng-container></ng-template><ng-template\n #eyeIconTemplate let-isHidden=\"isHidden\" let-accordionItem=\"accordionItem\" let-configEyeToggle=\"configEyeToggle\">\n <div class=\"mat-checkbox-margin align-center\"\n [attr.data-test-id]=\"isHidden ? 'section-show-eye-div' : 'section-hide-eye-div'\"\n style=\"display: flex; align-items: center; justify-content: center;\"><mat-icon\n class=\"delete-multiple mat-fab.mat-accent eye-icon\" [svgIcon]=\"isHidden ? 'visibility' : 'visibility_off'\"\n [matTooltip]=\"configEyeToggle?.tooltips?.[isHidden ? 'collapse' : 'expand'] || (isHidden ? 'Show Section' : 'Hide Section')\"\n [matTooltipPosition]=\"configEyeToggle?.tooltips?.position || 'above'\"\n [attr.aria-label]=\"configEyeToggle?.ariaLabels?.[isHidden ? 'collapsed' : 'expanded'] || (isHidden ? 'Show section' : 'Hide section')\"\n (click)=\"onEyeIconClick(isHidden, accordionItem, configEyeToggle)\"\n [attr.data-test-id]=\"isHidden ? 'section-show-eye-icon' : 'section-hide-eye-icon'\"\n style=\"cursor: pointer; display: inline-block; width: 24px; height: 24px; font-size: 24px; color: #717793;\"\n [style.opacity]=\"1\" [style.visibility]=\"'visible'\"></mat-icon></div>\n</ng-template>\n", styles: ["@charset \"UTF-8\";@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\";:root{--color-blue-50: #E5E9FC;--color-blue-100: #BBC7F6;--color-blue-200: #98ABF1;--color-blue-300: #768FED;--color-blue-400: #6581EA;--color-blue-500: #5473E8;--color-blue-600: #1E46DF;--color-blue-700: #0F236F;--color-blue-800: #071238;--color-blue-900: #04091C;--color-green-50: #D7F3F5;--color-green-100: #AFE6EB;--color-green-200: #87DAE2;--color-green-300: #5FCDD8;--color-green-400: #4BC7D3;--color-green-500: #37C1CE;--color-green-600: #299DA8;--color-green-700: #1F767E;--color-green-800: #154E54;--color-green-900: #0A272A;--color-grey-50: #FAFBFB;--color-grey-100: #ECEDF1;--color-grey-200: #DEE0E6;--color-grey-300: #D1D3DB;--color-grey-400: #C3C5D1;--color-grey-500: #A2A6B8;--color-grey-600: #717793;--color-grey-700: #4B4F62;--color-grey-800: #383B4A;--color-grey-900: #252831;--color-error-50: #FDEEF6;--color-error-100: #F9D4E8;--color-error-200: #F6BBDB;--color-error-300: #F2A1CD;--color-error-400: #EF87BF;--color-error-500: #E854A4;--color-error-600: #E22A8E;--color-error-700: #C31A75;--color-error-800: #99155C;--color-error-900: #6F0F43;--color-success-50: #E9F9F3;--color-success-100: #C8F1E3;--color-success-200: #9EE7CE;--color-success-300: #6EDDB7;--color-success-400: #3DD3A0;--color-success-500: #00AD83;--color-success-600: #009873;--color-success-700: #007F61;--color-success-800: #00654F;--color-success-900: #003D30;--color-blue: #5473E8;--color-blue-hover: #6581EA;--color-blue-active: #1E46DF;--color-green: #37C1CE;--color-green-hover: #4BC7D3;--color-green-active: #299DA8;--color-grey: #383B4A;--color-grey-hover: #4B4F62;--color-grey-active: #252831;--color-error: #E854A4;--color-error-hover: #EF87BF;--color-error-active: #E22A8E;--color-success: #00AD83;--color-success-hover: #009873;--color-success-active: #007F61;--color-disabled-bg: #D1D3DB;--color-disabled-text: #A2A6B8}.example-accordion-item-header{display:flex;align-items:center;cursor:pointer;width:100%}.example-accordion-item-header al-responsive-columns{width:100%;display:block}.example-accordion-item-header al-responsive-columns ::ng-deep .container{align-items:center;display:grid}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns{width:100%;display:block}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns ::ng-deep .container{align-items:center;display:grid;min-width:0;transition:grid-template-columns .2s ease}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns.input-focused ::ng-deep .container{grid-template-columns:1fr auto 32px!important}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns ::ng-deep .column{display:flex;align-items:center;min-width:0}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[left],.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[center],.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[right]{display:flex;align-items:center;width:100%;min-width:0}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[left]{flex-shrink:1;min-width:0;overflow:hidden;max-width:100%;transition:flex .2s ease,width .2s ease}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns.input-focused div[left],.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[left] .edit-input-group.input-focused{width:100%;min-width:0;max-width:none}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns ::ng-deep .column.left{min-width:0;overflow:hidden;max-width:100%;transition:flex .2s ease}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns.input-focused ::ng-deep .column.left{min-width:0;max-width:none;width:100%}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[center]{justify-content:flex-end;gap:8px;flex-shrink:0;flex-wrap:nowrap;display:flex;align-items:center}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[right]{flex-shrink:0}.example-accordion-item-body{width:100%}.example-accordion-item-body al-responsive-columns{width:100%;display:block}.toggle-button{border:none;background:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.toggle-button .material-icons-outlined{color:#717793}.example-accordion-item-header al-responsive-columns div[left]{display:flex;align-items:center;justify-content:center}.example-accordion-item-header al-responsive-columns div[right]{display:flex;align-items:center;justify-content:center;flex-shrink:0}.align-center{display:flex;align-items:center}.example-accordion-item-header{display:flex;justify-content:space-between;align-items:center;background:#ecedf1;gap:8px;border-bottom:2px solid #37c1ce;border-radius:8px;box-sizing:border-box}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:\"liga\";font-feature-settings:\"liga\";-webkit-font-smoothing:antialiased;color:#717793;width:24px;height:24px;cursor:pointer;transition:color .2s ease;font-variation-settings:\"FILL\" 0,\"wght\" 400,\"GRAD\" 0,\"opsz\" 20}.material-symbols-outlined:hover{color:#4b4f62;background-color:#bbc7f6;width:24px;height:24px;border-radius:4px}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns div[right]{display:flex;align-items:center;justify-content:center}.edit-input-group{display:flex;align-items:center;gap:4px;min-width:0;border-radius:4px;transition:background-color .2s ease,width .2s ease;padding:0 8px;flex-shrink:1;width:100%;max-width:100%;overflow:hidden;flex:1 1 0}.edit-input-group.input-focused{width:100%;flex:1 1 100%;min-width:0}.edit-input-group:hover{background-color:#d1d3db}.edit-input-group:has(input:focus):hover,.edit-input-group:focus-within:hover{background-color:transparent}.edit-input-group:has(input:focus) mat-icon.edit-icon,.edit-input-group:focus-within mat-icon.edit-icon{opacity:0;visibility:hidden}.hover-menu-container{position:relative;display:inline-block}.menu-trigger{display:flex;align-items:center;justify-content:center;padding:0 8px;cursor:pointer;z-index:10}.slide-out-panel{position:absolute;bottom:100%;right:0;background-color:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:10035;padding:8px;margin-bottom:6px;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;display:flex;flex-direction:row;gap:8px;flex-wrap:nowrap;white-space:nowrap;align-items:center}.slide-out-panel.visible{opacity:1;visibility:visible}.fit-panel{display:inline-flex;width:fit-content;background:none;gap:8px;align-items:center}.example-accordion-item-body .pop-out-panel{background-color:#717793;border-radius:12px;width:calc(100% - 30px);margin:8px auto;padding:12px 16px;position:relative;box-sizing:border-box}.pop-out-content{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:nowrap}.pop-out-content al-button{flex-shrink:0}.pop-out-content al-button .button-label{display:inline-block!important;visibility:visible!important;opacity:1!important}.pop-out-message{flex:1;color:#fff;font-size:12px;line-height:1.5;font-family:Roboto,sans-serif;font-weight:400;min-width:0;letter-spacing:.06px;margin:0}.pop-out-panel.pop-out-narrow .pop-out-content{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;gap:8px}.pop-out-panel.pop-out-narrow .pop-out-content al-button{grid-column:1;grid-row:1;justify-self:start}.pop-out-panel.pop-out-narrow .pop-out-content .pop-out-close{grid-column:1;grid-row:1;justify-self:end}.pop-out-panel.pop-out-narrow .pop-out-message{grid-column:1;grid-row:2;flex:none;width:100%}.pop-out-message ::ng-deep a,.pop-out-link{color:var(--Base-Blue, #5473E8);font-family:Roboto;font-size:12px;font-style:normal;font-weight:400;line-height:136%;letter-spacing:.06px;cursor:pointer}.pop-out-message ::ng-deep a:hover,.pop-out-link:hover{color:#6581ea}.pop-out-close{background:transparent;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;color:#6b7280;transition:color .2s ease}.pop-out-close:hover{color:#374151}.pop-out-close .material-icons-outlined{font-size:20px;width:20px;height:20px;color:#fff}.edit-input-group .content_width{flex:1 1 0;min-width:0;max-width:450px;overflow:hidden;display:flex;align-items:center;transition:flex .2s ease,width .2s ease}.edit-input-group.input-focused .content_width{flex:1 1 100%;width:100%;min-width:0}.title-text{font-size:16px;font-weight:400;color:#383b4a;font-family:Roboto,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:4px;flex-shrink:1;min-width:0;max-width:100%;cursor:pointer}.title-input{font-size:16px;font-weight:400;font-family:Roboto,sans-serif;border:none;outline:none;padding:0;margin:0 4px 0 0;flex-shrink:1;min-width:100px;max-width:100%;box-sizing:border-box;width:100%;transition:width .2s ease}.title-input:focus{width:100%;min-width:100%;flex:1 1 100%}.title-input.onfocus-input-text{height:28px;background:#f4f8fc;border-radius:5px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.title-input.focusout-input-text{color:#383b4a;background:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.title-input:focus{outline:none;border:none;box-shadow:none}.example-accordion-item-header al-responsive-columns div[center] al-responsive-columns ::ng-deep .column.left{min-width:0;overflow:visible}.edit-input-group mat-icon.edit-icon{opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;cursor:pointer;border-radius:4px;flex-shrink:0;min-width:16px;width:16px;height:16px;font-size:16px;display:inline-flex;align-items:center;justify-content:center;color:#717793}.edit-input-group:hover mat-icon.edit-icon{opacity:1;visibility:visible}.hide-header-title mat-icon.edit-icon{display:none}.hide-header-title .edit-input-group{cursor:default;opacity:.7}.hide-header-title .edit-input-group:hover{background-color:transparent}.hide-header-title .title-text{cursor:default;pointer-events:none}.header-text-turncate{font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:#a2a6b8;line-height:28px;font-family:Roboto,sans-serif;cursor:default}.hidden-section-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.hidden-write{color:#a2a6b8;font-weight:400;font-family:Roboto,sans-serif;white-space:nowrap}.example-accordion-item-header.header-hidden{opacity:.7}.mat-checkbox-margin{margin-left:8px}\n"] }]
2018
2049
  }], ctorParameters: () => [{ type: i2.DomSanitizer }, { type: i0.ChangeDetectorRef }, { type: i1.MatIconRegistry }], propDecorators: { title: [{
2019
2050
  type: Input
2020
2051
  }], showHeaderCheckbox: [{
@@ -2064,6 +2095,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2064
2095
  }], generalContainer: [{
2065
2096
  type: ViewChild,
2066
2097
  args: ['generalContainer', { read: ElementRef }]
2098
+ }], popOutPanel: [{
2099
+ type: ViewChild,
2100
+ args: ['popOutPanel', { read: ElementRef }]
2067
2101
  }] } });
2068
2102
 
2069
2103
  class NewResumeHeaderModule {
@@ -3408,11 +3442,11 @@ class TableComponent {
3408
3442
  }
3409
3443
  }
3410
3444
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableComponent, deps: [{ token: i1.MatIconRegistry }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
3411
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TableComponent, isStandalone: true, selector: "app-table", inputs: { getEditorElement: "getEditorElement", saveHistoryMethod: "saveHistoryMethod", textChangeMethod: "textChangeMethod" }, ngImport: i0, template: "<div class=\"table-controls\"><button class=\"format-button table-button\" (click)=\"toggleTableDropdown()\"\n title=\"Table Operations\" type=\"button\"><mat-icon svgIcon=\"table\" class=\"table-icon\"></mat-icon></button>\n <div *ngIf=\"showTableDropdown\" class=\"table-dropdown\">\n <div class=\"table-row\"><button type=\"button\" class=\"table-btn\" (click)=\"addTable($event)\" title=\"Add table\"\n matTooltip=\"Add Table\" matTooltipPosition=\"above\"><mat-icon svgIcon=\"add-table\"></mat-icon></button><button\n type=\"button\" class=\"table-btn\" (click)=\"deleteTable($event)\" title=\"Delete table\" matTooltip=\"Delete Table\"\n matTooltipPosition=\"above\"><mat-icon svgIcon=\"delete-table\"></mat-icon></button><button type=\"button\"\n class=\"table-btn\" (click)=\"addColumnLeft($event)\" title=\"Column left\" matTooltip=\"Add Column Left\"\n matTooltipPosition=\"above\"><mat-icon svgIcon=\"column-left\"></mat-icon></button><button type=\"button\"\n class=\"table-btn\" (click)=\"addColumnRight($event)\" title=\"Column right\" matTooltip=\"Add Column Right\"\n matTooltipPosition=\"above\"><mat-icon svgIcon=\"column-right\"></mat-icon></button></div>\n <div class=\"table-row\"><button type=\"button\" class=\"table-btn\" (click)=\"addRowAbove($event)\" title=\"Row top\"\n matTooltip=\"Add Row Above\" matTooltipPosition=\"above\"><mat-icon svgIcon=\"row-top\"></mat-icon></button><button type=\"button\" class=\"table-btn\"\n (click)=\"addRowBelow($event)\" title=\"Row bottom\" matTooltip=\"Add Row Below\" matTooltipPosition=\"above\"><mat-icon svgIcon=\"row-bottom\"></mat-icon></button><button type=\"button\" class=\"table-btn\"\n (click)=\"deleteCurrentRow($event)\" title=\"Delete row\" matTooltip=\"Delete Current Row\"\n matTooltipPosition=\"above\"><mat-icon svgIcon=\"delete-row\"></mat-icon></button><button\n type=\"button\" class=\"table-btn\" (click)=\"deleteCurrentColumn($event)\" title=\"Delete column\"\n matTooltip=\"Delete Current Column\" matTooltipPosition=\"above\"><mat-icon\n svgIcon=\"delete-column\"></mat-icon></button></div>\n </div>\n</div>", styles: [".table-controls{position:relative;display:inline-block}.table-dropdown{position:absolute;top:100%;left:0;background-color:#fff;flex-direction:column;width:auto;border-radius:4px;box-shadow:0 2px 4px #182b7d26;z-index:1000;min-width:140px;padding:8px;margin-top:4px}.table-row{display:flex;gap:6px}.table-row:last-child{margin-bottom:0}.table-btn{display:flex;align-items:center;justify-content:center;background-color:#fff;width:28px;height:28px;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease;padding:0}.table-btn .material-icons,.table-btn mat-icon{font-size:20px;color:#717793;width:20px;height:20px}.table-button mat-icon,.table-button .table-icon{font-size:20px;width:20px;height:20px;color:#4b4f62;display:inline-block}.table-button mat-icon svg{width:100%;height:100%}.table-button{position:relative}@import url(https://fonts.googleapis.com/icon?family=Material+Icons);\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
3445
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TableComponent, isStandalone: true, selector: "app-table", inputs: { getEditorElement: "getEditorElement", saveHistoryMethod: "saveHistoryMethod", textChangeMethod: "textChangeMethod" }, ngImport: i0, template: "<div class=\"table-controls\"><button class=\"format-button table-button\" (click)=\"toggleTableDropdown()\"\n title=\"Table Operations\" type=\"button\"><mat-icon svgIcon=\"table\" class=\"table-icon\"></mat-icon></button>\n <div *ngIf=\"showTableDropdown\" class=\"table-dropdown\">\n <div class=\"table-row\"><button type=\"button\" class=\"table-btn\" (click)=\"addTable($event)\" title=\"Add table\"\n matTooltip=\"Add Table\" matTooltipPosition=\"above\"><mat-icon svgIcon=\"add-table\"></mat-icon></button><button\n type=\"button\" class=\"table-btn\" (click)=\"deleteTable($event)\" title=\"Delete table\" matTooltip=\"Delete Table\"\n matTooltipPosition=\"above\"><mat-icon svgIcon=\"delete-table\"></mat-icon></button><button type=\"button\"\n class=\"table-btn\" (click)=\"addColumnLeft($event)\" title=\"Column left\" matTooltip=\"Add Column Left\"\n matTooltipPosition=\"above\"><mat-icon svgIcon=\"column-left\"></mat-icon></button><button type=\"button\"\n class=\"table-btn\" (click)=\"addColumnRight($event)\" title=\"Column right\" matTooltip=\"Add Column Right\"\n matTooltipPosition=\"above\"><mat-icon svgIcon=\"column-right\"></mat-icon></button></div>\n <div class=\"table-row\"><button type=\"button\" class=\"table-btn\" (click)=\"addRowAbove($event)\" title=\"Row top\"\n matTooltip=\"Add Row Above\" matTooltipPosition=\"above\"><mat-icon svgIcon=\"row-top\"></mat-icon></button><button type=\"button\" class=\"table-btn\"\n (click)=\"addRowBelow($event)\" title=\"Row bottom\" matTooltip=\"Add Row Below\" matTooltipPosition=\"above\"><mat-icon svgIcon=\"row-bottom\"></mat-icon></button><button type=\"button\" class=\"table-btn\"\n (click)=\"deleteCurrentRow($event)\" title=\"Delete row\" matTooltip=\"Delete Current Row\"\n matTooltipPosition=\"above\"><mat-icon svgIcon=\"delete-row\"></mat-icon></button><button\n type=\"button\" class=\"table-btn\" (click)=\"deleteCurrentColumn($event)\" title=\"Delete column\"\n matTooltip=\"Delete Current Column\" matTooltipPosition=\"above\"><mat-icon\n svgIcon=\"delete-column\"></mat-icon></button></div>\n </div>\n</div>", styles: [".table-controls{position:relative;display:flex}.table-dropdown{position:absolute;top:100%;left:0;background-color:#fff;flex-direction:column;width:auto;border-radius:4px;box-shadow:0 2px 4px #182b7d26;z-index:1000;min-width:140px;padding:8px;margin-top:4px}.table-row{display:flex;gap:6px}.table-row:last-child{margin-bottom:0}.table-btn{display:flex;align-items:center;justify-content:center;background-color:#fff;width:28px;height:28px;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease;padding:0}.table-btn .material-icons,.table-btn mat-icon{font-size:20px;color:#717793;width:20px;height:20px}.table-button mat-icon,.table-button .table-icon{font-size:20px;width:20px;height:20px;color:#4b4f62;display:inline-block}.table-button mat-icon svg{width:100%;height:100%}.table-button{position:relative}@import url(https://fonts.googleapis.com/icon?family=Material+Icons);\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
3412
3446
  }
3413
3447
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableComponent, decorators: [{
3414
3448
  type: Component,
3415
- args: [{ selector: 'app-table', standalone: true, imports: [CommonModule, MatTooltipModule, MatIconModule], template: "<div class=\"table-controls\"><button class=\"format-button table-button\" (click)=\"toggleTableDropdown()\"\n title=\"Table Operations\" type=\"button\"><mat-icon svgIcon=\"table\" class=\"table-icon\"></mat-icon></button>\n <div *ngIf=\"showTableDropdown\" class=\"table-dropdown\">\n <div class=\"table-row\"><button type=\"button\" class=\"table-btn\" (click)=\"addTable($event)\" title=\"Add table\"\n matTooltip=\"Add Table\" matTooltipPosition=\"above\"><mat-icon svgIcon=\"add-table\"></mat-icon></button><button\n type=\"button\" class=\"table-btn\" (click)=\"deleteTable($event)\" title=\"Delete table\" matTooltip=\"Delete Table\"\n matTooltipPosition=\"above\"><mat-icon svgIcon=\"delete-table\"></mat-icon></button><button type=\"button\"\n class=\"table-btn\" (click)=\"addColumnLeft($event)\" title=\"Column left\" matTooltip=\"Add Column Left\"\n matTooltipPosition=\"above\"><mat-icon svgIcon=\"column-left\"></mat-icon></button><button type=\"button\"\n class=\"table-btn\" (click)=\"addColumnRight($event)\" title=\"Column right\" matTooltip=\"Add Column Right\"\n matTooltipPosition=\"above\"><mat-icon svgIcon=\"column-right\"></mat-icon></button></div>\n <div class=\"table-row\"><button type=\"button\" class=\"table-btn\" (click)=\"addRowAbove($event)\" title=\"Row top\"\n matTooltip=\"Add Row Above\" matTooltipPosition=\"above\"><mat-icon svgIcon=\"row-top\"></mat-icon></button><button type=\"button\" class=\"table-btn\"\n (click)=\"addRowBelow($event)\" title=\"Row bottom\" matTooltip=\"Add Row Below\" matTooltipPosition=\"above\"><mat-icon svgIcon=\"row-bottom\"></mat-icon></button><button type=\"button\" class=\"table-btn\"\n (click)=\"deleteCurrentRow($event)\" title=\"Delete row\" matTooltip=\"Delete Current Row\"\n matTooltipPosition=\"above\"><mat-icon svgIcon=\"delete-row\"></mat-icon></button><button\n type=\"button\" class=\"table-btn\" (click)=\"deleteCurrentColumn($event)\" title=\"Delete column\"\n matTooltip=\"Delete Current Column\" matTooltipPosition=\"above\"><mat-icon\n svgIcon=\"delete-column\"></mat-icon></button></div>\n </div>\n</div>", styles: [".table-controls{position:relative;display:inline-block}.table-dropdown{position:absolute;top:100%;left:0;background-color:#fff;flex-direction:column;width:auto;border-radius:4px;box-shadow:0 2px 4px #182b7d26;z-index:1000;min-width:140px;padding:8px;margin-top:4px}.table-row{display:flex;gap:6px}.table-row:last-child{margin-bottom:0}.table-btn{display:flex;align-items:center;justify-content:center;background-color:#fff;width:28px;height:28px;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease;padding:0}.table-btn .material-icons,.table-btn mat-icon{font-size:20px;color:#717793;width:20px;height:20px}.table-button mat-icon,.table-button .table-icon{font-size:20px;width:20px;height:20px;color:#4b4f62;display:inline-block}.table-button mat-icon svg{width:100%;height:100%}.table-button{position:relative}@import url(https://fonts.googleapis.com/icon?family=Material+Icons);\n"] }]
3449
+ args: [{ selector: 'app-table', standalone: true, imports: [CommonModule, MatTooltipModule, MatIconModule], template: "<div class=\"table-controls\"><button class=\"format-button table-button\" (click)=\"toggleTableDropdown()\"\n title=\"Table Operations\" type=\"button\"><mat-icon svgIcon=\"table\" class=\"table-icon\"></mat-icon></button>\n <div *ngIf=\"showTableDropdown\" class=\"table-dropdown\">\n <div class=\"table-row\"><button type=\"button\" class=\"table-btn\" (click)=\"addTable($event)\" title=\"Add table\"\n matTooltip=\"Add Table\" matTooltipPosition=\"above\"><mat-icon svgIcon=\"add-table\"></mat-icon></button><button\n type=\"button\" class=\"table-btn\" (click)=\"deleteTable($event)\" title=\"Delete table\" matTooltip=\"Delete Table\"\n matTooltipPosition=\"above\"><mat-icon svgIcon=\"delete-table\"></mat-icon></button><button type=\"button\"\n class=\"table-btn\" (click)=\"addColumnLeft($event)\" title=\"Column left\" matTooltip=\"Add Column Left\"\n matTooltipPosition=\"above\"><mat-icon svgIcon=\"column-left\"></mat-icon></button><button type=\"button\"\n class=\"table-btn\" (click)=\"addColumnRight($event)\" title=\"Column right\" matTooltip=\"Add Column Right\"\n matTooltipPosition=\"above\"><mat-icon svgIcon=\"column-right\"></mat-icon></button></div>\n <div class=\"table-row\"><button type=\"button\" class=\"table-btn\" (click)=\"addRowAbove($event)\" title=\"Row top\"\n matTooltip=\"Add Row Above\" matTooltipPosition=\"above\"><mat-icon svgIcon=\"row-top\"></mat-icon></button><button type=\"button\" class=\"table-btn\"\n (click)=\"addRowBelow($event)\" title=\"Row bottom\" matTooltip=\"Add Row Below\" matTooltipPosition=\"above\"><mat-icon svgIcon=\"row-bottom\"></mat-icon></button><button type=\"button\" class=\"table-btn\"\n (click)=\"deleteCurrentRow($event)\" title=\"Delete row\" matTooltip=\"Delete Current Row\"\n matTooltipPosition=\"above\"><mat-icon svgIcon=\"delete-row\"></mat-icon></button><button\n type=\"button\" class=\"table-btn\" (click)=\"deleteCurrentColumn($event)\" title=\"Delete column\"\n matTooltip=\"Delete Current Column\" matTooltipPosition=\"above\"><mat-icon\n svgIcon=\"delete-column\"></mat-icon></button></div>\n </div>\n</div>", styles: [".table-controls{position:relative;display:flex}.table-dropdown{position:absolute;top:100%;left:0;background-color:#fff;flex-direction:column;width:auto;border-radius:4px;box-shadow:0 2px 4px #182b7d26;z-index:1000;min-width:140px;padding:8px;margin-top:4px}.table-row{display:flex;gap:6px}.table-row:last-child{margin-bottom:0}.table-btn{display:flex;align-items:center;justify-content:center;background-color:#fff;width:28px;height:28px;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease;padding:0}.table-btn .material-icons,.table-btn mat-icon{font-size:20px;color:#717793;width:20px;height:20px}.table-button mat-icon,.table-button .table-icon{font-size:20px;width:20px;height:20px;color:#4b4f62;display:inline-block}.table-button mat-icon svg{width:100%;height:100%}.table-button{position:relative}@import url(https://fonts.googleapis.com/icon?family=Material+Icons);\n"] }]
3416
3450
  }], ctorParameters: () => [{ type: i1.MatIconRegistry }, { type: i2.DomSanitizer }], propDecorators: { getEditorElement: [{
3417
3451
  type: Input
3418
3452
  }], saveHistoryMethod: [{
@@ -3953,6 +3987,7 @@ class CustomEditorComponent {
3953
3987
  this.hideTableOption = false;
3954
3988
  this.hideAutoBulletOption = false;
3955
3989
  this.hideAIOption = false;
3990
+ this.showAIButton = true;
3956
3991
  // Table visibility control
3957
3992
  this.showTable = true;
3958
3993
  this.contentChangeFromQuill = new EventEmitter();
@@ -4057,9 +4092,9 @@ class CustomEditorComponent {
4057
4092
  const content = this.initialValue || this.contentFromParent || '<p>Start typing here...</p>';
4058
4093
  this.editorReference.nativeElement.innerHTML = content;
4059
4094
  }
4060
- // Check initial screen size
4095
+ // Check initial size based on container width
4061
4096
  this.checkScreenSize();
4062
- // Add resize listener
4097
+ // Add window resize listener as a fallback (container-based logic is in ResizeObserver)
4063
4098
  window.addEventListener('resize', () => this.checkScreenSize());
4064
4099
  // Add click outside listener to close dropdowns
4065
4100
  document.addEventListener('click', this.handleClickOutside.bind(this));
@@ -4170,6 +4205,17 @@ class CustomEditorComponent {
4170
4205
  sel?.addRange(range);
4171
4206
  this.assignUniqueIdAndStyle();
4172
4207
  this.saveHistory();
4208
+ // Observe container size so we can switch layout based on container width, not screen width
4209
+ if (this.editorContainer?.nativeElement && typeof ResizeObserver !== 'undefined') {
4210
+ this.resizeObserver = new ResizeObserver(() => {
4211
+ this.checkScreenSize();
4212
+ });
4213
+ this.resizeObserver.observe(this.editorContainer.nativeElement);
4214
+ }
4215
+ else {
4216
+ // Fallback check
4217
+ this.checkScreenSize();
4218
+ }
4173
4219
  }
4174
4220
  onClick() {
4175
4221
  setTimeout(() => this.assignUniqueIdAndStyle(), 0);
@@ -4204,6 +4250,10 @@ class CustomEditorComponent {
4204
4250
  ngOnDestroy() {
4205
4251
  window.removeEventListener('resize', () => this.checkScreenSize());
4206
4252
  document.removeEventListener('click', this.handleClickOutside.bind(this));
4253
+ if (this.resizeObserver) {
4254
+ this.resizeObserver.disconnect();
4255
+ this.resizeObserver = undefined;
4256
+ }
4207
4257
  if (this.stylingDropdownTimeout) {
4208
4258
  clearTimeout(this.stylingDropdownTimeout);
4209
4259
  }
@@ -4219,7 +4269,17 @@ class CustomEditorComponent {
4219
4269
  }
4220
4270
  // Responsive methods
4221
4271
  checkScreenSize() {
4222
- this.isSmallScreen = window.innerWidth < 1500;
4272
+ let width = 0;
4273
+ if (this.editorContainer?.nativeElement) {
4274
+ const el = this.editorContainer.nativeElement;
4275
+ width = el.offsetWidth || el.clientWidth || 0;
4276
+ }
4277
+ // Fallback to window width if container width is not available
4278
+ if (!width && typeof window !== 'undefined') {
4279
+ width = window.innerWidth;
4280
+ }
4281
+ // Small layout when container width is below 500px
4282
+ this.isSmallScreen = width < 500;
4223
4283
  }
4224
4284
  // Handle text formatting button clicks
4225
4285
  handleTextFormattingClick(event, item) {
@@ -4976,7 +5036,11 @@ class CustomEditorComponent {
4976
5036
  updateAIToolInMemory(tool) {
4977
5037
  }
4978
5038
  useAITool(event) {
4979
- console.warn('AI services not available');
5039
+ event.preventDefault();
5040
+ this.ApplyAIinQuill.emit({
5041
+ content: this.editorReference.nativeElement.innerHTML,
5042
+ editorId: this.editorId
5043
+ });
4980
5044
  }
4981
5045
  processExperienceData(processableData) {
4982
5046
  processableData.selectedValue = this.formJsonData?.value?.selectedValue;
@@ -5047,11 +5111,11 @@ class CustomEditorComponent {
5047
5111
  this.useAITool(event);
5048
5112
  }
5049
5113
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomEditorComponent, deps: [{ token: Renderer2 }, { token: i1.MatIconRegistry }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
5050
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CustomEditorComponent, isStandalone: true, selector: "app-custom-editor", inputs: { bold: "bold", italic: "italic", underline: "underline", list: "list", isVisible: "isVisible", dataTestId: "dataTestId", showLabels: "showLabels", leftLabelText: "leftLabelText", rightLabelText: "rightLabelText", initialValue: "initialValue", contentFromParent: "contentFromParent", editScreenSection: "editScreenSection", actionType: "actionType", historyControls: "historyControls", autobullet: "autobullet", skillsBullet: "skillsBullet", jsonData: "jsonData", formJsonData: "formJsonData", editorId: "editorId", sectionId: "sectionId", actionId: "actionId", undoCustom: "undoCustom", redoCustom: "redoCustom", undoSkill: "undoSkill", redoSkill: "redoSkill", matOptionAI: "matOptionAI", hideTableOption: "hideTableOption", hideAutoBulletOption: "hideAutoBulletOption", hideAIOption: "hideAIOption", insertTablebtn: "insertTablebtn", insertRowAbovebtn: "insertRowAbovebtn", insertRowBelowbtn: "insertRowBelowbtn", insertColumnLeftbtn: "insertColumnLeftbtn", insertColumnRightbtn: "insertColumnRightbtn", deleteTablebtn: "deleteTablebtn", deleteRowAbovebtn: "deleteRowAbovebtn", deleteRowBelowbtn: "deleteRowBelowbtn", deleteColumnLeftbtn: "deleteColumnLeftbtn", deleteColumnRightbtn: "deleteColumnRightbtn", showTable: "showTable", toolbarConfig: "toolbarConfig", textFormattingConfig: "textFormattingConfig" }, outputs: { contentChangeFromQuill: "contentChangeFromQuill", ApplyAIinQuill: "ApplyAIinQuill" }, host: { listeners: { "click": "onClick()" } }, viewQueries: [{ propertyName: "editorReference", first: true, predicate: ["editorReference"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<!-- Editor Labels Section -->\n<div class=\"editor-labels\" *ngIf=\"showLabels\">\n <div class=\"left-label\">{{ leftLabelText }}</div>\n <div class=\"right-label\">{{ rightLabelText }}</div>\n</div>\n<div class=\"editor-container\">\n <!-- Toolbar Section -->\n <div class=\"toolbar\">\n <!-- Styling Dropdown (Small Screens Only) -->\n <div class=\"styling-dropdown\" *ngIf=\"isSmallScreen\">\n <span class=\"styling-text\" (mouseenter)=\"showStylingDropdownOnHover()\" (mouseleave)=\"hideStylingDropdown()\">\n Styling\n </span>\n\n <div class=\"styling-dropdown-content\" *ngIf=\"showStylingDropdown\" (mouseenter)=\"clearStylingDropdownTimeout()\"\n (mouseleave)=\"hideStylingDropdown()\">\n <button *ngFor=\"let item of toolbarConfig\" class=\"format-button\" [class.active]=\"getActiveState(item.type)\"\n (click)=\"execCmd($event, item.command)\" [title]=\"item.title\" type=\"button\">\n <mat-icon *ngIf=\"isSvgIcon(item.icon)\" [svgIcon]=\"item.icon\"\n [class.active-icon]=\"getActiveState(item.type)\"></mat-icon>\n <span *ngIf=\"!isSvgIcon(item.icon)\" class=\"material-icons\" [class.active-icon]=\"getActiveState(item.type)\">\n {{ item.icon }}\n </span>\n </button>\n </div>\n </div>\n\n <!-- Individual Styling Buttons (Large Screens Only) -->\n <button *ngFor=\"let item of toolbarConfig\" class=\"format-button\" [class.active]=\"getActiveState(item.type)\"\n [class.hide-on-small]=\"true\" (click)=\"execCmd($event, item.command)\" [title]=\"item.title\" type=\"button\"\n [matTooltip]=\"item.title\" matTooltipPosition=\"above\">\n <mat-icon *ngIf=\"isSvgIcon(item.icon)\" [svgIcon]=\"item.icon\"\n [class.active-icon]=\"getActiveState(item.type)\"></mat-icon>\n <span *ngIf=\"!isSvgIcon(item.icon)\" class=\"material-icons\" [class.active-icon]=\"getActiveState(item.type)\">\n {{ item.icon }}\n </span>\n </button>\n\n <!-- Text Formatting Dropdown (Small Screens Only) -->\n <div class=\"text-formatting-dropdown\" *ngIf=\"isSmallScreen\">\n <span class=\"text-formatting-text\" (mouseenter)=\"showTextFormattingDropdownOnHover()\"\n (mouseleave)=\"hideTextFormattingDropdown()\">\n Text Formatting\n </span>\n\n <div class=\"text-formatting-dropdown-content\" *ngIf=\"showTextFormattingDropdown\"\n (mouseenter)=\"clearTextFormattingDropdownTimeout()\" (mouseleave)=\"hideTextFormattingDropdown()\">\n\n <!-- Text Formatting Buttons -->\n <button *ngFor=\"let item of textFormattingConfig\" class=\"format-button\"\n [class.active]=\"getActiveState(item.type)\" (click)=\"handleTextFormattingClick($event, item)\"\n [title]=\"item.title\" type=\"button\">\n <mat-icon *ngIf=\"isSvgIcon(item.icon)\" [svgIcon]=\"item.icon\"\n [class.active-icon]=\"getActiveState(item.type)\"></mat-icon>\n <span *ngIf=\"!isSvgIcon(item.icon)\" class=\"material-icons\" [class.active-icon]=\"getActiveState(item.type)\">\n {{ item.icon }}\n </span>\n </button>\n\n <!-- Table Component (Small Screens Only) -->\n <app-table *ngIf=\"showTable\" [getEditorElement]=\"getBoundGetEditorElement()\"\n [saveHistoryMethod]=\"getBoundSaveHistory()\" [textChangeMethod]=\"getBoundTextChange()\">\n </app-table>\n\n <!-- Auto Bullet Button -->\n <button *ngIf=\"autobullet\" class=\"ms-3 auto-bullet\" mat-flat-button (click)=\"transformToBullets($event)\"\n [disabled]=\"autoBulletDisable || isLoadingAI || !checkHtmlContent('')\">\n {{ AutoBulletButton }}\n </button>\n\n <!-- Bullet Skill Button -->\n <button *ngIf=\"skillsBullet\" class=\"ms-3 bullet-skill\" mat-flat-button\n (click)=\"transformToSkillsBullets($event)\" [disabled]=\"isDisabled || isLoadingAI\">\n {{ skillsButton }}\n </button>\n </div>\n </div>\n\n <!-- Individual Text Formatting Buttons (Large Screens Only) -->\n <button *ngFor=\"let item of textFormattingConfig\" class=\"format-button\" [class.active]=\"getActiveState(item.type)\"\n [class.hide-on-small]=\"true\" (click)=\"handleTextFormattingClick($event, item)\" [title]=\"item.title\" type=\"button\"\n [matTooltip]=\"item.title\" matTooltipPosition=\"above\">\n <mat-icon *ngIf=\"isSvgIcon(item.icon)\" [svgIcon]=\"item.icon\"\n [class.active-icon]=\"getActiveState(item.type)\"></mat-icon>\n <span *ngIf=\"!isSvgIcon(item.icon)\" class=\"material-icons\" [class.active-icon]=\"getActiveState(item.type)\">\n {{ item.icon }}\n </span>\n </button>\n\n <!-- Table Component (Large Screens Only) -->\n <app-table *ngIf=\"showTable && !isSmallScreen\" [getEditorElement]=\"getBoundGetEditorElement()\"\n [saveHistoryMethod]=\"getBoundSaveHistory()\" [textChangeMethod]=\"getBoundTextChange()\" matTooltip=\"Table\"\n matTooltipPosition=\"above\">\n </app-table>\n\n <!-- Auto Bullet Button (Large Screens Only) -->\n <button *ngIf=\"autobullet && !isSmallScreen\" class=\"ms-3 auto-bullet\" mat-flat-button\n (click)=\"transformToBullets($event)\" [disabled]=\"autoBulletDisable || isLoadingAI || !checkHtmlContent('')\">\n {{ AutoBulletButton }}\n </button>\n\n <!-- Bullet Skill Button (Large Screens Only) -->\n <button *ngIf=\"skillsBullet && !isSmallScreen\" class=\"ms-3 bullet-skill\" mat-flat-button\n (click)=\"transformToSkillsBullets($event)\" [disabled]=\"isDisabled || isLoadingAI\">\n {{ skillsButton }}\n </button>\n\n <!-- History Controls (Undo/Redo) -->\n <div *ngIf=\"historyControls\" class=\"history-controls\">\n <!-- Undo Button -->\n <button class=\"ms-3 format-button\" (click)=\"execCmd($event, 'undo')\" title=\"Undo\" type=\"button\" matTooltip=\"Undo\"\n matTooltipPosition=\"above\">\n <span class=\"material-icons\" [class.active-icon]=\"getActiveState('undo')\">\n undo\n </span>\n </button>\n\n <!-- Redo Button -->\n <button class=\"ms-3 format-button\" (click)=\"execCmd($event, 'redo')\" title=\"Redo\" type=\"button\" matTooltip=\"Redo\"\n matTooltipPosition=\"above\">\n <span class=\"material-icons\" [class.active-icon]=\"getActiveState('redo')\">\n redo\n </span>\n </button>\n </div>\n </div>\n\n <!-- Editor Content Area -->\n <div class=\"editor-content\" #editorReference contenteditable=\"true\" [id]=\"editorId\" (click)=\"updateTagHierarchy()\"\n (input)=\"onEditorInput()\" (paste)=\"handlePaste($event)\" (keydown)=\"handleKeydown($event)\"\n (click)=\"toggleDiv($event, true)\" spellcheck=\"false\" role=\"textbox\" aria-label=\"Rich text editor\"\n aria-multiline=\"true\" [attr.data-testid]=\"dataTestId\">\n </div>\n</div>", styles: ["@import\"https://fonts.googleapis.com/icon?family=Material+Icons\";@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\";.weight-light{font-weight:300}.weight-regular{font-weight:400}.weight-medium{font-weight:500}.weight-semibold{font-weight:600}.weight-bold{font-weight:700}.line-height-none{line-height:1!important}.line-height-tight{line-height:1.2!important}.line-height-normal{line-height:1.4!important}.letter-spacing-normal{letter-spacing:0!important}.letter-spacing-wide{letter-spacing:.1em!important}.letter-spacing-wider{letter-spacing:.2em!important}.text-decoration-none{text-decoration:none!important;font-style:normal!important}.text-decoration-underline{text-decoration:underline!important;font-style:normal!important}.text-decoration-italic{text-decoration:none!important;font-style:italic!important}.text-decoration-strike{text-decoration:line-through!important;font-style:normal!important}.font-text-5xl{font-size:2rem;line-height:1.2;letter-spacing:-.1px;font-weight:400;color:#4b4f62}.font-text-5xl-medium{font-size:2rem;line-height:1.2;letter-spacing:-.1px;font-weight:500;color:#4b4f62}.font-text-5xl-bold{font-size:2rem;line-height:1.2;letter-spacing:-.1px;font-weight:700;color:#4b4f62}.font-text-4xl{font-size:1.75rem;line-height:1.2;letter-spacing:-.1px;font-weight:400;color:#4b4f62}.font-text-4xl-medium{font-size:1.75rem;line-height:1.2;letter-spacing:-.1px;font-weight:500;color:#4b4f62}.font-text-4xl-bold{font-size:1.75rem;line-height:1.2;letter-spacing:-.1px;font-weight:700;color:#4b4f62}.font-text-3xl{font-size:1.5rem;line-height:1.2;letter-spacing:-.1px;font-weight:400;color:#4b4f62}.font-text-3xl-medium{font-size:1.5rem;line-height:1.2;letter-spacing:-.1px;font-weight:500;color:#4b4f62}.font-text-3xl-bold{font-size:1.5rem;line-height:1.2;letter-spacing:-.1px;font-weight:700;color:#4b4f62}.font-text-2xl{font-size:1.375rem;line-height:1.2;letter-spacing:-.1px;font-weight:400;color:#4b4f62}.font-text-2xl-medium{font-size:1.375rem;line-height:1.2;letter-spacing:-.1px;font-weight:500;color:#4b4f62}.font-text-2xl-bold{font-size:1.375rem;line-height:1.2;letter-spacing:-.1px;font-weight:700;color:#4b4f62}.font-text-xl{font-size:1.25rem;line-height:1.2;letter-spacing:-.1px;font-weight:400;color:#4b4f62}.font-text-xl-medium{font-size:1.25rem;line-height:1.2;letter-spacing:-.1px;font-weight:500;color:#4b4f62}.font-text-xl-bold{font-size:1.25rem;line-height:1.2;letter-spacing:-.1px;font-weight:700;color:#4b4f62}.font-text-lg{font-size:1rem;line-height:1.4;letter-spacing:.25px;font-weight:400;color:#4b4f62}.font-text-lg-medium{font-size:1rem;line-height:1.4;letter-spacing:.25px;font-weight:500;color:#4b4f62}.font-text-lg-bold{font-size:1rem;line-height:1.4;letter-spacing:.25px;font-weight:700;color:#4b4f62}.font-text-base{font-size:.875rem;line-height:1.4;letter-spacing:.25px;font-weight:400;color:#4b4f62}.font-text-base-medium{font-size:.875rem;line-height:1.4;letter-spacing:.25px;font-weight:500;color:#4b4f62}.font-text-base-bold{font-size:.875rem;line-height:1.4;letter-spacing:.25px;font-weight:700;color:#4b4f62}.font-text-sm{font-size:.75rem;line-height:1.4;letter-spacing:.5px;font-weight:400;color:#4b4f62}.font-text-sm-medium{font-size:.75rem;line-height:1.4;letter-spacing:.5px;font-weight:500;color:#4b4f62}.font-text-sm-bold{font-size:.75rem;line-height:1.4;letter-spacing:.5px;font-weight:700;color:#4b4f62}.font-text-xs{font-size:.625rem;line-height:1.4;letter-spacing:.5px;font-weight:400;color:#4b4f62}.font-text-xs-medium{font-size:.625rem;line-height:1.4;letter-spacing:.5px;font-weight:500;color:#4b4f62}.font-text-xs-bold{font-size:.625rem;line-height:1.4;letter-spacing:.5px;font-weight:700;color:#4b4f62}:root{--color-blue-50: #E5E9FC;--color-blue-100: #BBC7F6;--color-blue-200: #98ABF1;--color-blue-300: #768FED;--color-blue-400: #6581EA;--color-blue-500: #5473E8;--color-blue-600: #1E46DF;--color-blue-700: #0F236F;--color-blue-800: #071238;--color-blue-900: #04091C;--color-green-50: #D7F3F5;--color-green-100: #AFE6EB;--color-green-200: #87DAE2;--color-green-300: #5FCDD8;--color-green-400: #4BC7D3;--color-green-500: #37C1CE;--color-green-600: #299DA8;--color-green-700: #1F767E;--color-green-800: #154E54;--color-green-900: #0A272A;--color-grey-50: #FAFBFB;--color-grey-100: #ECEDF1;--color-grey-200: #DEE0E6;--color-grey-300: #D1D3DB;--color-grey-400: #C3C5D1;--color-grey-500: #A2A6B8;--color-grey-600: #717793;--color-grey-700: #4B4F62;--color-grey-800: #383B4A;--color-grey-900: #252831;--color-error-50: #FDEEF6;--color-error-100: #F9D4E8;--color-error-200: #F6BBDB;--color-error-300: #F2A1CD;--color-error-400: #EF87BF;--color-error-500: #E854A4;--color-error-600: #E22A8E;--color-error-700: #C31A75;--color-error-800: #99155C;--color-error-900: #6F0F43;--color-success-50: #E9F9F3;--color-success-100: #C8F1E3;--color-success-200: #9EE7CE;--color-success-300: #6EDDB7;--color-success-400: #3DD3A0;--color-success-500: #00AD83;--color-success-600: #009873;--color-success-700: #007F61;--color-success-800: #00654F;--color-success-900: #003D30;--color-blue: #5473E8;--color-blue-hover: #6581EA;--color-blue-active: #1E46DF;--color-green: #37C1CE;--color-green-hover: #4BC7D3;--color-green-active: #299DA8;--color-grey: #383B4A;--color-grey-hover: #4B4F62;--color-grey-active: #252831;--color-error: #E854A4;--color-error-hover: #EF87BF;--color-error-active: #E22A8E;--color-success: #00AD83;--color-success-hover: #009873;--color-success-active: #007F61;--color-disabled-bg: #D1D3DB;--color-disabled-text: #A2A6B8}.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,.toolbar .text-formatting-dropdown .text-formatting-text,.toolbar .styling-dropdown .styling-text,.editor-labels .left-label{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,.editor-labels .right-label{font-family:Roboto,sans-serif!important;font-size:12px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.4px}.typo-medium-700{color:var(--Greys-700, #4B4F62);font-family:Roboto,sans-serif!important;font-size:14px;font-style:normal;font-weight:500;line-height:140%;letter-spacing:.035px}.typo-description{color:var(--Greys-700, #4B4F62);font-family:Roboto,sans-serif!important;font-size:14px;font-style:normal;font-weight:400;line-height:1.4;letter-spacing:.035px}.text-grey-500{color:#a2a6b8!important}.font-location-text{color:#717793;font-family:Roboto,sans-serif!important;font-size:16px;font-style:italic;font-weight:400;line-height:140%;letter-spacing:.04px}.font-title-text{color:#717793;font-family:Roboto,sans-serif!important;font-size:16px;font-style:normal;font-weight:700;line-height:140%;letter-spacing:.04px}.editor-labels{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 4px}.editor-labels .left-label{color:#4b4f62}.editor-labels .right-label{color:var(--Greys-500, #A2A6B8);text-align:right}.editor-container{width:100%;max-width:100%;display:block;border-radius:10px;overflow:visible;box-sizing:border-box}.editor-container img{-webkit-user-drag:none;user-drag:none;pointer-events:auto}.toolbar{display:flex;align-items:center;background-color:#fafbfb;border:1px solid #C3C5D1;border-top-left-radius:8px;border-top-right-radius:8px;border-bottom:1px solid #C3C5D1;gap:15px;padding:12px 16px;overflow:visible;position:relative;z-index:1}.toolbar .format-button{display:flex;align-items:center;justify-content:center;border:none;background-color:transparent;border-radius:6px;cursor:pointer;transition:background-color .2s ease;padding:4px;position:relative;min-width:24px;height:24px}@media (max-width: 1499px){.toolbar .format-button.hide-on-small{display:none!important}}.toolbar .format-button .material-icons,.toolbar .format-button mat-icon{font-size:20px;color:#4b4f62;transition:none;width:20px;height:20px}.toolbar .format-button.active .material-icons,.toolbar .format-button.active mat-icon,.toolbar .format-button .active-icon{color:#37c1ce}.toolbar .format-button:hover{background-color:#d3d3d380!important}.toolbar .format-button:hover .material-icons,.toolbar .format-button:hover mat-icon{color:#4b4f62!important}.toolbar .format-button:hover.active .material-icons,.toolbar .format-button:hover.active mat-icon,.toolbar .format-button:hover .active-icon{color:#37c1ce!important}.toolbar .format-button:active{transform:translateY(0);box-shadow:0 1px 2px #0000001a}.toolbar .format-button.active{color:#37c1ce}.toolbar .format-button svg{pointer-events:none;transition:fill .2s ease}.toolbar .auto-bullet,.toolbar .bullet-skill{display:flex;align-items:center;justify-content:center;border:1px solid #383B4A;background-color:#fff;border-radius:4px;cursor:pointer;transition:all .2s ease;padding:6px 12px;height:28px;font-size:12px;font-weight:400;color:#383b4a;letter-spacing:.4px}.toolbar .auto-bullet:hover,.toolbar .bullet-skill:hover{background-color:#e9ecef;border-color:#383b4a}.toolbar .auto-bullet:disabled,.toolbar .bullet-skill:disabled{opacity:.5;cursor:not-allowed}.toolbar .styling-dropdown{position:relative;display:inline-block;cursor:pointer;z-index:1000}@media (min-width: 1500px){.toolbar .styling-dropdown{display:none}}.toolbar .styling-dropdown .styling-text{color:#4b4f62;font-weight:400;padding:4px;border-radius:4px;transition:background-color .2s ease}.toolbar .styling-dropdown .styling-text:hover{color:#4b4f62!important;background-color:#d3d3d380!important}.toolbar .styling-dropdown .styling-dropdown-content{position:absolute;bottom:100%;left:0;background-color:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:10035;padding:8px;margin-bottom:6px;display:flex;flex-direction:row;gap:8px;flex-wrap:nowrap;white-space:nowrap}.toolbar .styling-dropdown .styling-dropdown-content .format-button{justify-content:center;min-width:24px;height:24px;border-radius:4px;background-color:#fff;border:1px solid transparent;flex-shrink:0;transition:background-color .2s ease}.toolbar .styling-dropdown .styling-dropdown-content .format-button .material-icons,.toolbar .styling-dropdown .styling-dropdown-content .format-button mat-icon{margin-right:0;font-size:24px;color:#4b4f62;transition:none;width:24px;height:24px}.toolbar .styling-dropdown .styling-dropdown-content .format-button:hover{background-color:#d3d3d380!important}.toolbar .styling-dropdown .styling-dropdown-content .format-button:hover .material-icons,.toolbar .styling-dropdown .styling-dropdown-content .format-button:hover mat-icon{color:#4b4f62!important}.toolbar .styling-dropdown .styling-dropdown-content .format-button:hover.active .material-icons,.toolbar .styling-dropdown .styling-dropdown-content .format-button:hover.active mat-icon,.toolbar .styling-dropdown .styling-dropdown-content .format-button:hover .active-icon{color:#37c1ce!important}.toolbar .styling-dropdown .styling-dropdown-content .format-button.active .material-icons,.toolbar .styling-dropdown .styling-dropdown-content .format-button.active mat-icon,.toolbar .styling-dropdown .styling-dropdown-content .format-button .active-icon{color:#37c1ce}.toolbar .styling-dropdown .styling-dropdown-content .format-button.active{color:#37c1ce}.toolbar .text-formatting-dropdown{position:relative;display:inline-block;cursor:pointer;z-index:1000}@media (min-width: 1500px){.toolbar .text-formatting-dropdown{display:none}}.toolbar .text-formatting-dropdown .text-formatting-text{color:#4b4f62;font-weight:400;padding:4px;border-radius:4px;transition:background-color .2s ease}.toolbar .text-formatting-dropdown .text-formatting-text:hover{color:#4b4f62!important;background-color:#d3d3d380!important}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content{position:absolute;bottom:100%;left:0;background-color:#ecedf1;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:10035;min-width:auto;padding:8px;margin-bottom:6px;display:flex;flex-direction:row;gap:8px;flex-wrap:nowrap;white-space:nowrap;align-items:center}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button{justify-content:center;border-radius:4px;flex-shrink:0;white-space:nowrap;background-color:#fff;border:1px solid transparent;min-width:24px;height:24px;transition:background-color .2s ease}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button .material-icons,.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button mat-icon{margin-right:0;font-size:18px;color:#4b4f62;transition:none;width:18px;height:18px}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button:hover{background-color:#d3d3d380!important}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button:hover .material-icons,.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button:hover mat-icon{color:#4b4f62!important}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button:hover.active .material-icons,.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button:hover.active mat-icon,.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button:hover .active-icon{color:#37c1ce!important}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button.active .material-icons,.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button.active mat-icon,.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button .active-icon{color:#37c1ce}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button.active{color:#37c1ce}.toolbar .history-controls{display:flex;align-items:center;gap:8px}.editor-content{width:100%;min-height:100px;padding:12px 16px;background-color:#f7f9fe;outline:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.6;color:#4b4f62;overflow-y:auto;border:1px solid #ccc;border-top:0;border-bottom-right-radius:8px;border-bottom-left-radius:8px;max-height:60vh}.editor-content:focus{background-color:#f7f9fe}.editor-content:focus-visible{outline:none!important}.editor-content:empty:before{content:\"Start typing here...\";color:#adb5bd;font-style:italic}.editor-content p{margin:0 0 12px}.editor-content p:last-child{margin-bottom:0}.editor-content b,.editor-content strong{font-weight:600;color:#2c3e50}.editor-content i,.editor-content em{font-style:italic;color:#34495e}.editor-content u,.editor-content ins{text-decoration:underline;text-decoration-color:#000;text-decoration-thickness:2px}.editor-content *::selection{background-color:#37c1ce33}.editor-content table{border-collapse:collapse;width:100%;margin:10px 0;background-color:#f7f9fe;table-layout:fixed}.editor-content table td,.editor-content table th{border:1px solid #ccc;padding:8px;text-align:left;vertical-align:top;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;white-space:normal;max-width:0;background-color:#f7f9fe}.editor-content table th{background-color:#f7f9fe;font-weight:600}.tag-hierarchy{padding:5px;border-top:none;background-color:#f9f9f9;height:25px;border:1px solid #ccc}.cdk-overlay-pane{width:fit-content!important;min-width:fit-content!important;transform:translate(0)!important}.mat-select-panel{width:fit-content!important;min-width:fit-content!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TableComponent, selector: "app-table", inputs: ["getEditorElement", "saveHistoryMethod", "textChangeMethod"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], encapsulation: i0.ViewEncapsulation.None }); }
5114
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CustomEditorComponent, isStandalone: true, selector: "app-custom-editor", inputs: { bold: "bold", italic: "italic", underline: "underline", list: "list", isVisible: "isVisible", dataTestId: "dataTestId", showLabels: "showLabels", leftLabelText: "leftLabelText", rightLabelText: "rightLabelText", initialValue: "initialValue", contentFromParent: "contentFromParent", editScreenSection: "editScreenSection", actionType: "actionType", historyControls: "historyControls", autobullet: "autobullet", skillsBullet: "skillsBullet", jsonData: "jsonData", formJsonData: "formJsonData", editorId: "editorId", sectionId: "sectionId", actionId: "actionId", undoCustom: "undoCustom", redoCustom: "redoCustom", undoSkill: "undoSkill", redoSkill: "redoSkill", matOptionAI: "matOptionAI", hideTableOption: "hideTableOption", hideAutoBulletOption: "hideAutoBulletOption", hideAIOption: "hideAIOption", showAIButton: "showAIButton", insertTablebtn: "insertTablebtn", insertRowAbovebtn: "insertRowAbovebtn", insertRowBelowbtn: "insertRowBelowbtn", insertColumnLeftbtn: "insertColumnLeftbtn", insertColumnRightbtn: "insertColumnRightbtn", deleteTablebtn: "deleteTablebtn", deleteRowAbovebtn: "deleteRowAbovebtn", deleteRowBelowbtn: "deleteRowBelowbtn", deleteColumnLeftbtn: "deleteColumnLeftbtn", deleteColumnRightbtn: "deleteColumnRightbtn", showTable: "showTable", toolbarConfig: "toolbarConfig", textFormattingConfig: "textFormattingConfig" }, outputs: { contentChangeFromQuill: "contentChangeFromQuill", ApplyAIinQuill: "ApplyAIinQuill" }, host: { listeners: { "click": "onClick()" } }, viewQueries: [{ propertyName: "editorReference", first: true, predicate: ["editorReference"], descendants: true, static: true }, { propertyName: "editorContainer", first: true, predicate: ["editorContainer"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<!-- Editor Labels Section -->\n<div class=\"editor-labels\" *ngIf=\"showLabels\">\n <div class=\"left-label\">{{ leftLabelText }}</div>\n <div class=\"right-label\">{{ rightLabelText }}</div>\n</div>\n<div class=\"editor-container\" #editorContainer>\n <!-- Toolbar Section -->\n <div class=\"toolbar\">\n <!-- Styling Dropdown (Small Screens Only) -->\n <div class=\"styling-dropdown\" *ngIf=\"isSmallScreen\">\n <span class=\"styling-text\" (mouseenter)=\"showStylingDropdownOnHover()\" (mouseleave)=\"hideStylingDropdown()\">\n Styling\n </span>\n\n <div class=\"styling-dropdown-content\" *ngIf=\"showStylingDropdown\" (mouseenter)=\"clearStylingDropdownTimeout()\"\n (mouseleave)=\"hideStylingDropdown()\">\n <button *ngFor=\"let item of toolbarConfig\" class=\"format-button\" [class.active]=\"getActiveState(item.type)\"\n (click)=\"execCmd($event, item.command)\" [title]=\"item.title\" type=\"button\">\n <mat-icon *ngIf=\"isSvgIcon(item.icon)\" [svgIcon]=\"item.icon\"\n [class.active-icon]=\"getActiveState(item.type)\"></mat-icon>\n <span *ngIf=\"!isSvgIcon(item.icon)\" class=\"material-icons\" [class.active-icon]=\"getActiveState(item.type)\">\n {{ item.icon }}\n </span>\n </button>\n </div>\n </div>\n\n <!-- Individual Styling Buttons (Large Containers Only) -->\n <ng-container *ngIf=\"!isSmallScreen\">\n <button *ngFor=\"let item of toolbarConfig\" class=\"format-button\" [class.active]=\"getActiveState(item.type)\"\n (click)=\"execCmd($event, item.command)\" [title]=\"item.title\" type=\"button\"\n [matTooltip]=\"item.title\" matTooltipPosition=\"above\">\n <mat-icon *ngIf=\"isSvgIcon(item.icon)\" [svgIcon]=\"item.icon\"\n [class.active-icon]=\"getActiveState(item.type)\"></mat-icon>\n <span *ngIf=\"!isSvgIcon(item.icon)\" class=\"material-icons\" [class.active-icon]=\"getActiveState(item.type)\">\n {{ item.icon }}\n </span>\n </button>\n </ng-container>\n\n <!-- Text Formatting Dropdown (Small Screens Only) -->\n <div class=\"text-formatting-dropdown\" *ngIf=\"isSmallScreen\">\n <span class=\"text-formatting-text\" (mouseenter)=\"showTextFormattingDropdownOnHover()\"\n (mouseleave)=\"hideTextFormattingDropdown()\">\n Text Formatting\n </span>\n\n <div class=\"text-formatting-dropdown-content\" *ngIf=\"showTextFormattingDropdown\"\n (mouseenter)=\"clearTextFormattingDropdownTimeout()\" (mouseleave)=\"hideTextFormattingDropdown()\">\n\n <!-- Text Formatting Buttons -->\n <button *ngFor=\"let item of textFormattingConfig\" class=\"format-button\"\n [class.active]=\"getActiveState(item.type)\" (click)=\"handleTextFormattingClick($event, item)\"\n [title]=\"item.title\" type=\"button\">\n <mat-icon *ngIf=\"isSvgIcon(item.icon)\" [svgIcon]=\"item.icon\"\n [class.active-icon]=\"getActiveState(item.type)\"></mat-icon>\n <span *ngIf=\"!isSvgIcon(item.icon)\" class=\"material-icons\" [class.active-icon]=\"getActiveState(item.type)\">\n {{ item.icon }}\n </span>\n </button>\n\n <!-- Table Component (Small Screens Only) -->\n <app-table *ngIf=\"showTable\" [getEditorElement]=\"getBoundGetEditorElement()\"\n [saveHistoryMethod]=\"getBoundSaveHistory()\" [textChangeMethod]=\"getBoundTextChange()\">\n </app-table>\n\n <!-- Auto Bullet Button -->\n <button *ngIf=\"autobullet\" class=\"auto-bullet\" mat-flat-button (click)=\"transformToBullets($event)\"\n [disabled]=\"autoBulletDisable || isLoadingAI || !checkHtmlContent('')\">\n {{ AutoBulletButton }}\n </button>\n\n <!-- Bullet Skill Button -->\n <button *ngIf=\"skillsBullet\" class=\"bullet-skill\" mat-flat-button\n (click)=\"transformToSkillsBullets($event)\" [disabled]=\"isDisabled || isLoadingAI\">\n {{ skillsButton }}\n </button>\n </div>\n </div>\n\n <!-- Individual Text Formatting Buttons (Large Containers Only) -->\n <ng-container *ngIf=\"!isSmallScreen\">\n <button *ngFor=\"let item of textFormattingConfig\" class=\"format-button\"\n [class.active]=\"getActiveState(item.type)\"\n (click)=\"handleTextFormattingClick($event, item)\" [title]=\"item.title\" type=\"button\"\n [matTooltip]=\"item.title\" matTooltipPosition=\"above\">\n <mat-icon *ngIf=\"isSvgIcon(item.icon)\" [svgIcon]=\"item.icon\"\n [class.active-icon]=\"getActiveState(item.type)\"></mat-icon>\n <span *ngIf=\"!isSvgIcon(item.icon)\" class=\"material-icons\" [class.active-icon]=\"getActiveState(item.type)\">\n {{ item.icon }}\n </span>\n </button>\n </ng-container>\n\n <!-- Table Component (Large Screens Only) -->\n <app-table *ngIf=\"showTable && !isSmallScreen\" [getEditorElement]=\"getBoundGetEditorElement()\"\n [saveHistoryMethod]=\"getBoundSaveHistory()\" [textChangeMethod]=\"getBoundTextChange()\" matTooltip=\"Table\"\n matTooltipPosition=\"above\">\n </app-table>\n\n <!-- Auto Bullet Button (Large Screens Only) -->\n <button *ngIf=\"autobullet && !isSmallScreen\" class=\"auto-bullet\" mat-flat-button\n (click)=\"transformToBullets($event)\" [disabled]=\"autoBulletDisable || isLoadingAI || !checkHtmlContent('')\">\n {{ AutoBulletButton }}\n </button>\n\n <!-- Bullet Skill Button (Large Screens Only) -->\n <button *ngIf=\"skillsBullet && !isSmallScreen\" class=\"bullet-skill\" mat-flat-button\n (click)=\"transformToSkillsBullets($event)\" [disabled]=\"isDisabled || isLoadingAI\">\n {{ skillsButton }}\n </button>\n\n <!-- History Controls (Undo/Redo) -->\n <div *ngIf=\"historyControls\" class=\"history-controls\">\n <!-- Undo Button -->\n <button class=\"format-button\" (click)=\"execCmd($event, 'undo')\" title=\"Undo\" type=\"button\" matTooltip=\"Undo\"\n matTooltipPosition=\"above\">\n <span class=\"material-icons\" [class.active-icon]=\"getActiveState('undo')\">\n undo\n </span>\n </button>\n\n <!-- Redo Button -->\n <button class=\"format-button\" (click)=\"execCmd($event, 'redo')\" title=\"Redo\" type=\"button\" matTooltip=\"Redo\"\n matTooltipPosition=\"above\">\n <span class=\"material-icons\" [class.active-icon]=\"getActiveState('redo')\">\n redo\n </span>\n </button>\n </div>\n\n <!-- Apply AI Button -->\n <al-button class=\"apply-ai-button\" *ngIf=\"showAIButton\" [labelText]=\"ApplyAiButton\" [buttonType]=\"'icon-label'\" [color]=\"'gradient'\" [size]=\"'xs'\"\n [disabled]=\"isLoadingAI\" (onClick)=\"useAITool($event)\" [tooltip]=\"ApplyAiButton\" [tooltipPosition]=\"'above'\">\n </al-button>\n\n </div>\n\n <!-- Editor Content Area -->\n <div class=\"editor-content\" #editorReference contenteditable=\"true\" [id]=\"editorId\" (click)=\"updateTagHierarchy()\"\n (input)=\"onEditorInput()\" (paste)=\"handlePaste($event)\" (keydown)=\"handleKeydown($event)\"\n (click)=\"toggleDiv($event, true)\" spellcheck=\"false\" role=\"textbox\" aria-label=\"Rich text editor\"\n aria-multiline=\"true\" [attr.data-testid]=\"dataTestId\">\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/icon?family=Material+Icons\";@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\";.weight-light{font-weight:300}.weight-regular{font-weight:400}.weight-medium{font-weight:500}.weight-semibold{font-weight:600}.weight-bold{font-weight:700}.line-height-none{line-height:1!important}.line-height-tight{line-height:1.2!important}.line-height-normal{line-height:1.4!important}.letter-spacing-normal{letter-spacing:0!important}.letter-spacing-wide{letter-spacing:.1em!important}.letter-spacing-wider{letter-spacing:.2em!important}.text-decoration-none{text-decoration:none!important;font-style:normal!important}.text-decoration-underline{text-decoration:underline!important;font-style:normal!important}.text-decoration-italic{text-decoration:none!important;font-style:italic!important}.text-decoration-strike{text-decoration:line-through!important;font-style:normal!important}.font-text-5xl{font-size:2rem;line-height:1.2;letter-spacing:-.1px;font-weight:400;color:#4b4f62}.font-text-5xl-medium{font-size:2rem;line-height:1.2;letter-spacing:-.1px;font-weight:500;color:#4b4f62}.font-text-5xl-bold{font-size:2rem;line-height:1.2;letter-spacing:-.1px;font-weight:700;color:#4b4f62}.font-text-4xl{font-size:1.75rem;line-height:1.2;letter-spacing:-.1px;font-weight:400;color:#4b4f62}.font-text-4xl-medium{font-size:1.75rem;line-height:1.2;letter-spacing:-.1px;font-weight:500;color:#4b4f62}.font-text-4xl-bold{font-size:1.75rem;line-height:1.2;letter-spacing:-.1px;font-weight:700;color:#4b4f62}.font-text-3xl{font-size:1.5rem;line-height:1.2;letter-spacing:-.1px;font-weight:400;color:#4b4f62}.font-text-3xl-medium{font-size:1.5rem;line-height:1.2;letter-spacing:-.1px;font-weight:500;color:#4b4f62}.font-text-3xl-bold{font-size:1.5rem;line-height:1.2;letter-spacing:-.1px;font-weight:700;color:#4b4f62}.font-text-2xl{font-size:1.375rem;line-height:1.2;letter-spacing:-.1px;font-weight:400;color:#4b4f62}.font-text-2xl-medium{font-size:1.375rem;line-height:1.2;letter-spacing:-.1px;font-weight:500;color:#4b4f62}.font-text-2xl-bold{font-size:1.375rem;line-height:1.2;letter-spacing:-.1px;font-weight:700;color:#4b4f62}.font-text-xl{font-size:1.25rem;line-height:1.2;letter-spacing:-.1px;font-weight:400;color:#4b4f62}.font-text-xl-medium{font-size:1.25rem;line-height:1.2;letter-spacing:-.1px;font-weight:500;color:#4b4f62}.font-text-xl-bold{font-size:1.25rem;line-height:1.2;letter-spacing:-.1px;font-weight:700;color:#4b4f62}.font-text-lg{font-size:1rem;line-height:1.4;letter-spacing:.25px;font-weight:400;color:#4b4f62}.font-text-lg-medium{font-size:1rem;line-height:1.4;letter-spacing:.25px;font-weight:500;color:#4b4f62}.font-text-lg-bold{font-size:1rem;line-height:1.4;letter-spacing:.25px;font-weight:700;color:#4b4f62}.font-text-base{font-size:.875rem;line-height:1.4;letter-spacing:.25px;font-weight:400;color:#4b4f62}.font-text-base-medium{font-size:.875rem;line-height:1.4;letter-spacing:.25px;font-weight:500;color:#4b4f62}.font-text-base-bold{font-size:.875rem;line-height:1.4;letter-spacing:.25px;font-weight:700;color:#4b4f62}.font-text-sm{font-size:.75rem;line-height:1.4;letter-spacing:.5px;font-weight:400;color:#4b4f62}.font-text-sm-medium{font-size:.75rem;line-height:1.4;letter-spacing:.5px;font-weight:500;color:#4b4f62}.font-text-sm-bold{font-size:.75rem;line-height:1.4;letter-spacing:.5px;font-weight:700;color:#4b4f62}.font-text-xs{font-size:.625rem;line-height:1.4;letter-spacing:.5px;font-weight:400;color:#4b4f62}.font-text-xs-medium{font-size:.625rem;line-height:1.4;letter-spacing:.5px;font-weight:500;color:#4b4f62}.font-text-xs-bold{font-size:.625rem;line-height:1.4;letter-spacing:.5px;font-weight:700;color:#4b4f62}:root{--color-blue-50: #E5E9FC;--color-blue-100: #BBC7F6;--color-blue-200: #98ABF1;--color-blue-300: #768FED;--color-blue-400: #6581EA;--color-blue-500: #5473E8;--color-blue-600: #1E46DF;--color-blue-700: #0F236F;--color-blue-800: #071238;--color-blue-900: #04091C;--color-green-50: #D7F3F5;--color-green-100: #AFE6EB;--color-green-200: #87DAE2;--color-green-300: #5FCDD8;--color-green-400: #4BC7D3;--color-green-500: #37C1CE;--color-green-600: #299DA8;--color-green-700: #1F767E;--color-green-800: #154E54;--color-green-900: #0A272A;--color-grey-50: #FAFBFB;--color-grey-100: #ECEDF1;--color-grey-200: #DEE0E6;--color-grey-300: #D1D3DB;--color-grey-400: #C3C5D1;--color-grey-500: #A2A6B8;--color-grey-600: #717793;--color-grey-700: #4B4F62;--color-grey-800: #383B4A;--color-grey-900: #252831;--color-error-50: #FDEEF6;--color-error-100: #F9D4E8;--color-error-200: #F6BBDB;--color-error-300: #F2A1CD;--color-error-400: #EF87BF;--color-error-500: #E854A4;--color-error-600: #E22A8E;--color-error-700: #C31A75;--color-error-800: #99155C;--color-error-900: #6F0F43;--color-success-50: #E9F9F3;--color-success-100: #C8F1E3;--color-success-200: #9EE7CE;--color-success-300: #6EDDB7;--color-success-400: #3DD3A0;--color-success-500: #00AD83;--color-success-600: #009873;--color-success-700: #007F61;--color-success-800: #00654F;--color-success-900: #003D30;--color-blue: #5473E8;--color-blue-hover: #6581EA;--color-blue-active: #1E46DF;--color-green: #37C1CE;--color-green-hover: #4BC7D3;--color-green-active: #299DA8;--color-grey: #383B4A;--color-grey-hover: #4B4F62;--color-grey-active: #252831;--color-error: #E854A4;--color-error-hover: #EF87BF;--color-error-active: #E22A8E;--color-success: #00AD83;--color-success-hover: #009873;--color-success-active: #007F61;--color-disabled-bg: #D1D3DB;--color-disabled-text: #A2A6B8}.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,.toolbar .text-formatting-dropdown .text-formatting-text,.toolbar .styling-dropdown .styling-text,.editor-labels .left-label{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,.editor-labels .right-label{font-family:Roboto,sans-serif!important;font-size:12px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.4px}.typo-medium-700{color:var(--Greys-700, #4B4F62);font-family:Roboto,sans-serif!important;font-size:14px;font-style:normal;font-weight:500;line-height:140%;letter-spacing:.035px}.typo-description{color:var(--Greys-700, #4B4F62);font-family:Roboto,sans-serif!important;font-size:14px;font-style:normal;font-weight:400;line-height:1.4;letter-spacing:.035px}.text-grey-500{color:#a2a6b8!important}.font-location-text{color:#717793;font-family:Roboto,sans-serif!important;font-size:16px;font-style:italic;font-weight:400;line-height:140%;letter-spacing:.04px}.font-title-text{color:#717793;font-family:Roboto,sans-serif!important;font-size:16px;font-style:normal;font-weight:700;line-height:140%;letter-spacing:.04px}.editor-labels{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 4px}.editor-labels .left-label{color:#4b4f62}.editor-labels .right-label{color:var(--Greys-500, #A2A6B8);text-align:right}.editor-container{width:100%;max-width:100%;display:block;border-radius:10px;overflow:visible;box-sizing:border-box;position:relative}.editor-container img{-webkit-user-drag:none;user-drag:none;pointer-events:auto}.toolbar{display:flex;align-items:center;background-color:#fafbfb;border:1px solid #C3C5D1;border-top-left-radius:8px;border-top-right-radius:8px;border-bottom:1px solid #C3C5D1;gap:15px;padding:12px 16px;overflow:visible;position:relative;z-index:1}.toolbar .format-button{display:flex;align-items:center;justify-content:center;border:none;background-color:transparent;border-radius:6px;cursor:pointer;transition:background-color .2s ease;padding:4px;position:relative;min-width:24px;height:24px}.toolbar .format-button .material-icons,.toolbar .format-button mat-icon{font-size:20px;color:#4b4f62;transition:none;width:20px;height:20px}.toolbar .format-button.active .material-icons,.toolbar .format-button.active mat-icon,.toolbar .format-button .active-icon{color:#37c1ce}.toolbar .format-button:hover{background-color:#d3d3d380!important}.toolbar .format-button:hover .material-icons,.toolbar .format-button:hover mat-icon{color:#4b4f62!important}.toolbar .format-button:hover.active .material-icons,.toolbar .format-button:hover.active mat-icon,.toolbar .format-button:hover .active-icon{color:#37c1ce!important}.toolbar .format-button:active{transform:translateY(0);box-shadow:0 1px 2px #0000001a}.toolbar .format-button.active{color:#37c1ce}.toolbar .format-button svg{pointer-events:none;transition:fill .2s ease}.toolbar .auto-bullet,.toolbar .bullet-skill{display:flex;align-items:center;justify-content:center;border:1px solid #383B4A;background-color:#fff;border-radius:4px;cursor:pointer;transition:all .2s ease;padding:6px 12px;height:28px;font-size:12px;font-weight:400;color:#383b4a;letter-spacing:.4px}.toolbar .auto-bullet:hover,.toolbar .bullet-skill:hover{background-color:#e9ecef;border-color:#383b4a}.toolbar .auto-bullet:disabled,.toolbar .bullet-skill:disabled{opacity:.5;cursor:not-allowed}.toolbar .styling-dropdown{position:relative;display:inline-block;cursor:pointer;z-index:1000}.toolbar .styling-dropdown .styling-text{color:#4b4f62;font-weight:400;padding:4px;border-radius:4px;transition:background-color .2s ease}.toolbar .styling-dropdown .styling-text:hover{color:#4b4f62!important;background-color:#d3d3d380!important}.toolbar .styling-dropdown .styling-dropdown-content{position:absolute;bottom:100%;left:0;background-color:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:10035;padding:8px;margin-bottom:6px;display:flex;flex-direction:row;gap:8px;flex-wrap:nowrap;white-space:nowrap}.toolbar .styling-dropdown .styling-dropdown-content .format-button{justify-content:center;min-width:24px;height:24px;border-radius:4px;background-color:#fff;border:1px solid transparent;flex-shrink:0;transition:background-color .2s ease}.toolbar .styling-dropdown .styling-dropdown-content .format-button .material-icons,.toolbar .styling-dropdown .styling-dropdown-content .format-button mat-icon{margin-right:0;font-size:24px;color:#4b4f62;transition:none;width:24px;height:24px}.toolbar .styling-dropdown .styling-dropdown-content .format-button:hover{background-color:#d3d3d380!important}.toolbar .styling-dropdown .styling-dropdown-content .format-button:hover .material-icons,.toolbar .styling-dropdown .styling-dropdown-content .format-button:hover mat-icon{color:#4b4f62!important}.toolbar .styling-dropdown .styling-dropdown-content .format-button:hover.active .material-icons,.toolbar .styling-dropdown .styling-dropdown-content .format-button:hover.active mat-icon,.toolbar .styling-dropdown .styling-dropdown-content .format-button:hover .active-icon{color:#37c1ce!important}.toolbar .styling-dropdown .styling-dropdown-content .format-button.active .material-icons,.toolbar .styling-dropdown .styling-dropdown-content .format-button.active mat-icon,.toolbar .styling-dropdown .styling-dropdown-content .format-button .active-icon{color:#37c1ce}.toolbar .styling-dropdown .styling-dropdown-content .format-button.active{color:#37c1ce}.toolbar .text-formatting-dropdown{position:relative;display:inline-block;cursor:pointer;z-index:1000}.toolbar .text-formatting-dropdown .text-formatting-text{color:#4b4f62;font-weight:400;padding:4px;border-radius:4px;transition:background-color .2s ease}.toolbar .text-formatting-dropdown .text-formatting-text:hover{color:#4b4f62!important;background-color:#d3d3d380!important}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content{position:absolute;bottom:100%;left:0;background-color:#ecedf1;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:10035;min-width:auto;padding:8px;margin-bottom:6px;display:flex;flex-direction:row;gap:8px;flex-wrap:nowrap;white-space:nowrap;align-items:center}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button{justify-content:center;border-radius:4px;flex-shrink:0;white-space:nowrap;background-color:#fff;border:1px solid transparent;min-width:24px;height:24px;transition:background-color .2s ease}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button .material-icons,.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button mat-icon{margin-right:0;font-size:18px;color:#4b4f62;transition:none;width:18px;height:18px}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button:hover{background-color:#d3d3d380!important}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button:hover .material-icons,.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button:hover mat-icon{color:#4b4f62!important}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button:hover.active .material-icons,.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button:hover.active mat-icon,.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button:hover .active-icon{color:#37c1ce!important}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button.active .material-icons,.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button.active mat-icon,.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button .active-icon{color:#37c1ce}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button.active{color:#37c1ce}.toolbar .history-controls{display:flex;align-items:center;gap:8px}.toolbar .apply-ai-button{margin-left:auto}.editor-content{width:100%;min-height:100px;padding:12px 16px;background-color:#f7f9fe;outline:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.6;color:#4b4f62;overflow-y:auto;border:1px solid #ccc;border-top:0;border-bottom-right-radius:8px;border-bottom-left-radius:8px;max-height:60vh}.editor-content:focus{background-color:#f7f9fe}.editor-content:focus-visible{outline:none!important}.editor-content:empty:before{content:\"Start typing here...\";color:#adb5bd;font-style:italic}.editor-content p{margin:0 0 12px}.editor-content p:last-child{margin-bottom:0}.editor-content b,.editor-content strong{font-weight:600;color:#2c3e50}.editor-content i,.editor-content em{font-style:italic;color:#34495e}.editor-content u,.editor-content ins{text-decoration:underline;text-decoration-color:#000;text-decoration-thickness:2px}.editor-content *::selection{background-color:#37c1ce33}.editor-content table{border-collapse:collapse;width:100%;margin:10px 0;background-color:#f7f9fe;table-layout:fixed}.editor-content table td,.editor-content table th{border:1px solid #ccc;padding:8px;text-align:left;vertical-align:top;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;white-space:normal;max-width:0;background-color:#f7f9fe}.editor-content table th{background-color:#f7f9fe;font-weight:600}.tag-hierarchy{padding:5px;border-top:none;background-color:#f9f9f9;height:25px;border:1px solid #ccc}.cdk-overlay-pane{width:fit-content!important;min-width:fit-content!important;transform:translate(0)!important}.mat-select-panel{width:fit-content!important;min-width:fit-content!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TableComponent, selector: "app-table", inputs: ["getEditorElement", "saveHistoryMethod", "textChangeMethod"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ButtonComponent, selector: "al-button", inputs: ["state", "disabled", "color", "category", "outline", "labelText", "label", "arialabel", "iconOnly", "leftIcon", "rightIcon", "icon", "iconOutlined", "outlined", "size", "buttonType", "fontClass", "dataTestId", "tooltip", "tooltipPosition", "dropdownItems", "dropdownOptions", "hasDropDown", "dropdown", "hasDropdown", "isDropdown"], outputs: ["onClick", "onHover", "onMouseLeave", "optionSelect"] }], encapsulation: i0.ViewEncapsulation.None }); }
5051
5115
  }
5052
5116
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomEditorComponent, decorators: [{
5053
5117
  type: Component,
5054
- args: [{ selector: 'app-custom-editor', standalone: true, imports: [CommonModule, TableComponent, MatTooltipModule, MatIconModule], encapsulation: ViewEncapsulation.None, template: "<!-- Editor Labels Section -->\n<div class=\"editor-labels\" *ngIf=\"showLabels\">\n <div class=\"left-label\">{{ leftLabelText }}</div>\n <div class=\"right-label\">{{ rightLabelText }}</div>\n</div>\n<div class=\"editor-container\">\n <!-- Toolbar Section -->\n <div class=\"toolbar\">\n <!-- Styling Dropdown (Small Screens Only) -->\n <div class=\"styling-dropdown\" *ngIf=\"isSmallScreen\">\n <span class=\"styling-text\" (mouseenter)=\"showStylingDropdownOnHover()\" (mouseleave)=\"hideStylingDropdown()\">\n Styling\n </span>\n\n <div class=\"styling-dropdown-content\" *ngIf=\"showStylingDropdown\" (mouseenter)=\"clearStylingDropdownTimeout()\"\n (mouseleave)=\"hideStylingDropdown()\">\n <button *ngFor=\"let item of toolbarConfig\" class=\"format-button\" [class.active]=\"getActiveState(item.type)\"\n (click)=\"execCmd($event, item.command)\" [title]=\"item.title\" type=\"button\">\n <mat-icon *ngIf=\"isSvgIcon(item.icon)\" [svgIcon]=\"item.icon\"\n [class.active-icon]=\"getActiveState(item.type)\"></mat-icon>\n <span *ngIf=\"!isSvgIcon(item.icon)\" class=\"material-icons\" [class.active-icon]=\"getActiveState(item.type)\">\n {{ item.icon }}\n </span>\n </button>\n </div>\n </div>\n\n <!-- Individual Styling Buttons (Large Screens Only) -->\n <button *ngFor=\"let item of toolbarConfig\" class=\"format-button\" [class.active]=\"getActiveState(item.type)\"\n [class.hide-on-small]=\"true\" (click)=\"execCmd($event, item.command)\" [title]=\"item.title\" type=\"button\"\n [matTooltip]=\"item.title\" matTooltipPosition=\"above\">\n <mat-icon *ngIf=\"isSvgIcon(item.icon)\" [svgIcon]=\"item.icon\"\n [class.active-icon]=\"getActiveState(item.type)\"></mat-icon>\n <span *ngIf=\"!isSvgIcon(item.icon)\" class=\"material-icons\" [class.active-icon]=\"getActiveState(item.type)\">\n {{ item.icon }}\n </span>\n </button>\n\n <!-- Text Formatting Dropdown (Small Screens Only) -->\n <div class=\"text-formatting-dropdown\" *ngIf=\"isSmallScreen\">\n <span class=\"text-formatting-text\" (mouseenter)=\"showTextFormattingDropdownOnHover()\"\n (mouseleave)=\"hideTextFormattingDropdown()\">\n Text Formatting\n </span>\n\n <div class=\"text-formatting-dropdown-content\" *ngIf=\"showTextFormattingDropdown\"\n (mouseenter)=\"clearTextFormattingDropdownTimeout()\" (mouseleave)=\"hideTextFormattingDropdown()\">\n\n <!-- Text Formatting Buttons -->\n <button *ngFor=\"let item of textFormattingConfig\" class=\"format-button\"\n [class.active]=\"getActiveState(item.type)\" (click)=\"handleTextFormattingClick($event, item)\"\n [title]=\"item.title\" type=\"button\">\n <mat-icon *ngIf=\"isSvgIcon(item.icon)\" [svgIcon]=\"item.icon\"\n [class.active-icon]=\"getActiveState(item.type)\"></mat-icon>\n <span *ngIf=\"!isSvgIcon(item.icon)\" class=\"material-icons\" [class.active-icon]=\"getActiveState(item.type)\">\n {{ item.icon }}\n </span>\n </button>\n\n <!-- Table Component (Small Screens Only) -->\n <app-table *ngIf=\"showTable\" [getEditorElement]=\"getBoundGetEditorElement()\"\n [saveHistoryMethod]=\"getBoundSaveHistory()\" [textChangeMethod]=\"getBoundTextChange()\">\n </app-table>\n\n <!-- Auto Bullet Button -->\n <button *ngIf=\"autobullet\" class=\"ms-3 auto-bullet\" mat-flat-button (click)=\"transformToBullets($event)\"\n [disabled]=\"autoBulletDisable || isLoadingAI || !checkHtmlContent('')\">\n {{ AutoBulletButton }}\n </button>\n\n <!-- Bullet Skill Button -->\n <button *ngIf=\"skillsBullet\" class=\"ms-3 bullet-skill\" mat-flat-button\n (click)=\"transformToSkillsBullets($event)\" [disabled]=\"isDisabled || isLoadingAI\">\n {{ skillsButton }}\n </button>\n </div>\n </div>\n\n <!-- Individual Text Formatting Buttons (Large Screens Only) -->\n <button *ngFor=\"let item of textFormattingConfig\" class=\"format-button\" [class.active]=\"getActiveState(item.type)\"\n [class.hide-on-small]=\"true\" (click)=\"handleTextFormattingClick($event, item)\" [title]=\"item.title\" type=\"button\"\n [matTooltip]=\"item.title\" matTooltipPosition=\"above\">\n <mat-icon *ngIf=\"isSvgIcon(item.icon)\" [svgIcon]=\"item.icon\"\n [class.active-icon]=\"getActiveState(item.type)\"></mat-icon>\n <span *ngIf=\"!isSvgIcon(item.icon)\" class=\"material-icons\" [class.active-icon]=\"getActiveState(item.type)\">\n {{ item.icon }}\n </span>\n </button>\n\n <!-- Table Component (Large Screens Only) -->\n <app-table *ngIf=\"showTable && !isSmallScreen\" [getEditorElement]=\"getBoundGetEditorElement()\"\n [saveHistoryMethod]=\"getBoundSaveHistory()\" [textChangeMethod]=\"getBoundTextChange()\" matTooltip=\"Table\"\n matTooltipPosition=\"above\">\n </app-table>\n\n <!-- Auto Bullet Button (Large Screens Only) -->\n <button *ngIf=\"autobullet && !isSmallScreen\" class=\"ms-3 auto-bullet\" mat-flat-button\n (click)=\"transformToBullets($event)\" [disabled]=\"autoBulletDisable || isLoadingAI || !checkHtmlContent('')\">\n {{ AutoBulletButton }}\n </button>\n\n <!-- Bullet Skill Button (Large Screens Only) -->\n <button *ngIf=\"skillsBullet && !isSmallScreen\" class=\"ms-3 bullet-skill\" mat-flat-button\n (click)=\"transformToSkillsBullets($event)\" [disabled]=\"isDisabled || isLoadingAI\">\n {{ skillsButton }}\n </button>\n\n <!-- History Controls (Undo/Redo) -->\n <div *ngIf=\"historyControls\" class=\"history-controls\">\n <!-- Undo Button -->\n <button class=\"ms-3 format-button\" (click)=\"execCmd($event, 'undo')\" title=\"Undo\" type=\"button\" matTooltip=\"Undo\"\n matTooltipPosition=\"above\">\n <span class=\"material-icons\" [class.active-icon]=\"getActiveState('undo')\">\n undo\n </span>\n </button>\n\n <!-- Redo Button -->\n <button class=\"ms-3 format-button\" (click)=\"execCmd($event, 'redo')\" title=\"Redo\" type=\"button\" matTooltip=\"Redo\"\n matTooltipPosition=\"above\">\n <span class=\"material-icons\" [class.active-icon]=\"getActiveState('redo')\">\n redo\n </span>\n </button>\n </div>\n </div>\n\n <!-- Editor Content Area -->\n <div class=\"editor-content\" #editorReference contenteditable=\"true\" [id]=\"editorId\" (click)=\"updateTagHierarchy()\"\n (input)=\"onEditorInput()\" (paste)=\"handlePaste($event)\" (keydown)=\"handleKeydown($event)\"\n (click)=\"toggleDiv($event, true)\" spellcheck=\"false\" role=\"textbox\" aria-label=\"Rich text editor\"\n aria-multiline=\"true\" [attr.data-testid]=\"dataTestId\">\n </div>\n</div>", styles: ["@import\"https://fonts.googleapis.com/icon?family=Material+Icons\";@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\";.weight-light{font-weight:300}.weight-regular{font-weight:400}.weight-medium{font-weight:500}.weight-semibold{font-weight:600}.weight-bold{font-weight:700}.line-height-none{line-height:1!important}.line-height-tight{line-height:1.2!important}.line-height-normal{line-height:1.4!important}.letter-spacing-normal{letter-spacing:0!important}.letter-spacing-wide{letter-spacing:.1em!important}.letter-spacing-wider{letter-spacing:.2em!important}.text-decoration-none{text-decoration:none!important;font-style:normal!important}.text-decoration-underline{text-decoration:underline!important;font-style:normal!important}.text-decoration-italic{text-decoration:none!important;font-style:italic!important}.text-decoration-strike{text-decoration:line-through!important;font-style:normal!important}.font-text-5xl{font-size:2rem;line-height:1.2;letter-spacing:-.1px;font-weight:400;color:#4b4f62}.font-text-5xl-medium{font-size:2rem;line-height:1.2;letter-spacing:-.1px;font-weight:500;color:#4b4f62}.font-text-5xl-bold{font-size:2rem;line-height:1.2;letter-spacing:-.1px;font-weight:700;color:#4b4f62}.font-text-4xl{font-size:1.75rem;line-height:1.2;letter-spacing:-.1px;font-weight:400;color:#4b4f62}.font-text-4xl-medium{font-size:1.75rem;line-height:1.2;letter-spacing:-.1px;font-weight:500;color:#4b4f62}.font-text-4xl-bold{font-size:1.75rem;line-height:1.2;letter-spacing:-.1px;font-weight:700;color:#4b4f62}.font-text-3xl{font-size:1.5rem;line-height:1.2;letter-spacing:-.1px;font-weight:400;color:#4b4f62}.font-text-3xl-medium{font-size:1.5rem;line-height:1.2;letter-spacing:-.1px;font-weight:500;color:#4b4f62}.font-text-3xl-bold{font-size:1.5rem;line-height:1.2;letter-spacing:-.1px;font-weight:700;color:#4b4f62}.font-text-2xl{font-size:1.375rem;line-height:1.2;letter-spacing:-.1px;font-weight:400;color:#4b4f62}.font-text-2xl-medium{font-size:1.375rem;line-height:1.2;letter-spacing:-.1px;font-weight:500;color:#4b4f62}.font-text-2xl-bold{font-size:1.375rem;line-height:1.2;letter-spacing:-.1px;font-weight:700;color:#4b4f62}.font-text-xl{font-size:1.25rem;line-height:1.2;letter-spacing:-.1px;font-weight:400;color:#4b4f62}.font-text-xl-medium{font-size:1.25rem;line-height:1.2;letter-spacing:-.1px;font-weight:500;color:#4b4f62}.font-text-xl-bold{font-size:1.25rem;line-height:1.2;letter-spacing:-.1px;font-weight:700;color:#4b4f62}.font-text-lg{font-size:1rem;line-height:1.4;letter-spacing:.25px;font-weight:400;color:#4b4f62}.font-text-lg-medium{font-size:1rem;line-height:1.4;letter-spacing:.25px;font-weight:500;color:#4b4f62}.font-text-lg-bold{font-size:1rem;line-height:1.4;letter-spacing:.25px;font-weight:700;color:#4b4f62}.font-text-base{font-size:.875rem;line-height:1.4;letter-spacing:.25px;font-weight:400;color:#4b4f62}.font-text-base-medium{font-size:.875rem;line-height:1.4;letter-spacing:.25px;font-weight:500;color:#4b4f62}.font-text-base-bold{font-size:.875rem;line-height:1.4;letter-spacing:.25px;font-weight:700;color:#4b4f62}.font-text-sm{font-size:.75rem;line-height:1.4;letter-spacing:.5px;font-weight:400;color:#4b4f62}.font-text-sm-medium{font-size:.75rem;line-height:1.4;letter-spacing:.5px;font-weight:500;color:#4b4f62}.font-text-sm-bold{font-size:.75rem;line-height:1.4;letter-spacing:.5px;font-weight:700;color:#4b4f62}.font-text-xs{font-size:.625rem;line-height:1.4;letter-spacing:.5px;font-weight:400;color:#4b4f62}.font-text-xs-medium{font-size:.625rem;line-height:1.4;letter-spacing:.5px;font-weight:500;color:#4b4f62}.font-text-xs-bold{font-size:.625rem;line-height:1.4;letter-spacing:.5px;font-weight:700;color:#4b4f62}:root{--color-blue-50: #E5E9FC;--color-blue-100: #BBC7F6;--color-blue-200: #98ABF1;--color-blue-300: #768FED;--color-blue-400: #6581EA;--color-blue-500: #5473E8;--color-blue-600: #1E46DF;--color-blue-700: #0F236F;--color-blue-800: #071238;--color-blue-900: #04091C;--color-green-50: #D7F3F5;--color-green-100: #AFE6EB;--color-green-200: #87DAE2;--color-green-300: #5FCDD8;--color-green-400: #4BC7D3;--color-green-500: #37C1CE;--color-green-600: #299DA8;--color-green-700: #1F767E;--color-green-800: #154E54;--color-green-900: #0A272A;--color-grey-50: #FAFBFB;--color-grey-100: #ECEDF1;--color-grey-200: #DEE0E6;--color-grey-300: #D1D3DB;--color-grey-400: #C3C5D1;--color-grey-500: #A2A6B8;--color-grey-600: #717793;--color-grey-700: #4B4F62;--color-grey-800: #383B4A;--color-grey-900: #252831;--color-error-50: #FDEEF6;--color-error-100: #F9D4E8;--color-error-200: #F6BBDB;--color-error-300: #F2A1CD;--color-error-400: #EF87BF;--color-error-500: #E854A4;--color-error-600: #E22A8E;--color-error-700: #C31A75;--color-error-800: #99155C;--color-error-900: #6F0F43;--color-success-50: #E9F9F3;--color-success-100: #C8F1E3;--color-success-200: #9EE7CE;--color-success-300: #6EDDB7;--color-success-400: #3DD3A0;--color-success-500: #00AD83;--color-success-600: #009873;--color-success-700: #007F61;--color-success-800: #00654F;--color-success-900: #003D30;--color-blue: #5473E8;--color-blue-hover: #6581EA;--color-blue-active: #1E46DF;--color-green: #37C1CE;--color-green-hover: #4BC7D3;--color-green-active: #299DA8;--color-grey: #383B4A;--color-grey-hover: #4B4F62;--color-grey-active: #252831;--color-error: #E854A4;--color-error-hover: #EF87BF;--color-error-active: #E22A8E;--color-success: #00AD83;--color-success-hover: #009873;--color-success-active: #007F61;--color-disabled-bg: #D1D3DB;--color-disabled-text: #A2A6B8}.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,.toolbar .text-formatting-dropdown .text-formatting-text,.toolbar .styling-dropdown .styling-text,.editor-labels .left-label{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,.editor-labels .right-label{font-family:Roboto,sans-serif!important;font-size:12px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.4px}.typo-medium-700{color:var(--Greys-700, #4B4F62);font-family:Roboto,sans-serif!important;font-size:14px;font-style:normal;font-weight:500;line-height:140%;letter-spacing:.035px}.typo-description{color:var(--Greys-700, #4B4F62);font-family:Roboto,sans-serif!important;font-size:14px;font-style:normal;font-weight:400;line-height:1.4;letter-spacing:.035px}.text-grey-500{color:#a2a6b8!important}.font-location-text{color:#717793;font-family:Roboto,sans-serif!important;font-size:16px;font-style:italic;font-weight:400;line-height:140%;letter-spacing:.04px}.font-title-text{color:#717793;font-family:Roboto,sans-serif!important;font-size:16px;font-style:normal;font-weight:700;line-height:140%;letter-spacing:.04px}.editor-labels{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 4px}.editor-labels .left-label{color:#4b4f62}.editor-labels .right-label{color:var(--Greys-500, #A2A6B8);text-align:right}.editor-container{width:100%;max-width:100%;display:block;border-radius:10px;overflow:visible;box-sizing:border-box}.editor-container img{-webkit-user-drag:none;user-drag:none;pointer-events:auto}.toolbar{display:flex;align-items:center;background-color:#fafbfb;border:1px solid #C3C5D1;border-top-left-radius:8px;border-top-right-radius:8px;border-bottom:1px solid #C3C5D1;gap:15px;padding:12px 16px;overflow:visible;position:relative;z-index:1}.toolbar .format-button{display:flex;align-items:center;justify-content:center;border:none;background-color:transparent;border-radius:6px;cursor:pointer;transition:background-color .2s ease;padding:4px;position:relative;min-width:24px;height:24px}@media (max-width: 1499px){.toolbar .format-button.hide-on-small{display:none!important}}.toolbar .format-button .material-icons,.toolbar .format-button mat-icon{font-size:20px;color:#4b4f62;transition:none;width:20px;height:20px}.toolbar .format-button.active .material-icons,.toolbar .format-button.active mat-icon,.toolbar .format-button .active-icon{color:#37c1ce}.toolbar .format-button:hover{background-color:#d3d3d380!important}.toolbar .format-button:hover .material-icons,.toolbar .format-button:hover mat-icon{color:#4b4f62!important}.toolbar .format-button:hover.active .material-icons,.toolbar .format-button:hover.active mat-icon,.toolbar .format-button:hover .active-icon{color:#37c1ce!important}.toolbar .format-button:active{transform:translateY(0);box-shadow:0 1px 2px #0000001a}.toolbar .format-button.active{color:#37c1ce}.toolbar .format-button svg{pointer-events:none;transition:fill .2s ease}.toolbar .auto-bullet,.toolbar .bullet-skill{display:flex;align-items:center;justify-content:center;border:1px solid #383B4A;background-color:#fff;border-radius:4px;cursor:pointer;transition:all .2s ease;padding:6px 12px;height:28px;font-size:12px;font-weight:400;color:#383b4a;letter-spacing:.4px}.toolbar .auto-bullet:hover,.toolbar .bullet-skill:hover{background-color:#e9ecef;border-color:#383b4a}.toolbar .auto-bullet:disabled,.toolbar .bullet-skill:disabled{opacity:.5;cursor:not-allowed}.toolbar .styling-dropdown{position:relative;display:inline-block;cursor:pointer;z-index:1000}@media (min-width: 1500px){.toolbar .styling-dropdown{display:none}}.toolbar .styling-dropdown .styling-text{color:#4b4f62;font-weight:400;padding:4px;border-radius:4px;transition:background-color .2s ease}.toolbar .styling-dropdown .styling-text:hover{color:#4b4f62!important;background-color:#d3d3d380!important}.toolbar .styling-dropdown .styling-dropdown-content{position:absolute;bottom:100%;left:0;background-color:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:10035;padding:8px;margin-bottom:6px;display:flex;flex-direction:row;gap:8px;flex-wrap:nowrap;white-space:nowrap}.toolbar .styling-dropdown .styling-dropdown-content .format-button{justify-content:center;min-width:24px;height:24px;border-radius:4px;background-color:#fff;border:1px solid transparent;flex-shrink:0;transition:background-color .2s ease}.toolbar .styling-dropdown .styling-dropdown-content .format-button .material-icons,.toolbar .styling-dropdown .styling-dropdown-content .format-button mat-icon{margin-right:0;font-size:24px;color:#4b4f62;transition:none;width:24px;height:24px}.toolbar .styling-dropdown .styling-dropdown-content .format-button:hover{background-color:#d3d3d380!important}.toolbar .styling-dropdown .styling-dropdown-content .format-button:hover .material-icons,.toolbar .styling-dropdown .styling-dropdown-content .format-button:hover mat-icon{color:#4b4f62!important}.toolbar .styling-dropdown .styling-dropdown-content .format-button:hover.active .material-icons,.toolbar .styling-dropdown .styling-dropdown-content .format-button:hover.active mat-icon,.toolbar .styling-dropdown .styling-dropdown-content .format-button:hover .active-icon{color:#37c1ce!important}.toolbar .styling-dropdown .styling-dropdown-content .format-button.active .material-icons,.toolbar .styling-dropdown .styling-dropdown-content .format-button.active mat-icon,.toolbar .styling-dropdown .styling-dropdown-content .format-button .active-icon{color:#37c1ce}.toolbar .styling-dropdown .styling-dropdown-content .format-button.active{color:#37c1ce}.toolbar .text-formatting-dropdown{position:relative;display:inline-block;cursor:pointer;z-index:1000}@media (min-width: 1500px){.toolbar .text-formatting-dropdown{display:none}}.toolbar .text-formatting-dropdown .text-formatting-text{color:#4b4f62;font-weight:400;padding:4px;border-radius:4px;transition:background-color .2s ease}.toolbar .text-formatting-dropdown .text-formatting-text:hover{color:#4b4f62!important;background-color:#d3d3d380!important}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content{position:absolute;bottom:100%;left:0;background-color:#ecedf1;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:10035;min-width:auto;padding:8px;margin-bottom:6px;display:flex;flex-direction:row;gap:8px;flex-wrap:nowrap;white-space:nowrap;align-items:center}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button{justify-content:center;border-radius:4px;flex-shrink:0;white-space:nowrap;background-color:#fff;border:1px solid transparent;min-width:24px;height:24px;transition:background-color .2s ease}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button .material-icons,.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button mat-icon{margin-right:0;font-size:18px;color:#4b4f62;transition:none;width:18px;height:18px}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button:hover{background-color:#d3d3d380!important}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button:hover .material-icons,.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button:hover mat-icon{color:#4b4f62!important}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button:hover.active .material-icons,.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button:hover.active mat-icon,.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button:hover .active-icon{color:#37c1ce!important}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button.active .material-icons,.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button.active mat-icon,.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button .active-icon{color:#37c1ce}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button.active{color:#37c1ce}.toolbar .history-controls{display:flex;align-items:center;gap:8px}.editor-content{width:100%;min-height:100px;padding:12px 16px;background-color:#f7f9fe;outline:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.6;color:#4b4f62;overflow-y:auto;border:1px solid #ccc;border-top:0;border-bottom-right-radius:8px;border-bottom-left-radius:8px;max-height:60vh}.editor-content:focus{background-color:#f7f9fe}.editor-content:focus-visible{outline:none!important}.editor-content:empty:before{content:\"Start typing here...\";color:#adb5bd;font-style:italic}.editor-content p{margin:0 0 12px}.editor-content p:last-child{margin-bottom:0}.editor-content b,.editor-content strong{font-weight:600;color:#2c3e50}.editor-content i,.editor-content em{font-style:italic;color:#34495e}.editor-content u,.editor-content ins{text-decoration:underline;text-decoration-color:#000;text-decoration-thickness:2px}.editor-content *::selection{background-color:#37c1ce33}.editor-content table{border-collapse:collapse;width:100%;margin:10px 0;background-color:#f7f9fe;table-layout:fixed}.editor-content table td,.editor-content table th{border:1px solid #ccc;padding:8px;text-align:left;vertical-align:top;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;white-space:normal;max-width:0;background-color:#f7f9fe}.editor-content table th{background-color:#f7f9fe;font-weight:600}.tag-hierarchy{padding:5px;border-top:none;background-color:#f9f9f9;height:25px;border:1px solid #ccc}.cdk-overlay-pane{width:fit-content!important;min-width:fit-content!important;transform:translate(0)!important}.mat-select-panel{width:fit-content!important;min-width:fit-content!important}\n"] }]
5118
+ args: [{ selector: 'app-custom-editor', standalone: true, imports: [CommonModule, TableComponent, MatTooltipModule, MatIconModule, ButtonComponent], encapsulation: ViewEncapsulation.None, template: "<!-- Editor Labels Section -->\n<div class=\"editor-labels\" *ngIf=\"showLabels\">\n <div class=\"left-label\">{{ leftLabelText }}</div>\n <div class=\"right-label\">{{ rightLabelText }}</div>\n</div>\n<div class=\"editor-container\" #editorContainer>\n <!-- Toolbar Section -->\n <div class=\"toolbar\">\n <!-- Styling Dropdown (Small Screens Only) -->\n <div class=\"styling-dropdown\" *ngIf=\"isSmallScreen\">\n <span class=\"styling-text\" (mouseenter)=\"showStylingDropdownOnHover()\" (mouseleave)=\"hideStylingDropdown()\">\n Styling\n </span>\n\n <div class=\"styling-dropdown-content\" *ngIf=\"showStylingDropdown\" (mouseenter)=\"clearStylingDropdownTimeout()\"\n (mouseleave)=\"hideStylingDropdown()\">\n <button *ngFor=\"let item of toolbarConfig\" class=\"format-button\" [class.active]=\"getActiveState(item.type)\"\n (click)=\"execCmd($event, item.command)\" [title]=\"item.title\" type=\"button\">\n <mat-icon *ngIf=\"isSvgIcon(item.icon)\" [svgIcon]=\"item.icon\"\n [class.active-icon]=\"getActiveState(item.type)\"></mat-icon>\n <span *ngIf=\"!isSvgIcon(item.icon)\" class=\"material-icons\" [class.active-icon]=\"getActiveState(item.type)\">\n {{ item.icon }}\n </span>\n </button>\n </div>\n </div>\n\n <!-- Individual Styling Buttons (Large Containers Only) -->\n <ng-container *ngIf=\"!isSmallScreen\">\n <button *ngFor=\"let item of toolbarConfig\" class=\"format-button\" [class.active]=\"getActiveState(item.type)\"\n (click)=\"execCmd($event, item.command)\" [title]=\"item.title\" type=\"button\"\n [matTooltip]=\"item.title\" matTooltipPosition=\"above\">\n <mat-icon *ngIf=\"isSvgIcon(item.icon)\" [svgIcon]=\"item.icon\"\n [class.active-icon]=\"getActiveState(item.type)\"></mat-icon>\n <span *ngIf=\"!isSvgIcon(item.icon)\" class=\"material-icons\" [class.active-icon]=\"getActiveState(item.type)\">\n {{ item.icon }}\n </span>\n </button>\n </ng-container>\n\n <!-- Text Formatting Dropdown (Small Screens Only) -->\n <div class=\"text-formatting-dropdown\" *ngIf=\"isSmallScreen\">\n <span class=\"text-formatting-text\" (mouseenter)=\"showTextFormattingDropdownOnHover()\"\n (mouseleave)=\"hideTextFormattingDropdown()\">\n Text Formatting\n </span>\n\n <div class=\"text-formatting-dropdown-content\" *ngIf=\"showTextFormattingDropdown\"\n (mouseenter)=\"clearTextFormattingDropdownTimeout()\" (mouseleave)=\"hideTextFormattingDropdown()\">\n\n <!-- Text Formatting Buttons -->\n <button *ngFor=\"let item of textFormattingConfig\" class=\"format-button\"\n [class.active]=\"getActiveState(item.type)\" (click)=\"handleTextFormattingClick($event, item)\"\n [title]=\"item.title\" type=\"button\">\n <mat-icon *ngIf=\"isSvgIcon(item.icon)\" [svgIcon]=\"item.icon\"\n [class.active-icon]=\"getActiveState(item.type)\"></mat-icon>\n <span *ngIf=\"!isSvgIcon(item.icon)\" class=\"material-icons\" [class.active-icon]=\"getActiveState(item.type)\">\n {{ item.icon }}\n </span>\n </button>\n\n <!-- Table Component (Small Screens Only) -->\n <app-table *ngIf=\"showTable\" [getEditorElement]=\"getBoundGetEditorElement()\"\n [saveHistoryMethod]=\"getBoundSaveHistory()\" [textChangeMethod]=\"getBoundTextChange()\">\n </app-table>\n\n <!-- Auto Bullet Button -->\n <button *ngIf=\"autobullet\" class=\"auto-bullet\" mat-flat-button (click)=\"transformToBullets($event)\"\n [disabled]=\"autoBulletDisable || isLoadingAI || !checkHtmlContent('')\">\n {{ AutoBulletButton }}\n </button>\n\n <!-- Bullet Skill Button -->\n <button *ngIf=\"skillsBullet\" class=\"bullet-skill\" mat-flat-button\n (click)=\"transformToSkillsBullets($event)\" [disabled]=\"isDisabled || isLoadingAI\">\n {{ skillsButton }}\n </button>\n </div>\n </div>\n\n <!-- Individual Text Formatting Buttons (Large Containers Only) -->\n <ng-container *ngIf=\"!isSmallScreen\">\n <button *ngFor=\"let item of textFormattingConfig\" class=\"format-button\"\n [class.active]=\"getActiveState(item.type)\"\n (click)=\"handleTextFormattingClick($event, item)\" [title]=\"item.title\" type=\"button\"\n [matTooltip]=\"item.title\" matTooltipPosition=\"above\">\n <mat-icon *ngIf=\"isSvgIcon(item.icon)\" [svgIcon]=\"item.icon\"\n [class.active-icon]=\"getActiveState(item.type)\"></mat-icon>\n <span *ngIf=\"!isSvgIcon(item.icon)\" class=\"material-icons\" [class.active-icon]=\"getActiveState(item.type)\">\n {{ item.icon }}\n </span>\n </button>\n </ng-container>\n\n <!-- Table Component (Large Screens Only) -->\n <app-table *ngIf=\"showTable && !isSmallScreen\" [getEditorElement]=\"getBoundGetEditorElement()\"\n [saveHistoryMethod]=\"getBoundSaveHistory()\" [textChangeMethod]=\"getBoundTextChange()\" matTooltip=\"Table\"\n matTooltipPosition=\"above\">\n </app-table>\n\n <!-- Auto Bullet Button (Large Screens Only) -->\n <button *ngIf=\"autobullet && !isSmallScreen\" class=\"auto-bullet\" mat-flat-button\n (click)=\"transformToBullets($event)\" [disabled]=\"autoBulletDisable || isLoadingAI || !checkHtmlContent('')\">\n {{ AutoBulletButton }}\n </button>\n\n <!-- Bullet Skill Button (Large Screens Only) -->\n <button *ngIf=\"skillsBullet && !isSmallScreen\" class=\"bullet-skill\" mat-flat-button\n (click)=\"transformToSkillsBullets($event)\" [disabled]=\"isDisabled || isLoadingAI\">\n {{ skillsButton }}\n </button>\n\n <!-- History Controls (Undo/Redo) -->\n <div *ngIf=\"historyControls\" class=\"history-controls\">\n <!-- Undo Button -->\n <button class=\"format-button\" (click)=\"execCmd($event, 'undo')\" title=\"Undo\" type=\"button\" matTooltip=\"Undo\"\n matTooltipPosition=\"above\">\n <span class=\"material-icons\" [class.active-icon]=\"getActiveState('undo')\">\n undo\n </span>\n </button>\n\n <!-- Redo Button -->\n <button class=\"format-button\" (click)=\"execCmd($event, 'redo')\" title=\"Redo\" type=\"button\" matTooltip=\"Redo\"\n matTooltipPosition=\"above\">\n <span class=\"material-icons\" [class.active-icon]=\"getActiveState('redo')\">\n redo\n </span>\n </button>\n </div>\n\n <!-- Apply AI Button -->\n <al-button class=\"apply-ai-button\" *ngIf=\"showAIButton\" [labelText]=\"ApplyAiButton\" [buttonType]=\"'icon-label'\" [color]=\"'gradient'\" [size]=\"'xs'\"\n [disabled]=\"isLoadingAI\" (onClick)=\"useAITool($event)\" [tooltip]=\"ApplyAiButton\" [tooltipPosition]=\"'above'\">\n </al-button>\n\n </div>\n\n <!-- Editor Content Area -->\n <div class=\"editor-content\" #editorReference contenteditable=\"true\" [id]=\"editorId\" (click)=\"updateTagHierarchy()\"\n (input)=\"onEditorInput()\" (paste)=\"handlePaste($event)\" (keydown)=\"handleKeydown($event)\"\n (click)=\"toggleDiv($event, true)\" spellcheck=\"false\" role=\"textbox\" aria-label=\"Rich text editor\"\n aria-multiline=\"true\" [attr.data-testid]=\"dataTestId\">\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/icon?family=Material+Icons\";@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\";.weight-light{font-weight:300}.weight-regular{font-weight:400}.weight-medium{font-weight:500}.weight-semibold{font-weight:600}.weight-bold{font-weight:700}.line-height-none{line-height:1!important}.line-height-tight{line-height:1.2!important}.line-height-normal{line-height:1.4!important}.letter-spacing-normal{letter-spacing:0!important}.letter-spacing-wide{letter-spacing:.1em!important}.letter-spacing-wider{letter-spacing:.2em!important}.text-decoration-none{text-decoration:none!important;font-style:normal!important}.text-decoration-underline{text-decoration:underline!important;font-style:normal!important}.text-decoration-italic{text-decoration:none!important;font-style:italic!important}.text-decoration-strike{text-decoration:line-through!important;font-style:normal!important}.font-text-5xl{font-size:2rem;line-height:1.2;letter-spacing:-.1px;font-weight:400;color:#4b4f62}.font-text-5xl-medium{font-size:2rem;line-height:1.2;letter-spacing:-.1px;font-weight:500;color:#4b4f62}.font-text-5xl-bold{font-size:2rem;line-height:1.2;letter-spacing:-.1px;font-weight:700;color:#4b4f62}.font-text-4xl{font-size:1.75rem;line-height:1.2;letter-spacing:-.1px;font-weight:400;color:#4b4f62}.font-text-4xl-medium{font-size:1.75rem;line-height:1.2;letter-spacing:-.1px;font-weight:500;color:#4b4f62}.font-text-4xl-bold{font-size:1.75rem;line-height:1.2;letter-spacing:-.1px;font-weight:700;color:#4b4f62}.font-text-3xl{font-size:1.5rem;line-height:1.2;letter-spacing:-.1px;font-weight:400;color:#4b4f62}.font-text-3xl-medium{font-size:1.5rem;line-height:1.2;letter-spacing:-.1px;font-weight:500;color:#4b4f62}.font-text-3xl-bold{font-size:1.5rem;line-height:1.2;letter-spacing:-.1px;font-weight:700;color:#4b4f62}.font-text-2xl{font-size:1.375rem;line-height:1.2;letter-spacing:-.1px;font-weight:400;color:#4b4f62}.font-text-2xl-medium{font-size:1.375rem;line-height:1.2;letter-spacing:-.1px;font-weight:500;color:#4b4f62}.font-text-2xl-bold{font-size:1.375rem;line-height:1.2;letter-spacing:-.1px;font-weight:700;color:#4b4f62}.font-text-xl{font-size:1.25rem;line-height:1.2;letter-spacing:-.1px;font-weight:400;color:#4b4f62}.font-text-xl-medium{font-size:1.25rem;line-height:1.2;letter-spacing:-.1px;font-weight:500;color:#4b4f62}.font-text-xl-bold{font-size:1.25rem;line-height:1.2;letter-spacing:-.1px;font-weight:700;color:#4b4f62}.font-text-lg{font-size:1rem;line-height:1.4;letter-spacing:.25px;font-weight:400;color:#4b4f62}.font-text-lg-medium{font-size:1rem;line-height:1.4;letter-spacing:.25px;font-weight:500;color:#4b4f62}.font-text-lg-bold{font-size:1rem;line-height:1.4;letter-spacing:.25px;font-weight:700;color:#4b4f62}.font-text-base{font-size:.875rem;line-height:1.4;letter-spacing:.25px;font-weight:400;color:#4b4f62}.font-text-base-medium{font-size:.875rem;line-height:1.4;letter-spacing:.25px;font-weight:500;color:#4b4f62}.font-text-base-bold{font-size:.875rem;line-height:1.4;letter-spacing:.25px;font-weight:700;color:#4b4f62}.font-text-sm{font-size:.75rem;line-height:1.4;letter-spacing:.5px;font-weight:400;color:#4b4f62}.font-text-sm-medium{font-size:.75rem;line-height:1.4;letter-spacing:.5px;font-weight:500;color:#4b4f62}.font-text-sm-bold{font-size:.75rem;line-height:1.4;letter-spacing:.5px;font-weight:700;color:#4b4f62}.font-text-xs{font-size:.625rem;line-height:1.4;letter-spacing:.5px;font-weight:400;color:#4b4f62}.font-text-xs-medium{font-size:.625rem;line-height:1.4;letter-spacing:.5px;font-weight:500;color:#4b4f62}.font-text-xs-bold{font-size:.625rem;line-height:1.4;letter-spacing:.5px;font-weight:700;color:#4b4f62}:root{--color-blue-50: #E5E9FC;--color-blue-100: #BBC7F6;--color-blue-200: #98ABF1;--color-blue-300: #768FED;--color-blue-400: #6581EA;--color-blue-500: #5473E8;--color-blue-600: #1E46DF;--color-blue-700: #0F236F;--color-blue-800: #071238;--color-blue-900: #04091C;--color-green-50: #D7F3F5;--color-green-100: #AFE6EB;--color-green-200: #87DAE2;--color-green-300: #5FCDD8;--color-green-400: #4BC7D3;--color-green-500: #37C1CE;--color-green-600: #299DA8;--color-green-700: #1F767E;--color-green-800: #154E54;--color-green-900: #0A272A;--color-grey-50: #FAFBFB;--color-grey-100: #ECEDF1;--color-grey-200: #DEE0E6;--color-grey-300: #D1D3DB;--color-grey-400: #C3C5D1;--color-grey-500: #A2A6B8;--color-grey-600: #717793;--color-grey-700: #4B4F62;--color-grey-800: #383B4A;--color-grey-900: #252831;--color-error-50: #FDEEF6;--color-error-100: #F9D4E8;--color-error-200: #F6BBDB;--color-error-300: #F2A1CD;--color-error-400: #EF87BF;--color-error-500: #E854A4;--color-error-600: #E22A8E;--color-error-700: #C31A75;--color-error-800: #99155C;--color-error-900: #6F0F43;--color-success-50: #E9F9F3;--color-success-100: #C8F1E3;--color-success-200: #9EE7CE;--color-success-300: #6EDDB7;--color-success-400: #3DD3A0;--color-success-500: #00AD83;--color-success-600: #009873;--color-success-700: #007F61;--color-success-800: #00654F;--color-success-900: #003D30;--color-blue: #5473E8;--color-blue-hover: #6581EA;--color-blue-active: #1E46DF;--color-green: #37C1CE;--color-green-hover: #4BC7D3;--color-green-active: #299DA8;--color-grey: #383B4A;--color-grey-hover: #4B4F62;--color-grey-active: #252831;--color-error: #E854A4;--color-error-hover: #EF87BF;--color-error-active: #E22A8E;--color-success: #00AD83;--color-success-hover: #009873;--color-success-active: #007F61;--color-disabled-bg: #D1D3DB;--color-disabled-text: #A2A6B8}.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,.toolbar .text-formatting-dropdown .text-formatting-text,.toolbar .styling-dropdown .styling-text,.editor-labels .left-label{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,.editor-labels .right-label{font-family:Roboto,sans-serif!important;font-size:12px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.4px}.typo-medium-700{color:var(--Greys-700, #4B4F62);font-family:Roboto,sans-serif!important;font-size:14px;font-style:normal;font-weight:500;line-height:140%;letter-spacing:.035px}.typo-description{color:var(--Greys-700, #4B4F62);font-family:Roboto,sans-serif!important;font-size:14px;font-style:normal;font-weight:400;line-height:1.4;letter-spacing:.035px}.text-grey-500{color:#a2a6b8!important}.font-location-text{color:#717793;font-family:Roboto,sans-serif!important;font-size:16px;font-style:italic;font-weight:400;line-height:140%;letter-spacing:.04px}.font-title-text{color:#717793;font-family:Roboto,sans-serif!important;font-size:16px;font-style:normal;font-weight:700;line-height:140%;letter-spacing:.04px}.editor-labels{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 4px}.editor-labels .left-label{color:#4b4f62}.editor-labels .right-label{color:var(--Greys-500, #A2A6B8);text-align:right}.editor-container{width:100%;max-width:100%;display:block;border-radius:10px;overflow:visible;box-sizing:border-box;position:relative}.editor-container img{-webkit-user-drag:none;user-drag:none;pointer-events:auto}.toolbar{display:flex;align-items:center;background-color:#fafbfb;border:1px solid #C3C5D1;border-top-left-radius:8px;border-top-right-radius:8px;border-bottom:1px solid #C3C5D1;gap:15px;padding:12px 16px;overflow:visible;position:relative;z-index:1}.toolbar .format-button{display:flex;align-items:center;justify-content:center;border:none;background-color:transparent;border-radius:6px;cursor:pointer;transition:background-color .2s ease;padding:4px;position:relative;min-width:24px;height:24px}.toolbar .format-button .material-icons,.toolbar .format-button mat-icon{font-size:20px;color:#4b4f62;transition:none;width:20px;height:20px}.toolbar .format-button.active .material-icons,.toolbar .format-button.active mat-icon,.toolbar .format-button .active-icon{color:#37c1ce}.toolbar .format-button:hover{background-color:#d3d3d380!important}.toolbar .format-button:hover .material-icons,.toolbar .format-button:hover mat-icon{color:#4b4f62!important}.toolbar .format-button:hover.active .material-icons,.toolbar .format-button:hover.active mat-icon,.toolbar .format-button:hover .active-icon{color:#37c1ce!important}.toolbar .format-button:active{transform:translateY(0);box-shadow:0 1px 2px #0000001a}.toolbar .format-button.active{color:#37c1ce}.toolbar .format-button svg{pointer-events:none;transition:fill .2s ease}.toolbar .auto-bullet,.toolbar .bullet-skill{display:flex;align-items:center;justify-content:center;border:1px solid #383B4A;background-color:#fff;border-radius:4px;cursor:pointer;transition:all .2s ease;padding:6px 12px;height:28px;font-size:12px;font-weight:400;color:#383b4a;letter-spacing:.4px}.toolbar .auto-bullet:hover,.toolbar .bullet-skill:hover{background-color:#e9ecef;border-color:#383b4a}.toolbar .auto-bullet:disabled,.toolbar .bullet-skill:disabled{opacity:.5;cursor:not-allowed}.toolbar .styling-dropdown{position:relative;display:inline-block;cursor:pointer;z-index:1000}.toolbar .styling-dropdown .styling-text{color:#4b4f62;font-weight:400;padding:4px;border-radius:4px;transition:background-color .2s ease}.toolbar .styling-dropdown .styling-text:hover{color:#4b4f62!important;background-color:#d3d3d380!important}.toolbar .styling-dropdown .styling-dropdown-content{position:absolute;bottom:100%;left:0;background-color:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:10035;padding:8px;margin-bottom:6px;display:flex;flex-direction:row;gap:8px;flex-wrap:nowrap;white-space:nowrap}.toolbar .styling-dropdown .styling-dropdown-content .format-button{justify-content:center;min-width:24px;height:24px;border-radius:4px;background-color:#fff;border:1px solid transparent;flex-shrink:0;transition:background-color .2s ease}.toolbar .styling-dropdown .styling-dropdown-content .format-button .material-icons,.toolbar .styling-dropdown .styling-dropdown-content .format-button mat-icon{margin-right:0;font-size:24px;color:#4b4f62;transition:none;width:24px;height:24px}.toolbar .styling-dropdown .styling-dropdown-content .format-button:hover{background-color:#d3d3d380!important}.toolbar .styling-dropdown .styling-dropdown-content .format-button:hover .material-icons,.toolbar .styling-dropdown .styling-dropdown-content .format-button:hover mat-icon{color:#4b4f62!important}.toolbar .styling-dropdown .styling-dropdown-content .format-button:hover.active .material-icons,.toolbar .styling-dropdown .styling-dropdown-content .format-button:hover.active mat-icon,.toolbar .styling-dropdown .styling-dropdown-content .format-button:hover .active-icon{color:#37c1ce!important}.toolbar .styling-dropdown .styling-dropdown-content .format-button.active .material-icons,.toolbar .styling-dropdown .styling-dropdown-content .format-button.active mat-icon,.toolbar .styling-dropdown .styling-dropdown-content .format-button .active-icon{color:#37c1ce}.toolbar .styling-dropdown .styling-dropdown-content .format-button.active{color:#37c1ce}.toolbar .text-formatting-dropdown{position:relative;display:inline-block;cursor:pointer;z-index:1000}.toolbar .text-formatting-dropdown .text-formatting-text{color:#4b4f62;font-weight:400;padding:4px;border-radius:4px;transition:background-color .2s ease}.toolbar .text-formatting-dropdown .text-formatting-text:hover{color:#4b4f62!important;background-color:#d3d3d380!important}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content{position:absolute;bottom:100%;left:0;background-color:#ecedf1;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:10035;min-width:auto;padding:8px;margin-bottom:6px;display:flex;flex-direction:row;gap:8px;flex-wrap:nowrap;white-space:nowrap;align-items:center}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button{justify-content:center;border-radius:4px;flex-shrink:0;white-space:nowrap;background-color:#fff;border:1px solid transparent;min-width:24px;height:24px;transition:background-color .2s ease}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button .material-icons,.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button mat-icon{margin-right:0;font-size:18px;color:#4b4f62;transition:none;width:18px;height:18px}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button:hover{background-color:#d3d3d380!important}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button:hover .material-icons,.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button:hover mat-icon{color:#4b4f62!important}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button:hover.active .material-icons,.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button:hover.active mat-icon,.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button:hover .active-icon{color:#37c1ce!important}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button.active .material-icons,.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button.active mat-icon,.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button .active-icon{color:#37c1ce}.toolbar .text-formatting-dropdown .text-formatting-dropdown-content .format-button.active{color:#37c1ce}.toolbar .history-controls{display:flex;align-items:center;gap:8px}.toolbar .apply-ai-button{margin-left:auto}.editor-content{width:100%;min-height:100px;padding:12px 16px;background-color:#f7f9fe;outline:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.6;color:#4b4f62;overflow-y:auto;border:1px solid #ccc;border-top:0;border-bottom-right-radius:8px;border-bottom-left-radius:8px;max-height:60vh}.editor-content:focus{background-color:#f7f9fe}.editor-content:focus-visible{outline:none!important}.editor-content:empty:before{content:\"Start typing here...\";color:#adb5bd;font-style:italic}.editor-content p{margin:0 0 12px}.editor-content p:last-child{margin-bottom:0}.editor-content b,.editor-content strong{font-weight:600;color:#2c3e50}.editor-content i,.editor-content em{font-style:italic;color:#34495e}.editor-content u,.editor-content ins{text-decoration:underline;text-decoration-color:#000;text-decoration-thickness:2px}.editor-content *::selection{background-color:#37c1ce33}.editor-content table{border-collapse:collapse;width:100%;margin:10px 0;background-color:#f7f9fe;table-layout:fixed}.editor-content table td,.editor-content table th{border:1px solid #ccc;padding:8px;text-align:left;vertical-align:top;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;white-space:normal;max-width:0;background-color:#f7f9fe}.editor-content table th{background-color:#f7f9fe;font-weight:600}.tag-hierarchy{padding:5px;border-top:none;background-color:#f9f9f9;height:25px;border:1px solid #ccc}.cdk-overlay-pane{width:fit-content!important;min-width:fit-content!important;transform:translate(0)!important}.mat-select-panel{width:fit-content!important;min-width:fit-content!important}\n"] }]
5055
5119
  }], ctorParameters: () => [{ type: i0.Renderer2, decorators: [{
5056
5120
  type: Inject,
5057
5121
  args: [Renderer2]
@@ -5060,6 +5124,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
5060
5124
  args: ['editorReference', {
5061
5125
  static: true
5062
5126
  }]
5127
+ }], editorContainer: [{
5128
+ type: ViewChild,
5129
+ args: ['editorContainer', {
5130
+ static: true
5131
+ }]
5063
5132
  }], bold: [{
5064
5133
  type: Input
5065
5134
  }], italic: [{
@@ -5118,6 +5187,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
5118
5187
  type: Input
5119
5188
  }], hideAIOption: [{
5120
5189
  type: Input
5190
+ }], showAIButton: [{
5191
+ type: Input
5121
5192
  }], insertTablebtn: [{
5122
5193
  type: Input
5123
5194
  }], insertRowAbovebtn: [{
@@ -5188,7 +5259,7 @@ class CustomEditorDemoComponent {
5188
5259
  </ul>
5189
5260
  </div>
5190
5261
  </div>
5191
- `, isInline: true, styles: [".demo-container{max-width:800px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}h2{color:#333;margin-bottom:16px}.demo-description{color:#666;margin-bottom:24px;line-height:1.5}.demo-instructions{margin-top:24px;padding:16px;background-color:#f8f9fa;border-radius:4px;border-left:4px solid #37c1ce}.demo-instructions h3{margin-top:0;color:#333}.demo-instructions ul{margin-bottom:0;padding-left:20px}.demo-instructions li{margin-bottom:8px;color:#555}\n"], dependencies: [{ kind: "component", type: CustomEditorComponent, selector: "app-custom-editor", inputs: ["bold", "italic", "underline", "list", "isVisible", "dataTestId", "showLabels", "leftLabelText", "rightLabelText", "initialValue", "contentFromParent", "editScreenSection", "actionType", "historyControls", "autobullet", "skillsBullet", "jsonData", "formJsonData", "editorId", "sectionId", "actionId", "undoCustom", "redoCustom", "undoSkill", "redoSkill", "matOptionAI", "hideTableOption", "hideAutoBulletOption", "hideAIOption", "insertTablebtn", "insertRowAbovebtn", "insertRowBelowbtn", "insertColumnLeftbtn", "insertColumnRightbtn", "deleteTablebtn", "deleteRowAbovebtn", "deleteRowBelowbtn", "deleteColumnLeftbtn", "deleteColumnRightbtn", "showTable", "toolbarConfig", "textFormattingConfig"], outputs: ["contentChangeFromQuill", "ApplyAIinQuill"] }] }); }
5262
+ `, isInline: true, styles: [".demo-container{max-width:800px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}h2{color:#333;margin-bottom:16px}.demo-description{color:#666;margin-bottom:24px;line-height:1.5}.demo-instructions{margin-top:24px;padding:16px;background-color:#f8f9fa;border-radius:4px;border-left:4px solid #37c1ce}.demo-instructions h3{margin-top:0;color:#333}.demo-instructions ul{margin-bottom:0;padding-left:20px}.demo-instructions li{margin-bottom:8px;color:#555}\n"], dependencies: [{ kind: "component", type: CustomEditorComponent, selector: "app-custom-editor", inputs: ["bold", "italic", "underline", "list", "isVisible", "dataTestId", "showLabels", "leftLabelText", "rightLabelText", "initialValue", "contentFromParent", "editScreenSection", "actionType", "historyControls", "autobullet", "skillsBullet", "jsonData", "formJsonData", "editorId", "sectionId", "actionId", "undoCustom", "redoCustom", "undoSkill", "redoSkill", "matOptionAI", "hideTableOption", "hideAutoBulletOption", "hideAIOption", "showAIButton", "insertTablebtn", "insertRowAbovebtn", "insertRowBelowbtn", "insertColumnLeftbtn", "insertColumnRightbtn", "deleteTablebtn", "deleteRowAbovebtn", "deleteRowBelowbtn", "deleteColumnLeftbtn", "deleteColumnRightbtn", "showTable", "toolbarConfig", "textFormattingConfig"], outputs: ["contentChangeFromQuill", "ApplyAIinQuill"] }] }); }
5192
5263
  }
5193
5264
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomEditorDemoComponent, decorators: [{
5194
5265
  type: Component,