@allsorter/ui-components 0.0.402 → 0.0.406

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.
@@ -62,9 +62,20 @@ export declare class CustomEditorComponent implements OnInit, OnDestroy, AfterVi
62
62
  deleteColumnLeftbtn?: boolean;
63
63
  deleteColumnRightbtn?: boolean;
64
64
  showTable: boolean;
65
+ externalHistory: string[];
66
+ externalRedoStack: string[];
67
+ useExternalHistory: boolean;
65
68
  contentChangeFromQuill: EventEmitter<string>;
66
69
  ApplyAIinQuill: EventEmitter<any>;
67
70
  onAutoBullet: EventEmitter<any>;
71
+ onHistoryChange: EventEmitter<{
72
+ history: string[];
73
+ redoStack: string[];
74
+ }>;
75
+ onUndoRedo: EventEmitter<{
76
+ type: "undo" | "redo";
77
+ content: string;
78
+ }>;
68
79
  toolbarConfig: ToolbarItem[];
69
80
  textFormattingConfig: ToolbarItem[];
70
81
  boldedText: boolean;
@@ -137,12 +148,12 @@ export declare class CustomEditorComponent implements OnInit, OnDestroy, AfterVi
137
148
  clearStylingDropdownTimeout(): void;
138
149
  clearTextFormattingDropdownTimeout(): void;
139
150
  handleClickOutside(event: Event): void;
140
- execCmd(event: MouseEvent, command: string, value?: string | null): void;
151
+ execCmd(event: Event, command: string, value?: string | null): void;
141
152
  updateTagHierarchy(): void;
142
153
  onEditorInput(): void;
143
154
  getActiveState(type: string): boolean;
144
- undo(event: MouseEvent): void;
145
- redo(event: MouseEvent): void;
155
+ undo(event: Event): void;
156
+ redo(event: Event): void;
146
157
  textChange(): void;
147
158
  TextChange(): void;
148
159
  saveHistory(): void;
@@ -183,6 +194,6 @@ export declare class CustomEditorComponent implements OnInit, OnDestroy, AfterVi
183
194
  useAITool(event: MouseEvent): void;
184
195
  useAutoBullet(event: MouseEvent): void;
185
196
  static ɵfac: i0.ɵɵFactoryDeclaration<CustomEditorComponent, never>;
