X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fsass%2Fbootstrap.scss;h=d0465218486d93657fc9a0b61935bf19fce694ca;hb=18a2164366e470b02857269a5e7527fff038d9d2;hp=432e23e92fdf181ab7567c37acefc5e3dc67db33;hpb=a8454bb26c4abdb4e1f08ded492e987601bba2eb;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/sass/bootstrap.scss b/client/src/sass/bootstrap.scss index 432e23e92..d04652184 100644 --- a/client/src/sass/bootstrap.scss +++ b/client/src/sass/bootstrap.scss @@ -1,93 +1,72 @@ -$icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; - @use '_variables' as *; @use '_mixins' as *; @import './_bootstrap-variables'; -@import '~bootstrap/scss/functions'; -@import '~bootstrap/scss/variables'; - -@import '~bootstrap/scss/mixins'; -@import '~bootstrap/scss/root'; -@import '~bootstrap/scss/reboot'; -@import '~bootstrap/scss/type'; -@import '~bootstrap/scss/grid'; -@import '~bootstrap/scss/tables'; -@import '~bootstrap/scss/forms'; -@import '~bootstrap/scss/buttons'; -@import '~bootstrap/scss/dropdown'; -@import '~bootstrap/scss/button-group'; -@import '~bootstrap/scss/input-group'; -@import '~bootstrap/scss/nav'; -@import '~bootstrap/scss/card'; -@import '~bootstrap/scss/badge'; -@import '~bootstrap/scss/alert'; -@import '~bootstrap/scss/close'; -@import '~bootstrap/scss/modal'; -@import '~bootstrap/scss/tooltip'; -@import '~bootstrap/scss/popover'; -@import '~bootstrap/scss/utilities'; - -@import '~@neos21/bootstrap3-glyphicons/assets/stylesheets/bootstrap3-glyphicons'; - -// Thanks https://gist.github.com/alexandrevicenzi/680147013e902a4eaa5d -.glyphicon-refresh-animate { - animation: spin 0.7s infinite linear; -} +@import 'bootstrap/scss/functions'; +@import 'bootstrap/scss/variables'; +@import 'bootstrap/scss/maps'; +@import 'bootstrap/scss/mixins'; +@import 'bootstrap/scss/utilities'; -.glyphicon-duplicate { - font-size: 70%; -} +@import 'bootstrap/scss/root'; +@import 'bootstrap/scss/reboot'; +@import 'bootstrap/scss/type'; +@import 'bootstrap/scss/grid'; +@import 'bootstrap/scss/forms'; +@import 'bootstrap/scss/buttons'; +@import 'bootstrap/scss/transitions'; +@import 'bootstrap/scss/dropdown'; +@import 'bootstrap/scss/button-group'; +@import 'bootstrap/scss/nav'; +@import 'bootstrap/scss/card'; +@import 'bootstrap/scss/accordion'; +@import 'bootstrap/scss/alert'; +@import 'bootstrap/scss/close'; +@import 'bootstrap/scss/modal'; +@import 'bootstrap/scss/tooltip'; +@import 'bootstrap/scss/popover'; +@import 'bootstrap/scss/spinners'; -.flex-auto { - flex: auto; -} +@import 'bootstrap/scss/helpers'; +@import 'bootstrap/scss/utilities/api'; -.c-hand { - cursor: pointer; +body { + --bs-border-color-translucent: #{pvar(--inputBorderColor)}; } -@keyframes spin { - from { - transform: scale(1) rotate(0deg); - } +.accordion { + --bs-accordion-color: #{pvar(--mainForegroundColor)}; + --bs-accordion-bg: #{pvar(--mainBackgroundColor)}; - to { - transform: scale(1) rotate(360deg); - } + --bs-accordion-btn-color: var(--bs-accordion-color); + --bs-accordion-btn-bg: var(--bs-accordion-bg); } -/* rules for dropdowns excepts when in button group, to avoid impacting the dropdown-toggle */ -.dropdown, -.dropup { - z-index: z(dropdown) !important; -} +.popover { + --bs-popover-bg: #{pvar(--mainBackgroundColor)}; + --bs-popover-body-color: #{pvar(--mainForegroundColor)}; + --bs-popover-header-color: #{pvar(--mainForegroundColor)}; -.list-overflow-menu, -.parent-entry { - z-index: z(menu) - 1 !important; + font-family: $main-fonts; } -.btn-group, -.dropdown-root, -.action-dropdown, -.input-group-prepend, -.column-toggle { - z-index: inherit !important; +.flex-auto { + flex: auto; } -.btn-group > .btn:not(:first-child) { - border-top-left-radius: 0 !important; - border-bottom-left-radius: 0 !important; +.c-hand { + cursor: pointer !important; } -.dropdown-menu { - z-index: z(dropdown) + 1 !important; +// --------------------------------------------------------------------------- +// Dropdown +// --------------------------------------------------------------------------- - border-radius: 3px; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); - font-size: 15px; +.dropdown-menu { + --bs-dropdown-link-hover-bg: #{pvar(--mainBackgroundHoverColor)}; + --bs-dropdown-link-color: #{pvar(--mainForegroundColor)}; + --bs-dropdown-border-color: #{pvar(--inputBorderColor)}; .dropdown-header { @include padding-left(1rem); @@ -102,29 +81,34 @@ $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; opacity: 0.9; } - &:active { - color: pvar(--mainForegroundColor) !important; - } - &::after { display: none; } } - button { - @include disable-default-a-behaviour; - } - a { @include disable-default-a-behaviour; - color: #000 !important; } } -.badge { - line-height: 1.1; +.dropdown-divider { + margin: 0.3rem 0; +} + +// --------------------------------------------------------------------------- +// Alert +// --------------------------------------------------------------------------- + +.alert { + p:last-child { + margin-bottom: 0; + } } +// --------------------------------------------------------------------------- +// Modal +// --------------------------------------------------------------------------- + @media screen and (min-width: #{breakpoint(md)}) { .modal::before { vertical-align: middle; @@ -163,18 +147,10 @@ $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; my-global-icon { @include icon(22px); - position: relative; - top: 5px; - float: right; - - margin: 0; - padding: 0; opacity: 0.5; - &[iconName=cross] { /* stylelint-disable-line selector-max-compound-selectors */ - @include icon(16px); - - top: -3px; + &:hover { + opacity: 0.8; } } } @@ -183,7 +159,7 @@ $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; margin-bottom: 0; text-align: end; - > .peertube-button:not(:first-child) { + > *:not(:first-child) { @include margin-left(10px); } } @@ -220,12 +196,14 @@ $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; } } -// Nav customizations +// --------------------------------------------------------------------------- +// Nav +// --------------------------------------------------------------------------- + .nav .nav-link { display: flex !important; align-items: center; height: 30px !important; - padding: 10px 15px !important; } .nav.nav-pills { @@ -233,7 +211,7 @@ $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; font-weight: $font-semibold !important; .nav-link { - opacity: 0.6 !important; + opacity: 0.7 !important; &.active, &:hover, @@ -257,7 +235,7 @@ $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; font-weight: $font-semibold; border: 0; border-bottom: 2px solid transparent; - opacity: 0.6; + opacity: 0.7; &.active { color: pvar(--mainForegroundColor); @@ -273,46 +251,38 @@ $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; } } +// --------------------------------------------------------------------------- +// Card, collapse and accordion +// --------------------------------------------------------------------------- + .card { background-color: pvar(--mainBackgroundColor); border-color: #dee2e6; } -.collapse-transition { - // Animation when we show/hide the filters - transition: max-height 0.3s; - display: block !important; - overflow: hidden !important; - max-height: 0; - - &.show { - max-height: 1500px; - overflow: inherit !important; - } -} - -.dropdown-divider { - margin: 0.3rem 0; -} +.accordion-button { + font-size: 18px; -ngb-modal-backdrop { - z-index: z(modal) - 1 !important; -} + &:not(.collapsed) { + font-weight: $font-bold; -ngb-modal-window { - z-index: z(modal) !important; + my-global-icon { + color: pvar(--mainColorLighter); + } + } } -ngb-popover-window { - z-index: z(popover) !important; -} +// --------------------------------------------------------------------------- +// Buttons & form controls +// --------------------------------------------------------------------------- -ngb-tooltip-window { - z-index: z(tooltip) !important; +.btn:not(.btn-sm) { + font-size: $button-font-size; + line-height: 1.2; } .btn-outline-secondary { - border-color: $input-border-color; + border-color: pvar(--inputBorderColor); &:focus-within, &:focus, @@ -322,18 +292,6 @@ ngb-tooltip-window { } } -.btn-outline-tertiary { - color: pvar(--secondaryColor); - border-color: pvar(--secondaryColor); - - &:focus-within, - &:focus, - &:hover { - color: pvar(--mainBackgroundColor); - background-color: pvar(--secondaryColor); - } -} - .btn-group.select-button { font-weight: $font-semibold; @@ -362,63 +320,54 @@ ngb-tooltip-window { } } -// input box-shadow on focus .form-control { - font-size: 15px; color: pvar(--mainForegroundColor); background-color: pvar(--inputBackgroundColor); outline: none; - - &:focus-within, - &:focus { - box-shadow: #{$focus-box-shadow-form} pvar(--mainColorLightest); - - &.input-error { - box-shadow: #{$focus-box-shadow-form} #{scale-color($red, $alpha: -75%)}; - } - } } .input-group { - > .form-control { - flex: initial; + > .btn, + > .input-group-text { + padding-top: 4px; + padding-bottom: 4px; } - input.form-control { - width: unset !important; - flex-grow: 1; + > .input-group-text { + line-height: normal; + opacity: 0.9; } - .input-group-prepend + input { - border-top-left-radius: 0 !important; - border-bottom-left-radius: 0 !important; + .input-group-text > .dropdown-toggle { + display: flex; } } -.has-feedback.has-clear { - position: relative; +.input-group, +.btn-group { + .last-in-group { + border-top-right-radius: 3px !important; + border-bottom-right-radius: 3px !important; + } +} +.has-clear { input { @include padding-right(1.5rem !important); } .form-control-clear { - color: rgba(0, 0, 0, 0.4); - /* - * Enable pointer events as they have been disabled since Bootstrap 3.3 - * See https://github.com/twbs/bootstrap/pull/14104 - */ - pointer-events: all; display: flex; justify-content: center; align-items: center; - position: absolute; - right: .5rem; height: 95%; font-size: 14px; + position: absolute; + right: .5rem; + opacity: 0.4; &:hover { - color: rgba(0, 0, 0, 0.7); + opacity: 0.7; cursor: pointer; } } @@ -428,43 +377,7 @@ ngb-tooltip-window { } } -.callout { - padding: 1.25rem; - border: 1px solid #eee; - border-radius: .25rem; - - > label { - position: relative; - top: -5px; - left: -10px; - color: #6c757d !important; - } - - &:not(.callout-light) { - border-left-width: .25rem; - } - - &.callout-info { - border-color: pvar(--mainColorLightest); - border-left-color: pvar(--mainColor); - } -} - -// Override these properties for Bidi support -@each $size, $length in $spacers { - .ml-#{$size} { - @include margin-left($length); - } - - .mr-#{$size} { - @include margin-right($length); - } - - .pl-#{$size} { - @include padding-left($length); - } - - .pr-#{$size} { - @include padding-right($length); - } +.text-truncate { + // Prevent invalid height in parent: https://stackoverflow.com/a/22425601 + vertical-align: top; }