mirror of
https://github.com/StarCitizenTools/mediawiki-skins-Citizen.git
synced 2024-12-11 22:16:22 +00:00
03da361b97
- Refactor existing template data-related partials into CitizenComponent components - Re-implement user menu header as UserInfo - Add description text for anon and temp user in UserMenu --------- Co-authored-by: github-actions <github-actions@users.noreply.github.com>
1005 lines
21 KiB
Plaintext
1005 lines
21 KiB
Plaintext
/*
|
|
* Citizen
|
|
*
|
|
* SkinStyles for Extension:MediaSearch
|
|
* Module: mediasearch.styles
|
|
* Version: REL1_39 (e0aa7bb)
|
|
*
|
|
* Date: 2022-12-09
|
|
*/
|
|
|
|
@import '../../../resources/variables.less';
|
|
|
|
// Disable sticky header
|
|
#citizen-page-header-sticky-sentinel {
|
|
display: none;
|
|
}
|
|
|
|
// Be extra safe
|
|
// MediaSearch uses indicators for associated pages
|
|
// So let's tweak the styles to make it look that way
|
|
.mw-special-MediaSearch {
|
|
.firstHeading-container {
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
}
|
|
|
|
.mw-indicators {
|
|
padding-left: 0;
|
|
margin-top: var( --space-xs );
|
|
margin-left: 0;
|
|
border-left: 0;
|
|
}
|
|
}
|
|
|
|
// Missing from the original stylesheet
|
|
.searchmatch {
|
|
font-weight: var( --font-weight-semibold );
|
|
color: var( --color-base--emphasized );
|
|
}
|
|
|
|
/* AutocompleteSearchInput.less */
|
|
.sd-input {
|
|
&__icon {
|
|
opacity: var( --opacity-icon-base );
|
|
}
|
|
|
|
&__indicator {
|
|
color: var( --color-base-subtle );
|
|
}
|
|
|
|
&__input {
|
|
color: var( --color-base--emphasized );
|
|
background-color: transparent;
|
|
border-color: var( --border-color-interactive );
|
|
border-radius: var( --border-radius--small );
|
|
|
|
&::placeholder {
|
|
color: var( --color-base-subtle );
|
|
}
|
|
|
|
&:hover {
|
|
background-color: var( --color-surface-0 );
|
|
border-color: var( --color-primary--hover );
|
|
}
|
|
|
|
&:focus {
|
|
background-color: var( --color-surface-0 );
|
|
border-color: var( --color-primary );
|
|
box-shadow: inset 0 0 0 1px var( --color-primary );
|
|
}
|
|
}
|
|
|
|
&--pending .sd-input__input {
|
|
background-color: var( --color-surface-2 );
|
|
background-image: linear-gradient( 135deg, var( --color-surface-1 ) 25%, rgba( 255, 255, 255, 0 ) 25%, rgba( 255, 255, 255, 0 ) 50%, var( --color-surface-1 ) 50%, var( --color-surface-1 ) 75%, rgba( 255, 255, 255, 0 ) 75%, rgba( 255, 255, 255, 0 ) );
|
|
}
|
|
}
|
|
|
|
/* Button.less */
|
|
.sd-button {
|
|
font-family: var( --font-family-base );
|
|
font-weight: var( --font-weight-semibold );
|
|
color: var( --color-base--emphasized );
|
|
border-radius: var( --border-radius--small );
|
|
|
|
&:hover {
|
|
color: var( --color-base--emphasized );
|
|
background-color: var( --background-color-quiet--hover );
|
|
}
|
|
|
|
&:focus {
|
|
border-color: var( --color-primary );
|
|
box-shadow: inset 0 0 0 1px var( --color-primary );
|
|
}
|
|
|
|
&--framed {
|
|
background-color: var( --color-surface-2 );
|
|
border-color: var( --border-color-base );
|
|
|
|
&:hover {
|
|
color: var( --color-base--emphasized );
|
|
background-color: var( --color-surface-2--hover );
|
|
}
|
|
|
|
// Add active state
|
|
&:active {
|
|
color: var( --color-base--subtle );
|
|
background-color: var( --color-surface-2--active );
|
|
}
|
|
}
|
|
|
|
&--progressive {
|
|
color: var( --color-primary );
|
|
|
|
&:hover {
|
|
color: var( --color-primary--hover );
|
|
}
|
|
|
|
// Add active state
|
|
&:active {
|
|
color: var( --color-primary--active );
|
|
}
|
|
|
|
&.sd-button--framed {
|
|
color: #fff;
|
|
|
|
&:hover {
|
|
border-color: var( --color-primary--hover );
|
|
}
|
|
|
|
// Add active state
|
|
&:active {
|
|
color: var( --color-primary--active );
|
|
}
|
|
}
|
|
}
|
|
|
|
&--destructive {
|
|
color: var( --color-destructive );
|
|
|
|
&:hover {
|
|
color: var( --color-destructive--hover );
|
|
}
|
|
|
|
// Add active state
|
|
&:active {
|
|
color: var( --color-destructive--active );
|
|
}
|
|
|
|
&:focus {
|
|
border-color: var( --color-destructive );
|
|
box-shadow: inset 0 0 0 1px var( --color-destructive );
|
|
}
|
|
|
|
&.sd-button--framed {
|
|
color: #fff;
|
|
|
|
&:hover {
|
|
border-color: var( --color-destructive--hover );
|
|
}
|
|
|
|
// Add active state
|
|
&:active {
|
|
color: var( --color-destructive--active );
|
|
}
|
|
|
|
&:focus {
|
|
box-shadow: inset 0 0 0 1px var( --color-destructive );
|
|
}
|
|
}
|
|
}
|
|
|
|
&--primary {
|
|
&.sd-button--framed {
|
|
background-color: var( --color-primary );
|
|
border-color: var( --color-primary );
|
|
|
|
&:hover {
|
|
background-color: var( --color-primary--hover );
|
|
border-color: var( --color-primary--hover );
|
|
}
|
|
|
|
// Add active state
|
|
&:active {
|
|
background-color: var( --color-primary--active );
|
|
border-color: var( --color-primary--active );
|
|
}
|
|
|
|
&:focus {
|
|
border-color: var( --color-primary );
|
|
box-shadow: inset 0 0 0 1px var( --color-primary ), inset 0 0 0 2px #fff;
|
|
}
|
|
|
|
&.sd-button--destructive {
|
|
background-color: var( --color-destructive );
|
|
border-color: var( --color-destructive );
|
|
|
|
&:hover {
|
|
background-color: var( --color-destructive--hover );
|
|
border-color: var( --color-destructive--hover );
|
|
}
|
|
|
|
// Add active state
|
|
&:active {
|
|
background-color: var( --color-destructive--active );
|
|
border-color: var( --color-destructive--active );
|
|
}
|
|
|
|
&:focus {
|
|
border-color: var( --color-destructive );
|
|
box-shadow: inset 0 0 0 1px var( --color-destructive ), inset 0 0 0 2px #fff;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&:disabled {
|
|
color: var( --color-base--subtle );
|
|
|
|
&:hover,
|
|
&:focus {
|
|
background-color: transparent;
|
|
}
|
|
|
|
&.sd-button--framed {
|
|
color: var( --color-base--subtle );
|
|
background-color: var( --color-surface-4 );
|
|
border-color: var( --color-surface-4 );
|
|
|
|
&:hover,
|
|
&:focus {
|
|
background-color: var( --color-surface-4 );
|
|
border-color: var( --color-surface-4 );
|
|
}
|
|
}
|
|
|
|
&:not( .sd-button--framed ) .sd-icon {
|
|
opacity: var( --opacity-base--disabled );
|
|
}
|
|
}
|
|
}
|
|
|
|
/* Checkbox.less */
|
|
.sd-checkbox {
|
|
&__icon {
|
|
// Show background when hovered
|
|
background-color: transparent;
|
|
border-color: var( --border-color-interactive );
|
|
border-radius: var( --border-radius--small );
|
|
}
|
|
|
|
&__input {
|
|
&:focus + .sd-checkbox__icon {
|
|
background-color: var( --color-surface-0 );
|
|
border-color: var( --color-primary );
|
|
box-shadow: inset 0 0 0 1px var( --color-primary );
|
|
}
|
|
|
|
&:hover + .sd-checkbox__icon {
|
|
background-color: var( --color-surface-0 );
|
|
border-color: var( --color-primary--hover );
|
|
}
|
|
|
|
&:active + .sd-checkbox__icon {
|
|
background-color: var( --color-primary--active );
|
|
border-color: var( --color-primary--active );
|
|
box-shadow: none;
|
|
}
|
|
|
|
// Set up check icon.
|
|
&:checked + .sd-checkbox__icon {
|
|
background-color: var( --color-primary );
|
|
border-color: var( --color-primary );
|
|
}
|
|
|
|
&:disabled {
|
|
& + .sd-checkbox__icon {
|
|
background-color: var( --color-surface-4 );
|
|
border-color: var( --color-surface-4 );
|
|
}
|
|
|
|
& ~ .sd-checkbox__label-text {
|
|
color: var( --color-base--subtle );
|
|
}
|
|
}
|
|
|
|
&:checked:enabled:focus + .sd-checkbox__icon {
|
|
background-color: var( --color-primary );
|
|
border-color: var( --color-primary );
|
|
box-shadow: inset 0 0 0 1px var( --color-primary ), inset 0 0 0 2px #fff;
|
|
}
|
|
|
|
&:checked:enabled:hover + .sd-checkbox__icon {
|
|
background-color: var( --color-primary--hover );
|
|
border-color: var( --color-primary--hover );
|
|
}
|
|
|
|
&:checked:enabled:active + .sd-checkbox__icon {
|
|
background-color: var( --color-primary--active );
|
|
border-color: var( --color-primary--active );
|
|
box-shadow: none;
|
|
}
|
|
}
|
|
}
|
|
|
|
/* CopyTextLayout.less */
|
|
.sd-copy-text-layout {
|
|
&__text {
|
|
border-right-color: var( --border-color-base );
|
|
}
|
|
}
|
|
|
|
/* Dialog.less */
|
|
.sd-dialog {
|
|
// Align with Citizen and Codex
|
|
z-index: @z-index-overlay;
|
|
|
|
&__overlay {
|
|
background-color: var( --background-color-overlay );
|
|
}
|
|
|
|
&__shell {
|
|
background-color: var( --color-surface-1 );
|
|
border-color: transparent;
|
|
border-radius: var( --border-radius--medium );
|
|
box-shadow: var( --box-shadow-dialog );
|
|
}
|
|
|
|
&__header {
|
|
border-bottom-color: var( --border-color-base );
|
|
|
|
.sd-dialog__header-title {
|
|
font-weight: var( --font-weight-semibold );
|
|
color: var( --color-base--emphasized );
|
|
}
|
|
}
|
|
|
|
&__footer:not( :empty ) {
|
|
border-top-color: var( --border-color-base );
|
|
}
|
|
}
|
|
|
|
/* Message.less */
|
|
.sd-message {
|
|
font-weight: var( --font-weight-semibold );
|
|
color: var( --color-base--emphasized );
|
|
|
|
&--error {
|
|
color: var( --color-destructive );
|
|
}
|
|
|
|
&--success {
|
|
color: var( --color-success );
|
|
}
|
|
|
|
// Sync with message box styles
|
|
&--block {
|
|
font-weight: var( --font-weight-normal );
|
|
color: var( --color-base--emphasized );
|
|
border-radius: var( --border-radius--small );
|
|
|
|
&.sd-message--notice {
|
|
background-color: var( --color-surface-2 );
|
|
border-color: var( --color-surface-2 );
|
|
}
|
|
|
|
&.sd-message--error {
|
|
background-color: var( --background-color-destructive );
|
|
border-color: var( --background-color-destructive );
|
|
}
|
|
|
|
&.sd-message--warning {
|
|
background-color: var( --background-color-warning );
|
|
border-color: var( --background-color-warning );
|
|
}
|
|
|
|
&.sd-message--success {
|
|
background-color: var( --background-color-success );
|
|
border-color: var( --background-color-success );
|
|
}
|
|
}
|
|
|
|
// Cancel out default Citizen margin
|
|
&__content p {
|
|
margin: 0;
|
|
}
|
|
}
|
|
|
|
/* Radio.less */
|
|
.sd-radio {
|
|
&__icon {
|
|
// Show background when hovered
|
|
background-color: transparent;
|
|
border-color: var( --border-color-interactive );
|
|
}
|
|
|
|
&__input {
|
|
&:hover + .sd-radio__icon {
|
|
background-color: var( --color-surface-0 );
|
|
border-color: var( --color-primary--hover );
|
|
}
|
|
|
|
&:active + .sd-radio__icon {
|
|
background-color: var( --color-primary--active );
|
|
border-color: var( --color-primary--active );
|
|
}
|
|
|
|
&:checked + .sd-radio__icon {
|
|
background-color: #fff;
|
|
border-color: var( --color-primary );
|
|
}
|
|
|
|
&:disabled {
|
|
& + .sd-radio__icon {
|
|
background-color: var( --color-surface-4 );
|
|
border-color: var( --color-surface-4 );
|
|
}
|
|
|
|
& ~ .sd-radio__label-text {
|
|
color: var( --color-base--subtle );
|
|
}
|
|
|
|
&:checked + .sd-radio__icon {
|
|
background-color: #fff;
|
|
}
|
|
}
|
|
|
|
&:checked:enabled {
|
|
&:focus + .sd-radio__icon {
|
|
&::before {
|
|
border-color: var( --color-primary--active );
|
|
}
|
|
}
|
|
|
|
&:hover + .sd-radio__icon {
|
|
border-color: var( --color-primary--hover );
|
|
}
|
|
|
|
&:active + .sd-radio__icon {
|
|
border-color: var( --color-primary--active );
|
|
box-shadow: none;
|
|
|
|
&::before {
|
|
border-color: var( --color-primary--active );
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/* Select.less */
|
|
.sd-select {
|
|
&__handle {
|
|
color: var( --color-base );
|
|
}
|
|
|
|
&__content {
|
|
font-family: var( --font-family-base ); // Browser overrides button font
|
|
color: var( --color-base--emphasized );
|
|
// Show background when hovered
|
|
background-color: transparent;
|
|
border-color: var( --border-color-interactive );
|
|
|
|
&:hover {
|
|
color: var( --color-base--emphasized );
|
|
background-color: var( --color-surface-1 );
|
|
border-color: var( --color-primary--hover );
|
|
|
|
.sd-select__handle {
|
|
color: var( --color-base );
|
|
}
|
|
}
|
|
|
|
&:focus {
|
|
background-color: var( --color-surface-1 );
|
|
border-color: var( --color-primary );
|
|
box-shadow: inset 0 0 0 1px var( --color-primary );
|
|
}
|
|
|
|
&:active {
|
|
color: var( --color-base--subtle );
|
|
border-color: var( --border-color-interactive );
|
|
}
|
|
}
|
|
|
|
&--open {
|
|
.sd-select__content {
|
|
background-color: var( --color-surface-1 );
|
|
}
|
|
|
|
.sd-select__handle {
|
|
color: var( --color-base );
|
|
}
|
|
}
|
|
|
|
&--disabled {
|
|
.sd-select__content {
|
|
color: var( --color-base--subtle );
|
|
background-color: var( --color-surface-4 );
|
|
border-color: var( --color-surface-4 );
|
|
|
|
&:hover {
|
|
.sd-select__handle {
|
|
color: var( --color-base--subtle );
|
|
}
|
|
}
|
|
|
|
&:focus {
|
|
border-color: var( --color-surface-4 );
|
|
}
|
|
}
|
|
|
|
.sd-select__handle {
|
|
color: var( --color-base--subtle );
|
|
}
|
|
}
|
|
}
|
|
|
|
/* SelectMenu.less */
|
|
.sd-select-menu {
|
|
background-color: var( --color-surface-1 );
|
|
border-color: var( --border-color-interactive );
|
|
border-radius: 0 0 var( --border-radius--small ) var( --border-radius--small );
|
|
// box-shadow: var( --box-shadow-dialog );
|
|
|
|
&__list-item {
|
|
color: var( --color-base--emphasized );
|
|
|
|
&--active {
|
|
color: var( --color-base--emphasized );
|
|
background-color: var( --background-color-quiet--hover );
|
|
}
|
|
|
|
&--selected {
|
|
background-color: var( --background-color-primary--hover );
|
|
}
|
|
|
|
&--active.sd-select-menu__list-item--selected {
|
|
color: var( --color-primary );
|
|
}
|
|
}
|
|
}
|
|
|
|
/* Tabs.less */
|
|
.sd-tabs {
|
|
&__header {
|
|
// Use border instead of box-shadow to align with Citizen and Codex
|
|
border-bottom: 1px solid var( --border-color-base );
|
|
box-shadow: none;
|
|
|
|
&--gradient {
|
|
&::after {
|
|
// TODO: Should really make this into a LESS variable or mixin since it is useful
|
|
background-image: linear-gradient( to right, rgba( 255, 255, 255, 0 ) 85%, var( --color-surface-0 ) 100% );
|
|
}
|
|
}
|
|
}
|
|
|
|
&__tabs-list {
|
|
// Should show a scroll bar on pointer device so user can scroll the tabs
|
|
@media ( hover: hover ) {
|
|
scrollbar-width: thin;
|
|
|
|
&::-webkit-scrollbar {
|
|
display: block;
|
|
-webkit-appearance: initial;
|
|
}
|
|
}
|
|
|
|
&__item {
|
|
font-weight: var( --font-weight-medium );
|
|
color: var( --color-base--emphasized );
|
|
|
|
&--current {
|
|
color: var( --color-primary );
|
|
box-shadow: inset 0 -2px var( --color-primary );
|
|
}
|
|
|
|
&:hover {
|
|
color: var( --color-primary--hover );
|
|
box-shadow: inset 0 -2px var( --color-primary--hover );
|
|
}
|
|
|
|
&:active {
|
|
color: var( --color-primary--active );
|
|
box-shadow: inset 0 -2px var( --color-primary--active );
|
|
}
|
|
|
|
&--disabled {
|
|
color: var( --color-base--subtle );
|
|
|
|
&--current,
|
|
&:hover,
|
|
&:active {
|
|
color: var( --color-base--subtle );
|
|
}
|
|
}
|
|
}
|
|
|
|
&:focus {
|
|
.sd-tabs__tabs-list__item--current {
|
|
border-radius: var( --border-radius--small );
|
|
box-shadow: inset 0 0 0 2px var( --color-primary );
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/* ImageResult.less */
|
|
// Sync with Citizen image styles
|
|
.sdms-image-result {
|
|
overflow: hidden; // needed for transition and rounded corners
|
|
// Keep original light background so that transparent images are more legible
|
|
// background-color: var( --color-surface-2 );
|
|
border-radius: var( --border-radius--small );
|
|
|
|
&:hover,
|
|
&:focus {
|
|
box-shadow: none; // disable default style
|
|
|
|
img {
|
|
transform: scale( 1.1 );
|
|
}
|
|
}
|
|
|
|
&:focus {
|
|
outline: solid 2px var( --color-primary );
|
|
outline-offset: 0;
|
|
}
|
|
|
|
img {
|
|
transition: var( --transition-hover );
|
|
transition-property: transform;
|
|
}
|
|
}
|
|
|
|
/* VideoResult.less */
|
|
.sdms-video-result {
|
|
overflow: hidden; // Hide transition overflow
|
|
color: var( --color-primary );
|
|
border-color: transparent;
|
|
border-radius: var( --border-radius--small );
|
|
|
|
&__title {
|
|
color: var( --color-base--emphasized );
|
|
transition: none;
|
|
}
|
|
|
|
&__body {
|
|
z-index: 1;
|
|
padding: var( --space-sm ) 0 0 0;
|
|
// HACK: Hide thumbnail overflow
|
|
background-color: var( --color-surface-0 );
|
|
}
|
|
|
|
&__meta {
|
|
margin-top: var( --space-xxs );
|
|
font-size: var( --font-size-small );
|
|
}
|
|
|
|
&:hover &__title {
|
|
color: var( --color-base--emphasized );
|
|
}
|
|
|
|
&:hover,
|
|
&:focus {
|
|
box-shadow: none;
|
|
|
|
.sdms-video-result__thumbnail {
|
|
transform: scale( 1.1 );
|
|
}
|
|
}
|
|
|
|
&:focus {
|
|
outline: solid 2px var( --color-primary );
|
|
outline-offset: 0;
|
|
}
|
|
|
|
&__thumbnail {
|
|
border-radius: var( --border-radius--small );
|
|
transition: var( --transition-hover );
|
|
transition-property: transform;
|
|
}
|
|
|
|
&__duration {
|
|
padding: var( --space-xxs ) var( --space-xs );
|
|
font-weight: var( --font-weight-medium );
|
|
color: var( --color-base );
|
|
background-color: var( --color-surface-2 );
|
|
border-radius: var( --border-radius--small );
|
|
}
|
|
|
|
&__mime {
|
|
color: var( --color-base--subtle );
|
|
}
|
|
}
|
|
|
|
/* AudioResult.less */
|
|
.sdms-audio-result {
|
|
padding: var( --space-md ) 0;
|
|
font-size: var( --font-size-small );
|
|
border-bottom: 0;
|
|
|
|
&__title + &__meta {
|
|
margin-top: var( --space-xxs );
|
|
}
|
|
|
|
&__meta {
|
|
font-size: var( --font-size-small );
|
|
}
|
|
|
|
p {
|
|
margin: 0;
|
|
}
|
|
|
|
&__duration {
|
|
padding: var( --space-xxs ) var( --space-xs );
|
|
font-weight: var( --font-weight-medium );
|
|
color: var( --color-base );
|
|
background-color: var( --color-surface-2 );
|
|
border-radius: var( --border-radius--small );
|
|
}
|
|
|
|
&__mime {
|
|
color: var( --color-base--subtle );
|
|
}
|
|
}
|
|
|
|
/* PageResult.less */
|
|
.sdms-page-result {
|
|
padding: var( --space-md ) 0;
|
|
font-size: var( --font-size-small );
|
|
border-bottom: 0;
|
|
|
|
p {
|
|
font-size: var( --font-size-small );
|
|
color: var( --color-base--subtle );
|
|
}
|
|
|
|
// Sync with duration styles
|
|
&__namespace {
|
|
padding: var( --space-xxs ) var( --space-xs );
|
|
font-size: var( --font-size-small );
|
|
font-weight: var( --font-weight-medium );
|
|
color: var( --color-base );
|
|
background-color: var( --color-surface-2 );
|
|
border-radius: var( --border-radius--small );
|
|
}
|
|
}
|
|
|
|
/* OtherResult.less */
|
|
.sdms-other-result {
|
|
&__meta {
|
|
color: var( --color-base--subtle );
|
|
}
|
|
|
|
&__extension {
|
|
font-weight: var( --font-weight-semibold );
|
|
}
|
|
}
|
|
|
|
/* SearchResults.less */
|
|
.sdms-search-results {
|
|
&__details {
|
|
&--expanded {
|
|
top: var( --space-md );
|
|
height: ~'calc( 100vh - var( --space-md ) * 2 )';
|
|
background-color: var( --color-surface-2 );
|
|
border-radius: var( --border-radius--large );
|
|
|
|
// Responsive handling
|
|
@media screen and ( max-width: @max-width-breakpoint-tablet ) {
|
|
position: fixed;
|
|
top: unset;
|
|
bottom: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
max-height: 40vh;
|
|
padding-bottom: var( --header-size ); // So that header won't hide the bottom
|
|
border-bottom-right-radius: 0;
|
|
border-bottom-left-radius: 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
&__details-dialog {
|
|
background-color: var( --color-surface-1 );
|
|
}
|
|
|
|
.sdms-search-result--highlighted {
|
|
&.sdms-image-result,
|
|
&.sdms-video-result {
|
|
border-color: var( --color-primary );
|
|
}
|
|
}
|
|
|
|
&__list-wrapper--collapsed {
|
|
// Responsive handling
|
|
@media screen and ( max-width: @max-width-breakpoint-tablet ) {
|
|
// Since the quickview card is a modal, we don't need the right margin anymore
|
|
margin-right: 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
/* QuickView.less */
|
|
.sdms-quick-view {
|
|
font-size: var( --font-size-small );
|
|
|
|
&__body {
|
|
.sd-icon {
|
|
color: var( --color-base--subtle );
|
|
}
|
|
}
|
|
|
|
&__cta {
|
|
font-weight: var( --font-weight-medium );
|
|
color: var( --color-primary );
|
|
background-color: var( --color-surface-2 );
|
|
border-color: var( --border-color-base );
|
|
border-radius: var( --border-radius--small );
|
|
|
|
&:hover {
|
|
color: var( --color-primary--hover );
|
|
background-color: var( --color-surface-2--hover );
|
|
border-color: var( --color-primary--hover );
|
|
}
|
|
|
|
&:active {
|
|
color: var( --color-primary--active );
|
|
background-color: var( --color-surface-2--active );
|
|
border-color: var( --color-primary--active );
|
|
}
|
|
|
|
&:focus {
|
|
border-color: var( --color-primary );
|
|
box-shadow: inset 0 0 0 1px var( --color-primary );
|
|
}
|
|
}
|
|
|
|
&__button {
|
|
background-color: var( --color-surface-1 );
|
|
|
|
.sd-icon {
|
|
color: var( --color-base );
|
|
}
|
|
|
|
&:hover,
|
|
&:focus {
|
|
.sd-icon {
|
|
color: var( --color-base--emphasized );
|
|
}
|
|
}
|
|
|
|
&:focus {
|
|
border-color: var( --color-primary );
|
|
}
|
|
}
|
|
}
|
|
|
|
/* Spinner.less */
|
|
.sdms-spinner {
|
|
& .sdms-spinner-bounce,
|
|
&::before,
|
|
&::after {
|
|
background-color: var( --color-base--subtle );
|
|
}
|
|
}
|
|
|
|
/* EmptyState.less */
|
|
.sdms-empty-state {
|
|
font-size: var( --font-size-x-large );
|
|
}
|
|
|
|
/* NoResults.less */
|
|
.sdms-no-results {
|
|
font-size: var( --font-size-x-large );
|
|
font-weight: var( --font-weight-semibold );
|
|
}
|
|
|
|
/* EndOfResults.less */
|
|
.sdms-end-of-results {
|
|
font-size: var( --font-size-medium );
|
|
font-weight: var( --font-weight-semibold );
|
|
color: var( --color-base--emphasized );
|
|
}
|
|
|
|
/* SearchFilters.less */
|
|
.sdms-search-filters {
|
|
// Should show a scroll bar on pointer device so user can scroll the tabs
|
|
@media screen and ( hover: hover ) {
|
|
scrollbar-width: thin;
|
|
|
|
&::-webkit-scrollbar {
|
|
display: block;
|
|
-webkit-appearance: initial;
|
|
}
|
|
}
|
|
|
|
.sd-select {
|
|
&__content {
|
|
color: var( --color-base--emphasized );
|
|
border-radius: var( --border-radius--small );
|
|
|
|
@media screen and ( min-width: @min-width-breakpoint-tablet ) {
|
|
font-size: var( --font-size-small );
|
|
}
|
|
|
|
&:hover {
|
|
background-color: var( --background-color-quiet--hover );
|
|
border-color: transparent;
|
|
}
|
|
|
|
&:focus {
|
|
border-color: var( --color-primary );
|
|
box-shadow: inset 0 0 0 1px var( --color-primary );
|
|
}
|
|
|
|
&:active {
|
|
background-color: var( --color-surface-1 );
|
|
border-color: var( --border-color-interactive );
|
|
}
|
|
}
|
|
|
|
&.sdms-search-filter--selected {
|
|
.sd-select__content {
|
|
font-weight: var( --font-weight-semibold );
|
|
color: var( --color-primary );
|
|
|
|
.sd-select__handle {
|
|
color: var( --color-primary );
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&__namespace {
|
|
border-radius: var( --border-radius--small );
|
|
|
|
@media screen and ( min-width: @min-width-breakpoint-tablet ) {
|
|
font-size: var( --font-size-small );
|
|
}
|
|
|
|
&--selected {
|
|
font-weight: var( --font-weight-semibold );
|
|
color: var( --color-primary );
|
|
|
|
&:hover {
|
|
color: var( --color-primary );
|
|
}
|
|
}
|
|
|
|
&:hover {
|
|
background-color: var( --background-color-quiet--hover );
|
|
}
|
|
|
|
&:focus {
|
|
border-color: var( --color-primary );
|
|
box-shadow: inset 0 0 0 1px var( --color-primary );
|
|
}
|
|
|
|
&:active {
|
|
background-color: var( --color-surface-1 );
|
|
border-color: var( --border-color-interactive );
|
|
}
|
|
}
|
|
|
|
.sdms-search-results-count {
|
|
@media screen and ( min-width: @min-width-breakpoint-tablet ) {
|
|
font-size: var( --font-size-small );
|
|
}
|
|
}
|
|
|
|
&__clear {
|
|
&--no-js {
|
|
@media screen and ( min-width: @min-width-breakpoint-tablet ) {
|
|
font-size: var( --font-size-small );
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.sdms-search-filters-wrapper--gradient {
|
|
&::after {
|
|
// TODO: Should really make this into a LESS variable or mixin since it is useful
|
|
background-image: linear-gradient( to right, rgba( 255, 255, 255, 0 ) 85%, var( --color-surface-0 ) 100% );
|
|
}
|
|
}
|
|
|
|
/* DidYouMean.less */
|
|
.sdms-did-you-mean a {
|
|
font-weight: var( --font-weight-semibold );
|
|
}
|
|
|
|
/* UserNotice.less */
|
|
.sdms-user-notice__title {
|
|
font-weight: var( --font-weight-semibold );
|
|
}
|
|
|
|
/* SearchError.less */
|
|
.sdms-error {
|
|
font-size: var( --font-size-x-large );
|
|
font-weight: var( --font-weight-semibold );
|
|
}
|