@adzen/doohbot 1.0.1 → 1.0.2

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 (92) hide show
  1. package/README.md +20 -14
  2. package/fesm2022/adzen-doohbot.mjs +4622 -0
  3. package/fesm2022/adzen-doohbot.mjs.map +1 -0
  4. package/index.d.ts +1301 -0
  5. package/index.d.ts.map +1 -0
  6. package/package.json +29 -57
  7. package/src/lib/app/chat/components/chat-button/chat-button.component.scss +115 -0
  8. package/src/lib/app/chat/components/chat-footer/chat-footer.component.scss +14 -0
  9. package/src/lib/app/chat/components/chat-header/chat-header.component.scss +82 -0
  10. package/src/lib/app/chat/components/chat-history-sidebar/chat-history-sidebar.component.scss +369 -0
  11. package/src/lib/app/chat/components/chat-message/chat-message.component.scss +235 -0
  12. package/src/lib/app/chat/components/chat-window/chat-window.component.scss +194 -0
  13. package/src/lib/app/chat/components/message-input/message-input.component.scss +59 -0
  14. package/src/lib/app/chat/components/message-list/message-list.component.scss +258 -0
  15. package/src/lib/app/login/login-form.component.scss +213 -0
  16. package/src/lib/app/personalization/personalization-dialog.component.scss +177 -0
  17. package/src/lib/app/personalization/sections/account/account-section.component.scss +209 -0
  18. package/src/lib/app/personalization/sections/instruction/instruction-section.component.scss +63 -0
  19. package/src/lib/app/personalization/sections/preferences/preferences-section.component.scss +199 -0
  20. package/src/lib/app/personalization/sections/terms/terms-section.component.scss +74 -0
  21. package/src/lib/doohbot.component.scss +18 -0
  22. package/{projects/doohbot/src/lib/shared/chips/chips.scss → src/lib/shared/chips/chips.component.scss} +3 -1
  23. package/src/lib/shared/dialog/dialog.component.scss +90 -0
  24. package/src/lib/shared/dropdown-menu/dropdown-menu.component.scss +53 -0
  25. package/src/lib/shared/input-dialog/input-dialog.component.scss +71 -0
  26. package/src/lib/shared/popout/popout.scss +0 -0
  27. package/src/lib/shared/snackbar/snackbar.component.scss +125 -0
  28. package/src/lib/styles/_theme.scss +69 -0
  29. package/src/lib/styles/material-override.scss +338 -0
  30. package/{projects/doohbot/src/lib/utils → src/lib/styles}/utility.scss +85 -33
  31. package/src/lib/theme/index.scss +8 -0
  32. package/src/lib/theme/palettes/aqua.scss +88 -0
  33. package/src/lib/theme/palettes/candy.scss +88 -0
  34. package/src/lib/theme/palettes/doohbot.scss +88 -0
  35. package/src/lib/theme/palettes/forest.scss +88 -0
  36. package/src/lib/theme/palettes/midnight.scss +88 -0
  37. package/src/lib/theme/palettes/slate.scss +88 -0
  38. package/src/lib/theme/palettes/sunset.scss +86 -0
  39. package/src/lib/theme/themes.scss +7 -0
  40. package/src/lib/theme/tokens/semantic.scss +102 -0
  41. package/.editorconfig +0 -17
  42. package/.vscode/extensions.json +0 -4
  43. package/.vscode/launch.json +0 -26
  44. package/.vscode/settings.json +0 -13
  45. package/.vscode/tasks.json +0 -42
  46. package/adzen-doohbot-0.0.1.tgz +0 -0
  47. package/adzen-doohbot-1.0.0.tgz +0 -0
  48. package/adzen-doohbot-1.0.1.tgz +0 -0
  49. package/angular.json +0 -119
  50. package/projects/doohbot/README.md +0 -63
  51. package/projects/doohbot/ng-package.json +0 -16
  52. package/projects/doohbot/package.json +0 -12
  53. package/projects/doohbot/src/lib/directives/draggable/draggable-dialog.directive.ts +0 -62
  54. package/projects/doohbot/src/lib/directives/draggable/draggable-dialog.module.ts +0 -9
  55. package/projects/doohbot/src/lib/directives/resizable/resizable-dialog.directive.ts +0 -163
  56. package/projects/doohbot/src/lib/directives/resizable/resizable-dialog.module.ts +0 -9
  57. package/projects/doohbot/src/lib/doohbot.html +0 -216
  58. package/projects/doohbot/src/lib/doohbot.scss +0 -568
  59. package/projects/doohbot/src/lib/doohbot.spec.ts +0 -21
  60. package/projects/doohbot/src/lib/doohbot.ts +0 -345
  61. package/projects/doohbot/src/lib/elements/elements.ts +0 -25
  62. package/projects/doohbot/src/lib/helpers/predefined_messages.ts +0 -2
  63. package/projects/doohbot/src/lib/inputs/doohbot-input.ts +0 -25
  64. package/projects/doohbot/src/lib/model/doohbot.intents.ts +0 -24
  65. package/projects/doohbot/src/lib/model/message.ts +0 -13
  66. package/projects/doohbot/src/lib/model/token.ts +0 -3
  67. package/projects/doohbot/src/lib/services/messaging.service.ts +0 -73
  68. package/projects/doohbot/src/lib/shared/chips/chips.html +0 -9
  69. package/projects/doohbot/src/lib/shared/chips/chips.spec.ts +0 -23
  70. package/projects/doohbot/src/lib/shared/chips/chips.ts +0 -18
  71. package/projects/doohbot/src/lib/shared/snackbar/snackbar.html +0 -7
  72. package/projects/doohbot/src/lib/shared/snackbar/snackbar.scss +0 -73
  73. package/projects/doohbot/src/lib/shared/snackbar/snackbar.spec.ts +0 -21
  74. package/projects/doohbot/src/lib/shared/snackbar/snackbar.ts +0 -44
  75. package/projects/doohbot/src/lib/utils/material-override.scss +0 -312
  76. package/projects/doohbot/src/public-api.ts +0 -5
  77. package/projects/doohbot/tsconfig.lib.json +0 -19
  78. package/projects/doohbot/tsconfig.lib.prod.json +0 -11
  79. package/projects/doohbot/tsconfig.spec.json +0 -14
  80. package/projects/doohbot-element/public/favicon.ico +0 -0
  81. package/projects/doohbot-element/src/app/app.config.ts +0 -12
  82. package/projects/doohbot-element/src/app/app.html +0 -1
  83. package/projects/doohbot-element/src/app/app.routes.ts +0 -3
  84. package/projects/doohbot-element/src/app/app.spec.ts +0 -23
  85. package/projects/doohbot-element/src/app/app.ts +0 -10
  86. package/projects/doohbot-element/src/index.html +0 -15
  87. package/projects/doohbot-element/src/main.ts +0 -6
  88. package/projects/doohbot-element/src/styles.scss +0 -15
  89. package/projects/doohbot-element/tsconfig.app.json +0 -15
  90. package/projects/doohbot-element/tsconfig.spec.json +0 -14
  91. package/tsconfig.json +0 -43
  92. /package/{projects/doohbot-element/src/app/app.scss → src/lib/shared/menu-item/menu-item.component.scss} +0 -0
