@lucca-front/scss 16.2.7-rc.2 → 16.3.0-rc.1

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 (106) hide show
  1. package/dist/lucca-front.min.css +1 -1
  2. package/package.json +2 -2
  3. package/src/components/button/index.scss +1 -1
  4. package/src/components/button/mods.scss +6 -5
  5. package/src/components/button/states.scss +7 -3
  6. package/src/components/checkbox/mods.scss +1 -1
  7. package/src/components/checkboxField/component.scss +85 -0
  8. package/src/components/checkboxField/index.scss +72 -0
  9. package/src/components/checkboxField/mods.scss +18 -0
  10. package/src/components/checkboxField/states.scss +167 -0
  11. package/src/components/checkboxField/vars.scss +8 -0
  12. package/src/components/chip/index.scss +0 -8
  13. package/src/components/chip/mods.scss +0 -20
  14. package/src/components/clear/index.scss +1 -1
  15. package/src/components/clear/mods.scss +1 -1
  16. package/src/components/footer/component.scss +36 -0
  17. package/src/components/footer/exports.scss +4 -0
  18. package/src/components/footer/index.scss +10 -0
  19. package/src/components/footer/mods.scss +4 -0
  20. package/src/components/footer/vars.scss +2 -0
  21. package/src/components/formLabel/component.scss +21 -0
  22. package/src/components/formLabel/exports.scss +4 -0
  23. package/src/components/formLabel/index.scss +18 -0
  24. package/src/components/formLabel/mods.scss +17 -0
  25. package/src/components/formLabel/states.scss +8 -0
  26. package/src/components/formLabel/vars.scss +7 -0
  27. package/src/components/index.scss +13 -2
  28. package/src/components/inlineMessage/component.scss +13 -0
  29. package/src/components/inlineMessage/exports.scss +4 -0
  30. package/src/components/inlineMessage/index.scss +22 -0
  31. package/src/components/inlineMessage/mods.scss +5 -0
  32. package/src/components/inlineMessage/states.scss +41 -0
  33. package/src/components/inlineMessage/vars.scss +7 -0
  34. package/src/components/list/component.scss +16 -6
  35. package/src/components/list/mods.scss +4 -5
  36. package/src/components/menu/component.scss +2 -2
  37. package/src/components/menu/mods.scss +1 -1
  38. package/src/components/menu/states.scss +12 -2
  39. package/src/components/mobileHeader/component.scss +30 -0
  40. package/src/components/mobileHeader/exports.scss +4 -0
  41. package/src/components/mobileHeader/index.scss +10 -0
  42. package/src/components/mobileHeader/mods.scss +23 -0
  43. package/src/components/mobileHeader/states.scss +0 -0
  44. package/src/components/mobileHeader/vars.scss +3 -0
  45. package/src/components/mobileNavigation/component.scss +56 -0
  46. package/src/components/mobileNavigation/exports.scss +4 -0
  47. package/src/components/mobileNavigation/index.scss +10 -0
  48. package/src/components/mobileNavigation/mods.scss +5 -0
  49. package/src/components/mobileNavigation/states.scss +0 -0
  50. package/src/components/mobileNavigation/vars.scss +2 -0
  51. package/src/components/navside/component.scss +6 -3
  52. package/src/components/navside/mods.scss +9 -1
  53. package/src/components/navside/states.scss +1 -1
  54. package/src/components/newBadge/component.scss +10 -0
  55. package/src/components/newBadge/exports.scss +4 -0
  56. package/src/components/newBadge/index.scss +6 -0
  57. package/src/components/newBadge/mods.scss +0 -0
  58. package/src/components/newBadge/states.scss +0 -0
  59. package/src/components/newBadge/vars.scss +2 -0
  60. package/src/components/numericBadge/component.scss +17 -0
  61. package/src/components/numericBadge/exports.scss +4 -0
  62. package/src/components/numericBadge/index.scss +14 -0
  63. package/src/components/numericBadge/mods.scss +13 -0
  64. package/src/components/numericBadge/states.scss +0 -0
  65. package/src/components/numericBadge/vars.scss +8 -0
  66. package/src/components/pagination/component.scss +1 -1
  67. package/src/components/radioButtons/component.scss +5 -0
  68. package/src/components/radioField/component.scss +98 -0
  69. package/src/components/radioField/exports.scss +4 -0
  70. package/src/components/radioField/index.scss +32 -0
  71. package/src/components/radioField/mods.scss +18 -0
  72. package/src/components/radioField/states.scss +122 -0
  73. package/src/components/radioField/vars.scss +7 -0
  74. package/src/components/switchField/component.scss +110 -0
  75. package/src/components/switchField/exports.scss +4 -0
  76. package/src/components/switchField/index.scss +32 -0
  77. package/src/components/switchField/mods.scss +18 -0
  78. package/src/components/switchField/states.scss +119 -0
  79. package/src/components/switchField/vars.scss +7 -0
  80. package/src/components/table/component.scss +4 -16
  81. package/src/components/table/mods.scss +9 -3
  82. package/src/components/table/vars.scss +1 -1
  83. package/src/components/textfield/component.scss +113 -61
  84. package/src/components/textfield/index.scss +10 -380
  85. package/src/components/textfield/mods.scss +61 -619
  86. package/src/components/textfield/states.scss +80 -228
  87. package/src/components/textfield/vars.scss +12 -39
  88. package/src/components/textfields/component.scss +77 -0
  89. package/src/components/textfields/exports.scss +4 -0
  90. package/src/components/textfields/index.scss +402 -0
  91. package/src/components/textfields/mods.scss +560 -0
  92. package/src/components/textfields/states.scss +224 -0
  93. package/src/components/textfields/vars.scss +41 -0
  94. package/src/components/title/component.scss +1 -1
  95. package/src/components/verticalNavigation/component.scss +42 -0
  96. package/src/components/verticalNavigation/exports.scss +4 -0
  97. package/src/components/verticalNavigation/index.scss +26 -0
  98. package/src/components/verticalNavigation/mods.scss +7 -0
  99. package/src/components/verticalNavigation/states.scss +28 -0
  100. package/src/components/verticalNavigation/vars.scss +4 -0
  101. package/src/components/sortableList/component.scss +0 -68
  102. package/src/components/sortableList/index.scss +0 -16
  103. package/src/components/sortableList/mods.scss +0 -19
  104. package/src/components/sortableList/vars.scss +0 -8
  105. /package/src/components/{sortableList → checkboxField}/exports.scss +0 -0
  106. /package/src/components/{sortableList → footer}/states.scss +0 -0
