X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fsass%2Finclude%2F_mixins.scss;h=e1b1bb32c7203c3709bb15cd03c507ad1f27545b;hb=6b9af1293621a81564296ead6f12f5e70eafbca2;hp=f6f17846e89eb526065f6fbaaa0a0bd11b45cca4;hpb=63c4db6d71b98523753c51747e308682d9a2e8a0;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/sass/include/_mixins.scss b/client/src/sass/include/_mixins.scss index f6f17846e..e1b1bb32c 100644 --- a/client/src/sass/include/_mixins.scss +++ b/client/src/sass/include/_mixins.scss @@ -7,6 +7,15 @@ } } +@mixin disable-outline { + outline: none; + + &::-moz-focus-inner { + border: 0; + padding: 0 + } +} + @mixin peertube-input-text($width) { display: inline-block; height: $button-height; @@ -15,17 +24,28 @@ 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 { - color: #fff; - background-color: $orange-color; + &, &:active, &:focus { + color: #fff; + background-color: $orange-color; + } - &:hover, &:active, &:focus { + &:hover { color: #fff; background-color: $orange-hoover-color; } @@ -38,8 +58,10 @@ } @mixin grey-button { - background-color: $grey-color; - color: #585858; + &, &:active, &:focus { + background-color: $grey-color; + color: #585858; + } &:hover, &:active, &:focus, &[disabled], &.disabled { color: #585858; @@ -71,9 +93,30 @@ @include peertube-button; } -@mixin avatar ($size) { - width: $size; - height: $size; +@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) { @@ -86,12 +129,153 @@ cursor: pointer; } - -@mixin peertube-select ($width) { - background-color: #fff; +@mixin peertube-select-container ($width) { + padding: 0; + margin: 0; border: 1px solid #C6C6C6; - height: $button-height; width: $width; border-radius: 3px; - padding-left: 15px; + 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; + display: inline; + } +} + + +@mixin avatar ($size) { + object-fit: cover; + border-radius:50%; + width: $size; + height: $size; }