@iamproperty/components 3.7.7 → 3.7.8--beta

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 (47) hide show
  1. package/assets/css/components/card.css +1 -1
  2. package/assets/css/components/card.css.map +1 -1
  3. package/assets/css/components/forms.css +1 -1
  4. package/assets/css/components/forms.css.map +1 -1
  5. package/assets/css/core.min.css +1 -1
  6. package/assets/css/core.min.css.map +1 -1
  7. package/assets/css/style.min.css +1 -1
  8. package/assets/css/style.min.css.map +1 -1
  9. package/assets/js/bundle.js +2 -0
  10. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  11. package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
  12. package/assets/js/components/card/card.component.js +36 -12
  13. package/assets/js/components/card/card.component.min.js +5 -5
  14. package/assets/js/components/card/card.component.min.js.map +1 -1
  15. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  16. package/assets/js/components/header/header.component.min.js +1 -1
  17. package/assets/js/components/notification/notification.component.min.js +1 -1
  18. package/assets/js/components/pagination/pagination.component.min.js +1 -1
  19. package/assets/js/components/table/table.component.min.js +1 -1
  20. package/assets/js/components/tabs/tabs.component.min.js +1 -1
  21. package/assets/js/dynamic.js +2 -0
  22. package/assets/js/dynamic.min.js +5 -5
  23. package/assets/js/dynamic.min.js.map +1 -1
  24. package/assets/js/flat-components.js +2 -0
  25. package/assets/js/modules/dialogs.js +2 -1
  26. package/assets/js/modules/inputs.js +62 -0
  27. package/assets/js/scripts.bundle.js +13 -13
  28. package/assets/js/scripts.bundle.js.map +1 -1
  29. package/assets/js/scripts.bundle.min.js +2 -2
  30. package/assets/js/scripts.bundle.min.js.map +1 -1
  31. package/assets/sass/_forms.scss +3 -3
  32. package/assets/sass/components/card.scss +26 -3
  33. package/assets/sass/components/forms.scss +497 -113
  34. package/assets/sass/foundations/links.scss +6 -2
  35. package/assets/sass/foundations/reboot.scss +3 -3
  36. package/assets/ts/bundle.ts +2 -0
  37. package/assets/ts/components/card/card.component.ts +55 -13
  38. package/assets/ts/dynamic.ts +2 -0
  39. package/assets/ts/flat-components.ts +2 -0
  40. package/assets/ts/modules/dialogs.ts +2 -1
  41. package/assets/ts/modules/inputs.ts +88 -0
  42. package/dist/components.es.js +853 -848
  43. package/dist/components.umd.js +30 -27
  44. package/package.json +1 -1
  45. package/src/components/Input/Input.vue +11 -7
  46. package/src/components/Input/README.md +1 -3
  47. package/src/components/Table/Table.vue +1 -1
@@ -1,108 +1,537 @@
1
1
  @use "../_func" as *;
2
2
 
