@allsorter/ui-components 0.0.400 → 0.0.404
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.
- package/fesm2022/allsorter-ui-components.mjs +241 -26
- package/fesm2022/allsorter-ui-components.mjs.map +1 -1
- package/lib/custom-editor/custom-editor.component.d.ts +15 -4
- package/lib/input/input.component.d.ts +12 -1
- package/lib/newresumeheader/newresumeheader.component.d.ts +40 -1
- package/package.json +1 -1
- package/src/lib/custom-editor/custom-editor.component.html +4 -4
- package/src/lib/input/input.component.html +14 -0
- package/src/lib/newresumeheader/newresumeheader.component.html +16 -5
- package/src/lib/newresumeheader/newresumeheader.component.scss +28 -2
|
@@ -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:
|
|
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:
|
|
145
|
-
redo(event:
|
|
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,15 @@ export declare class InputComponent implements ControlValueAccessor, OnInit, OnC
|
|
|
24
24
|
searchfilter: boolean;
|
|
25
25
|
multipleSelect: boolean;
|
|
26
26
|
options: string[];
|
|
27
|
+
/** Dropdown footer option configuration */
|
|
28
|
+
dropdownFooterOption: {
|
|
29
|
+
label: string;
|
|
30
|
+
value: string;
|
|
31
|
+
icon?: string;
|
|
32
|
+
showFooter?: boolean;
|
|
33
|
+
onClick?: () => void;
|
|
34
|
+
dataTestId?: string;
|
|
35
|
+
} | undefined;
|
|
27
36
|
size: 'xs' | 'small' | 'base' | 'large' | 'header';
|
|
28
37
|
types: 'simple' | 'primary' | 'success' | 'error' | 'disabled' | 'plain';
|
|
29
38
|
tooltip: string;
|
|
@@ -53,6 +62,7 @@ export declare class InputComponent implements ControlValueAccessor, OnInit, OnC
|
|
|
53
62
|
date: Date;
|
|
54
63
|
datepicker?: MatDatepicker<any>;
|
|
55
64
|
}>;
|
|
65
|
+
footerOptionClick: EventEmitter<string>;
|
|
56
66
|
private onChange;
|
|
57
67
|
onTouched: () => void;
|
|
58
68
|
get isDisabled(): boolean;
|
|
@@ -69,6 +79,7 @@ export declare class InputComponent implements ControlValueAccessor, OnInit, OnC
|
|
|
69
79
|
setDisabledState(isDisabled: boolean): void;
|
|
70
80
|
onInputChange(value: string): void;
|
|
71
81
|
onSelectionChange(value: string | string[]): void;
|
|
82
|
+
onFooterOptionClick(event?: Event): void;
|
|
72
83
|
onSearchInputChange(event: Event): void;
|
|
73
84
|
onOptionSelected(event: any): void;
|
|
74
85
|
filterOptions(searchTerm: string): void;
|
|
@@ -82,5 +93,5 @@ export declare class InputComponent implements ControlValueAccessor, OnInit, OnC
|
|
|
82
93
|
getSizeClass(): string;
|
|
83
94
|
getCategoryClass(): string;
|
|
84
95
|
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>;
|
|
96
|
+
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; }; "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
97
|
}
|
|
@@ -23,6 +23,20 @@ export declare class NewResumeHeaderComponent implements OnInit, OnDestroy, Afte
|
|
|
23
23
|
* 2. Otherwise, fall back to `hiddenSection.headerSectionHidden` for backward compatibility.
|
|
24
24
|
*/
|
|
25
25
|
get isSectionHidden(): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Returns dynamic styles based on field visibility.
|
|
28
|
+
* Used by extra sections to apply template-driven background colors.
|
|
29
|
+
*
|
|
30
|
+
* Only applies custom styles when fieldVisibility is configured.
|
|
31
|
+
* When section is hidden without fieldVisibility: no custom styles (CSS handles opacity)
|
|
32
|
+
* When field is visible: light background (#ECEDF1)
|
|
33
|
+
* When field is hidden: dark background (#4B4F62)
|
|
34
|
+
*
|
|
35
|
+
* @returns Object with CSS properties for ngStyle binding, or empty object for default CSS
|
|
36
|
+
*/
|
|
37
|
+
getDynamicStyles(): {
|
|
38
|
+
[key: string]: string;
|
|
39
|
+
};
|
|
26
40
|
buttonConfig: HeaderButton[];
|
|
27
41
|
isLargeScreen: boolean;
|
|
28
42
|
private resizeListener?;
|
|
@@ -33,6 +47,31 @@ export declare class NewResumeHeaderComponent implements OnInit, OnDestroy, Afte
|
|
|
33
47
|
showPopOutPanel: boolean;
|
|
34
48
|
popOutMessage: string;
|
|
35
49
|
dataTestId?: string;
|
|
50
|
+
/**
|
|
51
|
+
* Field visibility configuration for extra sections.
|
|
52
|
+
* Controls dynamic background color and padding based on template field visibility.
|
|
53
|
+
* When not provided, defaults to visible state (light background).
|
|
54
|
+
*/
|
|
55
|
+
fieldVisibility: {
|
|
56
|
+
isVisible: boolean;
|
|
57
|
+
fieldIdentifier?: string;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Index for indexed field checks (e.g., extra-section with esd1, esd2, etc.)
|
|
61
|
+
* Optional - only needed when using indexed field identifiers
|
|
62
|
+
*/
|
|
63
|
+
index?: number;
|
|
64
|
+
/**
|
|
65
|
+
* Whether to show a bottom border on the header
|
|
66
|
+
* When true, adds a 1px solid border at the bottom of the header
|
|
67
|
+
*/
|
|
68
|
+
showBottomBorder: boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Custom border color for the bottom border
|
|
71
|
+
* When provided, overrides the default color (#D1D3DB)
|
|
72
|
+
* Accepts any valid CSS color value (hex, rgb, named color, etc.)
|
|
73
|
+
*/
|
|
74
|
+
borderColor?: string;
|
|
36
75
|
get shouldShowPopOut(): boolean;
|
|
37
76
|
/**
|
|
38
77
|
* Combined state for expand/collapse animation.
|
|
@@ -123,5 +162,5 @@ export declare class NewResumeHeaderComponent implements OnInit, OnDestroy, Afte
|
|
|
123
162
|
ngAfterViewInit(): void;
|
|
124
163
|
ngOnDestroy(): void;
|
|
125
164
|
static ɵfac: i0.ɵɵFactoryDeclaration<NewResumeHeaderComponent, never>;
|
|
126
|
-
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; }; }, { "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>;
|
|
165
|
+
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; }; "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>;
|
|
127
166
|
}
|
package/package.json
CHANGED
|
@@ -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
|
-
(
|
|
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" (
|
|
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" (
|
|
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" (
|
|
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,20 @@
|
|
|
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="dropdownFooterOption?.showFooter">
|
|
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
|
+
<span style="display: flex; align-items: center; gap: 8px;">
|
|
53
|
+
<img *ngIf="dropdownFooterOption.icon" [src]="dropdownFooterOption.icon"
|
|
54
|
+
style="width: 20px; height: 20px;" [alt]="dropdownFooterOption.label" />
|
|
55
|
+
<span>{{ dropdownFooterOption.label }}</span>
|
|
56
|
+
</span>
|
|
57
|
+
</mat-option>
|
|
58
|
+
</span>
|
|
45
59
|
</mat-select>
|
|
46
60
|
</ng-template>
|
|
47
61
|
</ng-container>
|
|
@@ -2,7 +2,15 @@
|
|
|
2
2
|
[padding]="'0'" [width]="'100%'"><cdk-accordion class="example-accordion"><cdk-accordion-item
|
|
3
3
|
#accordionItem="cdkAccordionItem" [expanded]="true" class="example-accordion-item">
|
|
4
4
|
<div class="example-accordion-item-header" #accordionHeader
|
|
5
|
-
[ngClass]="{
|
|
5
|
+
[ngClass]="{
|
|
6
|
+
'header-hidden': isSectionHidden,
|
|
7
|
+
'header-hide-sb': (fieldVisibility?.isVisible === false),
|
|
8
|
+
'header-visible-sb': (fieldVisibility?.isVisible !== false),
|
|
9
|
+
'header-with-bottom-margin': !showPopOutPanel
|
|
10
|
+
}"
|
|
11
|
+
[ngStyle]="getDynamicStyles()"
|
|
12
|
+
[style.border-bottom]="showBottomBorder ? '2px solid ' + (borderColor || '#D1D3DB') : ''"
|
|
13
|
+
[attr.data-test-id]="dataTestId">
|
|
6
14
|
<!-- Normal header layout (shows when section is NOT hidden) --><ng-container
|
|
7
15
|
*ngIf="!isSectionHidden; else hiddenHeaderLayout"><al-responsive-columns [stackAt]="0" [gap]="'12px'"
|
|
8
16
|
[padding]="'8px 12px'">
|
|
@@ -26,6 +34,7 @@
|
|
|
26
34
|
<div left>
|
|
27
35
|
<div class="edit-input-group" [ngClass]="{'input-focused': isInputFocused}">
|
|
28
36
|
<div class="content_width"><span *ngIf="!isTitleEditing" class="title-text"
|
|
37
|
+
[ngClass]="{ 'title-text-white': fieldVisibility?.isVisible === false }"
|
|
29
38
|
(click)="onTitleClick()">
|
|
30
39
|
{{ title || 'Click to edit' }}
|
|
31
40
|
</span><input *ngIf="isTitleEditing" #titleInput type="text" [(ngModel)]="editedTitle"
|
|
@@ -71,13 +80,14 @@
|
|
|
71
80
|
[rightWidth]="'32px'">
|
|
72
81
|
<div left>
|
|
73
82
|
<div class="edit-input-group hide-header-title">
|
|
74
|
-
<div class="content_width"><span class="title-text header-text-turncate"
|
|
83
|
+
<div class="content_width"><span class="title-text header-text-turncate"
|
|
84
|
+
[ngClass]="{ 'title-text-white': fieldVisibility?.isVisible === false }">
|
|
75
85
|
{{ title }}
|
|
76
86
|
</span></div>
|
|
77
87
|
</div>
|
|
78
88
|
</div>
|
|
79
89
|
<div center>
|
|
80
|
-
<div class="hidden-write">Section hidden</div>
|
|
90
|
+
<div class="hidden-write-sb" [ngClass]="{ 'hidden-write-white-sb': fieldVisibility?.isVisible === false }">Section hidden</div>
|
|
81
91
|
</div>
|
|
82
92
|
<div right><ng-content select="[header-center-right]"></ng-content>
|
|
83
93
|
<!-- Eye icon - uses actual isHidden value from config, always visible --><ng-container
|
|
@@ -123,12 +133,13 @@
|
|
|
123
133
|
<div class="mat-checkbox-margin align-center"
|
|
124
134
|
[attr.data-test-id]="isHidden ? 'section-show-eye-div' : 'section-hide-eye-div'"
|
|
125
135
|
style="display: flex; align-items: center; justify-content: center;"><mat-icon
|
|
126
|
-
class="delete-multiple mat-fab.mat-accent eye-icon" [svgIcon]="isHidden ? 'visibility' : 'visibility_off'"
|
|
136
|
+
class="delete-multiple mat-fab.mat-accent eye-icon" [svgIcon]="isHidden ? (fieldVisibility?.isVisible === false ? 'visibility_white' : 'visibility') : (fieldVisibility?.isVisible === false ? 'visibility_off_white' : 'visibility_off')"
|
|
127
137
|
[matTooltip]="configEyeToggle?.tooltips?.[isHidden ? 'collapse' : 'expand'] || (isHidden ? 'Show Section' : 'Hide Section')"
|
|
128
138
|
[matTooltipPosition]="configEyeToggle?.tooltips?.position || 'above'"
|
|
129
139
|
[attr.aria-label]="configEyeToggle?.ariaLabels?.[isHidden ? 'collapsed' : 'expanded'] || (isHidden ? 'Show section' : 'Hide section')"
|
|
130
140
|
(click)="onEyeIconClick(isHidden, accordionItem, configEyeToggle)"
|
|
131
141
|
[attr.data-test-id]="isHidden ? 'section-show-eye-icon' : 'section-hide-eye-icon'"
|
|
132
|
-
style="
|
|
142
|
+
[style.color]="fieldVisibility?.isVisible === false ? '#fff' : '#717793'"
|
|
143
|
+
style="cursor: pointer; display: inline-block; width: 24px; height: 24px; font-size: 24px;"
|
|
133
144
|
[style.opacity]="1" [style.visibility]="'visible'"></mat-icon></div>
|
|
134
145
|
</ng-template>
|
|
@@ -474,6 +474,11 @@
|
|
|
474
474
|
cursor: pointer;
|
|
475
475
|
}
|
|
476
476
|
|
|
477
|
+
/* White text for dark background */
|
|
478
|
+
.title-text-white {
|
|
479
|
+
color: #fff;
|
|
480
|
+
}
|
|
481
|
+
|
|
477
482
|
.title-input {
|
|
478
483
|
font-size: 16px;
|
|
479
484
|
font-weight: 400;
|
|
@@ -588,18 +593,39 @@
|
|
|
588
593
|
flex-shrink: 0;
|
|
589
594
|
}
|
|
590
595
|
|
|
591
|
-
.hidden-write {
|
|
596
|
+
.hidden-write-sb {
|
|
592
597
|
color: #a2a6b8;
|
|
593
598
|
font-weight: 400;
|
|
594
599
|
font-family: 'Roboto', sans-serif;
|
|
595
600
|
white-space: nowrap;
|
|
596
601
|
}
|
|
597
602
|
|
|
603
|
+
/* White text for dark background */
|
|
604
|
+
.hidden-write-white-sb {
|
|
605
|
+
color: #fff;
|
|
606
|
+
}
|
|
607
|
+
|
|
598
608
|
/* Apply reduced opacity to entire header when hidden */
|
|
599
609
|
.example-accordion-item-header.header-hidden {
|
|
600
610
|
opacity: 0.7;
|
|
601
611
|
}
|
|
602
612
|
|
|
613
|
+
/**
|
|
614
|
+
* Extra Section Header Styles
|
|
615
|
+
* These classes are used for extra sections to support dynamic background colors
|
|
616
|
+
* based on template field visibility
|
|
617
|
+
*/
|
|
618
|
+
|
|
619
|
+
/* Standard header style - visible section with light background */
|
|
620
|
+
.example-accordion-item-header.header-visible-sb {
|
|
621
|
+
transition: background-color 0.2s ease;
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
/* Collapsed header style - hidden section or field with dark background */
|
|
625
|
+
.example-accordion-item-header.header-hide-sb {
|
|
626
|
+
background-color: #4B4F62;
|
|
627
|
+
}
|
|
628
|
+
|
|
603
629
|
.mat-checkbox-margin {
|
|
604
630
|
margin-left: 8px;
|
|
605
631
|
}
|
|
@@ -640,4 +666,4 @@
|
|
|
640
666
|
// position: relative;
|
|
641
667
|
// z-index: 1;
|
|
642
668
|
// }
|
|
643
|
-
// }
|
|
669
|
+
// }
|