Browse Source

adding

master
Björn 5 years ago
parent
commit
96faac13e3
1 changed files with 206 additions and 8 deletions
  1. +206
    -8
      src/components/_field.scss

+ 206
- 8
src/components/_field.scss View File

@ -1,11 +1,3 @@
@import
'field/checkbox',
'field/label',
'field/panel',
'field/text',
'field/radio',
'field/select';
/**
* component: field
*
@ -23,10 +15,27 @@
$crispy__field__margin: toEm(0 0 $crispy__spacing 0) !default;
$crispy__field__border: 1px solid $crispy__color-secondary !default;
$crispy__field__color--valid: $crispy__color-success !default;
$crispy__field__color--error: $crispy__color-danger !default;
$crispy__field__border-color--focus: $crispy__color-primary !default;
$crispy__field__border-color--valid: $crispy__color-success !default;
$crispy__field__border-color--error: $crispy__color-danger !default;
$crispy__field__checked: $crispy__color-success !default;
$crispy__field__unchecked: $crispy__color-danger !default;
$crispy__field__input__font-size: $crispy__font-size !default;
$crispy__field__input__padding: toEm(6px 8px) !default;
$crispy__field__input__color: $crispy__color-text !default;
$crispy__field__select__padding: toEm(8px) !default;
$crispy__field__select__background-color: white !default;
$crispy__field__select__border: $crispy_border !default;
@mixin crispy__field() {
.field {
margin: $crispy__field__margin;
@ -47,4 +56,193 @@ $crispy__field__input__color: $crispy__color-text !default;
font-size: $crispy__field__input__font-size;
}
/**
* label
*
*
*/
.field__label {
display: inline-block;
width: 100%;
}
.field--valid {
.field__label {
color: $crispy__field__color--valid;
}
}
.field--error {
.field__label {
color: $crispy__field__color--error;
}
}
/**
* input & textarea
*
*
*/
.field__text {
margin: 0;
border: $crispy__field__border;
&:focus {
border-color: $crispy__field__border-color--focus;
}
}
.field--valid {
.field__text, .field__select {
border-color: $crispy__field__border-color--valid;
}
}
.field--error {
.field__text, .field__select {
border-color: $crispy__field__border-color--error;
}
}
/**
* select
*
*
*/
.field__select {
padding: $crispy__field__select__padding;
border: $crispy__field__select__border;
background-color: $crispy__field__select__background-color;
&:focus {
outline: 0;
border-color: $crispy__field__border-color--focus;
}
}
/**
* radio
*
*
*/
.field__radio {
position: relative;
display: none;
+ .field__label {
.field__radio__checked {
display: none;
}
&:hover {
cursor: pointer;
}
}
&:checked + .field__label &__checked {
display: inline-block;
}
&:checked + .field__label &__unchecked {
display: none;
}
&__checked {
fill: $crispy__field__checked__color;
}
&__unchecked {
fill: $crispy__field__unchecked__color;
}
}
.field--valid {
.field__radio__checked, .field__radio__unchecked {
fill: $crispy__field__radio__color--valid;
}
}
.field--error {
.field__radio__checked, .field__radio__unchecked {
fill: $crispy__field__radio__color--error;
}
}
/**
* checkbox
*
*
*/
.field__checkbox {
position: relative;
display: none;
+ .field__label {
.field__checkbox__checked {
display: none;
}
&:hover {
cursor: pointer;
}
}
&:checked + .field__label &__checked {
display: inline-block;
}
&:checked + .field__label &__unchecked {
display: none;
}
&__checked {
fill: $crispy__field__checked__color;
}
&__unchecked {
fill: $crispy__field__unchecked__color;
}
}
.field--valid {
.field__checkbox__checked, .field__checkbox__unchecked {
fill: $crispy__field__color--valid;
}
}
.field--error {
.field__checkbox__checked, .field__checkbox__unchecked {
fill: $crispy__field__color--error;
}
}
/**
*
*
*
*/
.field__panel {
padding: $crispy__field__panel__padding;
}
.field--valid {
.field__panel {
color: white;
background-color: $crispy__field__background-color--valid;
}
}
.field--error {
.field__panel {
color: white;
background-color: $crispy__field__background-color--error;
}
}
}

Loading…
Cancel
Save