3
- .form-control__wrapper {
4
- margin-bottom: 1.5rem;
5
- max-width: $content-max-width;
6
- position: relative;
3
+ // #region Form label
4
+ label {
5
+ font-size: rem(18);
6
+ line-height: rem(21);
7
+ margin-bottom: rem(8);
8
+ font-weight: normal;
9
+ color: var(--colour-heading);
10
+ display: block;
7
11
 
8
- label {
9
- display: block;
12
+ &:has(+ input:not(:disabled):not([readonly]):not(:required):not([type='radio'])):after {
13
+ content: " (Optional)";
14
+ }
15
+ }
16
+ // #endregion
10
17
 
11
- &[title]:after{
12
-
13
- content: "";
14
- display: inline-block;
15
- margin-left: 0.25em;
16
- margin-bottom: 0.1em;
17
- width: 1em;
18
- height: 1em;
19
- vertical-align: text-bottom;
20
- background: currentColor;
21
- mask-image: var(--icon-question);
22
- mask-size: 100%;
23
- mask-repeat: no-repeat;
24
- mask-position: 50% 50%;
25
- -webkit-mask-image: var(--icon-question);
26
- -webkit-mask-size: 100%;
27
- -webkit-mask-repeat: no-repeat;
28
- -webkit-mask-position: 50% 50%;
18
+ // #region input field
19
+ :is(input,textarea,output) {
20
+ display: block;
21
+ width: 100%;
22
+ max-width: $content-max-width;
23
+ display: block;
24
+ width: 100%;
25
+ padding: var(--input-padding-block, #{rem(12)}) var(--input-padding-inline, #{rem(16)});
26
+ font-size: var(--input-fs, #{rem(16)});
27
+ line-height: var(--input-lh, #{rem(20)});
28
+ color: var(--colour-body);
29
+ background-color: var(--colour-canvas-2);
30
+ background-clip: padding-box;
31
+ border: 2px solid var(--colour-primary);
32
+ appearance: none; // Fix appearance for date inputs in Safari
33
+ border-radius: rem(8);
34
+ margin-bottom: rem(24);
35
+ min-height: calc(var(--input-padding-block, #{rem(12)}) + var(--input-padding-block, #{rem(12)}) + var(--input-lh, #{rem(20)}) + 4px);
36
+ max-height: calc(var(--input-padding-block, #{rem(12)}) + var(--input-padding-block, #{rem(12)}) + var(--input-lh, #{rem(20)}) + 4px);
37
+
38
+ // TODO: review later
39
+ &[type="file"] {
40
+ overflow: hidden; // prevent pseudo element button overlap
41
+
42
+ &:not(:disabled):not([readonly]) {
43
+ cursor: pointer;
29
44
  }
30
45
  }
46
+
47
+ // Customize the `:focus` state to imitate native WebKit styles.
48
+ &:is(:focus,.focus):not(:disabled) {
49
+ border-color: var(--colour-info);
50
+ outline: 0;
51
+ box-shadow: 0 0 0 0.1rem rgba(30, 190, 230, 0.25);
52
+ }
53
+
54
+ // Add some height to date inputs on iOS
55
+ // https://github.com/twbs/bootstrap/issues/23307
56
+ // TODO: we can remove this workaround once https://bugs.webkit.org/show_bug.cgi?id=198959 is resolved
57
+ &::-webkit-date-and-time-value {
58
+ // Multiply line-height by 1em if it has no unit
59
+ height: if(unit($input-line-height) == "", $input-line-height * 1em, $input-line-height);
60
+ }
61
+
62
+ // Disabled inputs
63
+ &:disabled {
64
+ background-color: #CCD6D8;
65
+ opacity: 0.4;
66
+ cursor: not-allowed;
67
+ }
68
+
69
+ // File input buttons theming
70
+ &::file-selector-button {
71
+ padding: $input-padding-y $input-padding-x;
72
+ margin: (-$input-padding-y) (-$input-padding-x);
73
+ margin-inline-end: $input-padding-x;
74
+ color: $form-file-button-color;
75
+ @include gradient-bg($form-file-button-bg);
76
+ pointer-events: none;
77
+ border-color: inherit;
78
+ border-style: solid;
79
+ border-width: 0;
80
+ border-inline-end-width: $input-border-width;
81
+ border-radius: 0; // stylelint-disable-line property-disallowed-list
82
+ @include transition($btn-transition);
83
+ }
84
+
85
+ &:hover:not(:disabled):not([readonly])::file-selector-button {
86
+ background-color: $form-file-button-hover-bg;
87
+ }
88
+
31
89
  }
32
90
 
91
+ textarea {
92
+ min-height: calc(var(--input-padding-block, #{rem(12)}) + var(--input-padding-block, #{rem(12)}) + (var(--input-lh, #{rem(20)}) * 3) + 4px);
93
+ max-height: calc(var(--input-padding-block, #{rem(12)}) + var(--input-padding-block, #{rem(12)}) + (var(--input-lh, #{rem(20)}) * 3) + 4px);
94
+ }
95
+ // #endregion
96
+
97
+
98
+ // #region wrappers
99
+ div:has(> label:first-child):has(> input) {
100
+ position: relative;
101
+ max-width: $content-max-width;
102
+ margin-bottom: rem(24);
103
+
104
+ &:has(input[readonly]):after{
105
+ font-family: "Font Awesome 6 Pro";
106
+ font-weight: 300;
107
+ content: "\f023";
108
+ position: absolute;
109
+ font-size: var(--input-lh, #{rem(20)});
110
+ height: var(--input-lh, #{rem(20)});
111
+ width: var(--input-lh, #{rem(20)});
112
+ bottom: calc(var(--input-padding-block, #{rem(12)}) + 2px);
113
+ right: calc(var(--input-padding-block, #{rem(16)}) + 2px);
114
+ text-align: center;
115
+ }
116
+
117
+ input, output, .prefix, .suffix {
118
+ margin-bottom: 0;
119
+ }
33
120
 
34
- .form-control-inline {
35
121
  display: flex;
122
+ flex-wrap: wrap;
36
123
  align-items: center;
37
124
 
125
+ > *:not(input):not(output):not(.prefix):not(.suffix) {
126
+ flex-shrink: 0;
127
+ width: 100%;
128
+ }
129
+
130
+ :is(input,textarea,output) {
131
+ flex-shrink: 1;
132
+ flex-grow: 1;
133
+ width: 0;
134
+ }
135
+
136
+ input ~ *:not(output) {
137
+ order: 5;
138
+ margin-top: rem(8);
139
+ }
140
+
141
+ input[type="color"]{
142
+ width: 3rem;
143
+ flex-shrink: 0;
144
+ flex-grow: 0;
145
+ border-start-end-radius: 0;
146
+ border-end-end-radius: 0;
147
+ padding: 0;
148
+ overflow: hidden;
149
+
150
+
151
+ &::-moz-color-swatch {
152
+
153
+ border-radius: 0;
154
+ border: none;
155
+ }
156
+
157
+ &::-webkit-color-swatch {
158
+
159
+ border-radius: 0;
160
+ border: none;
161
+ }
162
+ }
163
+
164
+ output {
165
+ border-left: none;
166
+ border-end-start-radius: 0;
167
+ border-start-start-radius: 0;
168
+ }
169
+ }
170
+
171
+ div:has(> :is(.form-control-sm, .input--sm)) {
172
+
173
+ --input-fs: #{rem(14)};
174
+ --input-lh: #{rem(16)};
175
+ --input-padding-block: #{rem(10)};
176
+ --input-padding-inline: #{rem(14)};
177
+ }
178
+ div:has(> :is(.form-control-lg, .input--sm)) {
179
+ --input-fs: #{rem(24)};
180
+ --input-lh: #{rem(29)};
181
+ --input-padding-block: #{rem(20)};
182
+ --input-padding-inline: #{rem(22)};
183
+ }
184
+
185
+ div:has(> label:first-child):has(> input):has(> :is(.form-control-inline,.input--inline)) {
186
+
38
187
  label {
188
+ flex-shrink: 0;
39
189
  white-space: nowrap;
40
- padding-right: 1rem;
190
+ width: fit-content!important;
191
+ margin: 0;
192
+ margin-inline-end: 1rem;
41
193
  }
42
194
  }
195
+ // #endregion
196
+
197
+
43
198
 
44
- .form-control-color {
45
- width: $form-color-width;
46
- height: $form-color-width; // Override fixed browser height
199
+ // #region prefix
200
+ :is(.prefix, .suffix) {
201
+ display: inline-block;
202
+ width: auto;
203
+ padding: var(--input-padding-block, #{rem(12)}) var(--input-padding-block, #{rem(16)});
204
+ font-size: var(--input-fs, #{rem(16)});
205
+ line-height: var(--input-lh, #{rem(20)});
206
+ color: var(--colour-body);
207
+ background-color: var(--colour-primary-theme);
208
+ border: 2px solid var(--colour-primary);
209
+ color: var(--colour-white);
210
+ margin-bottom: 1rem;
211
+ border-end-start-radius: rem(8);
212
+ border-start-start-radius: rem(8);
213
+ min-width: calc(#{rem(20 + 12 + 12)} + 4px);
47
214
  overflow: hidden;
48
- padding: 0;
215
+ white-space: nowrap;
216
+ text-align: center;
217
+ text-overflow: ellipsis;
218
+ position: relative;
219
+
220
+ min-height: calc(var(--input-padding-block, #{rem(12)}) + var(--input-padding-block, #{rem(12)}) + var(--input-lh, #{rem(20)}) + 4px);
221
+ max-height: calc(var(--input-padding-block, #{rem(12)}) + var(--input-padding-block, #{rem(12)}) + var(--input-lh, #{rem(20)}) + 4px);
222
+
223
+
224
+ &:after {
225
+ display: inline-block;
226
+ max-width: rem(20);
227
+ }
49
228
 
50
- .input-group > & {
229
+ &[class*="fa-"] {
230
+ width: calc(#{rem(20 + 12 + 12)} + 4px);
231
+ padding-inline: 0;
232
+ }
51
233
 
52
- flex: 0 0 3rem;
234
+ select {
235
+ position: absolute;
236
+ inset: 0;
237
+ opacity: 0;
238
+ cursor: pointer;
53
239
  }
54
240
 
55
- &::-moz-color-swatch {
56
- height: $form-color-width;
57
- border-radius: 0;
58
- border: none;
241
+ span {
242
+ display: none;
59
243
  }
60
244
 
61
- &::-webkit-color-swatch {
62
- height: $form-color-width;
63
- border-radius: 0;
64
- border: none;
245
+ select:has(option:nth-child(1):checked) ~ span:nth-of-type(1),
246
+ select:has(option:nth-child(2):checked) ~ span:nth-of-type(2),
247
+ select:has(option:nth-child(3):checked) ~ span:nth-of-type(3),
248
+ select:has(option:nth-child(4):checked) ~ span:nth-of-type(4),
249
+ select:has(option:nth-child(5):checked) ~ span:nth-of-type(5),
250
+ select:has(option:nth-child(6):checked) ~ span:nth-of-type(6),
251
+ select:has(option:nth-child(7):checked) ~ span:nth-of-type(7),
252
+ select:has(option:nth-child(8):checked) ~ span:nth-of-type(8),
253
+ select:has(option:nth-child(9):checked) ~ span:nth-of-type(9),
254
+ select:has(option:nth-child(10):checked) ~ span:nth-of-type(10) {
255
+
256
+ display: block;
257
+ }
258
+
259
+ select ~ span:after {
260
+ content: " \f078";
261
+ font-family: "Font Awesome 6 Pro";
262
+ font-size: 0.8em;
263
+ display: inline-block;
264
+ padding-left: 1em;
265
+ }
266
+
267
+ select:focus-visible ~ span:after {
268
+ content: "\f077";
65
269
  }
66
270
  }
67
271
 
272
+ .prefix {
273
+
274
+ border-right: none;
275
+ }
68
276
 
69
- .input-group {
70
- .form-range {
71
- flex: 1 1 0;
72
- height: auto;
73
- margin-right: 1rem;
277
+ .suffix {
278
+
279
+ border-left: none;
280
+ border-end-start-radius: 0;
281
+ border-start-start-radius: 0;
282
+ border-start-end-radius: rem(8)!important;
283
+ border-end-end-radius: rem(8)!important;
284
+ order: 2;
285
+ }
286
+
287
+ .prefix span {
288
+ display: none;
289
+
290
+ small {
291
+ font-size: 0.8em;
74
292
  }
75
293
  }
76
294
 
295
+ .prefix ~ :is(input,textarea,output) {
296
+
297
+ border-end-start-radius: 0;
298
+ border-start-start-radius: 0;
299
+ }
77
300
 
78
- .form-control__wrapper.form-control--inline-text {
301
+ .suffix ~ :is(input,textarea,output) {
302
+ order: 1;
303
+
304
+ border-start-end-radius: 0;
305
+ border-end-end-radius: 0;
306
+ }
307
+ // #endregion
79
308
 
80
- display: inline;
309
+ // #region word counter
81
310
 
311
+ input[maxlength] + span {
312
+
313
+ position: relative;
314
+
315
+ &:before {
316
+
317
+ counter-reset: variable var(--char-count) var(--maxlength);
318
+ counter-reset: variable2 var(--maxlength);
319
+ content: attr(data-count) " / " counter(variable2);
320
+ float: right;
321
+
322
+ margin: 0 0 1em 1em;
323
+ }
324
+ }
325
+
326
+ // #endregion
327
+
328
+
329
+ // #region Form validation
330
+
331
+ $icon-error: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d='M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c-8.8 0-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16zm24 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z' fill='#dc3545'/></svg>");
332
+
333
+ $icon-tick: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d='M441 103c9.4 9.4 9.4 24.6 0 33.9L177 401c-9.4 9.4-24.6 9.4-33.9 0L7 265c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l119 119L407 103c9.4-9.4 24.6-9.4 33.9 0z' fill='#0f9d58' /></svg>");
334
+
335
+
336
+ .was-validated input:is(:invalid, .is-invalid) {
337
+
338
+ border-color: var(--colour-danger);
339
+
340
+ background-image: escape-svg($icon-error);
341
+ background-repeat: no-repeat;
342
+ background-position: right var(--input-padding-inline, #{rem(16)}) center;
343
+ background-size: var(--input-lh, #{rem(20)}) var(--input-lh, #{rem(20)});;
344
+
345
+ padding-right: calc(var(--input-lh, #{rem(20)}) + var(--input-padding-inline, #{rem(16)}) + var(--input-padding-inline, #{rem(16)}));
346
+ }
347
+
348
+ .was-validated input:is(:valid, .is-valid) {
349
+
350
+ border-color: var(--colour-complete);
351
+
352
+ background-image: escape-svg($icon-tick);
353
+ background-repeat: no-repeat;
354
+ background-position: right var(--input-padding-inline, #{rem(16)}) center;
355
+ background-size: var(--input-lh, #{rem(20)}) var(--input-lh, #{rem(20)});;
356
+
357
+ padding-right: calc(var(--input-lh, #{rem(20)}) + var(--input-padding-inline, #{rem(16)}) + var(--input-padding-inline, #{rem(16)}));
358
+ }
359
+
360
+ .invalid-feedback {
361
+ color: var(--colour-danger);
362
+ margin-top: rem(8);
363
+ background-image: escape-svg($icon-error);
364
+ background-repeat: no-repeat;
365
+ background-position: left top 1px;
366
+ background-size: var(--input-fs, #{rem(16)}) var(--input-fs, #{rem(16)});
367
+ padding-left: calc(var(--input-fs, #{rem(16)}) + #{rem(8)});
368
+ display: none;
369
+ }
370
+
371
+ .was-validated:has(input:is(:invalid, .is-invalid)) .invalid-feedback {
372
+ display: block;
373
+ }
374
+ // #endregion
375
+
376
+ // #region radio field
377
+
378
+
379
+ input[type="radio"] {
380
+ position: absolute;
381
+ top: 0;
382
+ left: 0;
383
+ opacity: 0;
384
+ height: 0;
385
+ width: 0;
386
+ margin: 0;
387
+ }
388
+
389
+ div:has(> input[type="radio"]) {
390
+ position: relative;
391
+ }
392
+
393
+ input[type="radio"] + label:not(:has(> iam-card)) {
394
+
395
+ --tick-colour: transparent;
396
+
397
+ color: var(--colour-heading);
398
+ position: relative;
399
+ font-size: rem(16);
400
+ line-height: rem(20);
401
+ padding-left: rem(40);
402
+ padding-top: rem(10);
403
+ padding-bottom: rem(10);
404
+ margin-bottom: rem(24);
405
+ margin-right: rem(24);
406
+ cursor: pointer;
407
+
408
+ &:before {
409
+ content: "";
410
+ border: 2px solid var(--colour-primary);
411
+ border-radius: 50%;
412
+ height: rem(24);
413
+ width: rem(24);
414
+ display: inline-block;
415
+ position: absolute;
416
+ top: rem(10 - 2);
417
+ left: 0;
418
+ }
419
+
420
+ &:after {
421
+ content: ""!important;
422
+ background: var(--colour-info);
423
+ border-radius: 50%;
424
+ height: rem(14);
425
+ width: rem(14);
426
+ display: none;
427
+ position: absolute;
428
+ top: rem(15 - 2);
429
+ left: rem(5);
430
+ }
431
+
432
+ &.radio--tick {
433
+ &:before {
434
+
435
+ content: "\f00c";
436
+ position: absolute;
437
+ font-size: 1.5em;
438
+ line-height: 1;
439
+ color: var(--tick-colour);
440
+ font-family: "Font Awesome 6 Pro";
441
+
442
+ background: none !important;
443
+ border: none!important;
444
+ outline: none!important;
445
+ left: 0.25rem;
446
+ }
447
+
448
+
449
+ &:after {
450
+ display: none;
451
+ }
452
+ }
453
+ }
454
+
455
+
456
+ @media (forced-colors: active) {
457
+
458
+ input[type="radio"]:not(:checked) + label.radio--tick:not(:has(> iam-card)) {
459
+
460
+ &:before {
461
+
462
+ display: none;
463
+ }
464
+ }
465
+ }
466
+
467
+ div:has(> input[type="radio"]:nth-of-type(2)) {
82
468
  label {
83
- display: inline;
84
- font-size: inherit;
85
- font-weight: inherit;
86
- line-height: inherit;
87
- color: inherit;
88
- }
89
-
90
- select {
91
- display: inline;
92
- font-size: inherit;
93
- font-weight: inherit;
94
- line-height: inherit;
95
- color: inherit;
96
- background-color: transparent;
97
- border: none;
98
- padding: 0 5px;
99
- margin: 0 -5px;
469
+ margin-bottom: 0rem;
470
+ }
471
+ margin-bottom: rem(24);
472
+ }
473
+
474
+ input[type="radio"]:checked + label {
475
+
476
+ --tick-colour: var(--colour-info);
477
+
478
+ &:before {
479
+ border-color: var(--colour-info);
480
+ }
481
+
482
+ &:after {
100
483
  display: inline-block;
101
- width: auto;
102
- padding-right: $form-select-padding-x;
103
- background-position: right 0.2rem center;
484
+ }
485
+
486
+ iam-card {
487
+ --colour: var(--colour,var(--colour-info));
488
+ }
489
+ }
490
+
491
+ input[type="radio"]:checked:is(:focus,:hover,.focus) + label {
492
+
493
+ --tick-colour: var(--colour-info);
494
+ }
495
+ input[type="radio"]:is(:focus,:hover,.focus) + label {
496
+
497
+ --tick-colour: var(--colour-muted);
498
+
499
+ &:before {
500
+ background: var(--colour-light);
501
+ outline: rem(8) solid var(--colour-light);
502
+ }
503
+ }
504
+ input[type="radio"]:is(:active,.active) + label {
505
+
506
+ --tick-colour: var(--colour-light);
507
+
508
+ &:before {
509
+ background: #E0E0E0;
510
+ outline: rem(8) solid #E0E0E0;
511
+ }
512
+ }
513
+
514
+ // Disabled
515
+ input[type="radio"]:disabled + label {
516
+
517
+ opacity: 0.4;
518
+ cursor: not-allowed;
519
+
520
+ > iam-card {
521
+ pointer-events: none;
522
+ }
523
+
524
+ &:before {
525
+ background-color: none!important;
526
+ outline: none!important;
527
+ border-color: var(--colour-primary)!important;
528
+ }
529
+
530
+ &:after {
531
+ background-color: var(--colour-primary)!important;
104
532
  }
105
533
  }
534
+ // #endregion
106
535
 
107
536
  // #region checkbox
108
537
  .form-check {
@@ -181,51 +610,6 @@ select[multiple]::-webkit-scrollbar-thumb {
181
610
  }
182
611
  // #endregion
183
612
 
184
- // #region prefix
185
-
186
- .form-control__wrapper :is(.prefix,.suffix) {
187
-
188
- color: var(--colour-white);
189
- background: var(--colour-primary);
190
- padding: calc(0.75em + 1px) 1em;
191
- font-size: 1rem;
192
- font-weight: normal;
193
- line-height: 1.5;
194
- position: absolute;
195
- bottom: 0px;
196
- }
197
-
198
- .form-control__wrapper .prefix {
199
-
200
- border-top-left-radius: 0.625rem;
201
- border-bottom-left-radius: 0.625rem;
202
- left: 0;
203
- }
204
-
205
- .form-control__wrapper :is(.prefix-sm,.suffix-sm) {
206
-
207
- font-size: var(--fs-small);
208
- }
209
- .form-control__wrapper :is(.prefix-lg,.suffix-lg) {
210
-
211
- font-size: 1.5rem;
212
- }
213
-
214
- .form-control__wrapper .prefix + .form-control {
215
- padding-left: em(64);
216
- }
217
- .form-control__wrapper .suffix + .form-control {
218
- padding-right: em(64);
219
- }
220
-
221
- .form-control__wrapper .suffix {
222
- left: auto;
223
- right: 0;
224
- border-top-right-radius: 0.625rem;
225
- border-bottom-right-radius: 0.625rem;
226
- }
227
-
228
- // #endregion
229
613
 
230
614
 
231
615
  // #region large upload field
@@ -293,4 +677,4 @@ select[multiple]::-webkit-scrollbar-thumb {
293
677
  cursor: pointer;
294
678
  }
295
679
  }
296
- // #endrgion
680
+ // #endregion
@@ -105,11 +105,15 @@ a:where(:not(.btn):not(:has(.card)):not(:has(iam-card))),
105
105
  background: none;
106
106
  padding:0;
107
107
  display: flex;
108
- margin: 0 0 rem(24) 0;
108
+
109
+ &:not([class*="col"]){
110
+ margin: 0 0 rem(24) 0;
111
+ }
112
+
109
113
  outline: none!important;
110
114
  text-decoration: none;
111
115
 
112
- &:not(.d-inline-block){
116
+ &:not(.d-inline-block):not([class*="col"]){
113
117
 
114
118
  width: 100%;
115
119
  }
@@ -55,18 +55,18 @@ body {
55
55
  }
56
56
 
57
57
  // #region scrollbars
58
- :is(div,form,fieldset)::-webkit-scrollbar {
58
+ :is(div,form,fieldset,textarea)::-webkit-scrollbar {
59
59
  width: 10px;
60
60
  height: 10px;
61
61
  }
62
62
 
63
- :is(div,form,fieldset)::-webkit-scrollbar-track {
63
+ :is(div,form,fieldset,textarea)::-webkit-scrollbar-track {
64
64
  background-color: #f1f1f1;
65
65
  border-top: 4px solid var(--colour-canvas-2);
66
66
  border-left: 4px solid var(--colour-canvas-2);
67
67
  }
68
68
 
69
- :is(div,form,fieldset)::-webkit-scrollbar-thumb {
69
+ :is(div,form,fieldset,textarea)::-webkit-scrollbar-thumb {
70
70
  background-color: #c1c1c1;
71
71
  width: 6px;
72
72
  border-top: 4px solid var(--colour-canvas-2);