186
- static ɵcmp: i0.ɵɵComponentDeclaration<CustomEditorComponent, "app-custom-editor", never, { "bold": { "alias": "bold"; "required": false; }; "italic": { "alias": "italic"; "required": false; }; "underline": { "alias": "underline"; "required": false; }; "list": { "alias": "list"; "required": false; }; "isVisible": { "alias": "isVisible"; "required": false; }; "dataTestId": { "alias": "dataTestId"; "required": false; }; "showLabels": { "alias": "showLabels"; "required": false; }; "leftLabelText": { "alias": "leftLabelText"; "required": false; }; "rightLabelText": { "alias": "rightLabelText"; "required": false; }; "initialValue": { "alias": "initialValue"; "required": false; }; "contentFromParent": { "alias": "contentFromParent"; "required": false; }; "editScreenSection": { "alias": "editScreenSection"; "required": false; }; "actionType": { "alias": "actionType"; "required": false; }; "historyControls": { "alias": "historyControls"; "required": false; }; "autobullet": { "alias": "autobullet"; "required": false; }; "skillsBullet": { "alias": "skillsBullet"; "required": false; }; "jsonData": { "alias": "jsonData"; "required": false; }; "formJsonData": { "alias": "formJsonData"; "required": false; }; "editorId": { "alias": "editorId"; "required": false; }; "sectionId": { "alias": "sectionId"; "required": false; }; "actionId": { "alias": "actionId"; "required": false; }; "undoCustom": { "alias": "undoCustom"; "required": false; }; "redoCustom": { "alias": "redoCustom"; "required": false; }; "undoSkill": { "alias": "undoSkill"; "required": false; }; "redoSkill": { "alias": "redoSkill"; "required": false; }; "matOptionAI": { "alias": "matOptionAI"; "required": false; }; "hideTableOption": { "alias": "hideTableOption"; "required": false; }; "hideAutoBulletOption": { "alias": "hideAutoBulletOption"; "required": false; }; "hideAIOption": { "alias": "hideAIOption"; "required": false; }; "showAIButton": { "alias": "showAIButton"; "required": false; }; "insertTablebtn": { "alias": "insertTablebtn"; "required": false; }; "insertRowAbovebtn": { "alias": "insertRowAbovebtn"; "required": false; }; "insertRowBelowbtn": { "alias": "insertRowBelowbtn"; "required": false; }; "insertColumnLeftbtn": { "alias": "insertColumnLeftbtn"; "required": false; }; "insertColumnRightbtn": { "alias": "insertColumnRightbtn"; "required": false; }; "deleteTablebtn": { "alias": "deleteTablebtn"; "required": false; }; "deleteRowAbovebtn": { "alias": "deleteRowAbovebtn"; "required": false; }; "deleteRowBelowbtn": { "alias": "deleteRowBelowbtn"; "required": false; }; "deleteColumnLeftbtn": { "alias": "deleteColumnLeftbtn"; "required": false; }; "deleteColumnRightbtn": { "alias": "deleteColumnRightbtn"; "required": false; }; "showTable": { "alias": "showTable"; "required": false; }; "toolbarConfig": { "alias": "toolbarConfig"; "required": false; }; "textFormattingConfig": { "alias": "textFormattingConfig"; "required": false; }; }, { "contentChangeFromQuill": "contentChangeFromQuill"; "ApplyAIinQuill": "ApplyAIinQuill"; "onAutoBullet": "onAutoBullet"; }, never, never, true, never>;
197
+ static ɵcmp: i0.ɵɵComponentDeclaration<CustomEditorComponent, "app-custom-editor", never, { "bold": { "alias": "bold"; "required": false; }; "italic": { "alias": "italic"; "required": false; }; "underline": { "alias": "underline"; "required": false; }; "list": { "alias": "list"; "required": false; }; "isVisible": { "alias": "isVisible"; "required": false; }; "dataTestId": { "alias": "dataTestId"; "required": false; }; "showLabels": { "alias": "showLabels"; "required": false; }; "leftLabelText": { "alias": "leftLabelText"; "required": false; }; "rightLabelText": { "alias": "rightLabelText"; "required": false; }; "initialValue": { "alias": "initialValue"; "required": false; }; "contentFromParent": { "alias": "contentFromParent"; "required": false; }; "editScreenSection": { "alias": "editScreenSection"; "required": false; }; "actionType": { "alias": "actionType"; "required": false; }; "historyControls": { "alias": "historyControls"; "required": false; }; "autobullet": { "alias": "autobullet"; "required": false; }; "skillsBullet": { "alias": "skillsBullet"; "required": false; }; "jsonData": { "alias": "jsonData"; "required": false; }; "formJsonData": { "alias": "formJsonData"; "required": false; }; "editorId": { "alias": "editorId"; "required": false; }; "sectionId": { "alias": "sectionId"; "required": false; }; "actionId": { "alias": "actionId"; "required": false; }; "undoCustom": { "alias": "undoCustom"; "required": false; }; "redoCustom": { "alias": "redoCustom"; "required": false; }; "undoSkill": { "alias": "undoSkill"; "required": false; }; "redoSkill": { "alias": "redoSkill"; "required": false; }; "matOptionAI": { "alias": "matOptionAI"; "required": false; }; "hideTableOption": { "alias": "hideTableOption"; "required": false; }; "hideAutoBulletOption": { "alias": "hideAutoBulletOption"; "required": false; }; "hideAIOption": { "alias": "hideAIOption"; "required": false; }; "showAIButton": { "alias": "showAIButton"; "required": false; }; "insertTablebtn": { "alias": "insertTablebtn"; "required": false; }; "insertRowAbovebtn": { "alias": "insertRowAbovebtn"; "required": false; }; "insertRowBelowbtn": { "alias": "insertRowBelowbtn"; "required": false; }; "insertColumnLeftbtn": { "alias": "insertColumnLeftbtn"; "required": false; }; "insertColumnRightbtn": { "alias": "insertColumnRightbtn"; "required": false; }; "deleteTablebtn": { "alias": "deleteTablebtn"; "required": false; }; "deleteRowAbovebtn": { "alias": "deleteRowAbovebtn"; "required": false; }; "deleteRowBelowbtn": { "alias": "deleteRowBelowbtn"; "required": false; }; "deleteColumnLeftbtn": { "alias": "deleteColumnLeftbtn"; "required": false; }; "deleteColumnRightbtn": { "alias": "deleteColumnRightbtn"; "required": false; }; "showTable": { "alias": "showTable"; "required": false; }; "externalHistory": { "alias": "externalHistory"; "required": false; }; "externalRedoStack": { "alias": "externalRedoStack"; "required": false; }; "useExternalHistory": { "alias": "useExternalHistory"; "required": false; }; "toolbarConfig": { "alias": "toolbarConfig"; "required": false; }; "textFormattingConfig": { "alias": "textFormattingConfig"; "required": false; }; }, { "contentChangeFromQuill": "contentChangeFromQuill"; "ApplyAIinQuill": "ApplyAIinQuill"; "onAutoBullet": "onAutoBullet"; "onHistoryChange": "onHistoryChange"; "onUndoRedo": "onUndoRedo"; }, never, never, true, never>;
187
198
  }
