Path: blob/main/src/vs/workbench/contrib/imageCarousel/browser/media/imageCarousel.css
13405 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45.image-carousel-editor {6width: 100%;7height: 100%;8display: flex;9flex-direction: column;10overflow: hidden;11}1213.image-carousel-editor .empty-message {14display: flex;15align-items: center;16justify-content: center;17height: 100%;18color: var(--vscode-descriptionForeground);19font-size: 14px;20}2122.image-carousel-editor .slideshow-container {23display: flex;24flex-direction: column;25height: 100%;26gap: 8px;27overflow: hidden;28}2930.image-carousel-editor .slideshow-container:focus,31.image-carousel-editor .slideshow-container:focus-visible {32outline: none !important;33}3435/* Image viewing area */36.image-carousel-editor .image-area {37flex: 1;38min-height: 0;39position: relative;40display: flex;41align-items: center;42justify-content: center;43overflow: hidden;44}4546.image-carousel-editor .main-image-container {47width: 100%;48height: 100%;49display: flex;50overflow: hidden;51cursor: zoom-in;52}5354.image-carousel-editor .main-image-container.zoom-out {55cursor: zoom-out;56}5758.image-carousel-editor .main-image-container.zoomed {59overflow: auto;60padding: 0;61scrollbar-color: var(--vscode-scrollbarSlider-background) transparent;62}6364.image-carousel-editor .main-image-container.zoomed::-webkit-scrollbar {65width: 10px;66height: 10px;67}6869.image-carousel-editor .main-image-container.zoomed::-webkit-scrollbar-thumb {70background-color: var(--vscode-scrollbarSlider-background);71}7273.image-carousel-editor .main-image-container.zoomed::-webkit-scrollbar-thumb:hover {74background-color: var(--vscode-scrollbarSlider-hoverBackground);75}7677.image-carousel-editor .main-image-container.zoomed::-webkit-scrollbar-thumb:active {78background-color: var(--vscode-scrollbarSlider-activeBackground);79}8081.image-carousel-editor .main-image {82border-radius: 4px;83margin: auto;84}8586.image-carousel-editor .video-container {87width: 100%;88height: 100%;89border-radius: 4px;90overflow: hidden;91}9293.image-carousel-editor .main-image.scale-to-fit {94max-width: 100%;95max-height: 100%;96object-fit: contain;97}9899.image-carousel-editor .main-image.pixelated {100image-rendering: pixelated;101}102103/* Overlay navigation arrows */104.image-carousel-editor .nav-arrow {105position: absolute;106top: 50%;107transform: translateY(-50%);108width: 32px;109height: 32px;110display: flex;111align-items: center;112justify-content: center;113background: var(--vscode-toolbar-hoverBackground);114color: var(--vscode-foreground);115border: none;116border-radius: 50%;117cursor: pointer;118opacity: 0;119transition: opacity 0.15s ease;120z-index: 1;121}122123.monaco-workbench.monaco-reduce-motion .image-carousel-editor .nav-arrow {124transition: none;125}126.image-carousel-editor .slideshow-container:hover .nav-arrow:not(:disabled) {127opacity: 0.8;128}129130.image-carousel-editor .slideshow-container:hover .nav-arrow:disabled {131opacity: 0.3;132}133134.image-carousel-editor .nav-arrow:hover:not(:disabled) {135opacity: 1 !important;136background: var(--vscode-toolbar-activeBackground);137color: var(--vscode-foreground);138}139140.image-carousel-editor .nav-arrow:focus-visible:not(:disabled) {141opacity: 1 !important;142outline: 1px solid var(--vscode-focusBorder);143outline-offset: -1px;144}145146.image-carousel-editor .nav-arrow:disabled {147cursor: default;148}149150.image-carousel-editor .nav-arrow.prev-arrow {151left: 8px;152}153154.image-carousel-editor .nav-arrow.next-arrow {155right: 8px;156}157158/* Bottom bar: caption + counter + thumbnails */159.image-carousel-editor .bottom-bar {160display: flex;161flex-direction: column;162align-items: center;163gap: 2px;164padding: 4px 0 8px;165flex-shrink: 0;166min-width: 0;167max-width: 100%;168}169170/* Extra gap before thumbnails */171.image-carousel-editor .bottom-bar .sections-container {172margin-top: 4px;173}174175/* Info bar: caption · counter */176.image-carousel-editor .image-info-bar {177text-align: center;178color: var(--vscode-descriptionForeground);179font-size: 12px;180padding: 0 24px;181min-height: 16px;182}183184.image-carousel-editor .caption-separator::before {185content: '\00b7';186margin: 0 6px;187opacity: 0.6;188}189190.image-carousel-editor .image-counter {191opacity: 0.7;192}193194/* Sections container — flat horizontal thumbnail strip */195.image-carousel-editor .sections-container {196display: flex;197flex-direction: row;198align-items: center;199gap: 6px;200overflow-x: auto;201justify-content: center;202justify-content: safe center;203padding: 0;204flex-shrink: 0;205min-width: 0;206max-width: 100%;207scrollbar-width: none;208}209210.image-carousel-editor .sections-container::-webkit-scrollbar {211display: none;212}213214/* Subtle separator between sections */215.image-carousel-editor .thumbnail-separator {216width: 1px;217height: 24px;218background: var(--vscode-editorWidget-border, var(--vscode-widget-border));219opacity: 0.4;220flex-shrink: 0;221margin: 0 6px;222}223224.image-carousel-editor .thumbnail {225width: 48px;226height: 48px;227border: 2px solid transparent;228border-radius: 4px;229overflow: hidden;230cursor: pointer;231transition: border-color 0.15s ease, opacity 0.15s ease;232flex-shrink: 0;233opacity: 0.6;234padding: 0;235background: none;236}237238.image-carousel-editor .thumbnail:hover {239opacity: 1;240border-color: var(--vscode-focusBorder);241}242243.image-carousel-editor .thumbnail:focus-visible {244opacity: 1;245outline: 1px solid var(--vscode-focusBorder);246outline-offset: 1px;247}248249.image-carousel-editor .thumbnail.active {250opacity: 1;251border-color: var(--vscode-focusBorder);252}253254.image-carousel-editor .thumbnail.broken {255display: flex;256align-items: center;257justify-content: center;258background: var(--vscode-editor-background);259}260261.image-carousel-editor .thumbnail-broken-icon {262font-size: 20px;263color: var(--vscode-descriptionForeground);264}265266.image-carousel-editor .thumbnail-image {267width: 100%;268height: 100%;269object-fit: cover;270pointer-events: none;271}272273/* Video thumbnail: play icon centered in a dark background */274.image-carousel-editor .thumbnail.video-thumbnail {275display: flex;276align-items: center;277justify-content: center;278background: var(--vscode-editor-background);279}280281.image-carousel-editor .thumbnail-play-icon {282font-size: 20px;283color: var(--vscode-descriptionForeground);284}285286/* Visually hidden but available to screen readers */287.image-carousel-editor .sr-only {288position: absolute;289width: 1px;290height: 1px;291padding: 0;292margin: -1px;293overflow: hidden;294clip: rect(0, 0, 0, 0);295white-space: nowrap;296border: 0;297}298299300