@allsorter/ui-components 0.0.370 → 0.0.374

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 (39) hide show
  1. package/fesm2022/allsorter-ui-components.mjs +475 -288
  2. package/fesm2022/allsorter-ui-components.mjs.map +1 -1
  3. package/lib/ai-apply-bar/ai-apply-bar.component.d.ts +7 -1
  4. package/lib/ai-wrapper/ai-wrapper.component.d.ts +92 -0
  5. package/lib/ai-wrapper/ai-wrapper.module.d.ts +12 -0
  6. package/lib/custom-editor/custom-editor.component.d.ts +3 -14
  7. package/lib/editable-form-wrapper/editable-form-wrapper.component.d.ts +33 -2
  8. package/lib/experience-section/experience-section.component.d.ts +2 -2
  9. package/lib/newresumeheader/newresumeheader.component.d.ts +3 -0
  10. package/lib/styles/typography-classes.scss +1 -1
  11. package/lib/{app-toolbar/app-toolbar.component.d.ts → toolbar-left/toolbar-left.component.d.ts} +1 -1
  12. package/lib/{app-toolbar/app-toolbar.module.d.ts → toolbar-left/toolbar-left.module.d.ts} +1 -1
  13. package/lib/{app-toolbar-right/app-toolbar-right.component.d.ts → toolbar-right/toolbar-right.component.d.ts} +1 -1
  14. package/lib/{app-toolbar-right/app-toolbar-right.module.d.ts → toolbar-right/toolbar-right.module.d.ts} +1 -1
  15. package/package.json +1 -1
  16. package/public-api.d.ts +6 -4
  17. package/src/lib/ai-apply-bar/ai-apply-bar.component.html +39 -37
  18. package/src/lib/ai-apply-bar/ai-apply-bar.component.scss +56 -22
  19. package/src/lib/ai-wrapper/ai-wrapper.component.html +38 -0
  20. package/src/lib/ai-wrapper/ai-wrapper.component.scss +371 -0
  21. package/src/lib/candidate-section/candidate-section.component.scss +25 -0
  22. package/src/lib/custom-editor/custom-editor.component.scss +2 -1
  23. package/src/lib/editable-form-wrapper/editable-form-wrapper.component.html +19 -7
  24. package/src/lib/editable-form-wrapper/editable-form-wrapper.component.scss +12 -1
  25. package/src/lib/experience-section/experience-section.component.html +4 -4
  26. package/src/lib/field-placeholder/field-placeholder.component.html +3 -3
  27. package/src/lib/field-placeholder/field-placeholder.component.scss +20 -61
  28. package/src/lib/input/input.component.html +1 -1
  29. package/src/lib/input/input.component.scss +4 -4
  30. package/src/lib/newresumeheader/newresumeheader.component.html +70 -127
  31. package/src/lib/responsive-layout/responsive-layout.component.scss +23 -0
  32. package/src/lib/resume-entries/resume-entries.component.scss +141 -2
  33. package/src/lib/styles/typography-classes.scss +1 -1
  34. package/src/lib/test-styling/test-styling.component.html +86 -0
  35. package/src/lib/test-styling/test-styling.component.scss +35 -0
  36. package/src/lib/{app-toolbar-right/app-toolbar-right.component.html → toolbar-right/toolbar-right.component.html} +3 -3
  37. /package/src/lib/{app-toolbar/app-toolbar.component.html → toolbar-left/toolbar-left.component.html} +0 -0
  38. /package/src/lib/{app-toolbar/app-toolbar.component.scss → toolbar-left/toolbar-left.component.scss} +0 -0
  39. /package/src/lib/{app-toolbar-right/app-toolbar-right.component.scss → toolbar-right/toolbar-right.component.scss} +0 -0
