Skip to content

Commit

Permalink
feat(VInput): added new borderless and noRing styles
Browse files Browse the repository at this point in the history
  • Loading branch information
gravitano committed May 25, 2023
1 parent 20f5640 commit e25b6ca
Show file tree
Hide file tree
Showing 3 changed files with 76 additions and 36 deletions.
24 changes: 24 additions & 0 deletions packages/forms/src/input/VInput.stories.ts
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,30 @@ Shadow.parameters = {
},
};

export const Borderless = Template.bind({});
Borderless.args = {
borderless: true,
};
Borderless.parameters = {
docs: {
source: {
code: '<v-input borderless />',
},
},
};

export const NoRingEffect = Template.bind({});
NoRingEffect.args = {
noRing: true,
};
NoRingEffect.parameters = {
docs: {
source: {
code: '<v-input noRing />',
},
},
};

export const Rounded = Template.bind({});
Rounded.args = {
rounded: true,
Expand Down
10 changes: 10 additions & 0 deletions packages/forms/src/input/VInput.vue
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,14 @@ const props = defineProps({
type: String,
default: '',
},
borderless: {
type: Boolean,
default: false,
},
noRing: {
type: Boolean,
default: false,
},
});
const emit = defineEmits([
Expand All @@ -191,6 +199,8 @@ const {errorMessage, uncontrolledValue, validationListeners, inputId, clear} =
'v-input--disabled': disabled,
'v-input--shadow': shadow,
'v-input--rounded': rounded,
'v-input--borderless': borderless,
'v-input--no-ring': noRing,
},
wrapperClass,
]"
Expand Down
78 changes: 42 additions & 36 deletions packages/themes/src/morpheme/_forms.scss
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@


:root {
/* input control */
--v-input-height: 44px;
Expand Down Expand Up @@ -62,6 +60,14 @@
--v-input-icon-color: var(--v-input-disabled-icon-color);
}

&--borderless {
--v-input-border-color: transparent;
}

&--no-ring {
--v-input-effect-shadow-color: transparent;
}

&-hint {
font-size: var(--v-input-hint-font-size);
color: var(--v-input-hint-color);
Expand Down Expand Up @@ -201,12 +207,12 @@

.v-input:has(.v-input-prepend:not(:empty))
.v-input-control:not(.v-input-control--has-prepend-class) {
padding-left: 2px;
padding-left: 2px;
}

.v-input:has(.v-input-append:not(:empty))
.v-input-control:not(.v-input-control--has-append-class) {
padding-right: 2px;
padding-right: 2px;
}

/* box shadow effect colors */
Expand All @@ -218,45 +224,46 @@
}
}

.v-input-default,
.v-input-primary {
--v-input-effect-border-color: var(--color-primary-300);
--v-input-effect-shadow-color: var(--color-primary-100);
}
:not(.v-input--no-ring) {
&.v-input-default,
&.v-input-primary {
--v-input-effect-border-color: var(--color-primary-300);
--v-input-effect-shadow-color: var(--color-primary-100);
}

.v-input-secondary {
--v-input-effect-border-color: var(--color-secondary-300);
--v-input-effect-shadow-color: var(--color-secondary-100);
}
.v-input-info {
--v-input-effect-border-color: var(--color-info-300);
--v-input-effect-shadow-color: var(--color-info-100);
}
.v-input-warning {
--v-input-effect-border-color: var(--color-warning-300);
--v-input-effect-shadow-color: var(--color-warning-100);
}
.v-input-success {
--v-input-effect-border-color: var(--color-success-300);
--v-input-effect-shadow-color: var(--color-success-100);
}
&.v-input-secondary {
--v-input-effect-border-color: var(--color-secondary-300);
--v-input-effect-shadow-color: var(--color-secondary-100);
}
&.v-input-info {
--v-input-effect-border-color: var(--color-info-300);
--v-input-effect-shadow-color: var(--color-info-100);
}
&.v-input-warning {
--v-input-effect-border-color: var(--color-warning-300);
--v-input-effect-shadow-color: var(--color-warning-100);
}
&.v-input-success {
--v-input-effect-border-color: var(--color-success-300);
--v-input-effect-shadow-color: var(--color-success-100);
}

.v-input-dark {
--v-input-effect-border-color: var(--color-gray-true-300);
--v-input-effect-shadow-color: var(--color-gray-true-100);
}
&.v-input-dark {
--v-input-effect-border-color: var(--color-gray-true-300);
--v-input-effect-shadow-color: var(--color-gray-true-100);
}

.v-input--error,
.v-input-error {
--v-input-effect-border-color: var(--color-error-300);
--v-input-effect-shadow-color: var(--color-error-100);
&.v-input--error,
&.v-input-error {
--v-input-effect-border-color: var(--color-error-300);
--v-input-effect-shadow-color: var(--color-error-100);
}
}

.v-input--error {
--v-input-border-color: var(--color-error-300);
}


.v-input-error {
color: var(--color-error-500);
margin-top: 0.25rem;
Expand Down Expand Up @@ -294,7 +301,7 @@
--v-input-padding-y: var(--size-spacing-1);
--v-input-font-size: var(--size-font-xs);
--v-input-label-font-size: var(--size-font-xs);

.v-input-icon {
--v-input-icon-width: var(--size-spacing-4);
--v-input-icon-height: var(--size-spacing-4);
Expand All @@ -320,7 +327,6 @@
}
}


// md / default
.v-input.v-input--md {
--v-input-height: 44px;
Expand Down

0 comments on commit e25b6ca

Please sign in to comment.