@allsorter/ui-components 0.0.367 → 0.0.370
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 +2996 -1391
- package/fesm2022/allsorter-ui-components.mjs.map +1 -1
- package/images/Column left.svg +5 -0
- package/images/Move.svg +8 -0
- package/images/Success.svg +5 -0
- package/images/Table.svg +3 -0
- package/images/Vector-1.svg +3 -0
- package/images/Vector.svg +3 -0
- package/images/add-teble.svg +6 -0
- package/images/arrow_downward.svg +3 -0
- package/images/calendar_year.svg +4 -0
- package/images/column right.svg +5 -0
- package/images/delete -table.svg +6 -0
- package/images/delete row.svg +10 -0
- package/images/delete-column.svg +10 -0
- package/images/delete.svg +3 -0
- package/images/drag-drop-icon.svg +8 -0
- package/images/edit.svg +3 -0
- package/images/error.svg +5 -0
- package/images/row bottom.svg +5 -0
- package/images/row top.svg +5 -0
- package/images/search.svg +3 -0
- package/images/subrole.svg +3 -0
- package/images/visibility_off.svg +3 -0
- package/images/warning.svg +5 -0
- package/lib/app-toolbar/app-toolbar.component.d.ts +5 -8
- package/lib/app-toolbar/app-toolbar.module.d.ts +4 -4
- package/lib/app-toolbar-right/app-toolbar-right.component.d.ts +3 -5
- package/lib/button/button.component.d.ts +30 -1
- package/lib/candidate-section/candidate-section.component.d.ts +8 -0
- package/lib/custom-editor/custom-editor.component.d.ts +110 -14
- package/lib/custom-editor/table/table.component.d.ts +5 -0
- package/lib/editable-form-wrapper/editable-form-wrapper.component.d.ts +48 -0
- package/lib/experience-section/experience-section.component.d.ts +4 -2
- package/lib/general-container/general-container.component.d.ts +5 -1
- package/lib/icon-button/icon-button.component.d.ts +16 -7
- package/lib/input/input.component.d.ts +41 -10
- package/lib/newresumeheader/newresumeheader.component.d.ts +43 -4
- package/lib/resume-entries/resume-entries.component.d.ts +7 -1
- package/lib/resume-header/resume-header.model.d.ts +11 -20
- package/lib/shared-popup-modal/shared-popup-modal.component.d.ts +17 -0
- package/lib/side-action-bar-wrapper/side-action-bar-wrapper.component.d.ts +34 -0
- package/lib/side-action-bar-wrapper/side-action-bar-wrapper.module.d.ts +12 -0
- package/lib/styles/border-radius.scss +11 -0
- package/lib/styles/button-mixins.scss +41 -0
- package/lib/styles/button.scss +117 -0
- package/lib/styles/colors.scss +221 -0
- package/lib/styles/elevation.scss +46 -0
- package/lib/styles/new-typography.scss +202 -0
- package/lib/styles/spacing.scss +39 -0
- package/lib/styles/typography-classes.scss +203 -0
- package/lib/utils/icon-utils.d.ts +51 -0
- package/lib/utils/image-utils.d.ts +54 -0
- package/package.json +15 -3
- package/public-api.d.ts +3 -3
- package/src/lib/ai-apply-bar/ai-apply-bar.component.html +43 -0
- package/src/lib/ai-apply-bar/ai-apply-bar.component.scss +182 -0
- package/src/lib/app-toolbar/app-toolbar.component.html +13 -0
- package/src/lib/app-toolbar/app-toolbar.component.scss +141 -0
- package/src/lib/app-toolbar-right/app-toolbar-right.component.html +15 -0
- package/src/lib/app-toolbar-right/app-toolbar-right.component.scss +294 -0
- package/src/lib/button/button.component.html +127 -0
- package/src/lib/button/button.component.scss +1238 -0
- package/src/lib/candidate-section/candidate-section.component.html +91 -0
- package/src/lib/candidate-section/candidate-section.component.scss +154 -0
- package/src/lib/checkbox/checkbox.component.html +24 -0
- package/src/lib/checkbox/checkbox.component.scss +280 -0
- package/src/lib/custom-editor/custom-editor.component.html +129 -0
- package/src/lib/custom-editor/custom-editor.component.scss +441 -0
- package/src/lib/custom-editor/table/table.component.html +21 -0
- package/src/lib/date-range/date-range.component.html +33 -0
- package/src/lib/date-range/date-range.component.scss +284 -0
- package/src/lib/editable-form-wrapper/editable-form-wrapper.component.html +12 -0
- package/src/lib/editable-form-wrapper/editable-form-wrapper.component.scss +227 -0
- package/src/lib/experience-section/experience-section.component.html +20 -0
- package/src/lib/experience-section/experience-section.component.scss +0 -0
- package/src/lib/field-placeholder/field-placeholder.component.html +17 -0
- package/src/lib/field-placeholder/field-placeholder.component.scss +119 -0
- package/src/lib/general-container/general-container.component.html +3 -0
- package/src/lib/general-container/general-container.component.scss +10 -0
- package/src/lib/icon-button/icon-button.component.html +12 -0
- package/src/lib/icon-button/icon-button.component.scss +77 -0
- package/src/lib/input/input.component.html +86 -0
- package/src/lib/input/input.component.scss +1337 -0
- package/src/lib/loader/loader.component.html +15 -0
- package/src/lib/loader/loader.component.scss +493 -0
- package/src/lib/new-typography/new-typography.component.html +10 -0
- package/src/lib/new-typography/new-typography.component.scss +200 -0
- package/src/lib/newresumeheader/newresumeheader.component.html +178 -0
- package/src/lib/newresumeheader/newresumeheader.component.scss +530 -0
- package/src/lib/radio/radio.component.html +23 -0
- package/src/lib/radio/radio.component.scss +253 -0
- package/src/lib/responsive-columns/responsive-columns.component.html +6 -0
- package/src/lib/responsive-columns/responsive-columns.component.scss +68 -0
- package/src/lib/responsive-layout/responsive-layout.component.html +1 -0
- package/src/lib/responsive-layout/responsive-layout.component.scss +47 -0
- package/src/lib/resume-entries/resume-entries.component.html +97 -0
- package/src/lib/resume-entries/resume-entries.component.scss +341 -0
- package/src/lib/resume-header/resume-header.component.html +167 -0
- package/src/lib/shared-popup-modal/shared-popup-modal.component.html +99 -0
- package/src/lib/shared-popup-modal/shared-popup-modal.component.scss +223 -0
- package/src/lib/side-action-bar-wrapper/side-action-bar-wrapper.component.html +17 -0
- package/src/lib/side-action-bar-wrapper/side-action-bar-wrapper.component.scss +58 -0
- package/src/lib/slide-toggle/slide-toggle.component.html +17 -0
- package/src/lib/slide-toggle/slide-toggle.component.scss +439 -0
- package/src/lib/storybook/testing-strip/testing-strip.component.html +12 -0
- package/src/lib/storybook/testing-strip/testing-strip.component.scss +1 -0
- package/src/lib/styles/border-radius.scss +11 -0
- package/src/lib/styles/button-mixins.scss +41 -0
- package/src/lib/styles/button.scss +117 -0
- package/src/lib/styles/colors.scss +221 -0
- package/src/lib/styles/elevation.scss +46 -0
- package/src/lib/styles/new-typography.scss +202 -0
- package/src/lib/styles/spacing.scss +39 -0
- package/src/lib/styles/typography-classes.scss +203 -0
- package/src/lib/tabs/tabs.component.html +9 -0
- package/src/lib/tabs/tabs.component.scss +151 -0
- package/src/lib/toggle-buttons/toggle-buttons.component.html +17 -0
- package/src/lib/toggle-buttons/toggle-buttons.component.scss +284 -0
- package/src/lib/tooltip/tooltip.component.html +6 -0
- package/src/lib/tooltip/tooltip.component.scss +8 -0
- package/lib/action-bar-wrapper/action-bar-wrapper.component.d.ts +0 -36
- package/lib/resume-header/resume-header.component.d.ts +0 -69
- package/lib/resume-header/resume-header.module.d.ts +0 -8
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
/* Date Range Component Styles - Matching Input Component Approach */
|
|
2
|
+
|
|
3
|
+
@import '../styles/colors.scss';
|
|
4
|
+
@import '../styles/spacing.scss';
|
|
5
|
+
@import '../styles/typography-classes.scss';
|
|
6
|
+
@import '../styles/border-radius.scss';
|
|
7
|
+
@import '../styles/elevation.scss';
|
|
8
|
+
|
|
9
|
+
/* Container styling */
|
|
10
|
+
.mat_form {
|
|
11
|
+
width: 100%;
|
|
12
|
+
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/* Range display styling */
|
|
16
|
+
.range-display {
|
|
17
|
+
margin-top: var(--space-8);
|
|
18
|
+
padding: var(--space-8) var(--space-12);
|
|
19
|
+
background: var(--color-grey-50);
|
|
20
|
+
border-radius: var(--radius-4);
|
|
21
|
+
border: 1px solid var(--color-grey-200);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.range-text {
|
|
25
|
+
font-size: 14px;
|
|
26
|
+
color: var(--color-grey-700);
|
|
27
|
+
font-weight: 500;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.range-text.invalid {
|
|
31
|
+
color: var(--color-error-500);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.error-message {
|
|
35
|
+
display: block;
|
|
36
|
+
font-size: 12px;
|
|
37
|
+
color: var(--color-error-500);
|
|
38
|
+
margin-top: var(--space-4);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/* Clear button styling */
|
|
42
|
+
.clear-button {
|
|
43
|
+
color: var(--color-grey-500);
|
|
44
|
+
margin-left: var(--space-4);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.clear-button:hover {
|
|
48
|
+
color: var(--color-error-500);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/* Hide range text */
|
|
52
|
+
.range-text {
|
|
53
|
+
display: none !important;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/* ===== SIZE STYLES (Matching Input Component) ===== */
|
|
57
|
+
|
|
58
|
+
/* Size-specific form field infix */
|
|
59
|
+
::ng-deep .al-date-range-size-small .mat-mdc-form-field-infix,
|
|
60
|
+
::ng-deep .al-date-range-size-medium .mat-mdc-form-field-infix,
|
|
61
|
+
::ng-deep .al-date-range-size-large .mat-mdc-form-field-infix {
|
|
62
|
+
padding: 0 12px !important;
|
|
63
|
+
display: flex;
|
|
64
|
+
align-items: center;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
::ng-deep .al-date-range-size-small .mat-mdc-form-field-infix {
|
|
68
|
+
min-height: 34px !important;
|
|
69
|
+
height: 34px !important;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
::ng-deep .al-date-range-size-medium .mat-mdc-form-field-infix {
|
|
73
|
+
min-height: 40px !important;
|
|
74
|
+
height: 40px !important;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
::ng-deep .al-date-range-size-large .mat-mdc-form-field-infix {
|
|
78
|
+
min-height: 48px !important;
|
|
79
|
+
height: 48px !important;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/* ===== CATEGORY STYLES ===== */
|
|
83
|
+
|
|
84
|
+
/* Default category */
|
|
85
|
+
::ng-deep .al-date-range-category-default {
|
|
86
|
+
--mdc-outlined-text-field-outline-color: #C3C5D1 !important;
|
|
87
|
+
--mdc-outlined-text-field-focus-outline-color: #5473E8 !important;
|
|
88
|
+
--mdc-outlined-text-field-hover-outline-color: #C3C5D1 !important;
|
|
89
|
+
--mdc-outlined-text-field-outline-width: 1px !important;
|
|
90
|
+
--mdc-outlined-text-field-focus-outline-width: 1px !important;
|
|
91
|
+
--mdc-outlined-text-field-hover-outline-width: 1px !important;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/* Disabled category */
|
|
95
|
+
::ng-deep .al-date-range-category-disabled {
|
|
96
|
+
--mdc-outlined-text-field-outline-color: var(--color-grey-300) !important;
|
|
97
|
+
--mdc-outlined-text-field-focus-outline-color: var(--color-grey-300) !important;
|
|
98
|
+
--mdc-outlined-text-field-hover-outline-color: var(--color-grey-300) !important;
|
|
99
|
+
--mdc-outlined-text-field-outline-width: 1px !important;
|
|
100
|
+
--mdc-outlined-text-field-focus-outline-width: 1px !important;
|
|
101
|
+
--mdc-outlined-text-field-hover-outline-width: 1px !important;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/* Global background color for all date range fields */
|
|
105
|
+
::ng-deep .mat_form .mat-mdc-form-field-flex,
|
|
106
|
+
::ng-deep .mat_form .mat-mdc-text-field-wrapper,
|
|
107
|
+
::ng-deep .mat_form .mat-mdc-form-field-infix {
|
|
108
|
+
background-color: #F7F9FE !important;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/* Hide subscript wrapper by default */
|
|
112
|
+
::ng-deep .mat_form .mat-mdc-form-field-subscript-wrapper {
|
|
113
|
+
background-color: transparent !important;
|
|
114
|
+
display: none !important;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/* Show subscript wrapper only when there's hint text */
|
|
118
|
+
::ng-deep .mat_form .mat-mdc-form-field-subscript-wrapper {
|
|
119
|
+
display: block !important;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
::ng-deep .mat_form .mat-mdc-form-field-focus-overlay {
|
|
123
|
+
background-color: #F7F9FE !important;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/* Remove box shadows */
|
|
127
|
+
::ng-deep .mat_form .mat-mdc-form-field .mdc-notched-outline {
|
|
128
|
+
box-shadow: none !important;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/* Direct border color overrides to ensure C3C5D1 across states */
|
|
132
|
+
::ng-deep .mat_form .mdc-notched-outline__leading,
|
|
133
|
+
::ng-deep .mat_form .mdc-notched-outline__notch,
|
|
134
|
+
::ng-deep .mat_form .mdc-notched-outline__trailing {
|
|
135
|
+
border-color: #C3C5D1 !important;
|
|
136
|
+
border-width: 1px !important;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
::ng-deep .mat_form .mat-mdc-form-field:hover .mdc-notched-outline__leading,
|
|
140
|
+
::ng-deep .mat_form .mat-mdc-form-field:hover .mdc-notched-outline__notch,
|
|
141
|
+
::ng-deep .mat_form .mat-mdc-form-field:hover .mdc-notched-outline__trailing {
|
|
142
|
+
border-color: #C3C5D1 !important;
|
|
143
|
+
border-width: 1px !important;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
::ng-deep .mat_form .mat-mdc-form-field.mat-focused .mdc-notched-outline__leading,
|
|
147
|
+
::ng-deep .mat_form .mat-mdc-form-field.mat-focused .mdc-notched-outline__notch,
|
|
148
|
+
::ng-deep .mat_form .mat-mdc-form-field.mat-focused .mdc-notched-outline__trailing {
|
|
149
|
+
border-color: #5473E8 !important;
|
|
150
|
+
border-width: 1px !important;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
::ng-deep .mat_form .mat-mdc-form-field:active .mdc-notched-outline__leading,
|
|
154
|
+
::ng-deep .mat_form .mat-mdc-form-field:active .mdc-notched-outline__notch,
|
|
155
|
+
::ng-deep .mat_form .mat-mdc-form-field:active .mdc-notched-outline__trailing {
|
|
156
|
+
border-color: #5473E8 !important;
|
|
157
|
+
border-width: 1px !important;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/* Remove the small grey border before the label (notch seam) */
|
|
161
|
+
::ng-deep .mat_form .mdc-notched-outline__leading {
|
|
162
|
+
border-right: none !important;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
::ng-deep .mat_form .mdc-notched-outline__notch {
|
|
166
|
+
border-left: none !important;
|
|
167
|
+
border-right: none !important;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
/* Icon sizing to match input component */
|
|
171
|
+
::ng-deep .al-date-range-size-small mat-icon {
|
|
172
|
+
height: 16px !important;
|
|
173
|
+
width: 16px !important;
|
|
174
|
+
font-size: 16px !important;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
::ng-deep .al-date-range-size-medium mat-icon {
|
|
178
|
+
height: 24px !important;
|
|
179
|
+
width: 24px !important;
|
|
180
|
+
font-size: 24px !important;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
::ng-deep .al-date-range-size-large mat-icon {
|
|
184
|
+
height: 24px !important;
|
|
185
|
+
width: 24px !important;
|
|
186
|
+
font-size: 24px !important;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/* Floating label positioning */
|
|
190
|
+
::ng-deep .al-date-range-size-small .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label {
|
|
191
|
+
top: 13px !important;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
::ng-deep .al-date-range-size-medium .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label {
|
|
195
|
+
top: 16px !important;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
::ng-deep .al-date-range-size-large .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label {
|
|
199
|
+
top: 20px !important;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/* Label transform calculations */
|
|
203
|
+
::ng-deep .al-date-range-size-small .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
|
|
204
|
+
--mat-mdc-form-field-label-transform: translateY(calc(calc(6.75px + 16px) * -1)) scale(var(--mat-mdc-form-field-floating-label-scale, 0.75));
|
|
205
|
+
transform: var(--mat-mdc-form-field-label-transform);
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
::ng-deep .al-date-range-size-medium .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
|
|
209
|
+
--mat-mdc-form-field-label-transform: translateY(calc(calc(6.75px + 18px) * -1)) scale(var(--mat-mdc-form-field-floating-label-scale, 0.75));
|
|
210
|
+
transform: var(--mat-mdc-form-field-label-transform);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
::ng-deep .al-date-range-size-large .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
|
|
214
|
+
--mat-mdc-form-field-label-transform: translateY(calc(calc(6.75px + 23px) * -1)) scale(var(--mat-mdc-form-field-floating-label-scale, 0.75));
|
|
215
|
+
transform: var(--mat-mdc-form-field-label-transform);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/* Touch target sizing for datepicker toggle button */
|
|
219
|
+
::ng-deep .mat-mdc-button-touch-target {
|
|
220
|
+
height: 24px !important;
|
|
221
|
+
width: 24px !important;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
/* Icon button styling for datepicker toggle - Base height 40px */
|
|
225
|
+
::ng-deep .mat-mdc-icon-button.mat-mdc-button-base {
|
|
226
|
+
padding: var(--space-8) !important;
|
|
227
|
+
height: 40px !important;
|
|
228
|
+
width: 40px !important;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
/* Size-specific icon button dimensions */
|
|
232
|
+
::ng-deep .al-date-range-size-small .mat-mdc-icon-button.mat-mdc-button-base {
|
|
233
|
+
padding: 0 !important;
|
|
234
|
+
height: 24px !important;
|
|
235
|
+
width: 24px !important;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
::ng-deep .al-date-range-size-medium .mat-mdc-icon-button.mat-mdc-button-base {
|
|
239
|
+
padding: 0 !important;
|
|
240
|
+
height: 24px !important;
|
|
241
|
+
width: 24px !important;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
::ng-deep .al-date-range-size-large .mat-mdc-icon-button.mat-mdc-button-base {
|
|
245
|
+
padding: var(--space-8) !important;
|
|
246
|
+
height: 24px !important;
|
|
247
|
+
width: 24px !important;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
/* Size-specific touch target for icon buttons */
|
|
251
|
+
::ng-deep .al-date-range-size-small .mat-mdc-button-touch-target {
|
|
252
|
+
height: 24px !important;
|
|
253
|
+
width: 24px !important;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
::ng-deep .al-date-range-size-medium .mat-mdc-button-touch-target {
|
|
257
|
+
height: 24px !important;
|
|
258
|
+
width: 24px !important;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
::ng-deep .al-date-range-size-large .mat-mdc-button-touch-target {
|
|
262
|
+
height: 24px !important;
|
|
263
|
+
width: 24px !important;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
/* Primary color for outlined text field floating label */
|
|
267
|
+
::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-floating-label {
|
|
268
|
+
color: #5473E8 !important;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
/* Responsive design for smaller screens */
|
|
272
|
+
|
|
273
|
+
/* Right spacing for datepicker icon */
|
|
274
|
+
::ng-deep .mat_form .mat-mdc-form-field-suffix {
|
|
275
|
+
margin-right: 12px !important;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
::ng-deep .mat_form .mat-datepicker-toggle {
|
|
279
|
+
margin-right: 12px !important;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
::ng-deep .mat-mdc-form-field-has-icon-suffix .mat-mdc-text-field-wrapper {
|
|
283
|
+
padding-left: 0 !important;
|
|
284
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
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>
|
|
5
|
+
<div class="inner"><ng-content></ng-content></div>
|
|
6
|
+
<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'"
|
|
10
|
+
(onClick)="deleteButtonClick.emit($event)"></al-button>
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
@import "../styles/typography-classes.scss";
|
|
2
|
+
@import "../styles/colors.scss";
|
|
3
|
+
@import "../styles/border-radius.scss";
|
|
4
|
+
|
|
5
|
+
:host {
|
|
6
|
+
display: block;
|
|
7
|
+
position: relative;
|
|
8
|
+
padding: 0;
|
|
9
|
+
/* ensure the blue surround starts flush; spacing is controlled by 6px inset */
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/* Flexible grid utilities for complex layouts
|
|
13
|
+
Use ::ng-deep so these styles apply to projected content inside <al-form> */
|
|
14
|
+
:host ::ng-deep .al-form__grid {
|
|
15
|
+
display: grid;
|
|
16
|
+
gap: 16px;
|
|
17
|
+
/* design: 16px between fields/columns */
|
|
18
|
+
margin-top: 16px;
|
|
19
|
+
/* design: 16px between rows */
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
:host ::ng-deep .al-form__grid.cols-1 {
|
|
23
|
+
grid-template-columns: 1fr;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
:host ::ng-deep .al-form__grid.cols-2 {
|
|
27
|
+
grid-template-columns: 1fr 1fr;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
:host ::ng-deep .al-form__grid.cols-3 {
|
|
31
|
+
grid-template-columns: 1fr 1fr 1fr;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
:host ::ng-deep .al-form__grid .full {
|
|
35
|
+
grid-column: 1 / -1;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.al-form-wrapper {
|
|
39
|
+
position: relative;
|
|
40
|
+
/* Outer card look */
|
|
41
|
+
/* add side gutters so FABs fit without overflow */
|
|
42
|
+
//padding: 8px 0 !important;
|
|
43
|
+
/* outer white padding removed; blue area + border + inner card manage spacing */
|
|
44
|
+
border-radius: 16px;
|
|
45
|
+
/* rounded outer blue area */
|
|
46
|
+
background: transparent;
|
|
47
|
+
/* no solid blue block; halo is rendered by the ::before shadow */
|
|
48
|
+
|
|
49
|
+
width: 100%;
|
|
50
|
+
max-width: 100%;
|
|
51
|
+
box-sizing: border-box;
|
|
52
|
+
overflow: visible;
|
|
53
|
+
/* allow FABs to hang slightly without clipping */
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/* Subtle outer rounded border (like a frame) */
|
|
57
|
+
.al-form-wrapper::before {
|
|
58
|
+
content: '';
|
|
59
|
+
position: absolute;
|
|
60
|
+
inset: 0px;
|
|
61
|
+
/* distance from wrapper edges = blue area size */
|
|
62
|
+
/* Stronger, crisp border like the design */
|
|
63
|
+
border: 1px solid var(--Base-Blue, #6581EA);
|
|
64
|
+
/* IMPORTANT: adjust radius so the inset border follows the same curve */
|
|
65
|
+
border-radius: calc(16px - 6px);
|
|
66
|
+
/* Soft halo outside the border to match the blue glow in the mock */
|
|
67
|
+
box-shadow: 0 0 0 6px rgba(84, 115, 232, 0.08);
|
|
68
|
+
pointer-events: none;
|
|
69
|
+
z-index: 1;
|
|
70
|
+
/* keep border above the inner white card */
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/* Inner white card that holds the projected form content and
|
|
74
|
+
provides exactly 24px (T/B) and 34px (L/R) padding after the border */
|
|
75
|
+
.al-form-wrapper>.inner {
|
|
76
|
+
position: relative;
|
|
77
|
+
|
|
78
|
+
/* space between outer blue edge and inner card; matches border inset */
|
|
79
|
+
padding: 32px !important;
|
|
80
|
+
/* requested content padding inside the border */
|
|
81
|
+
/* IMPORTANT: inner card radius must match border's inner curve */
|
|
82
|
+
border-radius: calc(16px - 6px);
|
|
83
|
+
background: #ffffff;
|
|
84
|
+
/* clean white content area */
|
|
85
|
+
box-sizing: border-box;
|
|
86
|
+
z-index: 0;
|
|
87
|
+
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/* Trim accidental extra spacing from first/last child margins inside content */
|
|
91
|
+
.al-form-wrapper>.inner> :first-child {
|
|
92
|
+
margin-top: 0 !important;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.al-form-wrapper>.inner> :last-child {
|
|
96
|
+
margin-bottom: 0 !important;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/* Header styles for projected content */
|
|
100
|
+
.al-form__header {
|
|
101
|
+
display: flex;
|
|
102
|
+
gap: 10px;
|
|
103
|
+
align-items: baseline;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.al-form__title {
|
|
107
|
+
font-weight: 600;
|
|
108
|
+
color: #222;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.al-form__hint {
|
|
112
|
+
color: #7a818f;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.al-form__paragraph {
|
|
116
|
+
margin: 6px 0 0;
|
|
117
|
+
color: #3a3f4a;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/* Demo form styles (optional helpers for stories) */
|
|
121
|
+
.al-form__demo-form {
|
|
122
|
+
display: grid;
|
|
123
|
+
grid-template-columns: 1fr 1fr;
|
|
124
|
+
gap: 12px;
|
|
125
|
+
margin-top: 10px;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/* Responsive form layout */
|
|
129
|
+
@media (max-width: 767.98px) {
|
|
130
|
+
.al-form__demo-form {
|
|
131
|
+
grid-template-columns: 1fr;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.al-form__demo-form .full {
|
|
136
|
+
grid-column: 1 / -1;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.al-form__field {
|
|
140
|
+
display: flex;
|
|
141
|
+
flex-direction: column;
|
|
142
|
+
gap: 6px;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.al-form__field label {
|
|
146
|
+
font-size: 12px;
|
|
147
|
+
color: #5a6170;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.al-form__control {
|
|
151
|
+
width: 100%;
|
|
152
|
+
padding: 10px 12px;
|
|
153
|
+
border: 1px solid #d9def4;
|
|
154
|
+
border-radius: 10px;
|
|
155
|
+
background: #fff;
|
|
156
|
+
color: #2a2f3a;
|
|
157
|
+
outline: none;
|
|
158
|
+
box-sizing: border-box;
|
|
159
|
+
box-shadow: 0 1px 0 rgba(88, 119, 255, 0.06), inset 0 0 0 2px rgba(88, 119, 255, 0.03);
|
|
160
|
+
transition: box-shadow .15s ease, border-color .15s ease;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.al-form__control:focus {
|
|
164
|
+
border-color: rgba(88, 119, 255, 0.6);
|
|
165
|
+
box-shadow: 0 0 0 3px rgba(88, 119, 255, 0.14);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
select.al-form__control {
|
|
169
|
+
appearance: none;
|
|
170
|
+
background-image: linear-gradient(45deg, transparent 50%, #7a86ff 50%),
|
|
171
|
+
linear-gradient(135deg, #7a86ff 50%, transparent 50%);
|
|
172
|
+
background-position: calc(100% - 18px) calc(1em + 2px),
|
|
173
|
+
calc(100% - 13px) calc(1em + 2px);
|
|
174
|
+
background-size: 5px 5px, 5px 5px;
|
|
175
|
+
background-repeat: no-repeat;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
/* Floating Action Buttons */
|
|
179
|
+
// .fab {
|
|
180
|
+
// width: 40px;
|
|
181
|
+
// height: 40px;
|
|
182
|
+
// box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2);
|
|
183
|
+
// border-radius: 50%;
|
|
184
|
+
// display: inline-flex;
|
|
185
|
+
// align-items: center;
|
|
186
|
+
// justify-content: center;
|
|
187
|
+
// padding: 0;
|
|
188
|
+
// min-width: 40px; // override any button min-width
|
|
189
|
+
// }
|
|
190
|
+
|
|
191
|
+
.fab.left {
|
|
192
|
+
position: absolute;
|
|
193
|
+
left: -16px;
|
|
194
|
+
/* intended design: slightly outside the inner frame */
|
|
195
|
+
top: 0;
|
|
196
|
+
/* Changed from top: 50% to top: 0, transform will be handled by JS */
|
|
197
|
+
z-index: 2;
|
|
198
|
+
background-color: #fff;
|
|
199
|
+
border-radius: 50%;
|
|
200
|
+
will-change: transform;
|
|
201
|
+
/* Optimize for smooth scrolling */
|
|
202
|
+
transition: transform 0.1s ease-out;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
.fab-group.right {
|
|
206
|
+
position: absolute;
|
|
207
|
+
right: -16px;
|
|
208
|
+
/* slightly outside the inner frame */
|
|
209
|
+
top: 0;
|
|
210
|
+
/* Changed from top: 50% to top: 0, transform will be handled by JS */
|
|
211
|
+
display: flex;
|
|
212
|
+
flex-direction: column;
|
|
213
|
+
border-radius: 50%;
|
|
214
|
+
gap: 8px;
|
|
215
|
+
z-index: 2;
|
|
216
|
+
background-color: #fff;
|
|
217
|
+
will-change: transform;
|
|
218
|
+
/* Optimize for smooth scrolling */
|
|
219
|
+
transition: transform 0.1s ease-out;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
/* Add gap between form rows (app-flex-grid elements) */
|
|
223
|
+
:host ::ng-deep app-flex-grid+app-flex-grid {
|
|
224
|
+
margin-top: 16px;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/* Remove special outline/background styles so buttons render as-is */
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<al-responsive-columns [gap]="gap" [padding]="padding" [leftWidth]="leftWidth" [rightWidth]="rightWidth"
|
|
2
|
+
[stackAt]="stackAt">
|
|
3
|
+
<div left><app-toolbar-left [variant]="variant" [content]="content"
|
|
4
|
+
[isExtractionAnalysisActive]="isExtractionAnalysisActive" [showSearch]="showSearch"
|
|
5
|
+
[overrideConfig]="overrideConfig" (editEvent)="onEditEvent($event)"></app-toolbar-left></div>
|
|
6
|
+
<div center><al-resume-entries [entries]="entries" [showHeader]="showHeader"
|
|
7
|
+
[showDescriptionLabel]="showDescriptionLabel" [showCompany]="showCompany" [showJobTitle]="showJobTitle"
|
|
8
|
+
[showDates]="showDates" [showLocation]="showLocation" [showTimeline]="showTimeline"
|
|
9
|
+
[showReapplyButton]="showReapplyButton" [showLoader]="showLoader" [loaderForAllEntries]="loaderForAllEntries"
|
|
10
|
+
[loaderStatus]="loaderStatus" [loaderSize]="loaderSize" [skills]="skills" [companyTooltip]="companyTooltip"
|
|
11
|
+
[jobTitleTooltip]="jobTitleTooltip" [dateTooltip]="dateTooltip" [locationTooltip]="locationTooltip"
|
|
12
|
+
[descriptionTooltip]="descriptionTooltip" [tooltipPosition]="tooltipPosition" [isSectionHidden]="isSectionHidden"
|
|
13
|
+
(reapplyClick)="onReapplyClick($event)" (undoClick)="onUndoClick($event)"></al-resume-entries>
|
|
14
|
+
</div>
|
|
15
|
+
<div right><app-toolbar-right [checked]="checked" [alwaysShowIcons]="alwaysShowIcons"
|
|
16
|
+
[overrideConfig]="overrideConfigRight" [currentObj]="currentObj" (checkboxChange)="onCheckboxChange($event)"
|
|
17
|
+
(visibilityToggle)="onVisibilityToggle($event)" (hideShowEvent)="onHideShowEvent($event)"
|
|
18
|
+
(checkboxEvent)="onCheckboxEvent($event)" (setSubroleEvent)="onSetSubroleEvent($event)"></app-toolbar-right>
|
|
19
|
+
</div>
|
|
20
|
+
</al-responsive-columns>
|
|
File without changes
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<div class="field-row" [class.field-row-compact]="compact === true" [class.field-row-padded]="padded === true">
|
|
2
|
+
<ng-container *ngIf="icon">
|
|
3
|
+
<span class="field-icon">
|
|
4
|
+
<ng-container *ngIf="isMaterialIcon(icon); else imageIcon">
|
|
5
|
+
<mat-icon [fontSet]="iconFont">{{ icon }}</mat-icon>
|
|
6
|
+
</ng-container>
|
|
7
|
+
<ng-template #imageIcon>
|
|
8
|
+
<img [src]="icon" [alt]="iconAlt || 'icon'" />
|
|
9
|
+
</ng-template>
|
|
10
|
+
</span>
|
|
11
|
+
</ng-container>
|
|
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>
|
|
16
|
+
</span>
|
|
17
|
+
</div>
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
@import url("https://fonts.googleapis.com/icon?family=Material+Icons|Material+Icons+Outlined");
|
|
2
|
+
@import url("https://fonts.googleapis.com/icon?family=Material+Icons|Material+Icons+Outlined");
|
|
3
|
+
@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');
|
|
4
|
+
|
|
5
|
+
/* Material Icons */
|
|
6
|
+
@import url('https://fonts.googleapis.com/icon?family=Material+Icons');
|
|
7
|
+
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined');
|
|
8
|
+
|
|
9
|
+
/* Make all typography utility classes available inside this component */
|
|
10
|
+
@import '../styles/typography-classes.scss';
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
.placeholder-text {
|
|
15
|
+
padding: 4px 8px;
|
|
16
|
+
letter-spacing: 0.25px;
|
|
17
|
+
border-radius: 4px;
|
|
18
|
+
background-color: #E5E9FC;
|
|
19
|
+
width: max-content;
|
|
20
|
+
font-family: 'Open Sans', Arial, sans-serif;
|
|
21
|
+
font-size: 14px;
|
|
22
|
+
font-weight: 400;
|
|
23
|
+
line-height: 18px;
|
|
24
|
+
color: #768FED;
|
|
25
|
+
}
|
|
26
|
+
|
|
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
|
+
// }
|
|
80
|
+
|
|
81
|
+
.field-row {
|
|
82
|
+
display: flex;
|
|
83
|
+
align-items: center;
|
|
84
|
+
gap: 8px;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.field-row-compact {
|
|
88
|
+
leading-trim: both;
|
|
89
|
+
text-edge: cap;
|
|
90
|
+
font-style: normal;
|
|
91
|
+
line-height: 140%;
|
|
92
|
+
letter-spacing: 0.04px;
|
|
93
|
+
height: 28px;
|
|
94
|
+
// padding: 8px 0;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.field-row-padded {
|
|
98
|
+
padding-top: 8px;
|
|
99
|
+
padding-bottom: 8px;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.field-icon {
|
|
103
|
+
display: flex;
|
|
104
|
+
align-items: center;
|
|
105
|
+
justify-content: center;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.field-icon img,
|
|
109
|
+
.field-icon mat-icon {
|
|
110
|
+
width: 20px;
|
|
111
|
+
height: 20px;
|
|
112
|
+
object-fit: contain;
|
|
113
|
+
font-size: 20px;
|
|
114
|
+
line-height: 20px;
|
|
115
|
+
display: inline-flex;
|
|
116
|
+
align-items: center;
|
|
117
|
+
justify-content: center;
|
|
118
|
+
color: #37C1CE;
|
|
119
|
+
}
|