UNPKG

@odyzeo/form-toggle

Version:

Odyzeo form toggle component with Vue

91 lines (71 loc) 1.57 kB
@form-toggle-color--default: #bfcbd9; @form-toggle-color--checked: #75c791; @form-toggle-color--disabled: #ccc; .form-toggle { display: inline-flex; align-items: center; position: relative; user-select: none; font-size: 10px; cursor: pointer; &.is-disabled { pointer-events: none; opacity: 0.6; } } .form-toggle__icon { color: @form-toggle-color--default; transition: color .3s; .form-toggle.is-toggled & { color: @form-toggle-color--checked; } .form-toggle.is-disabled & { color: @form-toggle-color--default; } } .form-toggle__input { opacity: 0; position: absolute; width: 1px; height: 1px; } .form-toggle__label { position: absolute; top: 0; z-index: 1; font-weight: 600; display: block; color: white; &.is-left { left: 10px; } &.is-right { right: 10px; } } .form-toggle__element { display: block; position: relative; box-sizing: border-box; outline: 0; margin: 0; transition: border-color .3s, background-color .3s; user-select: none; background-color: @form-toggle-color--default; .form-toggle.is-toggled & { background-color: @form-toggle-color--checked; } .form-toggle.is-disabled & { background-color: @form-toggle-color--default; } } .form-toggle__button { display: block; position: absolute; overflow: hidden; top: 0; left: 0; border-radius: 100%; background-color: #ffffff; z-index: 2; }