@@ -1,628 +1,70 @@
1
- @use '@lucca-front/scss/src/commons/utils/form';
2
- @use '@lucca-front/icons/src/commons/utils/icon';
3
-
4
- @mixin password {
5
- .textfield-suffix {
6
- pointer-events: auto;
7
- }
8
-
9
- .textfield-input {
10
- padding-right: var(--spacings-XL) !important;
11
-
12
- &::-ms-reveal {
13
- display: none;
14
- }
15
- }
16
-
17
- .textfield-suffix-action {
18
- text-decoration: none;
19
- color: currentColor;
20
- display: block;
21
- }
22
- }
23
-
24
- @mixin clearable {
25
- .textfield-input {
26
- padding-right: 2rem;
27
- }
28
-
29
- .textfield-clear {
30
- position: absolute;
31
- bottom: .75rem;
32
- right: var(--spacings-XS);
33
- }
34
-
35
- .textfield-actionClear { // deprecated
36
- text-align: center;
37
- position: absolute;
38
- bottom: .75rem;
39
- right: var(--spacings-XS);
40
- width: 1rem;
41
- height: 1rem;
42
- padding: 0;
43
- line-height: 0;
44
- background-color: var(--palettes-grey-700);
45
- border-radius: 50%;
46
-
47
- .lucca-icon {
48
- font-size: var(--sizes-XS-lineHeight);
49
- color: white;
50
- }
51
-
52
- &:hover {
53
- background-color: var(--palettes-grey-600) !important;
54
- }
55
- }
56
- }
57
-
58
- @mixin clearableS {
59
- .textfield-clear {
60
- bottom: var(--spacings-XXS);
61
- right: var(--spacings-XXS);
62
- }
63
-
64
- .textfield-actionClear { // deprecated
65
- bottom: var(--spacings-XXS);
66
- right: var(--spacings-XXS);
67
- }
68
- }
69
-
70
- @mixin clearableXS {
71
- .textfield-clear {
72
- bottom: var(--spacings-XXS);
73
- right: var(--spacings-XXS);
74
- }
75
-
76
- .textfield-actionClear { // deprecated
77
- bottom: var(--spacings-XXS);
78
- right: var(--spacings-XXS);
79
- height: 1rem;
80
- width: 1rem;
81
-
82
- .lucca-icon {
83
- font-size: 1rem;
84
- }
85
- }
86
- }
87
-
88
- @mixin suffix {
89
- .textfield-input {
90
- padding-right: var(--components-textfield-suffix-padding-right);
91
- }
92
- }
93
-
94
- @mixin noLabel {
95
- .textfield-suffix {
96
- top: var(--components-textfield-input-padding-vertical);
97
- }
98
- }
1
+ @use '@lucca-front/scss/src/components/formLabel/exports' as formLabel;
2
+ @use '@lucca-front/scss/src/components/inlineMessage/exports' as inlineMessage;
3
+ @use '@lucca-front/scss/src/components/clear/exports' as clear;
99
4
 