@@ -0,0 +1,71 @@
1
+ .dialog-container {
2
+ padding: 8px;
3
+ }
4
+
5
+ .dialog-message {
6
+ color: var(--secondary-text-color);
7
+ margin-bottom: 20px;
8
+ font-size: 14px;
9
+ }
10
+
11
+ .input-group {
12
+ margin-bottom: 20px;
13
+ }
14
+
15
+ .dialog-input {
16
+ width: 100%;
17
+ padding: 12px 16px;
18
+ border: 1px solid var(--border-color);
19
+ border-radius: 8px;
20
+ background: var(--background-color);
21
+ color: var(--text-color);
22
+ font-size: 14px;
23
+ font-family: inherit;
24
+ transition: all 0.2s;
25
+ box-sizing: border-box;
26
+
27
+ &:focus {
28
+ outline: none;
29
+ border-color: var(--primary-color);
30
+ box-shadow: var(--border-shadow-color);
31
+ }
32
+ }
33
+
34
+ .cancel-btn {
35
+ border-radius: 8px;
36
+ font-weight: 500;
37
+ }
38
+
39
+ .confirm-btn {
40
+ border-radius: 8px;
41
+ font-weight: 500;
42
+ margin-left: 8px;
43
+ transition: all 0.2s ease;
44
+
45
+ &.warn-btn {
46
+ background-color: var(--red);
47
+ color: var(--white);
48
+
49
+ &:hover {
50
+ background-color: var(--red);
51
+ }
52
+ }
53
+
54
+ &.primary-btn {
55
+ background-color: var(--primary-color);
56
+ color: var(--white);
57
+
58
+ &:hover {
59
+ background-color: var(--primary-color);
60
+ }
61
+ }
62
+
63
+ &.accent-btn {
64
+ background-color: var(--light-red);
65
+ color: var(--white);
66
+
67
+ &:hover {
68
+ background-color: var(--light-red);
69
+ }
70
+ }
71
+ }
File without changes
@@ -0,0 +1,125 @@
1
+ .snackbar-message {
2
+ display: flex;
3
+ justify-content: space-between;
4
+ align-items: center;
5
+ gap: 12px;
6
+ padding: 10px 16px;
7
+ border-radius: 6px;
8
+ color: var(--white);
9
+ font-size: 12px;
10
+ box-shadow: var(--border-shadow-color);
11
+ font-family: var(--font-family);
12
+ width: 100%;
13
+ max-width: 360px;
14
+ box-sizing: border-box;
15
+ background-color: var(--background-color); // Fallback
16
+ border: 1px solid transparent;
17
+
18
+ &.type-error {
19
+ background-color: color-mix(in srgb, var(--red), var(--white) 60%);
20
+ border-color: var(--red);
21
+
22
+ .alert-icon {
23
+ color: var(--red);
24
+ }
25
+
26
+ .close-icon:hover {
27
+ background-color: var(--red);
28
+ }
29
+ }
30
+
31
+ &.type-success {
32
+ background-color: color-mix(in srgb, var(--green), var(--white) 60%);
33
+ border-color: var(--green);
34
+
35
+ .alert-icon {
36
+ color: var(--green);
37
+ }
38
+
39
+ .close-icon:hover {
40
+ background-color: var(--green);
41
+ }
42
+ }
43
+
44
+ &.type-warn {
45
+ background-color: color-mix(in srgb, var(--orange), var(--white) 60%);
46
+ border-color: var(--orange);
47
+
48
+ .alert-icon {
49
+ color: var(--orange);
50
+ }
51
+
52
+ .close-icon:hover {
53
+ background-color: var(--orange);
54
+ }
55
+ }
56
+
57
+ &.type-info {
58
+ // using primary color or a blue
59
+ background-color: color-mix(in srgb, var(--blue), var(--white) 60%);
60
+ border-color: var(--blue);
61
+
62
+ .alert-icon {
63
+ color: var(--blue);
64
+ }
65
+
66
+ .close-icon:hover {
67
+ background-color: var(--blue);
68
+ }
69
+ }
70
+ }
71
+
72
+ .error-content {
73
+ display: flex;
74
+ align-items: center;
75
+ gap: 10px;
76
+ min-width: 0;
77
+ flex: 1;
78
+ }
79
+
80
+ .alert-icon {
81
+ font-size: 18px;
82
+ flex-shrink: 0;
83
+ display: flex;
84
+ align-items: center;
85
+ }
86
+
87
+ .error-text {
88
+ flex: 1;
89
+ text-align: left;
90
+ overflow: hidden;
91
+ white-space: nowrap;
92
+ text-overflow: ellipsis;
93
+ color: var(--black); // Ensure text is visible on light bg
94
+ }
95
+
96
+ .close-icon {
97
+ color: var(--black);
98
+ cursor: pointer;
99
+ font-size: 18px;
100
+ width: 24px;
101
+ height: 24px;
102
+ display: flex;
103
+ align-items: center;
104
+ justify-content: center;
105
+ border-radius: 50%;
106
+ opacity: 0.7;
107
+ flex-shrink: 0;
108
+ }
109
+
110
+ .close-icon:hover {
111
+ opacity: 1;
112
+ background-color: var(--red);
113
+ }
114
+
115
+ @keyframes fadeIn {
116
+ from {
117
+ opacity: 0;
118
+ transform: translateY(-5px);
119
+ }
120
+
121
+ to {
122
+ opacity: 1;
123
+ transform: translateY(0);
124
+ }
125
+ }
@@ -0,0 +1,69 @@
1
+ // Include theming for Angular Material with `mat.theme()`.
2
+ @use 'sass:meta';
3
+ @use '@angular/material' as mat;
4
+
5
+ // Standard CSS @imports are safest for browser font/icon loading in compiled SCSS
6
+ @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap');
7
+ @import url('https://fonts.googleapis.com/icon?family=Material+Icons');
8
+
9
+ // Light theme
10
+ $light-theme: mat.define-theme((color: (theme-type: light,
11
+ primary: mat.$violet-palette,
12
+ tertiary: mat.$orange-palette,
13
+ ),
14
+ typography: (brand-family: 'Roboto',
15
+ plain-family: 'Roboto',
16
+ ),
17
+ ));
18
+
19
+ // Dark theme
20
+ $dark-theme: mat.define-theme((color: (theme-type: dark,
21
+ primary: mat.$orange-palette,
22
+ tertiary: mat.$violet-palette,
23
+ ),
24
+ typography: (brand-family: 'Roboto',
25
+ plain-family: 'Roboto',
26
+ ),
27
+ ));
28
+
29
+ :root {
30
+ // Default: system preference
31
+ @include mat.all-component-themes($light-theme);
32
+
33
+ // ---------- Global Theme Variables / Fallbacks ----------
34
+ // We use these fallbacks to ensure the app looks decent even before
35
+ // the ThemeService applies the specific palette class to the HTML element.
36
+ --font-family: var(--db-font-family, 'Roboto', Arial, sans-serif);
37
+ --primary-color: var(--db-primary, #4f46e5);
38
+ --background-color: var(--db-bg-app, #ffffff);
39
+ --text-color: var(--db-text-main, #111827);
40
+
41
+ // Global overrides for Material components
42
+ @include mat.theme-overrides((button-container-shape: 5px,
43
+ dialog-container-shape: 12px,
44
+ menu-container-shape: 5px,
45
+ card-container-shape: 12px,
46
+ form-field-container-shape: 5px,
47
+
48
+ // Bridge: Link Material roles to our custom variables
49
+ primary: var(--primary-color),
50
+ on-primary: var(--user-text-color, #ffffff),
51
+ surface: var(--background-color),
52
+ on-surface: var(--text-color),
53
+ outline: var(--border-color, #e5e7eb),
54
+ ));
55
+ }
56
+
57
+ // ---------- Theme classes (apply to html or body) ----------
58
+ .light-theme {
59
+ @include mat.all-component-themes($light-theme);
60
+ }
61
+
62
+ .dark-theme {
63
+ @include mat.all-component-themes($dark-theme);
64
+
65
+ // Dark mode fallbacks for :root variables when .dark-theme is present
66
+ --primary-color: var(--db-primary, #818cf8);
67
+ --background-color: var(--db-bg-app, #161616);
68
+ --text-color: var(--db-text-main, #f9fafb);
69
+ }
@@ -0,0 +1,338 @@
1
+ @use '@angular/material' as mat;
2
+
3
+ // ================================
4
+ // Manual CSS Overrides
5
+ // ================================
6
+
7
+ // ================================
8
+ // Custom Snackbar Overrides
9
+ // ================================
10
+
11
+ .mat-mdc-snack-bar-container {
12
+ &.mdc-snackbar {
13
+ background: transparent !important;
14
+ box-shadow: none !important;
15
+ }
16
+
17
+ .mdc-snackbar__surface {
18
+ background: transparent !important;
19
+ box-shadow: none !important;
20
+ padding: 0 !important;
21
+ min-width: 0 !important;
22
+ }
23
+
24
+ .mdc-snackbar__label {
25
+ padding: 0 !important;
26
+ width: 100%;
27
+ }
28
+ }
29
+
30
+ // ==========================================
31
+ // Global Material Button Overrides
32
+ // ==========================================
33
+
34
+ .mat-mdc-button-base {
35
+ transition: transform 0.2s cubic-bezier(0.25, 0.8, 0.25, 1),
36
+ box-shadow 0.2s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
37
+
38
+ &:hover {
39
+ transform: translateY(-1px);
40
+ }
41
+
42
+ &:active {
43
+ transform: translateY(0);
44
+ }
45
+ }
46
+
47
+ // Raised and Flat variant elevation enhancements
48
+ .mat-mdc-raised-button,
49
+ .mat-mdc-unelevated-button {
50
+ &:hover:not(:disabled) {
51
+ box-shadow: 0 4px 12px rgba(var(--black-rgb), 0.15) !important;
52
+ }
53
+ }
54
+
55
+ // Icon button specific interaction
56
+ .mat-mdc-icon-button {
57
+ transition: transform 0.2s ease !important;
58
+
59
+ &:hover {
60
+ transform: scale(1.1);
61
+ }
62
+
63
+ &:active {
64
+ transform: scale(0.95);
65
+ }
66
+ }
67
+
68
+ // Consistency for all variants
69
+ .mdc-button,
70
+ .mat-mdc-button,
71
+ .mat-mdc-raised-button,
72
+ .mat-mdc-unelevated-button,
73
+ .mat-mdc-stroked-button {
74
+ border-radius: var(--button-container-shape, 5px) !important;
75
+
76
+ // Link state layers to theme
77
+ .mat-ripple {
78
+ opacity: 0.1 !important;
79
+ }
80
+ }
81
+
82
+ // ==========================================
83
+ // Shared Component Overrides
84
+ // ==========================================
85
+
86
+ // Global Dialog Styling
87
+ .mat-mdc-dialog-container {
88
+ border-radius: 12px !important;
89
+ --mdc-dialog-container-color: var(--background-color) !important;
90
+ background-color: var(--background-color) !important;
91
+
92
+ .mdc-dialog__surface {
93
+ border-radius: 12px !important;
94
+ overflow: hidden;
95
+ background-color: var(--background-color) !important;
96
+ --mdc-dialog-surface-container-color: var(--background-color) !important;
97
+ }
98
+ }
99
+
100
+ // Global Select & Dropdown Styling
101
+ .mat-mdc-select-panel {
102
+ border-radius: 12px !important;
103
+ padding: 8px 0 !important;
104
+ box-shadow: 0 8px 24px rgba(var(--black-rgb), 0.12) !important;
105
+ border: 1px solid rgba(var(--black-rgb), 0.05) !important;
106
+ background-color: var(--background-color) !important;
107
+ --mdc-select-panel-container-color: var(--background-color) !important;
108
+
109
+ // Hide scrollbar for cleaner look
110
+ &::-webkit-scrollbar {
111
+ display: none;
112
+ }
113
+
114
+ .mat-mdc-option {
115
+ min-height: 44px !important;
116
+
117
+ &.mdc-list-item--selected:not(.mdc-list-item--disabled) {
118
+ .mdc-list-item__primary-text {
119
+ color: var(--primary-color) !important;
120
+ }
121
+ }
122
+ }
123
+ }
124
+
125
+ // Global Menu & Context Actions
126
+ .mat-mdc-menu-panel {
127
+ border-radius: 12px !important;
128
+ overflow: hidden !important;
129
+ border: 1px solid rgba(var(--black-rgb), 0.1) !important;
130
+ box-shadow: 0 8px 24px rgba(var(--black-rgb), 0.12) !important;
131
+ background-color: var(--background-color) !important;
132
+ --mdc-menu-container-color: var(--background-color) !important;
133
+
134
+ .mat-mdc-menu-item:hover {
135
+ background-color: color-mix(in srgb, var(--primary-color), transparent 92%) !important;
136
+ }
137
+
138
+ // Consistent item styling
139
+ .mat-mdc-menu-item {
140
+ min-height: 44px !important;
141
+ font-size: 0.95rem !important;
142
+ font-weight: 500 !important;
143
+
144
+ .mat-icon {
145
+ margin-right: 12px !important;
146
+ font-size: 20px !important;
147
+ width: 20px !important;
148
+ height: 20px !important;
149
+ color: var(--secondary-text-color) !important;
150
+ }
151
+ }
152
+ }
153
+
154
+ // Basic Form Field resets (overridden below by more specific cases)
155
+ .mat-mdc-form-field {
156
+ width: 100%;
157
+
158
+ .mat-mdc-text-field-wrapper {
159
+ background: transparent !important;
160
+ }
161
+ }
162
+
163
+ // Global Tooltip Styling
164
+ .mat-mdc-tooltip {
165
+ --mdc-plain-tooltip-container-color: var(--black); // Standard dark tooltip
166
+ --mdc-plain-tooltip-supporting-text-color: var(--white);
167
+ border-radius: 6px !important;
168
+ font-size: 12px !important;
169
+ font-weight: 500 !important;
170
+ padding: 6px 10px !important;
171
+ backdrop-filter: blur(4px);
172
+ border: 1px solid rgba(var(--white-rgb), 0.1);
173
+ }
174
+
175
+ // --- Section Actions Pattern (Shared for Personalization Sections) ---
176
+ .section-actions {
177
+ display: flex;
178
+ align-items: center;
179
+ padding: 32px 0 0 0;
180
+ border-top: 1px solid rgba(var(--black-rgb), 0.05);
181
+ margin-top: auto; // Push to bottom of flex container
182
+ padding-top: 24px;
183
+
184
+ .spacer {
185
+ flex: 1;
186
+ }
187
+
188
+ .reset-btn {
189
+ background-color: var(--secondary-text-color) !important;
190
+ color: var(--white) !important;
191
+ border-radius: 8px !important;
192
+ padding: 0 24px !important;
193
+ height: 44px !important;
194
+ font-weight: 500;
195
+
196
+ &:hover {
197
+ background-color: var(--text-color) !important;
198
+ }
199
+ }
200
+
201
+ .save-btn {
202
+ background-color: var(--primary-color) !important;
203
+ color: var(--white) !important;
204
+ border-radius: 8px !important;
205
+ padding: 0 24px !important;
206
+ height: 44px !important;
207
+ font-weight: 500;
208
+
209
+ &:disabled {
210
+ background-color: rgba(var(--black-rgb), 0.05) !important;
211
+ color: rgba(var(--black-rgb), 0.3) !important;
212
+ box-shadow: none !important;
213
+ }
214
+ }
215
+ }
216
+
217
+ // Remove default padding from dialog content globally for custom layouts
218
+ .mat-mdc-dialog-content.no-padding {
219
+ padding: 0 !important;
220
+ }
221
+
222
+ // Global Slide Toggle Styling
223
+ .mat-mdc-slide-toggle {
224
+ --mdc-switch-selected-handle-color: var(--white);
225
+ --mdc-switch-selected-track-color: var(--primary-color);
226
+ --mdc-switch-selected-focus-handle-color: var(--white);
227
+ --mdc-switch-selected-hover-handle-color: var(--white);
228
+ --mdc-switch-selected-pressed-handle-color: var(--white);
229
+ --mdc-switch-unselected-handle-color: var(--white);
230
+ --mdc-switch-unselected-track-color: rgba(var(--black-rgb), 0.1);
231
+
232
+ .mdc-switch__handle-track {
233
+ filter: drop-shadow(0 2px 4px rgba(var(--black-rgb), 0.1));
234
+ }
235
+ }
236
+
237
+ // Sleek Form Field Overrides (Personalization Hub Style)
238
+ .mat-mdc-form-field {
239
+
240
+ // Container & Interaction
241
+ .mat-mdc-text-field-wrapper {
242
+ background: rgba(var(--black-rgb), 0.04) !important;
243
+ border: 1px solid rgba(var(--black-rgb), 0.08);
244
+ border-radius: 8px !important;
245
+ transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
246
+ cursor: text;
247
+
248
+ &:hover {
249
+ border-color: rgba(var(--black-rgb), 0.15);
250
+ background: rgba(var(--black-rgb), 0.05) !important;
251
+ }
252
+ }
253
+
254
+ &.mat-focused .mat-mdc-text-field-wrapper {
255
+ border-color: var(--primary-color) !important;
256
+ box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.1) !important;
257
+ background: var(--background-color) !important;
258
+ }
259
+
260
+ // Input & Select Content Styling
261
+ .mat-mdc-form-field-infix {
262
+ padding-top: 10px !important;
263
+ padding-bottom: 10px !important;
264
+ min-height: auto !important;
265
+ display: flex;
266
+ align-items: center;
267
+
268
+ .mat-mdc-input-element,
269
+ .mat-mdc-select-value {
270
+ font-size: 0.95rem !important;
271
+ font-weight: 400 !important;
272
+ color: var(--text-color) !important;
273
+
274
+ &::placeholder {
275
+ color: var(--secondary-text-color) !important;
276
+ opacity: 0.6;
277
+ }
278
+ }
279
+ }
280
+
281
+ // Handle "No Label" variant (removing Material's label layout)
282
+ &.no-label {
283
+ .mdc-notched-outline__notch {
284
+ display: none !important;
285
+ }
286
+
287
+ .mdc-floating-label {
288
+ display: none !important;
289
+ }
290
+
291
+ .mat-mdc-text-field-wrapper {
292
+ padding-top: 0 !important;
293
+ }
294
+ }
295
+
296
+ // Remove the bottom space reserved for error/hints if subscriptSizing is ignored or dynamic
297
+ .mat-mdc-form-field-subscript-wrapper {
298
+ display: none !important;
299
+ }
300
+
301
+ // Specific height for select to match inputs
302
+ &.mat-form-field-type-mat-select {
303
+ .mat-mdc-text-field-wrapper {
304
+ min-height: 44px !important;
305
+ height: 44px !important;
306
+ }
307
+ }
308
+ }
309
+
310
+ // ==========================================
311
+ // Shared Animations
312
+ // ==========================================
313
+
314
+ @keyframes fadeIn {
315
+ from {
316
+ opacity: 0;
317
+ transform: translateY(4px);
318
+ }
319
+
320
+ to {
321
+ opacity: 1;
322
+ transform: translateY(0);
323
+ }
324
+ }
325
+
326
+ // ==========================================
327
+ // Autofill Overrides
328
+ // ==========================================
329
+
330
+ input:-webkit-autofill,
331
+ input:-webkit-autofill:hover,
332
+ input:-webkit-autofill:focus,
333
+ input:-webkit-autofill:active {
334
+ -webkit-box-shadow: 0 0 0 30px var(--background-color) inset !important;
335
+ -webkit-text-fill-color: var(--text-color) !important;
336
+ caret-color: var(--text-color) !important;
337
+ transition: background-color 5000s ease-in-out 0s;
338
+ }