Skip to content

Commit ed28bd3

Browse files
susnuxbackportbot[bot]
authored andcommitted
refactor(NcInputField): use new shares scss mixin for input border
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
1 parent ebd8378 commit ed28bd3

File tree

1 file changed

+5
-40
lines changed

1 file changed

+5
-40
lines changed

src/components/NcInputField/NcInputField.vue

Lines changed: 5 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -369,12 +369,11 @@ export default {
369369
</script>
370370

371371
<style lang="scss" scoped>
372+
@use '../../assets/input-border.scss' as border;
372373
373374
.input-field {
374375
--input-border-color: var(--color-border-maxcontrast);
375376
--input-border-radius: var(--border-radius-element);
376-
// Used e.g. if border width differs between focused and unfocused we need to compensate to prevent jumping
377-
--input-border-width-offset: calc(var(--border-width-input-focused, 2px) - var(--border-width-input, 2px));
378377
// The padding before the input can start (leading button or border)
379378
--input-padding-start: var(--border-radius-large);
380379
// The padding where the input has to end (trailing button or border)
@@ -408,23 +407,15 @@ export default {
408407
409408
&__main-wrapper {
410409
height: var(--default-clickable-area);
411-
padding: var(--border-width-input, 2px);
410+
padding: var(--border-width-input-focused, 2px);
412411
position: relative;
413-
414-
&:not(:has([disabled])):has(input:focus),
415-
&:not(:has([disabled])):has(input:active) {
416-
padding: 0;
417-
}
418412
}
419413
420414
&__input {
415+
@include border.inputBorder('.input-field--dark', '.input-field--legacy', var(--input-border-color));
421416
background-color: var(--color-main-background);
422417
color: var(--color-main-text);
423-
border: none;
424418
border-radius: var(--input-border-radius);
425-
box-shadow:
426-
0 -1px var(--input-border-color),
427-
0 0 0 1px color-mix(in srgb, var(--input-border-color), 65% transparent);
428419
429420
cursor: pointer;
430421
-webkit-appearance: textfield !important;
@@ -434,11 +425,11 @@ export default {
434425
font-size: var(--default-font-size);
435426
text-overflow: ellipsis;
436427
428+
padding-block: 0;
429+
padding-inline: var(--input-padding-start) var(--input-padding-end);
437430
height: 100% !important;
438431
min-height: unset;
439432
width: 100%;
440-
padding-block: var(--input-border-width-offset);
441-
padding-inline: calc(var(--input-padding-start) + var(--input-border-width-offset)) calc(var(--input-padding-end) + var(--input-border-width-offset));
442433
443434
&::placeholder {
444435
color: var(--color-text-maxcontrast);
@@ -458,17 +449,9 @@ export default {
458449
display: none;
459450
}
460451
461-
&:hover:not([disabled]) {
462-
box-shadow: 0 0 0 1px var(--input-border-color);;
463-
}
464-
465452
&:active:not([disabled]),
466453
&:focus:not([disabled]) {
467454
--input-border-color: var(--color-main-text);
468-
// Reset padding offset when focused
469-
--input-border-width-offset: 0px;
470-
border: var(--border-width-input-focused, 2px) solid var(--input-border-color);
471-
box-shadow: 0 0 0 2px var(--color-main-background) !important;
472455
}
473456
474457
&:focus + .input-field__label,
@@ -611,23 +594,5 @@ export default {
611594
}
612595
}
613596
}
614-
615-
&--legacy {
616-
.input-field__input {
617-
box-shadow: 0 0 0 1px var(--input-border-color) inset;
618-
}
619-
620-
.input-field__main-wrapper:hover:not(:has([disabled])) {
621-
padding: 0;
622-
623-
.input-field__input {
624-
--input-border-color: var(--color-main-text);
625-
// Reset padding offset when focused
626-
--input-border-width-offset: 0px;
627-
border: var(--border-width-input-focused, 2px) solid var(--input-border-color);
628-
box-shadow: 0 0 0 2px var(--color-main-background) !important;
629-
}
630-
}
631-
}
632597
}
633598
</style>

0 commit comments

Comments
 (0)