@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.
Files changed (31) hide show
  1. package/fesm2022/allsorter-ui-components.mjs +148 -160
  2. package/fesm2022/allsorter-ui-components.mjs.map +1 -1
  3. package/lib/candidate-section/candidate-section.component.d.ts +16 -1
  4. package/lib/custom-editor/custom-editor.component.d.ts +2 -7
  5. package/lib/newresumeheader/newresumeheader.component.d.ts +0 -1
  6. package/lib/responsive-layout/responsive-layout.component.d.ts +4 -1
  7. package/lib/resume-entries/resume-entries.component.d.ts +6 -2
  8. package/lib/resume-header/resume-header.model.d.ts +4 -0
  9. package/lib/toolbar-right/toolbar-right.module.d.ts +2 -1
  10. package/lib/utils/image-utils.d.ts +1 -0
  11. package/package.json +1 -1
  12. package/src/lib/ai-wrapper/ai-wrapper.component.html +2 -2
  13. package/src/lib/ai-wrapper/ai-wrapper.component.scss +7 -7
  14. package/src/lib/candidate-section/candidate-section.component.html +1 -1
  15. package/src/lib/candidate-section/candidate-section.component.scss +15 -9
  16. package/src/lib/checkbox/checkbox.component.scss +4 -48
  17. package/src/lib/custom-editor/custom-editor.component.html +15 -14
  18. package/src/lib/custom-editor/custom-editor.component.scss +32 -9
  19. package/src/lib/editable-form-wrapper/editable-form-wrapper.component.scss +39 -0
  20. package/src/lib/field-placeholder/field-placeholder.component.html +1 -1
  21. package/src/lib/field-placeholder/field-placeholder.component.scss +14 -3
  22. package/src/lib/input/input.component.scss +47 -11
  23. package/src/lib/newresumeheader/newresumeheader.component.html +29 -8
  24. package/src/lib/newresumeheader/newresumeheader.component.scss +9 -0
  25. package/src/lib/responsive-layout/responsive-layout.component.scss +0 -2
  26. package/src/lib/resume-entries/resume-entries.component.html +25 -23
  27. package/src/lib/resume-entries/resume-entries.component.scss +35 -32
  28. package/src/lib/test-styling/test-styling.component.html +3 -3
  29. package/src/lib/toolbar-left/toolbar-left.component.html +6 -6
  30. package/src/lib/toolbar-left/toolbar-left.component.scss +4 -0
  31. 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: 34px !important;
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: 16px 0 !important;
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: 24px !important;
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(-20px) scale(var(--mat-mdc-form-field-floating-label-scale, 0.75));
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(-35px) scale(var(--mat-mdc-form-field-floating-label-scale, 0.75));
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: 34px !important;
819
- width: 34px !important;
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: 34px !important;
825
- width: 34px !important;
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: 34px !important;
836
- width: 34px !important;
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 [ngClass]="{'header-hidden': isSectionHidden}">
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><button (click)="toggleAccordion(accordionItem)" tabindex="0" class="toggle-button align-center"
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'" matTooltipPosition="above"><span
11
- class="material-icons-outlined" *ngIf="!accordionItem.expanded">expand_less </span><span
12
- class="material-icons-outlined" *ngIf="accordionItem.expanded">expand_more
13
- </span></button><ng-content select="[header-left]"></ng-content></div>
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]="getButtonTooltip(btn)"
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" [matTooltip]="companyTooltip"
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" [matTooltip]="jobTitleTooltip"
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" [matTooltip]="dateTooltip"
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" [matTooltip]="locationTooltip"
52
- [matTooltipPosition]="tooltipPosition" [matTooltipDisabled]="!locationTooltip"><lib-field-placeholder
53
- [value]="entry.city" [placeholder]="'City'" valueClass="font-location-text"
54
- [testId]="'entry-' + i + '-city'" [compact]="true"></lib-field-placeholder><lib-field-placeholder
55
- [value]="entry.region" [placeholder]="'Region'" valueClass="font-location-text"
56
- [testId]="'entry-' + i + '-region'" [compact]="true"></lib-field-placeholder><lib-field-placeholder
57
- [value]="entry.country" [placeholder]="'Country'" valueClass="font-location-text"
58
- [testId]="'entry-' + i + '-country'" [compact]="true"></lib-field-placeholder></div>
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
- display: none;
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
- ::ng-deep .value-text {
354
- color: $color-grey-600;
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" [attr.title]="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" [attr.title]="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" [attr.title]="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>
@@ -47,6 +47,10 @@
47
47
 
48
48
  .toolbar-icon--handle {
49
49
  cursor: grab;
50
+
51
+ &:active {
52
+ cursor: grabbing;
53
+ }
50
54
  }
51
55
 
52
56
  .icon-wrapper {
@@ -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
- [attr.title]="requiredIcon.sr.title" (click)="setSubrole()"><mat-icon
9
- [svgIcon]="currentObj['subrole'] ? 'subrole_active' : 'subrole-icon-grey'" class="subrole-icon"></mat-icon></button>
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" [attr.title]="eyeTitle"
13
- (click)="onToggleVisibility()"><mat-icon [svgIcon]="eyeSvgIcon" class="eye-icon"></mat-icon></button></div>
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>