@@ -0,0 +1,371 @@
1
+ @import "../styles/colors.scss";
2
+ @import "../styles/border-radius.scss";
3
+ @import "../styles/spacing.scss";
4
+
5
+ .al-ai-wrapper {
6
+ display: flex;
7
+ align-items: flex-start;
8
+ justify-content: flex-end;
9
+ height: 400px;
10
+ overflow: hidden;
11
+ padding: 32px;
12
+
13
+ &__center {
14
+ position: relative;
15
+ width: 40px;
16
+ height: 40px;
17
+ display: flex;
18
+ align-items: center;
19
+ justify-content: center;
20
+ }
21
+
22
+ &__close-button-wrapper {
23
+ position: absolute;
24
+ z-index: 100;
25
+ top: 0;
26
+ left: 0;
27
+ width: 40px;
28
+ height: 40px;
29
+ display: flex;
30
+ align-items: center;
31
+ justify-content: center;
32
+ transition: all 0.5s ease;
33
+ pointer-events: none;
34
+
35
+ ::ng-deep al-button {
36
+ pointer-events: auto;
37
+
38
+ ::ng-deep button {
39
+ transition: all 0.5s ease;
40
+
41
+ &:hover {
42
+ transform: scale(1.05);
43
+ }
44
+
45
+ &:active {
46
+ transform: scale(0.95);
47
+ }
48
+ }
49
+ }
50
+
51
+ // &.is-ai-mode {
52
+ // ::ng-deep al-button {
53
+ // ::ng-deep button {
54
+ // // background: transparent !important;
55
+ // // border-color: rgba(255, 255, 255, 0.05) !important;
56
+ // // color: rgba(255, 255, 255, 0.2) !important;
57
+ // }
58
+ // }
59
+ // }
60
+ }
61
+
62
+ &__hand-wrapper {
63
+ position: absolute;
64
+ top: 0;
65
+ left: 0;
66
+ width: 40px;
67
+ height: 40px;
68
+ transform-origin: 50% 50%; // Center of the clock center (pivot point)
69
+ transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
70
+ transform: rotate(0deg);
71
+ will-change: transform;
72
+ z-index: 1;
73
+
74
+ &.is-ai-mode {
75
+ transform: rotate(90deg);
76
+ }
77
+ }
78
+
79
+ &__gap {
80
+ position: absolute;
81
+ top: 52px;
82
+ left: 50%;
83
+ transform: translateX(-50%);
84
+ width: 48px; // Match toolbar width
85
+ }
86
+
87
+ &__toolbar {
88
+ position: relative;
89
+ display: flex;
90
+ flex-direction: column;
91
+ align-items: center;
92
+ justify-content: center;
93
+ background: rgba(113, 119, 147, 0.8);
94
+ backdrop-filter: blur(2px);
95
+ border: 1px solid rgba(255, 255, 255, 0.1);
96
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
97
+ transition: height 0.7s cubic-bezier(0.4, 0, 0.2, 1), padding 0.7s cubic-bezier(0.4, 0, 0.2, 1);
98
+ border-radius: 8px;
99
+ overflow: hidden; // Keep content contained during animation
100
+
101
+ width: 48px;
102
+
103
+
104
+ &.is-ai-mode {
105
+ height: auto;
106
+ min-height: 392px;
107
+ width: 80px;
108
+ padding: 8px;
109
+ overflow: visible; // Allow helper text to be visible
110
+ // When helper text is shown, we need more height
111
+ // 440px (base) + 24px (helper text + gap) = 464px
112
+ max-height: 392px;
113
+
114
+ &.no-helper-text {
115
+ width: 58px;
116
+ }
117
+ }
118
+ }
119
+
120
+ &__content {
121
+ width: 100%;
122
+ height: 100%;
123
+ display: flex;
124
+ flex-direction: column;
125
+ align-items: center;
126
+ justify-content: center;
127
+ transform-origin: center center;
128
+ transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
129
+ transform: translateY(0) rotate(0deg);
130
+ position: relative;
131
+ will-change: transform;
132
+ width: 48px;
133
+
134
+ &.is-ai-mode {
135
+ // After -90deg rotation, the horizontal-ai width becomes height
136
+ // We need 440px width to become 440px height after rotation
137
+ // Height needs to accommodate: 56px (row) + 8px (gap) + 16px (helper text if shown) = 80px max
138
+ width: 370px;
139
+ height: auto;
140
+ min-height: 56px;
141
+ position: absolute;
142
+ top: 50%;
143
+ left: 50%;
144
+ margin-left: -185px; // Half of 440px width
145
+ // Center vertically and rotate: translate first, then rotate
146
+ transform: translateY(-50%) rotate(-90deg);
147
+ transform-origin: center center;
148
+ }
149
+ }
150
+
151
+ &__vertical-tools {
152
+ display: flex;
153
+ flex-direction: column;
154
+ align-items: center;
155
+ justify-content: space-between;
156
+ height: 100%;
157
+ width: 100%;
158
+ padding: 12px 8px;
159
+ gap: 8px;
160
+ animation: fadeInZoom 0.5s ease-out;
161
+ }
162
+
163
+ &__horizontal-ai {
164
+ width: 370px;
165
+ display: flex;
166
+ flex-direction: column;
167
+ gap: 4px;
168
+ transform-origin: right center;
169
+ padding-bottom: 0;
170
+ animation: aiBarExpand 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
171
+ flex-shrink: 0;
172
+ }
173
+
174
+ &__ai-row {
175
+ display: flex;
176
+ align-items: center;
177
+ gap: 4px;
178
+ // height: 56px;
179
+ opacity: 0;
180
+ animation: aiBarContentFade 0.3s ease-out 0.2s forwards;
181
+ }
182
+
183
+ &__ai-icon {
184
+ width: 40px;
185
+ height: 40px;
186
+ border-radius: 50%;
187
+ background: linear-gradient(135deg, #6366f1 0%, #a855f7 50%, #ec4899 100%);
188
+ display: flex;
189
+ align-items: center;
190
+ justify-content: center;
191
+ flex-shrink: 0;
192
+
193
+ mat-icon {
194
+ font-size: 18px;
195
+ width: 18px;
196
+ height: 18px;
197
+ line-height: 18px;
198
+ color: white;
199
+ }
200
+ }
201
+
202
+ &__input-container {
203
+ flex: 1 1 auto;
204
+ display: flex;
205
+ align-items: center;
206
+ min-width: 0;
207
+
208
+ /* Stretch inner input and normalize height to 40px */
209
+ ::ng-deep al-input {
210
+ width: 100%;
211
+ }
212
+
213
+ ::ng-deep .al-input-size-base .mat-mdc-form-field-infix {
214
+ min-height: 40px !important;
215
+ }
216
+
217
+ ::ng-deep .al-input-field .mat-mdc-text-field-wrapper {
218
+ height: 40px;
219
+ }
220
+
221
+ /* Style mat-form-field */
222
+ ::ng-deep .mat-mdc-form-field {
223
+ background: #fff;
224
+ border-radius: $radius-8;
225
+ border: 0 !important;
226
+ overflow: hidden;
227
+ }
228
+
229
+ /* Ensure all parts of the notched outline have consistent border-radius */
230
+ ::ng-deep .al-input-field .mdc-notched-outline {
231
+ border-radius: $radius-8 !important;
232
+ }
233
+
234
+ ::ng-deep .al-input-field .mdc-notched-outline__leading {
235
+ border-top-left-radius: $radius-8 !important;
236
+ border-bottom-left-radius: $radius-8 !important;
237
+ border-top-right-radius: 0 !important;
238
+ border-bottom-right-radius: 0 !important;
239
+ }
240
+
241
+ ::ng-deep .al-input-field .mdc-notched-outline__trailing {
242
+ border-top-right-radius: $radius-8 !important;
243
+ border-bottom-right-radius: $radius-8 !important;
244
+ border-top-left-radius: 0 !important;
245
+ border-bottom-left-radius: 0 !important;
246
+ }
247
+
248
+ ::ng-deep .al-input-field .mdc-notched-outline__notch {
249
+ border-radius: 0 !important;
250
+ }
251
+
252
+ /* Ensure placeholder is visible in mat-select */
253
+ ::ng-deep .mat-mdc-select-placeholder {
254
+ color: $color-grey-700 !important;
255
+ opacity: 1 !important;
256
+ }
257
+
258
+ ::ng-deep .mat-mdc-select-value-text {
259
+ color: $color-grey-700 !important;
260
+ }
261
+
262
+ /* Styles for searchfilter autocomplete input */
263
+ ::ng-deep input[matInput] {
264
+ color: $color-grey-700 !important;
265
+ }
266
+
267
+ ::ng-deep input[matInput]::placeholder {
268
+ color: $color-grey-700 !important;
269
+ opacity: 1 !important;
270
+ }
271
+
272
+ /* Hide the label when labelText is empty */
273
+ ::ng-deep .mat-mdc-form-field:has(.mat-mdc-form-field-label:empty) .mat-mdc-form-field-label {
274
+ display: none !important;
275
+ }
276
+
277
+ /* Ensure no label spacing when labelText is empty */
278
+ ::ng-deep .mat-mdc-form-field:not(:has(.mat-mdc-form-field-label:not(:empty))) .mat-mdc-form-field-infix {
279
+ padding-top: 0 !important;
280
+ padding-bottom: 0 !important;
281
+ }
282
+ }
283
+
284
+ &__ai-actions {
285
+ display: flex;
286
+ align-items: center;
287
+ gap: 4px;
288
+ flex-shrink: 0;
289
+ }
290
+
291
+ &__action-button {
292
+ padding: 8px;
293
+ color: rgba(255, 255, 255, 0.4);
294
+ background: transparent;
295
+ border: none;
296
+ cursor: pointer;
297
+ transition: color 0.2s ease;
298
+ display: flex;
299
+ align-items: center;
300
+ justify-content: center;
301
+ outline: none;
302
+
303
+ &:hover {
304
+ color: rgba(255, 255, 255, 1);
305
+ }
306
+
307
+ mat-icon {
308
+ font-size: 20px;
309
+ width: 20px;
310
+ height: 20px;
311
+ line-height: 20px;
312
+ }
313
+ }
314
+
315
+ &__helper-text {
316
+ color: rgba(255, 255, 255, 0.7);
317
+ font-size: 12px;
318
+ line-height: 16px;
319
+ padding: 0;
320
+ margin: 0;
321
+ width: 100%;
322
+ flex-shrink: 0;
323
+ margin-top: 0;
324
+ }
325
+ }
326
+
327
+ @keyframes fadeInZoom {
328
+ from {
329
+ opacity: 0;
330
+ transform: scale(0.95);
331
+ }
332
+
333
+ to {
334
+ opacity: 1;
335
+ transform: scale(1);
336
+ }
337
+ }
338
+
339
+ @keyframes aiBarExpand {
340
+ 0% {
341
+ opacity: 0;
342
+ transform: translateX(16px) scaleX(0.2);
343
+ }
344
+
345
+ 60% {
346
+ opacity: 1;
347
+ transform: translateX(2px) scaleX(1.02);
348
+ }
349
+
350
+ 100% {
351
+ opacity: 1;
352
+ transform: translateX(0) scaleX(1);
353
+ }
354
+ }
355
+
356
+ @keyframes aiBarContentFade {
357
+ from {
358
+ opacity: 0;
359
+ transform: translateX(8px);
360
+ }
361
+
362
+ to {
363
+ opacity: 1;
364
+ transform: translateX(0);
365
+ }
366
+ }
367
+
368
+ /* Hide down arrow in mat-mdc-select for all selects inside ai-wrapper */
369
+ :host ::ng-deep .mat-mdc-select-arrow {
370
+ display: none !important;
371
+ }
@@ -14,6 +14,16 @@
14
14
  flex: 1 1 0;
15
15
  }