188
199
  export {};
@@ -24,6 +24,16 @@ export declare class InputComponent implements ControlValueAccessor, OnInit, OnC
24
24
  searchfilter: boolean;
25
25
  multipleSelect: boolean;
26
26
  options: string[];
27
+ showDropdownFooter: boolean;
28
+ /** Dropdown footer option configuration */
29
+ dropdownFooterOption: {
30
+ label: string;
31
+ value: string;
32
+ icon?: string;
33
+ iconName?: string;
34
+ onClick?: () => void;
35
+ dataTestId?: string;
36
+ } | undefined;
27
37
  size: 'xs' | 'small' | 'base' | 'large' | 'header';
28
38
  types: 'simple' | 'primary' | 'success' | 'error' | 'disabled' | 'plain';
29
39
  tooltip: string;
@@ -53,6 +63,7 @@ export declare class InputComponent implements ControlValueAccessor, OnInit, OnC
53
63
  date: Date;
54
64
  datepicker?: MatDatepicker<any>;
55
65
  }>;
66
+ footerOptionClick: EventEmitter<string>;
56
67
  private onChange;
57
68
  onTouched: () => void;
58
69
  get isDisabled(): boolean;
@@ -69,6 +80,7 @@ export declare class InputComponent implements ControlValueAccessor, OnInit, OnC
69
80
  setDisabledState(isDisabled: boolean): void;
70
81
  onInputChange(value: string): void;
71
82
  onSelectionChange(value: string | string[]): void;
83
+ onFooterOptionClick(event?: Event): void;
72
84
  onSearchInputChange(event: Event): void;
73
85
  onOptionSelected(event: any): void;
74
86
  filterOptions(searchTerm: string): void;
@@ -82,5 +94,5 @@ export declare class InputComponent implements ControlValueAccessor, OnInit, OnC
82
94
  getSizeClass(): string;
83
95
  getCategoryClass(): string;
84
96
  static ɵfac: i0.ɵɵFactoryDeclaration<InputComponent, never>;
