| @ -0,0 +1,71 @@ | |||
| /** | |||
| * input, textarea | |||
| * | |||
| * | |||
| * @author Björn Hase | |||
| * | |||
| */ | |||
| $crispy__field__checkbox: !default; | |||
| @mixin crispy__field__checkbox() { | |||
| .field__checkbox { | |||
| label { | |||
| &:hover { | |||
| cursor: pointer; | |||
| } | |||
| .field__checkbox__icon { | |||
| fill: $checkbox__icon-color-unchecked; | |||
| transition: $checkbox__transition-color; | |||
| } | |||
| .field__checkbox__checked { | |||
| fill: $checkbox__icon-color-checked; | |||
| display: none; | |||
| } | |||
| .field__checkbox__unchecked { | |||
| fill: $checkbox__icon-color-unchecked; | |||
| } | |||
| } | |||
| input[type="checkbox"] { | |||
| position: relative; | |||
| display: none; | |||
| &:checked + label .field__checkbox__checked { | |||
| display: inline-block; | |||
| } | |||
| &:checked + label .field__checkbox__unchecked { | |||
| display: none; | |||
| } | |||
| &:disabled + label .field__checkbox__icon { | |||
| fill: $checkbox__icon-color--disabled; | |||
| } | |||
| &:disabled + label:hover { | |||
| cursor: not-allowed; | |||
| } | |||
| appearance: none; | |||
| } | |||
| &--valid { | |||
| border-color: $crispy__field__border-color--valid; | |||
| } | |||
| &--error { | |||
| border-color: $crispy__field__border-color--error; | |||
| } | |||
| &:focus { | |||
| border-color: $crispy__field__border-color--focus; | |||
| } | |||
| @include crispy__font-size($crispy__field__font-size); | |||
| } | |||
| } | |||
| @ -0,0 +1,19 @@ | |||
| @import | |||
| 'text', | |||
| 'checkbox'; | |||
| /** | |||
| * field | |||
| * | |||
| * | |||
| * @author Björn Hase | |||
| * | |||
| */ | |||
| $crispy__field__margin: toEm(0 0 $crispy__margin 0) !default; | |||
| @mixin crispy__field() { | |||
| .field { | |||
| margin: $crispy__field__margin; | |||
| } | |||
| } | |||
| @ -0,0 +1,18 @@ | |||
| /** | |||
| * <div class="field"> | |||
| * <div class="field__panel"> | |||
| * <ul> | |||
| * <li>item 1<li> | |||
| * </ul> | |||
| * </div> | |||
| * </div> | |||
| * | |||
| * @author Björn Hase | |||
| * | |||
| */ | |||
| @mixin crispy__field__panel() { | |||
| .field__panel { | |||
| @extend .panel; | |||
| } | |||
| } | |||
| @ -0,0 +1,71 @@ | |||
| /** | |||
| * input, textarea | |||
| * | |||
| * | |||
| * @author Björn Hase | |||
| * | |||
| */ | |||
| $crispy__field__checkbox: !default; | |||
| @mixin crispy__field__checkbox() { | |||
| .field__checkbox { | |||
| label { | |||
| &:hover { | |||
| cursor: pointer; | |||
| } | |||
| .field__checkbox__icon { | |||
| fill: $checkbox__icon-color-unchecked; | |||
| transition: $checkbox__transition-color; | |||
| } | |||
| .field__checkbox__checked { | |||
| fill: $checkbox__icon-color-checked; | |||
| display: none; | |||
| } | |||
| .field__checkbox__unchecked { | |||
| fill: $checkbox__icon-color-unchecked; | |||
| } | |||
| } | |||
| input[type="checkbox"] { | |||
| position: relative; | |||
| display: none; | |||
| &:checked + label .field__checkbox__checked { | |||
| display: inline-block; | |||
| } | |||
| &:checked + label .field__checkbox__unchecked { | |||
| display: none; | |||
| } | |||
| &:disabled + label .field__checkbox__icon { | |||
| fill: $checkbox__icon-color--disabled; | |||
| } | |||
| &:disabled + label:hover { | |||
| cursor: not-allowed; | |||
| } | |||
| appearance: none; | |||
| } | |||
| &--valid { | |||
| border-color: $crispy__field__border-color--valid; | |||
| } | |||
| &--error { | |||
| border-color: $crispy__field__border-color--error; | |||
| } | |||
| &:focus { | |||
| border-color: $crispy__field__border-color--focus; | |||
| } | |||
| @include crispy__font-size($crispy__field__font-size); | |||
| } | |||
| } | |||
| @ -0,0 +1,55 @@ | |||
| /** | |||
| * <div class="field"> | |||
| * <label class="field__label"> | |||
| * input | |||
| * <input type="text" class="field__text" /> | |||
| * </label> | |||
| * <div class="field__panel"> | |||
| * <ul> | |||
| * <li>item 1<li> | |||
| * </ul> | |||
| * </div> | |||
| * </div> | |||
| * | |||
| * @author Björn Hase | |||
| * | |||
| */ | |||
| $crispy__field__text__font-size: $crispy__body__font-size !default; | |||
| $crispy__field__text__padding: toEm(6px 8px) !default; | |||
| $crispy__field__text__color: $crispy__color-text !default; | |||
| $crispy__field__text__border: 1px solid $crispy__color-secondary !default; | |||
| $crispy__field__text__border-color--focus: $crispy__color-primary !default; | |||
| $crispy__field__text__border-color--valid: $crispy__color-success !default; | |||
| $crispy__field__text__border-color--error: $crispy__color-danger !default; | |||
| @mixin crispy__field__text() { | |||
| .field__text { | |||
| display: block; | |||
| width: 100%; | |||
| line-height: $crispy__golden-ratio; | |||
| padding: $crispy__field__padding; | |||
| color: $crispy__field__text__color; | |||
| border: $crispy__field__border; | |||
| appearance: none; | |||
| @include crispy__font-size($crispy__field__font-size); | |||
| &--valid { | |||
| border-color: $crispy__field__border-color--valid; | |||
| } | |||
| &--error { | |||
| border-color: $crispy__field__border-color--error; | |||
| } | |||
| &:focus { | |||
| border-color: $crispy__field__border-color--focus; | |||
| } | |||
| } | |||
| } | |||
| @ -1,2 +0,0 @@ | |||
| @import | |||
| 'text'; | |||
| @ -1,56 +0,0 @@ | |||
| /** | |||
| * input text | |||
| * | |||
| * | |||
| * @author Björn Hase | |||
| * | |||
| */ | |||
| $crispy__form__font-size: $crispy__body__font-size !default; | |||
| $crispy__form__padding: toEm(6px 8px) !default; | |||
| $crispy__form__text__color: $crispy__color-text !default; | |||
| $crispy__form__border: 1px solid $crispy__color-secondary !default; | |||
| $crispy__form__border-color--focus: $crispy__color-primary !default; | |||
| $crispy__form__border-color--valid: $crispy__color-success !default; | |||
| $crispy__form__border-color--error: $crispy__color-danger !default; | |||
| @mixin crispy__form__text() { | |||
| input:not([type="submit"]), | |||
| textarea { | |||
| display: block; | |||
| width: 100%; | |||
| line-height: $crispy__golden-ratio; | |||
| padding: $crispy__form__padding; | |||
| color: $crispy__form__text__color; | |||
| border: $crispy__form__border; | |||
| appearance: none; | |||
| @include crispy__font-size($crispy__form__font-size); | |||
| } | |||
| .field { | |||
| &--valid { | |||
| input:not([type="submit"]), | |||
| textarea { | |||
| border-color: $crispy__form__border-color--valid; | |||
| } | |||
| } | |||
| &--error { | |||
| input:not([type="submit"]), | |||
| textarea { | |||
| border-color: $crispy__form__border-color--error; | |||
| } | |||
| } | |||
| } | |||
| input:not([type="submit"]), | |||
| textarea { | |||
| &:focus { | |||
| border-color: $crispy__form__border-color--focus; | |||
| } | |||
| } | |||
| } | |||