16
16
 
17
+ .value-text,
18
+ .placeholder-text {
19
+ display: flex;
20
+ align-items: center;
21
+ height: 100%;
22
+ line-height: normal !important;
23
+ position: relative;
24
+ top: 2px;
25
+ }
26
+
17
27
  .columns-wrapper .first-column {
18
28
  display: flex;
19
29
  flex-direction: column;
@@ -152,3 +162,18 @@
152
162
  order: 2;
153
163
  }
154
164
  }
165
+
166
+ ::ng-deep .typo-description {
167
+ color: var(--Greys-700, #4B4F62);
168
+ font-family: "Roboto", sans-serif !important;
169
+ font-size: 14px;
170
+ font-style: normal;
171
+ font-weight: 400;
172
+ line-height: 1.4;
173
+ letter-spacing: 0.035px;
174
+ min-height: 28px !important;
175
+ display: flex !important;
176
+ top: 2px !important;
177
+ position: relative !important;
178
+ align-items: center !important;
179
+ }
@@ -347,6 +347,7 @@
347
347
  border-top: 0;
348
348
  border-bottom-right-radius: 8px;
349
349
  border-bottom-left-radius: 8px;
350
+ max-height: 60vh;
350
351
 
351
352
  &:focus {
352
353
  background-color: #F7F9FE;
@@ -438,4 +439,4 @@
438
439
  .mat-select-panel {
439
440
  width: fit-content !important;
440
441
  min-width: fit-content !important;
441
- }
442
+ }
@@ -1,12 +1,24 @@
1
1
  <div class="al-form-wrapper" #wrapper [attr.data-test-id]="testId">
2
- <div *ngIf="showLeftButton" #leftButton class="fab left"><al-button [buttonType]="'icon-circle'" [iconOnly]="true"
3
- [leftIcon]="'auto_fix_high'" [arialabel]="'Edit'" [size]="'base'" [category]="'gradient'"
4
- (onClick)="leftButtonClick.emit($event)"></al-button></div>
2
+ <div *ngIf="showLeftButton" #leftButton class="fab left">
3
+ <al-button [buttonType]="'icon-circle'" [iconOnly]="true"
4
+ [leftIcon]="isLeftButtonActive ? 'close' : 'auto_fix_high'"
5
+ [arialabel]="isLeftButtonActive ? 'Close' : 'Edit'"
6
+ [size]="'base'"
7
+ [color]="isLeftButtonActive ? 'grey' : 'gradient'"
8
+ (onClick)="handleLeftButtonClick($event)">
9
+ </al-button>
10
+ <div *ngIf="isLeftButtonActive"
11
+ class="left-button-container"
12
+ [ngClass]="leftContainerClass"
13
+ [ngStyle]="leftContainerStyle">
14
+ <ng-content select="[leftButtonContent]"></ng-content>
15
+ </div>
16
+ </div>
5
17
  <div class="inner"><ng-content></ng-content></div>
6
18
  <div class="fab-group right" #buttonGroup><al-button *ngIf="showSaveButton" class="fab" [buttonType]="'icon-circle'"
7
- [iconOnly]="true" [leftIcon]="'save'" [arialabel]="'Save'" [size]="'base'"
8
- [category]="'green'" (onClick)="saveButtonClick.emit($event)"></al-button><al-button *ngIf="showDeleteButton" class="fab warn" [buttonType]="'icon-circle'"
9
- [iconOnly]="true" [leftIcon]="'close'" [arialabel]="'Delete'" [size]="'base'" [category]="'error'"
19
+ [iconOnly]="true" [leftIcon]="'save'" [arialabel]="'Save'" [size]="'base'" iconOutlined="true"
20
+ [color]="'green'" (onClick)="saveButtonClick.emit($event)"></al-button><al-button *ngIf="showDeleteButton" class="fab warn" [buttonType]="'icon-circle'"
21
+ [iconOnly]="true" [leftIcon]="'close'" [arialabel]="'Delete'" [size]="'base'" [color]="'error'" iconOutlined="true"
10
22
  (onClick)="deleteButtonClick.emit($event)"></al-button>
11
23
  </div>
12
- </div>
24
+ </div>
@@ -51,6 +51,9 @@
51
51
  box-sizing: border-box;
52
52
  overflow: visible;
53
53
  /* allow FABs to hang slightly without clipping */
54
+ /* Enable container queries for responsive layout based on container size */
55
+ container-type: inline-size;
56
+ container-name: form-wrapper;
54
57
  }