85
- static ɵcmp: i0.ɵɵComponentDeclaration<InputComponent, "al-input", never, { "labelText": { "alias": "labelText"; "required": false; }; "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "value": { "alias": "value"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "dataTestId": { "alias": "dataTestId"; "required": false; }; "type": { "alias": "type"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "error": { "alias": "error"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "leftIcon": { "alias": "leftIcon"; "required": false; }; "rightIcon": { "alias": "rightIcon"; "required": false; }; "hasDropDown": { "alias": "hasDropDown"; "required": false; }; "dropDown": { "alias": "dropDown"; "required": false; }; "searchfilter": { "alias": "searchfilter"; "required": false; }; "multipleSelect": { "alias": "multipleSelect"; "required": false; }; "options": { "alias": "options"; "required": false; }; "size": { "alias": "size"; "required": false; }; "types": { "alias": "types"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; }; "matDatepicker": { "alias": "matDatepicker"; "required": false; }; "dateType": { "alias": "dateType"; "required": false; }; }, { "change": "change"; "valueChange": "valueChange"; "onColorChange": "onColorChange"; "monthSelected": "monthSelected"; "yearSelected": "yearSelected"; }, never, never, true, never>;
97
+ static ɵcmp: i0.ɵɵComponentDeclaration<InputComponent, "al-input", never, { "labelText": { "alias": "labelText"; "required": false; }; "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "value": { "alias": "value"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "dataTestId": { "alias": "dataTestId"; "required": false; }; "type": { "alias": "type"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "error": { "alias": "error"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "leftIcon": { "alias": "leftIcon"; "required": false; }; "rightIcon": { "alias": "rightIcon"; "required": false; }; "hasDropDown": { "alias": "hasDropDown"; "required": false; }; "dropDown": { "alias": "dropDown"; "required": false; }; "searchfilter": { "alias": "searchfilter"; "required": false; }; "multipleSelect": { "alias": "multipleSelect"; "required": false; }; "options": { "alias": "options"; "required": false; }; "showDropdownFooter": { "alias": "showDropdownFooter"; "required": false; }; "dropdownFooterOption": { "alias": "dropdownFooterOption"; "required": false; }; "size": { "alias": "size"; "required": false; }; "types": { "alias": "types"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; }; "matDatepicker": { "alias": "matDatepicker"; "required": false; }; "dateType": { "alias": "dateType"; "required": false; }; }, { "change": "change"; "valueChange": "valueChange"; "onColorChange": "onColorChange"; "monthSelected": "monthSelected"; "yearSelected": "yearSelected"; "footerOptionClick": "footerOptionClick"; }, never, never, true, never>;
86
98
  }
@@ -9,6 +9,7 @@ export declare class NewResumeHeaderComponent implements OnInit, OnDestroy, Afte
9
9
  private iconRegistry;
10
10
  title: string;
11
11
  showHeaderCheckbox: boolean;
12
+ showEyeIcon: boolean;
12
13
  headerCheckboxChecked: boolean;
13
14
  configEyeToggle: EyeIconConfig[];
14
15
  hiddenSection: {
@@ -61,6 +62,17 @@ export declare class NewResumeHeaderComponent implements OnInit, OnDestroy, Afte
61
62
  * Optional - only needed when using indexed field identifiers
62
63
  */
63
64
  index?: number;
65
+ /**
66
+ * Whether to show a bottom border on the header
67
+ * When true, adds a 1px solid border at the bottom of the header
68
+ */
69
+ showBottomBorder: boolean;
70
+ /**
71
+ * Custom border color for the bottom border
72
+ * When provided, overrides the default color (#D1D3DB)
73
+ * Accepts any valid CSS color value (hex, rgb, named color, etc.)
74
+ */
75
+ borderColor?: string;
64
76
  get shouldShowPopOut(): boolean;
65
77
  /**
66
78
  * Combined state for expand/collapse animation.
@@ -151,5 +163,5 @@ export declare class NewResumeHeaderComponent implements OnInit, OnDestroy, Afte
151
163
  ngAfterViewInit(): void;
152
164
  ngOnDestroy(): void;
153
165
  static ɵfac: i0.ɵɵFactoryDeclaration<NewResumeHeaderComponent, never>;
154
- static ɵcmp: i0.ɵɵComponentDeclaration<NewResumeHeaderComponent, "al-newresumeheader", never, { "title": { "alias": "title"; "required": false; }; "showHeaderCheckbox": { "alias": "showHeaderCheckbox"; "required": false; }; "headerCheckboxChecked": { "alias": "headerCheckboxChecked"; "required": false; }; "configEyeToggle": { "alias": "configEyeToggle"; "required": false; }; "hiddenSection": { "alias": "hiddenSection"; "required": false; }; "buttonConfig": { "alias": "buttonConfig"; "required": false; }; "isLargeScreen": { "alias": "isLargeScreen"; "required": false; }; "popOutButtonLabel": { "alias": "popOutButtonLabel"; "required": false; }; "popOutButtonIcon": { "alias": "popOutButtonIcon"; "required": false; }; "popOutButtonTooltip": { "alias": "popOutButtonTooltip"; "required": false; }; "popOutButtonTooltipPosition": { "alias": "popOutButtonTooltipPosition"; "required": false; }; "showPopOutPanel": { "alias": "showPopOutPanel"; "required": false; }; "popOutMessage": { "alias": "popOutMessage"; "required": false; }; "dataTestId": { "alias": "dataTestId"; "required": false; }; "fieldVisibility": { "alias": "fieldVisibility"; "required": false; }; "index": { "alias": "index"; "required": false; }; }, { "titleChange": "titleChange"; "sectionToggled": "sectionToggled"; "headerCheckboxChange": "headerCheckboxChange"; "showHideToggleSection": "showHideToggleSection"; "buttonClicked": "buttonClicked"; "popOutButtonClick": "popOutButtonClick"; }, never, ["[header-left]", "[header-center-left]", "[header-center-center]", "[header-center-right]", "[header-right]", "[header-left]", "[header-center-right]", "[header-right]", "*"], true, never>;
166
+ static ɵcmp: i0.ɵɵComponentDeclaration<NewResumeHeaderComponent, "al-newresumeheader", never, { "title": { "alias": "title"; "required": false; }; "showHeaderCheckbox": { "alias": "showHeaderCheckbox"; "required": false; }; "showEyeIcon": { "alias": "showEyeIcon"; "required": false; }; "headerCheckboxChecked": { "alias": "headerCheckboxChecked"; "required": false; }; "configEyeToggle": { "alias": "configEyeToggle"; "required": false; }; "hiddenSection": { "alias": "hiddenSection"; "required": false; }; "buttonConfig": { "alias": "buttonConfig"; "required": false; }; "isLargeScreen": { "alias": "isLargeScreen"; "required": false; }; "popOutButtonLabel": { "alias": "popOutButtonLabel"; "required": false; }; "popOutButtonIcon": { "alias": "popOutButtonIcon"; "required": false; }; "popOutButtonTooltip": { "alias": "popOutButtonTooltip"; "required": false; }; "popOutButtonTooltipPosition": { "alias": "popOutButtonTooltipPosition"; "required": false; }; "showPopOutPanel": { "alias": "showPopOutPanel"; "required": false; }; "popOutMessage": { "alias": "popOutMessage"; "required": false; }; "dataTestId": { "alias": "dataTestId"; "required": false; }; "fieldVisibility": { "alias": "fieldVisibility"; "required": false; }; "index": { "alias": "index"; "required": false; }; "showBottomBorder": { "alias": "showBottomBorder"; "required": false; }; "borderColor": { "alias": "borderColor"; "required": false; }; }, { "titleChange": "titleChange"; "sectionToggled": "sectionToggled"; "headerCheckboxChange": "headerCheckboxChange"; "showHideToggleSection": "showHideToggleSection"; "buttonClicked": "buttonClicked"; "popOutButtonClick": "popOutButtonClick"; }, never, ["[header-left]", "[header-center-left]", "[header-center-center]", "[header-center-right]", "[header-right]", "[header-left]", "[header-center-right]", "[header-right]", "*"], true, never>;
155
167
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allsorter/ui-components",
3
- "version": "0.0.402",
3
+ "version": "0.0.406",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.0.0",
6
6
  "@angular/core": "^18.0.0",
@@ -82,7 +82,7 @@
82
82
  <!-- Individual Text Formatting Buttons (Large Containers Only) -->
83
83
  <ng-container *ngIf="!isSmallScreen">
84
84
  <button *ngFor="let item of textFormattingConfig" class="format-button" [class.active]="getActiveState(item.type)"
85
- (onClick)="handleTextFormattingClick($event, item)" [title]="item.title" type="button" [matTooltip]="item.title"
85
+ (click)="handleTextFormattingClick($event, item)" [title]="item.title" type="button" [matTooltip]="item.title"
86
86
  matTooltipPosition="above">
87
87
  <mat-icon *ngIf="isSvgIcon(item.icon)" [svgIcon]="item.icon"
88
88
  [class.active-icon]="getActiveState(item.type)"></mat-icon>
@@ -113,7 +113,7 @@
113
113
  <!-- History Controls (Undo/Redo) -->
114
114
  <div *ngIf="historyControls" class="history-controls">
115
115
  <!-- Undo Button -->
116
- <button class="format-button" (onClick)="execCmd($event, 'undo')" title="Undo" type="button" matTooltip="Undo"
116
+ <button class="format-button" (click)="execCmd($event, 'undo')" title="Undo" type="button" matTooltip="Undo"
117
117
  matTooltipPosition="above">
118
118
  <span class="material-icons" [class.active-icon]="getActiveState('undo')">
119
119
  undo
@@ -121,7 +121,7 @@
121
121
  </button>
122
122
 
123
123
  <!-- Redo Button -->
124
- <button class="format-button" (clionClickck)="execCmd($event, 'redo')" title="Redo" type="button" matTooltip="Redo"
124
+ <button class="format-button" (click)="execCmd($event, 'redo')" title="Redo" type="button" matTooltip="Redo"
125
125
  matTooltipPosition="above">
126
126
  <span class="material-icons" [class.active-icon]="getActiveState('redo')">
127
127
  redo
@@ -131,7 +131,7 @@
131
131
 
132
132
  <!-- Apply AI Button -->
133
133
  <al-button class="apply-ai-button" *ngIf="showAIButton" [labelText]="ApplyAiButton" [buttonType]="'icon-label'"
134
- [color]="'gradient'" [size]="'xs'" [disabled]="isLoadingAI" (onClick)="useAITool($event)"
134
+ [color]="'gradient'" [size]="'xs'" [disabled]="isLoadingAI" (click)="useAITool($event)"
135
135
  [tooltip]="ApplyAiButton" [tooltipPosition]="'above'">
136
136
  </al-button>
137
137
 
@@ -42,6 +42,27 @@
42
42
  [ngModel]="multipleSelect ? selectedValues : value" (selectionChange)="onSelectionChange($event.value)"
43
43
  [placeholder]="placeholder || labelText">
44
44
  <mat-option *ngFor="let option of options" [value]="option">{{ option }}</mat-option>
45
+
46
+ <!-- Footer option -->
47
+ <span *ngIf="showDropdownFooter">
48
+ <hr class="dropdown-footer-separator m-0">
49
+ <mat-option [value]="dropdownFooterOption.value" (click)="onFooterOptionClick($event)"
50
+ (keydown)="onFooterOptionClick($event)"
51
+ [attr.data-test-id]="dropdownFooterOption.dataTestId || 'option-dropdown-footer'"
52
+ class="dropdown-footer-option">
53
+ <span style="display: flex; align-items: center; gap: 8px;">
54
+ <!-- Image icon -->
55
+ <img *ngIf="dropdownFooterOption.icon && !dropdownFooterOption.iconName" [src]="dropdownFooterOption.icon"
56
+ style="width: 20px; height: 20px;" [alt]="dropdownFooterOption.label" />
57
+ <!-- Material icon -->
58
+ <mat-icon *ngIf="dropdownFooterOption.iconName"
59
+ style="font-size: 20px; width: 20px; height: 20px; color: #5473E8; margin-right: 0;">
60
+ {{ dropdownFooterOption.iconName }}
61
+ </mat-icon>
62
+ <span style="color: #5473E8;">{{ dropdownFooterOption.label }}</span>
63
+ </span>
64
+ </mat-option>
65
+ </span>
45
66
  </mat-select>
46
67
  </ng-template>
47
68
  </ng-container>
@@ -83,4 +104,4 @@
83
104
 
84
105
  <mat-error *ngIf="false && helperText">{{ helperText }}</mat-error>
85
106
  <mat-hint *ngIf="helperText">{{ helperText }}</mat-hint>
86
- </mat-form-field>
107
+ </mat-form-field>
@@ -9,6 +9,7 @@
9
9
  'header-with-bottom-margin': !showPopOutPanel
10
10
  }"
11
11
  [ngStyle]="getDynamicStyles()"
12
+ [style.border-bottom]="showBottomBorder ? '2px solid ' + (borderColor || '#D1D3DB') : ''"
12
13
  [attr.data-test-id]="dataTestId">
13
14
  <!-- Normal header layout (shows when section is NOT hidden) --><ng-container
14
15
  *ngIf="!isSectionHidden; else hiddenHeaderLayout"><al-responsive-columns [stackAt]="0" [gap]="'12px'"
@@ -60,8 +61,8 @@
60
61
  </div>
61
62
  </div>
62
63
  <div right><ng-content select="[header-center-right]"></ng-content>
63
- <!-- Eye icon - uses actual isHidden value from config, always visible --><ng-container
64
- *ngIf="configEyeToggle && configEyeToggle.length > 0"><ng-container
64
+ <!-- Eye icon - uses actual isHidden value from config, visibility controlled by showEyeIcon --><ng-container
65
+ *ngIf="showEyeIcon && configEyeToggle && configEyeToggle.length > 0"><ng-container
65
66
  *ngFor="let eyeConfig of configEyeToggle"><ng-container *ngIf="eyeConfig"><ng-container
66
67
  *ngTemplateOutlet="eyeIconTemplate; context: { isHidden: eyeConfig.isHidden === true, accordionItem: accordionItem, configEyeToggle: eyeConfig }"></ng-container></ng-container></ng-container></ng-container>
67
68
  </div>
@@ -89,8 +90,8 @@
89
90
  <div class="hidden-write-sb" [ngClass]="{ 'hidden-write-white-sb': fieldVisibility?.isVisible === false }">Section hidden</div>
90
91
  </div>
91
92
  <div right><ng-content select="[header-center-right]"></ng-content>
92
- <!-- Eye icon - uses actual isHidden value from config, always visible --><ng-container
93
- *ngIf="configEyeToggle && configEyeToggle.length > 0"><ng-container
93
+ <!-- Eye icon - uses actual isHidden value from config, visibility controlled by showEyeIcon --><ng-container
94
+ *ngIf="showEyeIcon && configEyeToggle && configEyeToggle.length > 0"><ng-container
94
95
  *ngFor="let eyeConfig of configEyeToggle"><ng-container *ngIf="eyeConfig"><ng-container
95
96
  *ngTemplateOutlet="eyeIconTemplate; context: { isHidden: eyeConfig.isHidden === true, accordionItem: accordionItem, configEyeToggle: eyeConfig }"></ng-container></ng-container></ng-container></ng-container>
96
97
  </div>