@import '_variables'; @mixin disable-default-a-behaviour { &:hover, &:focus, &:active { text-decoration: none !important; outline: none !important; } } @mixin peertube-input-text($width) { display: inline-block; height: $button-height; width: $width; background: #fff; border: 1px solid #C6C6C6; border-radius: 3px; padding-left: 15px; padding-right: 15px; &::placeholder { color: #585858; } } @mixin peertube-textarea ($width, $height) { @include peertube-input-text($width); height: $height; padding: 5px 15px; font-size: 15px; } @mixin orange-button { &, &:active, &:focus { color: #fff; background-color: $orange-color; } &:hover { color: #fff; background-color: $orange-hoover-color; } &[disabled], &.disabled { cursor: default; color: #fff; background-color: #C6C6C6; } } @mixin grey-button { &, &:active, &:focus { background-color: $grey-color; color: #585858; } &:hover, &:active, &:focus, &[disabled], &.disabled { color: #585858; background-color: $grey-hoover-color; } &[disabled], &.disabled { cursor: default; } } @mixin peertube-button { border: none; font-weight: $font-semibold; font-size: 15px; height: $button-height; line-height: $button-height; border-radius: 3px; text-align: center; padding: 0 17px 0 13px; cursor: pointer; outline: 0; } @mixin peertube-button-link { display: inline-block; @include disable-default-a-behaviour; @include peertube-button; } @mixin peertube-button-file ($width) { position: relative; overflow: hidden; display: inline-block; width: $width; @include peertube-button; @include orange-button; input[type=file] { position: absolute; top: 0; right: 0; min-width: 100%; min-height: 100%; font-size: 100px; text-align: right; filter: alpha(opacity=0); opacity: 0; outline: none; background: white; cursor: inherit; display: block; } } @mixin icon ($size) { display: inline-block; background-repeat: no-repeat; background-size: contain; width: $size; height: $size; vertical-align: middle; cursor: pointer; } @mixin peertube-select-container ($width) { padding: 0; margin: 0; border: 1px solid #C6C6C6; width: $width; border-radius: 3px; overflow: hidden; background: #fff; position: relative; font-size: 15px; &:after { top: 50%; right: calc(0% + 15px); content: " "; height: 0; width: 0; position: absolute; pointer-events: none; border: 5px solid rgba(0, 0, 0, 0); border-top-color: #000000; margin-top: -2px; z-index: 100; } select { padding: 0 35px 0 12px; width: calc(100% + 2px); position: relative; left: 1px; border: none; box-shadow: none; background: transparent none; appearance: none; cursor: pointer; height: $button-height; text-overflow: ellipsis; &:focus { outline: none; } &:-moz-focusring { color: transparent; text-shadow: 0 0 0 #000; } } } @mixin peertube-select-disabled-container ($width) { @include peertube-select-container($width); background-color: #E5E5E5; select { cursor: default; } } // Thanks: https://codepen.io/triss90/pen/XNEdRe/ @mixin peertube-radio-container { input[type="radio"] { display: none; & + label { font-weight: $font-regular; cursor: pointer; &:before { position: relative; top: -2px; content: ''; background: #fff; border-radius: 100%; border: 1px solid #000; display: inline-block; width: 15px; height: 15px; vertical-align: middle; cursor: pointer; text-align: center; margin-right: 10px; } } &:checked + label:before { background-color: #000; box-shadow: inset 0 0 0 4px #fff; } &:focus + label:before { outline: none; border-color: #000; } } } @mixin peertube-checkbox ($border-width) { display: none; & + label { position: relative; width: 18px; height: 18px; border: $border-width solid #000; border-radius: 3px; vertical-align: middle; cursor: pointer; &:after { content: ''; position: absolute; top: calc(2px - #{$border-width}); left: 5px; width: 5px; height: 12px; opacity: 0; transform: rotate(45deg) scale(0); border-right: 2px solid #fff; border-bottom: 2px solid #fff; } } &:checked + label { border-color: transparent; background: $orange-color; animation: jelly 0.6s ease; &:after { opacity: 1; transform: rotate(45deg) scale(1); } } & + label + label { font-size: 15px; font-weight: $font-regular; margin-left: 5px; cursor: pointer; } } @mixin avatar ($size) { object-fit: cover; border-radius:50%; width: $size; height: $size; }