55
58
 
56
59
  /* Subtle outer rounded border (like a frame) */
@@ -194,12 +197,20 @@ select.al-form__control {
194
197
  /* intended design: slightly outside the inner frame */
195
198
  top: 0;
196
199
  /* Changed from top: 50% to top: 0, transform will be handled by JS */
197
- z-index: 2;
200
+ z-index: 10;
198
201
  background-color: #fff;
199
202
  border-radius: 50%;
200
203
  will-change: transform;
201
204
  /* Optimize for smooth scrolling */
202
205
  transition: transform 0.1s ease-out;
206
+
207
+ .left-button-container {
208
+ position: absolute;
209
+ left: 56px;
210
+ top: 0;
211
+ z-index: 1;
212
+ pointer-events: auto;
213
+ }
203
214
  }
204
215
 
205
216
  .fab-group.right {
@@ -1,8 +1,8 @@
1
1
  <al-responsive-columns [gap]="gap" [padding]="padding" [leftWidth]="leftWidth" [rightWidth]="rightWidth"
2
2
  [stackAt]="stackAt">
3
- <div left><app-toolbar-left [variant]="variant" [content]="content"
3
+ <div left><toolbar-left [variant]="variant" [content]="content"
4
4
  [isExtractionAnalysisActive]="isExtractionAnalysisActive" [showSearch]="showSearch"
5
- [overrideConfig]="overrideConfig" (editEvent)="onEditEvent($event)"></app-toolbar-left></div>
5
+ [overrideConfig]="overrideConfig" (editEvent)="onEditEvent($event)"></toolbar-left></div>
6
6
  <div center><al-resume-entries [entries]="entries" [showHeader]="showHeader"
7
7
  [showDescriptionLabel]="showDescriptionLabel" [showCompany]="showCompany" [showJobTitle]="showJobTitle"
8
8
  [showDates]="showDates" [showLocation]="showLocation" [showTimeline]="showTimeline"
@@ -12,9 +12,9 @@
12
12
  [descriptionTooltip]="descriptionTooltip" [tooltipPosition]="tooltipPosition" [isSectionHidden]="isSectionHidden"
13
13
  (reapplyClick)="onReapplyClick($event)" (undoClick)="onUndoClick($event)"></al-resume-entries>
14
14
  </div>
15
- <div right><app-toolbar-right [checked]="checked" [alwaysShowIcons]="alwaysShowIcons"
15
+ <div right><toolbar-right [checked]="checked" [alwaysShowIcons]="alwaysShowIcons"
16
16
  [overrideConfig]="overrideConfigRight" [currentObj]="currentObj" (checkboxChange)="onCheckboxChange($event)"
17
17
  (visibilityToggle)="onVisibilityToggle($event)" (hideShowEvent)="onHideShowEvent($event)"
18
- (checkboxEvent)="onCheckboxEvent($event)" (setSubroleEvent)="onSetSubroleEvent($event)"></app-toolbar-right>
18
+ (checkboxEvent)="onCheckboxEvent($event)" (setSubroleEvent)="onSetSubroleEvent($event)"></toolbar-right>
19
19
  </div>
20
20
  </al-responsive-columns>
@@ -10,8 +10,8 @@
10
10
  </span>
11
11
  </ng-container>
12
12
  <span [matTooltip]="tooltip" [matTooltipPosition]="tooltipPosition"
13
- [ngClass]="value ? ['value-text', valueClass] : ['placeholder-text', placeholderClass]"
14
- [attr.data-test-id]="testId">
15
- <span [innerHTML]="value ? value : placeholder"></span>
13
+ [ngClass]="value ? ['value-text', valueClass] : ['placeholder-text', placeholderClass]" [attr.data-test-id]="testId"
14
+ [innerHTML]="value ? value : placeholder">
16
15
  </span>
16
+
17
17
  </div>
@@ -11,6 +11,19 @@
11
11
 
12
12
 
13
13
 
14
+ @import url("https://fonts.googleapis.com/icon?family=Material+Icons|Material+Icons+Outlined");
15
+ @import url("https://fonts.googleapis.com/icon?family=Material+Icons|Material+Icons+Outlined");
16
+ @import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
17
+
18
+ /* Material Icons */
19
+ @import url('https://fonts.googleapis.com/icon?family=Material+Icons');
20
+ @import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined');
21
+
22
+ /* Make all typography utility classes available inside this component */
23
+ @import '../styles/typography-classes.scss';
24
+
25
+
26
+
14
27
  .placeholder-text {
15
28
  padding: 4px 8px;
16
29
  letter-spacing: 0.25px;
@@ -20,63 +33,11 @@
20
33
  font-family: 'Open Sans', Arial, sans-serif;
21
34
  font-size: 14px;
22
35
  font-weight: 400;
23
- line-height: 18px;
36
+ line-height: 20px;
24
37
  color: #768FED;
25
38
  }
26
39
 
27
- // Default typography on host so inner content can inherit,
28
- // and external classes on <lib-field-placeholder> can override.
29
- // :host {
30
- // color: var(--Greys-700, #4B4F62);
31
- // font-family: var(--Body-Medium-Font, Roboto);
32
- // font-size: 14px;
33
- // font-style: normal;
34
- // font-weight: 400;
35
- // line-height: 20px;
36
- // letter-spacing: 0.25px;
37
- // }
38
-
39
- // .value-text {
40
- // // Don't set any hard values - let the classes from new-typography.scss apply
41
- // color: inherit;
42
- // font-family: inherit;
43
- // font-size: inherit;
44
- // font-style: inherit;
45
- // font-weight: inherit;
46
- // line-height: inherit;
47
- // letter-spacing: inherit;
48
-
49
- // // Ensure the new typography classes can override
50
- // &.font-text-5xl,
51
- // &.font-text-5xl-medium,
52
- // &.font-text-5xl-bold,
53
- // &.font-text-4xl,
54
- // &.font-text-4xl-medium,
55
- // &.font-text-4xl-bold,
56
- // &.font-text-3xl,
57
- // &.font-text-3xl-medium,
58
- // &.font-text-3xl-bold,
59
- // &.font-text-2xl,
60
- // &.font-text-2xl-medium,
61
- // &.font-text-2xl-bold,
62
- // &.font-text-xl,
63
- // &.font-text-xl-medium,
64
- // &.font-text-xl-bold,
65
- // &.font-text-lg,
66
- // &.font-text-lg-medium,
67
- // &.font-text-lg-bold,
68
- // &.font-text-base,
69
- // &.font-text-base-medium,
70
- // &.font-text-base-bold,
71
- // &.font-text-sm,
72
- // &.font-text-sm-medium,
73
- // &.font-text-sm-bold,
74
- // &.font-text-xs,
75
- // &.font-text-xs-medium,
76
- // &.font-text-xs-bold {
77
- // // Classes now have higher specificity to override host styles
78
- // }
79
- // }
40
+
80
41
 
81
42
  .field-row {
82
43
  display: flex;
@@ -85,13 +46,10 @@
85
46
  }
86
47
 
87
48
  .field-row-compact {
88
- leading-trim: both;
89
- text-edge: cap;
90
49
  font-style: normal;
91
50
  line-height: 140%;
92
51
  letter-spacing: 0.04px;
93
52
  height: 28px;
94
- // padding: 8px 0;
95
53
  }
96
54
 
97
55
  .field-row-padded {
@@ -105,6 +63,7 @@
105
63
  justify-content: center;
106
64
  }
107
65
 
66
+ .field-icon,
108
67
  .field-icon img,
109
68
  .field-icon mat-icon {
110
69
  width: 20px;
@@ -112,8 +71,8 @@
112
71
  object-fit: contain;
113
72
  font-size: 20px;
114
73
  line-height: 20px;
115
- display: inline-flex;
116
- align-items: center;
117
- justify-content: center;
74
+ display: inline-flex;
75
+ align-items: center;
76
+ justify-content: center;
118
77
  color: #37C1CE;
119
- }
78
+ }
@@ -1,5 +1,5 @@
1
1
  <!-- Standard floating label layout for all inputs including date picker -->
2
- <mat-form-field appearance="outline" class="al-input-field" [ngClass]="[
2
+ <mat-form-field #formField appearance="outline" class="al-input-field" [ngClass]="[
3
3
  helperText ? 'has-helper-text' : '',
4
4
  getSizeClass(),
5
5
  getCategoryClass(),
@@ -467,19 +467,19 @@ mat-icon[matSuffix] {
467
467
  /* ===== FLOATING LABEL POSITIONING ===== */
468
468
 
469
469
  ::ng-deep .al-input-size-xs .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label {
470
- top: 11px !important;
470
+ top: 10px !important;
471
471
  }
472
472
 
473
473
  ::ng-deep .al-input-size-small .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label {
474
- top: 10px !important;
474
+ top: 11px !important;
475
475
  }
476
476
 
477
477
  ::ng-deep .al-input-size-base .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label {
478
- top: 14px !important;
478
+ top: 15px !important;
479
479
  }
480
480
 
481
481
  ::ng-deep .al-input-size-header .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label {
482
- top: 7px !important;
482
+ top: 8px !important;
483
483
  }
484
484
 
485
485
  ::ng-deep .al-input-size-large .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label {