@allsorter/ui-components 0.0.382 → 0.0.386
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 +148 -160
- package/fesm2022/allsorter-ui-components.mjs.map +1 -1
- package/lib/candidate-section/candidate-section.component.d.ts +16 -1
- package/lib/custom-editor/custom-editor.component.d.ts +2 -7
- package/lib/newresumeheader/newresumeheader.component.d.ts +0 -1
- package/lib/responsive-layout/responsive-layout.component.d.ts +4 -1
- package/lib/resume-entries/resume-entries.component.d.ts +6 -2
- package/lib/resume-header/resume-header.model.d.ts +4 -0
- package/lib/toolbar-right/toolbar-right.module.d.ts +2 -1
- package/lib/utils/image-utils.d.ts +1 -0
- package/package.json +1 -1
- package/src/lib/ai-wrapper/ai-wrapper.component.html +2 -2
- package/src/lib/ai-wrapper/ai-wrapper.component.scss +7 -7
- package/src/lib/candidate-section/candidate-section.component.html +1 -1
- package/src/lib/candidate-section/candidate-section.component.scss +15 -9
- package/src/lib/checkbox/checkbox.component.scss +4 -48
- package/src/lib/custom-editor/custom-editor.component.html +15 -14
- package/src/lib/custom-editor/custom-editor.component.scss +32 -9
- package/src/lib/editable-form-wrapper/editable-form-wrapper.component.scss +39 -0
- package/src/lib/field-placeholder/field-placeholder.component.html +1 -1
- package/src/lib/field-placeholder/field-placeholder.component.scss +14 -3
- package/src/lib/input/input.component.scss +47 -11
- package/src/lib/newresumeheader/newresumeheader.component.html +29 -8
- package/src/lib/newresumeheader/newresumeheader.component.scss +9 -0
- package/src/lib/responsive-layout/responsive-layout.component.scss +0 -2
- package/src/lib/resume-entries/resume-entries.component.html +25 -23
- package/src/lib/resume-entries/resume-entries.component.scss +35 -32
- package/src/lib/test-styling/test-styling.component.html +3 -3
- package/src/lib/toolbar-left/toolbar-left.component.html +6 -6
- package/src/lib/toolbar-left/toolbar-left.component.scss +4 -0
- package/src/lib/toolbar-right/toolbar-right.component.html +7 -5
|
@@ -50,7 +50,8 @@
|
|
|
50
50
|
font-style: normal;
|
|
51
51
|
line-height: 140%;
|
|
52
52
|
letter-spacing: 0.04px;
|
|
53
|
-
height: 28px;
|
|
53
|
+
min-height: 28px;
|
|
54
|
+
align-items: flex-start;
|
|
54
55
|
}
|
|
55
56
|
|
|
56
57
|
.field-row-padded {
|
|
@@ -78,8 +79,18 @@
|
|
|
78
79
|
color: #37C1CE;
|
|
79
80
|
}
|
|
80
81
|
|
|
82
|
+
|
|
81
83
|
.value-text {
|
|
82
|
-
// Default style - can be overridden by valueClass input
|
|
83
|
-
display: inline;
|
|
84
84
|
color: $color-grey-600 !important;
|
|
85
85
|
}
|
|
86
|
+
|
|
87
|
+
// Apply collapsed styles when .collapsed is anywhere in parent hierarchy
|
|
88
|
+
.collapsed .value-text {
|
|
89
|
+
display: -webkit-box !important;
|
|
90
|
+
-webkit-line-clamp: 1 !important;
|
|
91
|
+
line-clamp: 1 !important;
|
|
92
|
+
-webkit-box-orient: vertical !important;
|
|
93
|
+
overflow: hidden !important;
|
|
94
|
+
text-overflow: ellipsis !important;
|
|
95
|
+
white-space: normal !important;
|
|
96
|
+
}
|
|
@@ -208,7 +208,7 @@
|
|
|
208
208
|
}
|
|
209
209
|
|
|
210
210
|
::ng-deep .al-input-size-small .mat-mdc-form-field-infix {
|
|
211
|
-
min-height:
|
|
211
|
+
min-height: 36px !important;
|
|
212
212
|
}
|
|
213
213
|
|
|
214
214
|
::ng-deep .al-input-size-base .mat-mdc-form-field-infix {
|
|
@@ -216,9 +216,22 @@
|
|
|
216
216
|
min-height: 24px !important;
|
|
217
217
|
}
|
|
218
218
|
|
|
219
|
+
/* Large = 48px: constrain wrapper, flex and infix to override Material's 56px default */
|
|
220
|
+
::ng-deep .al-input-field.al-input-size-large .mat-mdc-text-field-wrapper,
|
|
221
|
+
::ng-deep .al-input-field.al-input-size-large .mat-mdc-form-field-flex {
|
|
222
|
+
min-height: 48px !important;
|
|
223
|
+
max-height: 48px !important;
|
|
224
|
+
height: 48px !important;
|
|
225
|
+
box-sizing: border-box !important;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
::ng-deep .al-input-field.al-input-size-large .mat-mdc-form-field-infix,
|
|
219
229
|
::ng-deep .al-input-size-large .mat-mdc-form-field-infix {
|
|
220
|
-
padding:
|
|
230
|
+
padding: 12px 0 !important;
|
|
221
231
|
min-height: 48px !important;
|
|
232
|
+
max-height: 48px !important;
|
|
233
|
+
height: 48px !important;
|
|
234
|
+
box-sizing: border-box !important;
|
|
222
235
|
}
|
|
223
236
|
|
|
224
237
|
::ng-deep .al-input-size-header .mat-mdc-form-field-infix {
|
|
@@ -253,6 +266,29 @@
|
|
|
253
266
|
border-bottom-right-radius: 4px !important;
|
|
254
267
|
}
|
|
255
268
|
|
|
269
|
+
/* Large = 48px: force the notched outline (the visible border box) to 48px - Material defaults to 56px */
|
|
270
|
+
::ng-deep .al-input-size-large .mat-mdc-text-field-wrapper .mdc-notched-outline,
|
|
271
|
+
::ng-deep .al-input-size-large .mat-mdc-text-field-wrapper .mdc-notched-outline--upgraded,
|
|
272
|
+
::ng-deep .al-input-field.al-input-size-large .mat-mdc-text-field-wrapper .mdc-notched-outline,
|
|
273
|
+
::ng-deep .al-input-field.al-input-size-large .mat-mdc-text-field-wrapper .mdc-notched-outline--upgraded {
|
|
274
|
+
min-height: 48px !important;
|
|
275
|
+
max-height: 48px !important;
|
|
276
|
+
height: 48px !important;
|
|
277
|
+
box-sizing: border-box !important;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
::ng-deep .al-input-size-large .mat-mdc-text-field-wrapper .mdc-notched-outline__leading,
|
|
281
|
+
::ng-deep .al-input-size-large .mat-mdc-text-field-wrapper .mdc-notched-outline__notch,
|
|
282
|
+
::ng-deep .al-input-size-large .mat-mdc-text-field-wrapper .mdc-notched-outline__trailing,
|
|
283
|
+
::ng-deep .al-input-field.al-input-size-large .mat-mdc-text-field-wrapper .mdc-notched-outline__leading,
|
|
284
|
+
::ng-deep .al-input-field.al-input-size-large .mat-mdc-text-field-wrapper .mdc-notched-outline__notch,
|
|
285
|
+
::ng-deep .al-input-field.al-input-size-large .mat-mdc-text-field-wrapper .mdc-notched-outline__trailing {
|
|
286
|
+
min-height: 48px !important;
|
|
287
|
+
max-height: 48px !important;
|
|
288
|
+
height: 48px !important;
|
|
289
|
+
box-sizing: border-box !important;
|
|
290
|
+
}
|
|
291
|
+
|
|
256
292
|
/* ===== NO BORDER STYLES ===== */
|
|
257
293
|
|
|
258
294
|
/* No border input styling - combines header and plain input functionality */
|
|
@@ -483,7 +519,7 @@ mat-icon[matSuffix] {
|
|
|
483
519
|
}
|
|
484
520
|
|
|
485
521
|
::ng-deep .al-input-size-large .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label {
|
|
486
|
-
top:
|
|
522
|
+
top: 20px !important;
|
|
487
523
|
}
|
|
488
524
|
|
|
489
525
|
|
|
@@ -494,7 +530,7 @@ mat-icon[matSuffix] {
|
|
|
494
530
|
}
|
|
495
531
|
|
|
496
532
|
::ng-deep .al-input-size-small .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
|
|
497
|
-
--mat-mdc-form-field-label-transform: translateY(-
|
|
533
|
+
--mat-mdc-form-field-label-transform: translateY(-22px) scale(var(--mat-mdc-form-field-floating-label-scale, 0.75));
|
|
498
534
|
transform: var(--mat-mdc-form-field-label-transform);
|
|
499
535
|
}
|
|
500
536
|
|
|
@@ -509,7 +545,7 @@ mat-icon[matSuffix] {
|
|
|
509
545
|
}
|
|
510
546
|
|
|
511
547
|
::ng-deep .al-input-size-large .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
|
|
512
|
-
--mat-mdc-form-field-label-transform: translateY(-
|
|
548
|
+
--mat-mdc-form-field-label-transform: translateY(-30px) scale(var(--mat-mdc-form-field-floating-label-scale, 0.75));
|
|
513
549
|
transform: var(--mat-mdc-form-field-label-transform);
|
|
514
550
|
}
|
|
515
551
|
|
|
@@ -815,14 +851,14 @@ mat-icon[matSuffix] {
|
|
|
815
851
|
|
|
816
852
|
/* Icon button styling for datepicker toggle - Small size (higher specificity) */
|
|
817
853
|
::ng-deep .al-input-field.al-input-size-small .mat-mdc-form-field .mat-datepicker-toggle .mat-mdc-icon-button.mat-mdc-button-base {
|
|
818
|
-
height:
|
|
819
|
-
width:
|
|
854
|
+
height: 36px !important;
|
|
855
|
+
width: 36px !important;
|
|
820
856
|
padding: 4px !important;
|
|
821
857
|
}
|
|
822
858
|
|
|
823
859
|
::ng-deep .al-input-field.al-input-size-small .mat-mdc-form-field .mat-datepicker-toggle {
|
|
824
|
-
height:
|
|
825
|
-
width:
|
|
860
|
+
height: 36px !important;
|
|
861
|
+
width: 36px !important;
|
|
826
862
|
}
|
|
827
863
|
|
|
828
864
|
::ng-deep .al-input-field.al-input-size-small .mat-mdc-form-field .mat-datepicker-toggle .mat-mdc-button-touch-target {
|
|
@@ -832,8 +868,8 @@ mat-icon[matSuffix] {
|
|
|
832
868
|
|
|
833
869
|
::ng-deep .al-input-field .mat-mdc-icon-button.mat-mdc-button-small {
|
|
834
870
|
padding: 4px !important;
|
|
835
|
-
height:
|
|
836
|
-
width:
|
|
871
|
+
height: 36px !important;
|
|
872
|
+
width: 36px !important;
|
|
837
873
|
}
|
|
838
874
|
|
|
839
875
|
/* Primary color for outlined text field floating label */
|
|
@@ -1,16 +1,37 @@
|
|
|
1
1
|
<al-general-container #generalContainer [borderRadius]="'0'" [borderPosition]="'none'" [boxShadow]="false"
|
|
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
|
-
<div class="example-accordion-item-header" #accordionHeader
|
|
4
|
+
<div class="example-accordion-item-header" #accordionHeader
|
|
5
|
+
[ngClass]="{'header-hidden': isSectionHidden, 'header-with-bottom-margin': !showPopOutPanel}">
|
|
5
6
|
<!-- Normal header layout (shows when section is NOT hidden) --><ng-container
|
|
6
7
|
*ngIf="!isSectionHidden; else hiddenHeaderLayout"><al-responsive-columns [stackAt]="0" [gap]="'12px'"
|
|
7
8
|
[padding]="'8px 12px'">
|
|
8
|
-
<div left
|
|
9
|
+
<div left>
|
|
10
|
+
<button
|
|
11
|
+
(click)="toggleAccordion(accordionItem)"
|
|
12
|
+
tabindex="0"
|
|
13
|
+
class="toggle-button align-center"
|
|
9
14
|
[attr.aria-expanded]="accordionItem.expanded"
|
|
10
|
-
[matTooltip]="accordionItem.expanded ? 'Collapse' : 'Expand'"
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
15
|
+
[matTooltip]="accordionItem.expanded ? 'Collapse' : 'Expand'"
|
|
16
|
+
matTooltipPosition="above"
|
|
17
|
+
>
|
|
18
|
+
<!-- When section is OPEN (expanded === true), show an UP chevron.
|
|
19
|
+
When section is CLOSED, show a DOWN chevron. -->
|
|
20
|
+
<span
|
|
21
|
+
class="material-icons-outlined"
|
|
22
|
+
*ngIf="accordionItem.expanded"
|
|
23
|
+
>
|
|
24
|
+
expand_less
|
|
25
|
+
</span>
|
|
26
|
+
<span
|
|
27
|
+
class="material-icons-outlined"
|
|
28
|
+
*ngIf="!accordionItem.expanded"
|
|
29
|
+
>
|
|
30
|
+
expand_more
|
|
31
|
+
</span>
|
|
32
|
+
</button>
|
|
33
|
+
<ng-content select="[header-left]"></ng-content>
|
|
34
|
+
</div>
|
|
14
35
|
<div center><al-responsive-columns [stackAt]="0" [gap]="'12px'" [padding]="'0'" [leftWidth]="'auto'"
|
|
15
36
|
[rightWidth]="'32px'" [ngClass]="{'input-focused': isInputFocused}">
|
|
16
37
|
<div left>
|
|
@@ -105,8 +126,8 @@
|
|
|
105
126
|
[size]="btn.size" [iconOutlined]="btn.iconOutlined" [labelText]="btn.labelText"
|
|
106
127
|
[leftIcon]="getButtonIcons(btn).leftIcon" [rightIcon]="getButtonIcons(btn).rightIcon"
|
|
107
128
|
[dataTestId]="btn.dataTestId" [hasDropDown]="btn.hasDropDown" [dropdownItems]="btn.dropdownItems"
|
|
108
|
-
[buttonType]="'icon-label'" [iconOnly]="!btn.labelText" [tooltip]="
|
|
109
|
-
[tooltipPosition]="'above'" (onClick)="onButtonClick(btn, $event)"
|
|
129
|
+
[buttonType]="'icon-label'" [iconOnly]="!btn.labelText" [tooltip]="btn.tooltip"
|
|
130
|
+
[tooltipPosition]="btn.tooltipPosition || 'above'" (onClick)="onButtonClick(btn, $event)"
|
|
110
131
|
(optionSelect)="onDropdownSelect(btn, $event)"></al-button></ng-container></ng-template><ng-template
|
|
111
132
|
#eyeIconTemplate let-isHidden="isHidden" let-accordionItem="accordionItem" let-configEyeToggle="configEyeToggle">
|
|
112
133
|
<div class="mat-checkbox-margin align-center"
|
|
@@ -156,6 +156,15 @@
|
|
|
156
156
|
border-radius: 8px;
|
|
157
157
|
box-sizing: border-box;
|
|
158
158
|
|
|
159
|
+
/**
|
|
160
|
+
* When the Deep Extraction pop-out panel is NOT shown (showPopOutPanel === false),
|
|
161
|
+
* add spacing below the header so the resume entries and header have a 16px gap.
|
|
162
|
+
* When showPopOutPanel is true, this class is not applied to keep the header
|
|
163
|
+
* flush with the pop-out panel.
|
|
164
|
+
*/
|
|
165
|
+
&.header-with-bottom-margin {
|
|
166
|
+
margin-bottom: 16px;
|
|
167
|
+
}
|
|
159
168
|
}
|
|
160
169
|
|
|
161
170
|
|
|
@@ -51,7 +51,6 @@
|
|
|
51
51
|
|
|
52
52
|
/* Container query: Switch row/column layout to single column when container width is small (<= 600px) */
|
|
53
53
|
@container flex-grid (max-width: 600px) {
|
|
54
|
-
|
|
55
54
|
:host(.row),
|
|
56
55
|
:host(.col) {
|
|
57
56
|
--current-count: 1 !important;
|
|
@@ -61,7 +60,6 @@
|
|
|
61
60
|
|
|
62
61
|
/* Also check parent container (form-wrapper) for container queries */
|
|
63
62
|
@container form-wrapper (max-width: 600px) {
|
|
64
|
-
|
|
65
63
|
:host(.row),
|
|
66
64
|
:host(.col) {
|
|
67
65
|
--current-count: 1 !important;
|
|
@@ -12,31 +12,30 @@
|
|
|
12
12
|
<div *ngIf="showHeader" class="entry-header">
|
|
13
13
|
<div class="header-left">
|
|
14
14
|
<!-- Company / Institution: always on top, shows placeholder when no value -->
|
|
15
|
-
<div *ngIf="showCompany" class="mobile-order-2"
|
|
16
|
-
[matTooltipPosition]="tooltipPosition" [matTooltipDisabled]="!companyTooltip">
|
|
15
|
+
<div *ngIf="showCompany" class="mobile-order-2">
|
|
17
16
|
<lib-field-placeholder
|
|
18
17
|
[value]="entry.companyName?.trim() ? entry.companyName : (entry.institution?.trim() ? entry.institution : undefined)"
|
|
19
18
|
[placeholder]="'Company Name / Institution'" valueClass="font-text-lg-bold"
|
|
20
|
-
[testId]="'entry-' + i + '-company'" [compact]="true"
|
|
19
|
+
[testId]="'entry-' + i + '-company'" [compact]="true"
|
|
20
|
+
[tooltip]="companyTooltip" [tooltipPosition]="tooltipPosition">
|
|
21
21
|
</lib-field-placeholder>
|
|
22
22
|
</div>
|
|
23
23
|
|
|
24
24
|
<!-- Job title / Course name: always below company line -->
|
|
25
|
-
<div *ngIf="showJobTitle" class="mobile-order-3"
|
|
26
|
-
[matTooltipPosition]="tooltipPosition" [matTooltipDisabled]="!jobTitleTooltip">
|
|
25
|
+
<div *ngIf="showJobTitle" class="mobile-order-3">
|
|
27
26
|
<lib-field-placeholder [value]="entry.jobTitle || entry.courseName"
|
|
28
27
|
[placeholder]="'Job title / Course name'" valueClass="font-title-text"
|
|
29
|
-
[testId]="'entry-' + i + '-title'" [compact]="true"
|
|
28
|
+
[testId]="'entry-' + i + '-title'" [compact]="true"
|
|
29
|
+
[tooltip]="jobTitleTooltip" [tooltipPosition]="tooltipPosition">
|
|
30
30
|
</lib-field-placeholder>
|
|
31
31
|
</div>
|
|
32
32
|
</div>
|
|
33
33
|
<div class="header-right">
|
|
34
|
-
<div class="date-range mobile-order-1" *ngIf="showDates"
|
|
35
|
-
[matTooltipPosition]="tooltipPosition" [matTooltipDisabled]="!dateTooltip">
|
|
34
|
+
<div class="date-range mobile-order-1" *ngIf="showDates">
|
|
36
35
|
<!-- Start Date: always render; show placeholder when no value -->
|
|
37
36
|
<lib-field-placeholder [value]="entry.startDate?.trim() ? entry.startDate : undefined"
|
|
38
37
|
[placeholder]="'Start Date'" valueClass="font-text-lg-bold" [testId]="'entry-' + i + '-start-date'"
|
|
39
|
-
[compact]="true">
|
|
38
|
+
[compact]="true" [tooltip]="dateTooltip" [tooltipPosition]="tooltipPosition">
|
|
40
39
|
</lib-field-placeholder>
|
|
41
40
|
|
|
42
41
|
<span class="date-separator">-</span>
|
|
@@ -45,17 +44,21 @@
|
|
|
45
44
|
<lib-field-placeholder [value]="entry.isPresent
|
|
46
45
|
? 'Present'
|
|
47
46
|
: (entry.endDate?.trim() ? entry.endDate : undefined)" [placeholder]="'End Date'"
|
|
48
|
-
valueClass="font-text-lg-bold" [testId]="'entry-' + i + '-end-date'" [compact]="true"
|
|
47
|
+
valueClass="font-text-lg-bold" [testId]="'entry-' + i + '-end-date'" [compact]="true"
|
|
48
|
+
[tooltip]="dateTooltip" [tooltipPosition]="tooltipPosition">
|
|
49
49
|
</lib-field-placeholder>
|
|
50
50
|
</div>
|
|
51
|
-
<div class="location-row mobile-order-4" *ngIf="showLocation"
|
|
52
|
-
[
|
|
53
|
-
[
|
|
54
|
-
[
|
|
55
|
-
|
|
56
|
-
[testId]="'entry-' + i + '-region'" [compact]="true"
|
|
57
|
-
[
|
|
58
|
-
|
|
51
|
+
<div class="location-row mobile-order-4" *ngIf="showLocation">
|
|
52
|
+
<lib-field-placeholder [value]="entry.city" [placeholder]="'City'" valueClass="font-location-text"
|
|
53
|
+
[testId]="'entry-' + i + '-city'" [compact]="true"
|
|
54
|
+
[tooltip]="locationTooltip" [tooltipPosition]="tooltipPosition"></lib-field-placeholder>
|
|
55
|
+
<lib-field-placeholder [value]="entry.region" [placeholder]="'Region'" valueClass="font-location-text"
|
|
56
|
+
[testId]="'entry-' + i + '-region'" [compact]="true"
|
|
57
|
+
[tooltip]="locationTooltip" [tooltipPosition]="tooltipPosition"></lib-field-placeholder>
|
|
58
|
+
<lib-field-placeholder [value]="entry.country" [placeholder]="'Country'" valueClass="font-location-text"
|
|
59
|
+
[testId]="'entry-' + i + '-country'" [compact]="true"
|
|
60
|
+
[tooltip]="locationTooltip" [tooltipPosition]="tooltipPosition"></lib-field-placeholder>
|
|
61
|
+
</div>
|
|
59
62
|
</div>
|
|
60
63
|
</div>
|
|
61
64
|
<div class="descriptions-container">
|
|
@@ -66,12 +69,11 @@
|
|
|
66
69
|
</div>
|
|
67
70
|
|
|
68
71
|
<div *ngIf="!showLoader || loaderForAllEntries">
|
|
69
|
-
<div *ngFor="let desc of entry.descriptions; let descIndex = index" class="description-item"
|
|
70
|
-
[matTooltip]="descriptionTooltip" [matTooltipPosition]="tooltipPosition"
|
|
71
|
-
[matTooltipDisabled]="!descriptionTooltip">
|
|
72
|
+
<div *ngFor="let desc of entry.descriptions; let descIndex = index" class="description-item" [class.collapsed]="isCollapsed">
|
|
72
73
|
<label *ngIf="showDescriptionLabel" class="description-label">Description</label>
|
|
73
74
|
<lib-field-placeholder [value]="desc" [placeholder]="'Missing item'" [padded]="true"
|
|
74
|
-
valueClass="font-text-base" [testId]="'entry-' + i + '-desc-' + descIndex"
|
|
75
|
+
valueClass="font-text-base" [testId]="'entry-' + i + '-desc-' + descIndex"
|
|
76
|
+
[tooltip]="descriptionTooltip" [tooltipPosition]="tooltipPosition">
|
|
75
77
|
</lib-field-placeholder>
|
|
76
78
|
</div>
|
|
77
79
|
</div>
|
|
@@ -94,4 +96,4 @@
|
|
|
94
96
|
</ul>
|
|
95
97
|
</div>
|
|
96
98
|
</div>
|
|
97
|
-
</div>
|
|
99
|
+
</div>
|
|
@@ -94,9 +94,9 @@
|
|
|
94
94
|
min-height: calc(100% - 14px);
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
.resume-entry:last-child .timeline-line {
|
|
98
|
-
|
|
99
|
-
}
|
|
97
|
+
// .resume-entry:last-child .timeline-line {
|
|
98
|
+
// display: none;
|
|
99
|
+
// }
|
|
100
100
|
|
|
101
101
|
.entry-header {
|
|
102
102
|
display: flex;
|
|
@@ -112,42 +112,29 @@
|
|
|
112
112
|
flex: 1;
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
+
/* Company name and job title: min-height 28px, wrap to next line when longer, height auto */
|
|
116
|
+
.mobile-order-2,
|
|
117
|
+
.mobile-order-3 {
|
|
118
|
+
min-height: 28px;
|
|
119
|
+
|
|
120
|
+
::ng-deep lib-field-placeholder .value-text,
|
|
121
|
+
::ng-deep lib-field-placeholder .placeholder-text {
|
|
122
|
+
white-space: normal;
|
|
123
|
+
word-wrap: break-word;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
115
127
|
.header-right {
|
|
116
128
|
display: flex;
|
|
117
129
|
flex-direction: column;
|
|
118
130
|
align-items: flex-end;
|
|
119
131
|
gap: 4px;
|
|
120
|
-
max-width: 30%;
|
|
132
|
+
// max-width: 30%;
|
|
121
133
|
}
|
|
122
134
|
|
|
123
135
|
/* Container query: Apply text ellipsis when container width is very small (<= 400px) */
|
|
124
136
|
@container resume-entries (max-width: 400px) {
|
|
125
137
|
|
|
126
|
-
/* Company Name and Job Title */
|
|
127
|
-
.mobile-order-2,
|
|
128
|
-
.mobile-order-3 {
|
|
129
|
-
overflow: hidden;
|
|
130
|
-
text-overflow: ellipsis;
|
|
131
|
-
white-space: nowrap;
|
|
132
|
-
min-width: 0;
|
|
133
|
-
|
|
134
|
-
::ng-deep lib-field-placeholder {
|
|
135
|
-
overflow: hidden;
|
|
136
|
-
text-overflow: ellipsis;
|
|
137
|
-
white-space: nowrap;
|
|
138
|
-
display: block;
|
|
139
|
-
width: 100%;
|
|
140
|
-
|
|
141
|
-
.value-text {
|
|
142
|
-
overflow: hidden;
|
|
143
|
-
text-overflow: ellipsis;
|
|
144
|
-
white-space: nowrap;
|
|
145
|
-
display: block;
|
|
146
|
-
max-width: 100%;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
|
|
151
138
|
/* Date Range */
|
|
152
139
|
.mobile-order-1 {
|
|
153
140
|
overflow: hidden;
|
|
@@ -250,6 +237,7 @@
|
|
|
250
237
|
|
|
251
238
|
.date-range {
|
|
252
239
|
align-items: flex-start;
|
|
240
|
+
flex-wrap: nowrap;
|
|
253
241
|
}
|
|
254
242
|
|
|
255
243
|
.location-row {
|
|
@@ -306,6 +294,7 @@
|
|
|
306
294
|
|
|
307
295
|
.date-range {
|
|
308
296
|
align-items: flex-start;
|
|
297
|
+
flex-wrap: nowrap;
|
|
309
298
|
}
|
|
310
299
|
|
|
311
300
|
.location-row {
|
|
@@ -316,8 +305,15 @@
|
|
|
316
305
|
.date-range {
|
|
317
306
|
display: flex;
|
|
318
307
|
flex-direction: row;
|
|
308
|
+
flex-wrap: nowrap;
|
|
319
309
|
align-items: center;
|
|
320
310
|
gap: 8px;
|
|
311
|
+
|
|
312
|
+
/* Keep date on a single row on small screens; no wrapping */
|
|
313
|
+
::ng-deep lib-field-placeholder .value-text,
|
|
314
|
+
::ng-deep lib-field-placeholder .placeholder-text {
|
|
315
|
+
white-space: nowrap;
|
|
316
|
+
}
|
|
321
317
|
}
|
|
322
318
|
|
|
323
319
|
.location-row {
|
|
@@ -350,9 +346,16 @@
|
|
|
350
346
|
flex-direction: column;
|
|
351
347
|
gap: 4px;
|
|
352
348
|
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
349
|
+
&.collapsed .value-text {
|
|
350
|
+
display: -webkit-box !important;
|
|
351
|
+
-webkit-line-clamp: 1 !important;
|
|
352
|
+
line-clamp: 1 !important;
|
|
353
|
+
-webkit-box-orient: vertical !important;
|
|
354
|
+
overflow: hidden !important;
|
|
355
|
+
text-overflow: ellipsis !important;
|
|
356
|
+
white-space: normal !important;
|
|
357
|
+
}
|
|
358
|
+
|
|
356
359
|
}
|
|
357
360
|
|
|
358
361
|
.description-label {
|
|
@@ -112,18 +112,18 @@
|
|
|
112
112
|
(applyClick)="onAIApplyClick()" (closeClick)="onAIApplyClose()">
|
|
113
113
|
</al-ai-apply-bar>
|
|
114
114
|
</div>
|
|
115
|
-
<app-flex-grid [type]="'row'" [mobRow]="1" [tabRow]="2" [desktop]="4" [gap]="'16px'">
|
|
115
|
+
<app-flex-grid [type]="'row'" [mobRow]="1" [tabRow]="2" [desktop]="4" [gap]="'16px'" [minColumns]="2">
|
|
116
116
|
<al-input [label]="'Date Type'" [placeholder]="'Type here...'" [value]="'Month/Year'" [type]="'text'"
|
|
117
117
|
[disabled]="false" [helperText]="false" [hasDropDown]="true" [options]="['Month/Year','Year']"
|
|
118
118
|
[size]="'base'" [types]="'primary'" [dataTestId]="'test-input'"></al-input>
|
|
119
|
+
<al-checkbox labelPosition="before" labelText="Current Study" [checked]="entry.isPresent"
|
|
120
|
+
(change)="onFormCheckboxChange($event)"></al-checkbox>
|
|
119
121
|
<al-input [label]="'Start Date'" [placeholder]="'Type here...'" [value]="entry.startDate" [type]="'date'"
|
|
120
122
|
[disabled]="false" [helperText]="false" [size]="'base'" [types]="'primary'" [dataTestId]="'test-input'"
|
|
121
123
|
(monthSelected)="onMonthSelected($event)" (yearSelected)="onYearSelected($event)"></al-input>
|
|
122
124
|
<al-input [label]="'End Date'" [placeholder]="'Type here...'" [value]="entry.endDate || ''" [type]="'date'"
|
|
123
125
|
[disabled]="false" [helperText]="false" [size]="'base'" [types]="'primary'" [dataTestId]="'test-input'"
|
|
124
126
|
(monthSelected)="onMonthSelected($event)" (yearSelected)="onYearSelected($event)"></al-input>
|
|
125
|
-
<al-checkbox labelPosition="before" labelText="Current Study" [checked]="entry.isPresent"
|
|
126
|
-
(change)="onFormCheckboxChange($event)"></al-checkbox>
|
|
127
127
|
</app-flex-grid>
|
|
128
128
|
<app-flex-grid [type]="'column'" [rows]="1" [mobRow]="1" [tabRow]="1" [desktop]="1" [gap]="'16px'">
|
|
129
129
|
<al-input [label]="'Company Name'" [placeholder]="'Company Name'" [value]="entry.companyName" [type]="'text'"
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<div class="toolbar-container">
|
|
2
2
|
<div class="icon-wrapper"><button type="button" class="toolbar-icon toolbar-icon--handle"
|
|
3
|
-
[attr.aria-label]="requiredIcon.handle.title" [
|
|
4
|
-
(click)="$event.stopPropagation()"><mat-icon svgIcon="handle" class="handle-icon"></mat-icon></button></div>
|
|
3
|
+
[attr.aria-label]="requiredIcon.handle.title" [matTooltip]="requiredIcon.handle.title"
|
|
4
|
+
matTooltipPosition="left" (click)="$event.stopPropagation()"><mat-icon svgIcon="handle" class="handle-icon"></mat-icon></button></div>
|
|
5
5
|
<div class="toolbar-icons">
|
|
6
6
|
<div class="icon-wrapper"><button type="button" class="toolbar-icon toolbar-icon--edit"
|
|
7
|
-
[attr.aria-label]="requiredIcon.edit.title" [
|
|
8
|
-
(click)="editSelectedSection()"><mat-icon svgIcon="edit_icon" class="edit-icon"></mat-icon></button></div>
|
|
7
|
+
[attr.aria-label]="requiredIcon.edit.title" [matTooltip]="requiredIcon.edit.title"
|
|
8
|
+
matTooltipPosition="left" (click)="editSelectedSection()"><mat-icon svgIcon="edit_icon" class="edit-icon"></mat-icon></button></div>
|
|
9
9
|
<div class="icon-wrapper"><button type="button" class="toolbar-icon toolbar-icon--search"
|
|
10
|
-
[attr.aria-label]="requiredIcon.search.title" [
|
|
11
|
-
(click)="onSearchClick($event)"><mat-icon svgIcon="search" class="search-icon"></mat-icon></button></div>
|
|
10
|
+
[attr.aria-label]="requiredIcon.search.title" [matTooltip]="requiredIcon.search.title"
|
|
11
|
+
matTooltipPosition="left" (click)="onSearchClick($event)"><mat-icon svgIcon="search" class="search-icon"></mat-icon></button></div>
|
|
12
12
|
</div>
|
|
13
13
|
</div>
|
|
@@ -5,11 +5,13 @@
|
|
|
5
5
|
<div class="toolbar-right-icons" [ngClass]="{'always-visible': showIcons}">
|
|
6
6
|
<div class="icon-wrapper" *ngIf="requiredIcon.sr.display"><button type="button"
|
|
7
7
|
class="toolbar-icon toolbar-icon--subrole" [attr.aria-label]="requiredIcon.sr.title"
|
|
8
|
-
[
|
|
9
|
-
[svgIcon]="currentObj['subrole'] ? 'subrole_active' : 'subrole-icon-grey'"
|
|
8
|
+
[matTooltip]="requiredIcon.sr.title" matTooltipPosition="right" (click)="setSubrole()"><mat-icon
|
|
9
|
+
[svgIcon]="currentObj['subrole'] ? 'subrole_active' : 'subrole-icon-grey'"
|
|
10
|
+
class="subrole-icon"></mat-icon></button>
|
|
10
11
|
</div>
|
|
11
12
|
<div class="icon-wrapper"><button *ngIf="requiredIcon.eye.display" type="button"
|
|
12
|
-
class="toolbar-icon toolbar-icon--eye eye-icon" [attr.aria-label]="eyeLabel" [
|
|
13
|
-
(click)="onToggleVisibility()"><mat-icon [svgIcon]="eyeSvgIcon"
|
|
13
|
+
class="toolbar-icon toolbar-icon--eye eye-icon" [attr.aria-label]="eyeLabel" [matTooltip]="eyeTitle"
|
|
14
|
+
matTooltipPosition="right" (click)="onToggleVisibility()"><mat-icon [svgIcon]="eyeSvgIcon"
|
|
15
|
+
class="eye-icon"></mat-icon></button></div>
|
|
14
16
|
</div>
|
|
15
|
-
</div>
|
|
17
|
+
</div>
|