100
5
  @mixin S {
101
- .textfield-label {
102
- line-height: var(--sizes-S-lineHeight);
103
- font-size: var(--sizes-S-fontSize);
104
- }
6
+ --component-textField-label-fontSize: var(--sizes-S-fontSize);
7
+ --component-textField-label-lineHeight: var(--sizes-S-lineHeight);
8
+ --component-textField-input-paddingVertical: var(--spacings-XXS);
9
+ --component-textField-input-lineHeight: var(--sizes-M-lineHeight);
10
+ --component-textField-action-icon-fontSize: var(--sizes-XS-lineHeight);
11
+ --component-textField-action-icon-size: var(--spacings-M);
12
+ --component-textField-input-lines: 3;
105
13
 
106
- .textfield-input {
107
- line-height: var(--sizes-S-lineHeight);
108
- font-size: var(--sizes-S-fontSize);
109
- padding: .375rem;
14
+ .formLabel {
15
+ @include formLabel.S;
110
16
  }
111
17
 
112
- .textfield-suffix {
113
- line-height: calc(var(--sizes-S-fontSize) * 1.25);
114
- font-size: var(--sizes-S-fontSize);
115
-
116
- .lucca-icon {
117
- font-size: calc(var(--sizes-S-fontSize) * 1.25);
118
- }
119
- }
18
+ .clear {
19
+ @include clear.S;
20
+ }
120
21
  }
121
22
 
122
23
  @mixin XS {
123
- .textfield-label {
124
- line-height: var(--sizes-XS-lineHeight);
125
- font-size: var(--sizes-XS-fontSize);
126
- }
127
-
128
- .textfield-input {
129
- line-height: var(--sizes-XS-lineHeight);
130
- font-size: var(--sizes-XS-fontSize);
131
- padding: var(--spacings-XXS);
132
- }
133
-
134
- .textfield-suffix {
135
- line-height: calc(var(--sizes-XS-fontSize) * 1.25);
136
- font-size: var(--sizes-XS-fontSize);
137
- top: calc(var(--components-textfield-suffix-top) + var(--spacings-XXS));
138
-
139
- .lucca-icon {
140
- font-size: calc(var(--sizes-XS-fontSize) * 1.25);
141
- }
142
- }
143
-
144
- .textfield-messages {
145
- font-size: var(--sizes-XS-fontSize);
146
- line-height: var(--sizes-XS-lineHeight);
147
-
148
- .lucca-icon {
149
- font-size: .75rem;
150
- line-height: var(--sizes-XS-lineHeight);
151
- }
152
- }
153
- }
154
-
155
- @mixin noLabelXS {
156
- .textfield-suffix {
157
- top: var(--spacings-XXS);
158
- }
159
- }
160
-
161
- @mixin SInputIcon {
162
- line-height: var(--sizes-XS-lineHeight);
163
- font-size: var(--sizes-S-fontSize);
164
- }
165
-
166
- @mixin XSInputIcon {
167
- line-height: var(--sizes-XS-lineHeight);
168
- font-size: var(--sizes-S-fontSize);
169
- }
170
-
171
- @mixin size($size) {
172
- width: var(--components-textfield-sizes-#{$size});
173
- }
174
-
175
- @mixin multiline {
176
- .textfield-input {
177
- line-height: var(--sizes-M-lineHeight);
178
- font-size: var(--sizes-M-fontSize);
179
- resize: vertical;
180
- height: 5rem;
181
- }
182
- }
183
-
184
- @mixin multilineS {
185
- .textfield-input {
186
- line-height: var(--sizes-XS-lineHeight);
187
- font-size: var(--sizes-S-fontSize);
188
- height: 4rem;
189
- }
190
- }
191
-
192
- @mixin invert {
193
- .textfield-label {
194
- color: var(--colors-white-color);
195
- }
196
- }
197
-
198
- @mixin materialSearchBlockClearableInput {
199
- .textfield-input {
200
- padding-right: 3.75rem;
201
- }
202
-
203
- .textfield-clear {
204
- right: 2rem;
205
- }
206
-
207
- .textfield-actionClear { // deprecated
208
- right: 2rem;
209
- }
210
- }
211
-
212
- @mixin search {
213
- &::after {
214
- @include icon.generate('search');
215
-
216
- color: var(--palettes-grey-600);
217
- position: absolute;
218
- pointer-events: none;
219
- bottom: var(--spacings-XS);
220
- font-size: var(--sizes-M-lineHeight);
221
- line-height: var(--sizes-M-lineHeight);
222
- right: var(--spacings-XS);
223
- }
224
-
225
- .textfield-input {
226
- padding-right: var(--spacings-L);
227
-
228
- &[type='search']:is(:hover, :focus) {
229
- &::-webkit-search-cancel-button {
230
- display: none;
231
- }
232
- }
233
- }
234
- }
235
-
236
- @mixin searchClearable {
237
- .textfield-input {
238
- padding-right: 4rem;
239
- }
240
-
241
- .textfield-clear {
242
- right: 2.5rem;
243
- }
244
-
245
- .textfield-actionClear { // deprecated
246
- right: 2.5rem;
247
- }
248
- }
249
-
250
- @mixin searchS {
251
- &::after {
252
- line-height: var(--sizes-S-lineHeight);
253
- font-size: var(--sizes-S-lineHeight);
254
- bottom: .375rem;
255
- right: .375rem;
256
- }
257
- }
258
-
259
- @mixin searchClearableS {
260
- .textfield-input {
261
- padding-right: 3.5rem;
262
- }
263
-
264
- .textfield-clear {
265
- --components-clear-size: .75rem;
266
- --components-clear-icon-size: .75rem;
267
-
268
- right: 2.125rem;
269
- bottom: .625rem;
270
- }
271
-
272
- .textfield-actionClear { // deprecated
273
- right: 2.125rem;
274
- bottom: .625rem;
275
- width: .75rem;
276
- height: .75rem;
277
-
278
- .lucca-icon {
279
- font-size: .75rem;
280
- }
281
- }
282
- }
283
-
284
- @mixin searchXS {
285
- &::after {
286
- line-height: var(--sizes-XS-lineHeight);
287
- font-size: var(--sizes-XS-lineHeight);
288
- bottom: var(--spacings-XXS);
289
- right: var(--spacings-XXS);
290
- }
291
- }
292
-
293
- @mixin searchClearableXS {
294
- .textfield-input {
295
- padding-right: 3rem;
296
- }
297
-
298
- .textfield-clear {
299
- --components-clear-size: .75rem;
300
- --components-clear-icon-size: .75rem;
301
-
302
- right: 1.75rem;
303
- bottom: .375rem;
304
- }
305
-
306
- .textfield-actionClear { // deprecated
307
- right: 1.75rem;
308
- bottom: .375rem;
309
- width: .75rem;
310
- height: .75rem;
311
-
312
- .lucca-icon {
313
- font-size: .75rem;
314
- }
315
- }
316
- }
317
-
318
- @mixin radio {
319
- display: inline-block;
320
- margin-left: var(--spacings-XXS);
321
-
322
- .textfield-input {
323
- padding-top: 0;
324
- padding-bottom: 0;
325
- }
326
- }
327
-
328
- @mixin filter {
329
- width: var(--components-textfield-filter-width);
330
- height: var(--components-filters-height);
331
- border-right-color: var(--commons-divider-color);
332
- border-right-width: 1px;
333
- border-right-style: solid;
334
- transition-duration: var(--commons-animations-durations-standard);
335
- transition-property: background-color;
336
- display: block;
337
- position: relative;
338
-
339
- .textfield-label {
340
- color: var(--palettes-grey-600);
341
- left: var(--spacings-S);
342
- font-size: var(--sizes-S-fontSize);
343
- font-weight: 400;
344
- line-height: var(--sizes-S-lineHeight);
345
- pointer-events: none;
346
- position: absolute;
347
- top: var(--spacings-XS);
348
- }
349
-
350
- .textfield-input {
351
- background-color: transparent;
352
- padding: var(--spacings-S) 2.5rem 0 var(--spacings-S);
353
- // todo: déplacer dans filters ?
354
- height: var(--components-filters-height);
355
- border-radius: 0;
356
- box-shadow: none;
357
-
358
- &::after {
359
- bottom: var(--spacings-XS);
360
- color: var(--palettes-grey-600);
361
- font-weight: 400;
362
- }
363
- }
364
- }
365
-
366
- @mixin suffixIcon {
367
- color: var(--palettes-grey-600);
368
- line-height: var(--sizes-M-lineHeight);
369
- }
370
-
371
- @mixin compact {
372
- .textfield-options {
373
- width: calc(100% - var(--components-textfield-compact-label-right-margin) - var(--components-textfield-compact-label-sizes-default));
374
- left: auto;
375
- right: 0;
376
- }
377
-
378
- .textfield-suffix {
379
- top: var(--components-textfield-compact-padding);
380
- right: var(--components-textfield-compact-padding);
381
- }
382
- }
383
-
384
- @mixin compactMultiline {
385
- align-items: flex-start;
386
- }
387
-
388
- @mixin compactSize($size) {
389
- width: calc(
390
- var(--components-textfield-sizes-#{$size}) + var(--components-textfield-compact-label-right-margin) +
391
- var(--components-textfield-compact-label-sizes-default)
392
- );
393
-
394
- .textfield-options {
395
- // width: $input-width; // todo: récupérer la bonne taille
396
- outline: 2px dashed greenyellow !important;
397
- }
398
- }
399
-
400
- @mixin framed {
401
- width: 100%;
402
- margin-bottom: 0 !important;
403
-
404
- .textfield.mod-search {
405
- @include framedSearch;
406
- }
407
-
408
- .textfield-options {
409
- width: auto;
410
- margin-top: -2px;
411
- right: 1px;
412
-
413
- mark {
414
- background-color: transparent;
415
- text-decoration: underline;
416
- color: inherit;
417
- }
418
- }
419
-
420
- .textfield-input {
421
- width: 100%;
422
- border-radius: 0;
423
- box-shadow: form.fakeBorderOverlay(var(--components-field-framed-border));
424
- padding: var(--components-field-framed-top-padding) var(--components-field-framed-side-padding)
425
- var(--components-field-framed-bottom-padding);
426
- line-height: var(--sizes-M-lineHeight);
427
- outline: none;
428
-
429
- &:not(:disabled, .is-error, .is-success, .is-valid, .is-warning, .is-invalid) {
430
- background-color: var(--colors-white-color);
431
- }
432
- }
433
-
434
- .textfield-label {
435
- padding: var(--components-field-framed-label-top-offset) var(--components-field-framed-side-padding);
436
- position: absolute;
437
- pointer-events: none;
438
- left: 0;
439
- top: 0;
440
- z-index: 10;
441
- line-height: var(--sizes-M-lineHeight);
442
- font-size: var(--sizes-S-fontSize);
443
- color: var(--palettes-grey-600);
444
- }
445
-
446
- .textfield-messages,
447
- .radiosfield-messages,
448
- .checkboxesfield-messages {
449
- transition-duration: var(--commons-animations-durations-standard);
450
- transition-property: transform;
451
- position: absolute;
452
- text-align: center;
453
- bottom: 0;
454
- left: -1px;
455
- right: 0;
456
- transform: translateY(0);
457
- z-index: 4;
458
-
459
- > * {
460
- display: block;
461
- }
462
- }
463
-
464
- .textfield-messages-error,
465
- .radiosfield-messages-error,
466
- .checkboxesfield-messages-error {
467
- background-color: var(--palettes-error-700);
468
- color: var(--colors-white-color);
469
- }
470
-
471
- .textfield-messages-warning,
472
- .radiosfield-messages-warning,
473
- .checkboxesfield-messages-warning {
474
- background-color: var(--palettes-warning-700);
475
- color: var(--colors-white-color);
476
- }
477
-
478
- .textfield-messages-valid,
479
- .radiosfield-messages-valid,
480
- .checkboxesfield-messages-valid,
481
- .textfield-messages-success,
482
- .radiosfield-messages-success,
483
- .checkboxesfield-messages-success {
484
- background-color: var(--palettes-success-700);
485
- color: var(--colors-white-color);
486
- }
487
-
488
- .textfield-messages-helper,
489
- .radiosfield-messages-helper,
490
- .checkboxesfield-messages-helper {
491
- background-color: var(--palettes-grey-500);
492
- color: var(--colors-white-color);
493
- }
494
- }
495
-
496
- @mixin framedMultiline {
497
- .textfield-input {
498
- height: var(--components-field-framed-textarea-height);
499
- min-height: var(--components-field-framed-textarea-min-height);
500
- max-height: var(--components-field-framed-textarea-max-height);
501
- }
502
- }
503
-
504
- @mixin framedMultilineS {
505
- .textfield-input {
506
- height: auto;
507
- }
508
- }
509
-
510
- @mixin framedSearch {
511
- &::after {
512
- color: var(--palettes-grey-600);
513
- padding: var(--components-field-framed-side-padding);
514
- bottom: 0;
515
- right: 0;
516
- z-index: 4;
517
- }
518
-
519
- .textfield {
520
- width: 100%;
521
- }
522
-
523
- .textfield-input {
524
- padding-right: var(--components-field-framed-suffix-padding-right);
525
- }
526
- }
527
-
528
- @mixin material {
529
- padding-top: var(--components-textfield-material-padding-top);
530
- vertical-align: baseline;
531
-
532
- .textfield-input {
533
- box-shadow: 0 1px 0 0 var(--components-textfield-material-border-color);
534
- background-color: transparent;
535
- border-radius: 0;
536
- padding-left: 0;
537
- padding-right: 0;
538
-
539
- &::placeholder {
540
- opacity: 0;
541
- color: var(--palettes-grey-400);
542
- }
543
- }
544
-
545
- .textfield-label {
546
- color: var(--components-textfield-material-label-color);
547
- font-size: var(--components-textfield-material-label-font-size);
548
- position: absolute;
549
- pointer-events: none;
550
- font-weight: 400;
551
- line-height: var(--sizes-M-lineHeight);
552
- width: 100%;
553
- top: var(--spacings-M);
554
- left: 0;
555
- }
556
-
557
- .textfield-suffix {
558
- top: calc(var(--components-textfield-material-padding-top) + var(--components-textfield-input-padding-vertical));
559
- position: absolute;
560
- right: 0;
561
- }
562
- }
563
-
564
- @mixin materialS {
565
- .textfield-label {
566
- line-height: var(--sizes-S-lineHeight);
567
- font-size: var(--sizes-S-fontSize);
568
- }
569
- }
570
-
571
- @mixin materialSuffix {
572
- .textfield-input {
573
- padding-right: var(--components-textfield-material-suffix-padding-right);
574
- }
575
- }
576
-
577
- @mixin materialNoLabel {
578
- padding-top: 0;
579
-
580
- .textfield-input {
581
- &::placeholder {
582
- opacity: 1;
583
- }
584
- }
585
-
586
- .textfield-label {
587
- display: none;
588
- }
589
-
590
- .textfield-suffix {
591
- top: var(--components-textfield-input-padding-vertical);
592
- }
593
- }
594
-
595
- @mixin materialSearch {
596
- &::after {
597
- color: var(--palettes-grey-500);
598
- bottom: var(--spacings-XS);
599
- right: 0;
600
- }
601
-
602
- .textfield-input {
603
- padding-right: 1.75rem;
604
- }
605
-
606
- .textfield-label {
607
- padding-right: 0;
608
- }
609
- }
610
-
611
- @mixin materialRadio {
612
- padding-top: 0;
613
- }
614
-
615
- @mixin materialValid {
616
- &::before {
617
- bottom: 0.7rem !important;
618
- right: 0 !important;
619
- }
620
-
621
- .textfield-label {
622
- padding-right: var(--spacings-M);
623
- }
624
-
625
- .textfield-input {
626
- padding-right: var(--spacings-M);
627
- }
24
+ --component-textField-label-fontSize: var(--sizes-XS-fontSize);
25
+ --component-textField-label-lineHeight: var(--sizes-XS-lineHeight);
26
+ --component-textField-input-paddingVertical: var(--spacings-XXS);
27
+ --component-textField-input-lineHeight: var(--sizes-XS-lineHeight);
28
+ --component-textField-action-icon-fontSize: .75rem;
29
+ --component-textField-action-icon-size: var(--spacings-M);
30
+ --component-textField-input-lines: 2;
31
+
32
+ .formLabel {
33
+ @include formLabel.XS;
34
+ }
35
+
36
+ .inlineMessage {
37
+ @include inlineMessage.S;
38
+ }
39
+
40
+ .clear {
41
+ @include clear.S;
42
+ }
43
+ }
44
+
45
+ @mixin textarea {
46
+ resize: vertical;
47
+ height: calc(var(--component-textField-input-lineHeight) * var(--component-textField-input-lines));
48
+ min-height: calc(var(--component-textField-input-lineHeight) * var(--component-textField-input-lines));
49
+ max-height: calc(100vh - var(--spacings-XXL));
50
+
51
+ .textField[style*="--component-textField-action-width"] &,
52
+ .textField[style*="--component-textField-label-suffix-width"] & {
53
+ grid-column-end: -1;
54
+ padding-right: calc(var(--component-textField-action-width, 0px) + var(--component-textField-label-suffix-width, 0px) + var(--spacings-XS));
55
+
56
+ ~ .textField-action {
57
+ position: relative;
58
+ z-index: 1;
59
+ }
60
+
61
+ ~ .textField-label {
62
+ .textField-label-suffix {
63
+ .textField-label-suffix-item {
64
+ position: relative;
65
+ z-index: 1;
66
+ }
67
+ }
68
+ }
69
+ }
628
70
  }