fix(colors): Replace hardcoded black with background color token (#5815)

* Update all black to background

* remove --canvas token, keep intentional bg-black

* Move bg-black from grid container to individual viewport panes

---------

Co-authored-by: Alireza <ar.sedghi@gmail.com>
This commit is contained in:
Dan Rukas 2026-02-12 13:12:36 -05:00 committed by GitHub
parent cfe7efd3ef
commit dbc31a5d4e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
39 changed files with 61 additions and 61 deletions

View File

@ -16,7 +16,7 @@ type DicomUploadProps = {
function DicomUpload({ dataSource, onComplete, onStarted }: DicomUploadProps): ReactElement { function DicomUpload({ dataSource, onComplete, onStarted }: DicomUploadProps): ReactElement {
const baseClassNames = const baseClassNames =
'min-h-[375px] flex flex-col bg-black select-none rounded-lg overflow-hidden'; 'min-h-[375px] flex flex-col bg-background select-none rounded-lg overflow-hidden';
const [dicomFileUploaderArr, setDicomFileUploaderArr] = useState([]); const [dicomFileUploaderArr, setDicomFileUploaderArr] = useState([]);
const onDrop = useCallback(async acceptedFiles => { const onDrop = useCallback(async acceptedFiles => {

View File

@ -372,7 +372,7 @@ function DicomUploadProgress({
return ( return (
<div className="flex grow flex-col"> <div className="flex grow flex-col">
{getNumCompletedAndTimeRemainingComponent()} {getNumCompletedAndTimeRemainingComponent()}
<div className="flex grow flex-col overflow-hidden bg-black text-lg"> <div className="flex grow flex-col overflow-hidden bg-background text-lg">
{getPercentCompleteComponent()} {getPercentCompleteComponent()}
<div className="ohif-scrollbar h-1 grow overflow-y-scroll px-2"> <div className="ohif-scrollbar h-1 grow overflow-y-scroll px-2">
{dicomFileUploaderArr {dicomFileUploaderArr

View File

@ -28,7 +28,7 @@ export default function PanelAccordionTrigger(props) {
<div className={`inline-flex text-base ${isActive ? 'bg-popover' : 'bg-muted'} flex-grow`}> <div className={`inline-flex text-base ${isActive ? 'bg-popover' : 'bg-muted'} flex-grow`}>
<button onClick={onClickDefault.bind(props)}> <button onClick={onClickDefault.bind(props)}>
<span <span
className={`inline-flex rounded-l border-r border-black ${isActive ? 'bg-highlight' : 'bg-muted'}`} className={`inline-flex rounded-l border-r border-background ${isActive ? 'bg-highlight' : 'bg-muted'}`}
> >
{count !== undefined ? <span className="px-2">{count}</span> : null} {count !== undefined ? <span className="px-2">{count}</span> : null}
{colorHex && <ColorCircle colorHex={colorHex} />} {colorHex && <ColorCircle colorHex={colorHex} />}

View File

@ -34,7 +34,7 @@ export default function SegmentationToolConfig() {
}; };
return ( return (
<div className="bg-muted flex flex-col gap-2 border-b border-b-[2px] border-black px-2 py-3"> <div className="bg-muted flex flex-col gap-2 border-b border-b-[2px] border-background px-2 py-3">
<div className="flex items-center gap-2"> <div className="flex items-center gap-2">
<Switch <Switch
checked={previewEdits} checked={previewEdits}

View File

@ -61,7 +61,7 @@ export function VolumeRenderingPresetsContent({ presets, viewportId, hide }: Pro
className={ className={
selectedPreset?.name === preset.name selectedPreset?.name === preset.name
? 'border-highlight h-[75px] w-[95px] max-w-none rounded border-2' ? 'border-highlight h-[75px] w-[95px] max-w-none rounded border-2'
: 'hover:border-highlight h-[75px] w-[95px] max-w-none rounded border-2 border-black' : 'hover:border-highlight h-[75px] w-[95px] max-w-none rounded border-2 border-background'
} }
/> />
<label className="text-muted-foreground mt-1 text-left text-xs"> <label className="text-muted-foreground mt-1 text-left text-xs">

View File

@ -66,7 +66,7 @@ function ViewportDownloadFormNew({
> >
{warningState.enabled && showWarningMessage && ( {warningState.enabled && showWarningMessage && (
<div <div
className="text-foreground absolute left-1/2 bottom-[5px] z-[1000] -translate-x-1/2 whitespace-nowrap rounded bg-black p-3 text-xs font-bold" className="text-foreground absolute left-1/2 bottom-[5px] z-[1000] -translate-x-1/2 whitespace-nowrap rounded bg-background p-3 text-xs font-bold"
style={{ style={{
fontSize: '12px', fontSize: '12px',
}} }}

View File

@ -100,7 +100,7 @@ function DataSourceConfigurationModalComponent({
const getSelectedItemBackgroundClasses = itemIndex => const getSelectedItemBackgroundClasses = itemIndex =>
itemIndex < selectedItems.length itemIndex < selectedItems.length
? classNames( ? classNames(
'bg-black/[.4]', 'bg-background/[.4]',
itemIndex !== itemLabels.length - 1 ? 'hover:bg-transparent active:bg-popover' : '' itemIndex !== itemLabels.length - 1 ? 'hover:bg-transparent active:bg-popover' : ''
) )
: 'bg-transparent'; : 'bg-transparent';
@ -121,7 +121,7 @@ function DataSourceConfigurationModalComponent({
<div className="text-highlight text-[20px]"> <div className="text-highlight text-[20px]">
{t(`Error fetching ${itemLabels[selectedItems.length]} list`)} {t(`Error fetching ${itemLabels[selectedItems.length]} list`)}
</div> </div>
<div className="grow bg-black p-4 text-[14px]">{errorMessage}</div> <div className="grow bg-background p-4 text-[14px]">{errorMessage}</div>
</div> </div>
); );
}; };
@ -180,7 +180,7 @@ function DataSourceConfigurationModalComponent({
return ( return (
<div className="flex h-[calc(100vh-300px)] select-none flex-col gap-4 pt-0.5"> <div className="flex h-[calc(100vh-300px)] select-none flex-col gap-4 pt-0.5">
{getSelectedItemsComponent()} {getSelectedItemsComponent()}
<div className="h-0.5 w-full shrink-0 bg-black"></div> <div className="h-0.5 w-full shrink-0 bg-background"></div>
{errorMessage ? ( {errorMessage ? (
getErrorComponent() getErrorComponent()
) : ( ) : (

View File

@ -44,7 +44,7 @@ function ItemListComponent({
<InputFilter.ClearButton className="text-primary mr-0.5 p-0.5" /> <InputFilter.ClearButton className="text-primary mr-0.5 p-0.5" />
</InputFilter> </InputFilter>
</div> </div>
<div className="relative flex min-h-[1px] grow flex-col bg-black text-[14px]"> <div className="relative flex min-h-[1px] grow flex-col bg-background text-[14px]">
{itemList == null ? ( {itemList == null ? (
<LoadingIndicatorProgress className={'h-full w-full'} /> <LoadingIndicatorProgress className={'h-full w-full'} />
) : itemList.length === 0 ? ( ) : itemList.length === 0 ? (

View File

@ -39,7 +39,7 @@ const RowComponent = ({
<div <div
style={{ ...style, ...rowStyle }} style={{ ...style, ...rowStyle }}
className={classNames( className={classNames(
'hover:bg-primary/25 border-input text-foreground flex w-full flex-row items-center break-all bg-black text-base', 'hover:bg-primary/25 border-input text-foreground flex w-full flex-row items-center break-all bg-background text-base',
lineHeightClassName lineHeightClassName
)} )}
key={keyPrefix} key={keyPrefix}
@ -281,7 +281,7 @@ function DicomTagTable({ rows }: { rows: Row[] }) {
valueRef={valueRef} valueRef={valueRef}
/> />
<div <div
className="relative m-auto border-2 border-black bg-black" className="relative m-auto border-2 border-background bg-background"
style={{ height: '32rem' }} style={{ height: '32rem' }}
> >
{isHeaderRendered() && ( {isHeaderRendered() && (

View File

@ -410,7 +410,7 @@ function PanelStudyBrowser({
/> />
<Separator <Separator
orientation="horizontal" orientation="horizontal"
className="bg-black" className="bg-background"
thickness="2px" thickness="2px"
/> />
</> </>

View File

@ -176,7 +176,7 @@ function ToolbarLayoutSelectorWithServices({
)} )}
{/* Right Side - Grid Layout */} {/* Right Side - Grid Layout */}
<div className="bg-muted flex flex-col gap-2.5 border-l-2 border-solid border-black p-2"> <div className="bg-muted flex flex-col gap-2.5 border-l-2 border-solid border-background p-2">
<div className="text-muted-foreground text-xs">{t('Custom')}</div> <div className="text-muted-foreground text-xs">{t('Custom')}</div>
<LayoutSelector.GridSelector <LayoutSelector.GridSelector
rows={rows} rows={rows}

View File

@ -9,7 +9,7 @@ import SidePanelWithServices from '../Components/SidePanelWithServices';
import { Onboarding, ResizablePanelGroup, ResizablePanel, ResizableHandle } from '@ohif/ui-next'; import { Onboarding, ResizablePanelGroup, ResizablePanel, ResizableHandle } from '@ohif/ui-next';
import useResizablePanels from './ResizablePanelsHook'; import useResizablePanels from './ResizablePanelsHook';
const resizableHandleClassName = 'mt-[1px] bg-black'; const resizableHandleClassName = 'mt-[1px] bg-background';
function ViewerLayout({ function ViewerLayout({
// From Extension Module Params // From Extension Module Params
@ -79,11 +79,11 @@ function ViewerLayout({
* is sized to our viewport. * is sized to our viewport.
*/ */
useEffect(() => { useEffect(() => {
document.body.classList.add('bg-black'); document.body.classList.add('bg-background');
document.body.classList.add('overflow-hidden'); document.body.classList.add('overflow-hidden');
return () => { return () => {
document.body.classList.remove('bg-black'); document.body.classList.remove('bg-background');
document.body.classList.remove('overflow-hidden'); document.body.classList.remove('overflow-hidden');
}; };
}, []); }, []);
@ -158,11 +158,11 @@ function ViewerLayout({
appConfig={appConfig} appConfig={appConfig}
/> />
<div <div
className="relative flex w-full flex-row flex-nowrap items-stretch overflow-hidden bg-black" className="relative flex w-full flex-row flex-nowrap items-stretch overflow-hidden bg-background"
style={{ height: 'calc(100vh - 52px' }} style={{ height: 'calc(100vh - 52px' }}
> >
<React.Fragment> <React.Fragment>
{showLoadingIndicator && <LoadingIndicatorProgress className="h-full w-full bg-black" />} {showLoadingIndicator && <LoadingIndicatorProgress className="h-full w-full bg-background" />}
<ResizablePanelGroup {...resizablePanelGroupProps}> <ResizablePanelGroup {...resizablePanelGroupProps}>
{/* LEFT SIDEPANELS */} {/* LEFT SIDEPANELS */}
{hasLeftPanels ? ( {hasLeftPanels ? (
@ -186,7 +186,7 @@ function ViewerLayout({
<ResizablePanel {...resizableViewportGridPanelProps}> <ResizablePanel {...resizableViewportGridPanelProps}>
<div className="flex h-full flex-1 flex-col"> <div className="flex h-full flex-1 flex-col">
<div <div
className="relative flex h-full flex-1 items-center justify-center overflow-hidden bg-black" className="relative flex h-full flex-1 items-center justify-center overflow-hidden bg-background"
onMouseEnter={handleMouseEnter} onMouseEnter={handleMouseEnter}
> >
<ViewportGridComp <ViewportGridComp

View File

@ -163,7 +163,7 @@ export default function PanelPetSUV() {
return ( return (
<> <>
<div className="ohif-scrollbar flex min-h-0 flex-auto select-none flex-col justify-between overflow-auto"> <div className="ohif-scrollbar flex min-h-0 flex-auto select-none flex-col justify-between overflow-auto">
<div className="flex min-h-0 flex-1 flex-col bg-black text-base"> <div className="flex min-h-0 flex-1 flex-col bg-background text-base">
<PanelSection defaultOpen={true}> <PanelSection defaultOpen={true}>
<PanelSection.Header>{t('Patient Information')}</PanelSection.Header> <PanelSection.Header>{t('Patient Information')}</PanelSection.Header>
<PanelSection.Content> <PanelSection.Content>

View File

@ -395,7 +395,7 @@ export default function USAnnotationPanel() {
* 🖼 Final Render */ * 🖼 Final Render */
return ( return (
<div <div
className="text-foreground h-full bg-black" className="text-foreground h-full bg-background"
style={{ minWidth: 240, maxWidth: 480, width: '100%' }} style={{ minWidth: 240, maxWidth: 480, width: '100%' }}
> >
{/* Workflow */} {/* Workflow */}

View File

@ -111,9 +111,9 @@ function Local({ modePath }: LocalProps) {
// Set body style // Set body style
useEffect(() => { useEffect(() => {
document.body.classList.add('bg-black'); document.body.classList.add('bg-background');
return () => { return () => {
document.body.classList.remove('bg-black'); document.body.classList.remove('bg-background');
}; };
}, []); }, []);
@ -139,7 +139,7 @@ function Local({ modePath }: LocalProps) {
<div className="space-y-2 py-6 text-center"> <div className="space-y-2 py-6 text-center">
{dropInitiated ? ( {dropInitiated ? (
<div className="flex flex-col items-center justify-center pt-12"> <div className="flex flex-col items-center justify-center pt-12">
<LoadingIndicatorProgress className={'h-full w-full bg-black'} /> <LoadingIndicatorProgress className={'h-full w-full bg-background'} />
</div> </div>
) : ( ) : (
<div className="space-y-2"> <div className="space-y-2">

View File

@ -13,7 +13,7 @@ const NotFound = ({
const navigate = useNavigate(); const navigate = useNavigate();
return ( return (
<div className="absolute flex h-full w-full items-center justify-center bg-black"> <div className="absolute flex h-full w-full items-center justify-center bg-background">
<div className="flex flex-col"> <div className="flex flex-col">
<div className="bg-background flex items-center justify-center rounded-t-2xl p-6"> <div className="bg-background flex items-center justify-center rounded-t-2xl p-6">
<Icons.IllustrationNotFound /> <Icons.IllustrationNotFound />

View File

@ -131,7 +131,7 @@ export default function ComponentShowcase() {
title="Colors and Typography" title="Colors and Typography"
description="Colors and Typography" description="Colors and Typography"
> >
<div className="text-foreground min-h-screen bg-black"> <div className="text-foreground min-h-screen bg-background">
<div className="mx-auto my-4 max-w-5xl pt-4 pb-6"> <div className="mx-auto my-4 max-w-5xl pt-4 pb-6">
{/* Navigation cards */} {/* Navigation cards */}
<div className="mb-8 grid grid-cols-1 gap-5 md:grid-cols-3"> <div className="mb-8 grid grid-cols-1 gap-5 md:grid-cols-3">
@ -396,7 +396,7 @@ function ShowcaseRow({ title, description, children, code }: ShowcaseRowProps) {
</div> </div>
</div> </div>
{showCode && ( {showCode && (
<pre className="border-input mt-4 overflow-x-auto rounded-md border bg-black p-4 text-sm"> <pre className="border-input mt-4 overflow-x-auto rounded-md border bg-background p-4 text-sm">
<code>{code}</code> <code>{code}</code>
</pre> </pre>
)} )}
@ -425,7 +425,7 @@ function ShowcaseRow({ title, description, children, code }: ShowcaseRowProps) {
// </div> // </div>
// <div className="showcase-content mb-4">{children}</div> // <div className="showcase-content mb-4">{children}</div>
// {showCode && ( // {showCode && (
// <pre className="mt-4 overflow-x-auto rounded-md bg-black p-4 text-sm"> // <pre className="mt-4 overflow-x-auto rounded-md bg-background p-4 text-sm">
// <code>{code}</code> // <code>{code}</code>
// </pre> // </pre>
// )} // )}

View File

@ -50,7 +50,7 @@ export default function ComponentsList() {
return ( return (
<TooltipProvider> <TooltipProvider>
<div className="text-foreground min-h-screen bg-black"> <div className="text-foreground min-h-screen bg-background">
<div className="mx-auto my-4 max-w-5xl pt-4 pb-6"> <div className="mx-auto my-4 max-w-5xl pt-4 pb-6">
{/* Navigation cards */} {/* Navigation cards */}
<div className="mb-8 grid grid-cols-1 gap-5 md:grid-cols-3"> <div className="mb-8 grid grid-cols-1 gap-5 md:grid-cols-3">

View File

@ -131,7 +131,7 @@ export default function ComponentShowcase() {
title="OHIF Viewer Design System" title="OHIF Viewer Design System"
description="OHIF Viewer Design System" description="OHIF Viewer Design System"
> >
<div className="text-foreground min-h-screen bg-black"> <div className="text-foreground min-h-screen bg-background">
<div className="mx-auto my-4 max-w-5xl pt-6 pb-3"> <div className="mx-auto my-4 max-w-5xl pt-6 pb-3">
<div className="grid grid-cols-1 gap-5 md:grid-cols-3"> <div className="grid grid-cols-1 gap-5 md:grid-cols-3">
<a <a
@ -227,7 +227,7 @@ function ShowcaseRow({ title, description, children, code }: ShowcaseRowProps) {
{/* Code Section */} {/* Code Section */}
{showCode && ( {showCode && (
<pre className="mt-4 overflow-x-auto rounded-md bg-black p-4 text-sm"> <pre className="mt-4 overflow-x-auto rounded-md bg-background p-4 text-sm">
<code>{code}</code> <code>{code}</code>
</pre> </pre>
)} )}
@ -256,7 +256,7 @@ function ShowcaseRow({ title, description, children, code }: ShowcaseRowProps) {
// </div> // </div>
// <div className="showcase-content mb-4">{children}</div> // <div className="showcase-content mb-4">{children}</div>
// {showCode && ( // {showCode && (
// <pre className="mt-4 overflow-x-auto rounded-md bg-black p-4 text-sm"> // <pre className="mt-4 overflow-x-auto rounded-md bg-background p-4 text-sm">
// <code>{code}</code> // <code>{code}</code>
// </pre> // </pre>
// )} // )}

View File

@ -58,7 +58,7 @@ export default function AllinOneMenuShowcase() {
description="A structured menu that consolidates controls and actions." description="A structured menu that consolidates controls and actions."
code={`<IconMenu icon="viewport-window-level" menuStyle={{ width: 212, maxHeight: 500 }}>…</IconMenu>`} code={`<IconMenu icon="viewport-window-level" menuStyle={{ width: 212, maxHeight: 500 }}>…</IconMenu>`}
> >
<div className="border-input/70 relative flex h-12 items-center rounded border bg-black px-4"> <div className="border-input/70 relative flex h-12 items-center rounded border bg-background px-4">
<IconMenu <IconMenu
icon="viewport-window-level" icon="viewport-window-level"
iconClassName="text-xl text-highlight hover:bg-primary/30 cursor-pointer rounded" iconClassName="text-xl text-highlight hover:bg-primary/30 cursor-pointer rounded"

View File

@ -40,7 +40,7 @@ export default function ShowcaseRow({ title, description, children, code }: Show
</div> </div>
</div> </div>
{showCode && ( {showCode && (
<pre className="border-input mt-4 overflow-x-auto rounded-md border bg-black p-4 text-sm"> <pre className="border-input mt-4 overflow-x-auto rounded-md border bg-background p-4 text-sm">
<code>{code}</code> <code>{code}</code>
</pre> </pre>
)} )}

View File

@ -26,7 +26,7 @@ export default function ComponentShowcase() {
title="Patterns" title="Patterns"
description="Patterns and example layouts" description="Patterns and example layouts"
> >
<div className="text-foreground min-h-screen bg-black"> <div className="text-foreground min-h-screen bg-background">
<div className="mx-auto my-4 max-w-5xl pt-4 pb-6"> <div className="mx-auto my-4 max-w-5xl pt-4 pb-6">
{/* Navigation cards */} {/* Navigation cards */}
<div className="mb-8 grid grid-cols-1 gap-5 md:grid-cols-3"> <div className="mb-8 grid grid-cols-1 gap-5 md:grid-cols-3">
@ -172,7 +172,7 @@ function ShowcaseRow({ title, description, children, code }: ShowcaseRowProps) {
</div> </div>
</div> </div>
{showCode && ( {showCode && (
<pre className="border-input mt-4 overflow-x-auto rounded-md border bg-black p-4 text-sm"> <pre className="border-input mt-4 overflow-x-auto rounded-md border bg-background p-4 text-sm">
<code>{code}</code> <code>{code}</code>
</pre> </pre>
)} )}
@ -201,7 +201,7 @@ function ShowcaseRow({ title, description, children, code }: ShowcaseRowProps) {
// </div> // </div>
// <div className="showcase-content mb-4">{children}</div> // <div className="showcase-content mb-4">{children}</div>
// {showCode && ( // {showCode && (
// <pre className="mt-4 overflow-x-auto rounded-md bg-black p-4 text-sm"> // <pre className="mt-4 overflow-x-auto rounded-md bg-background p-4 text-sm">
// <code>{code}</code> // <code>{code}</code>
// </pre> // </pre>
// )} // )}

View File

@ -49,7 +49,7 @@ export default function Measurements() {
return ( return (
<BrowserOnly> <BrowserOnly>
{() => ( {() => (
<div className="px-auto my-4 flex min-h-screen w-full justify-center bg-black py-12"> <div className="px-auto my-4 flex min-h-screen w-full justify-center bg-background py-12">
<TooltipProvider> <TooltipProvider>
{/* Simulated Panel List for "Segmentation" */} {/* Simulated Panel List for "Segmentation" */}
<div className="w-64 space-y-0"> <div className="w-64 space-y-0">

View File

@ -241,7 +241,7 @@ export default function SegmentationPanel() {
}; };
return ( return (
<div className="px-auto flex min-h-screen w-full justify-center bg-black py-12"> <div className="px-auto flex min-h-screen w-full justify-center bg-background py-12">
<div className="w-64 space-y-0"> <div className="w-64 space-y-0">
<TooltipProvider> <TooltipProvider>
<Accordion <Accordion

View File

@ -76,7 +76,7 @@ export default function TMTVPatterns() {
return ( return (
<BrowserOnly> <BrowserOnly>
{() => ( {() => (
<div className="px-auto my-4 flex min-h-screen w-full justify-center bg-black py-12"> <div className="px-auto my-4 flex min-h-screen w-full justify-center bg-background py-12">
<div className="w-64 space-y-0"> <div className="w-64 space-y-0">
<Accordion <Accordion
type="multiple" type="multiple"

View File

@ -255,7 +255,7 @@ const DataRowComponent = React.forwardRef<HTMLDivElement, DataRowProps>(
{/* Number Box */} {/* Number Box */}
{number !== null && ( {number !== null && (
<div <div
className={`flex h-7 max-h-7 w-7 flex-shrink-0 items-center justify-center rounded-l border-r border-black text-base ${ className={`flex h-7 max-h-7 w-7 flex-shrink-0 items-center justify-center rounded-l border-r border-background text-base ${
isSelected ? 'bg-highlight text-black' : 'bg-muted text-muted-foreground' isSelected ? 'bg-highlight text-black' : 'bg-muted text-muted-foreground'
} overflow-hidden`} } overflow-hidden`}
> >

View File

@ -92,7 +92,7 @@ export function DatePickerWithRange({
value={start} value={start}
onChange={e => handleInputChange(e, 'start')} onChange={e => handleInputChange(e, 'start')}
className={cn( className={cn(
'border-inputfield-main focus:border-inputfield-focus hover:text-foreground h-[32px] w-full justify-start rounded border bg-black py-[6.5px] pl-[6.5px] pr-[6.5px] text-left text-base font-normal hover:bg-black', 'border-inputfield-main focus:border-inputfield-focus hover:text-foreground h-[32px] w-full justify-start rounded border bg-background py-[6.5px] pl-[6.5px] pr-[6.5px] text-left text-base font-normal hover:bg-background',
!start && 'text-muted-foreground' !start && 'text-muted-foreground'
)} )}
data-cy="input-date-range-start" data-cy="input-date-range-start"
@ -129,7 +129,7 @@ export function DatePickerWithRange({
value={end} value={end}
onChange={e => handleInputChange(e, 'end')} onChange={e => handleInputChange(e, 'end')}
className={cn( className={cn(
'border-inputfield-main focus:border-inputfield-focus hover:text-foreground h-full w-full justify-start rounded border bg-black py-[6.5px] pl-[6.5px] pr-[6.5px] text-left text-base font-normal hover:bg-black', 'border-inputfield-main focus:border-inputfield-focus hover:text-foreground h-full w-full justify-start rounded border bg-background py-[6.5px] pl-[6.5px] pr-[6.5px] text-left text-base font-normal hover:bg-background',
!end && 'text-muted-foreground' !end && 'text-muted-foreground'
)} )}
data-cy="input-date-range-end" data-cy="input-date-range-end"

View File

@ -54,7 +54,7 @@ const DialogOverlay = React.forwardRef<
<div <div
ref={ref} ref={ref}
className={cn( className={cn(
'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-40 bg-black/60', 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-40 bg-background/60',
className className
)} )}
{...props} {...props}

View File

@ -332,7 +332,7 @@ const GridSelector = ({ rows = 3, columns = 4, className }: GridSelectorProps) =
}; };
const Divider = ({ className }: { className?: string }) => ( const Divider = ({ className }: { className?: string }) => (
<div className={cn('h-px bg-black', className)}></div> <div className={cn('h-px bg-background', className)}></div>
); );
const HelpText = ({ children, className }: { children: React.ReactNode; className?: string }) => ( const HelpText = ({ children, className }: { children: React.ReactNode; className?: string }) => (

View File

@ -17,7 +17,7 @@ const NavBar = ({
return ( return (
<div <div
className={classnames( className={classnames(
'bg-popover z-20 border-black px-1', 'bg-popover z-20 border-background px-1',
isSticky && stickyClasses, isSticky && stickyClasses,
!isSticky && notStickyClasses, !isSticky && notStickyClasses,
className className

View File

@ -26,7 +26,7 @@ function PresetBody({ children, className }: PresetBodyProps) {
<div <div
className={cn( className={cn(
// Adjust these classes for your desired look // Adjust these classes for your desired look
'border-foreground/10 flex min-h-0 flex-1 flex-col rounded-md border bg-black p-2', 'border-foreground/10 flex min-h-0 flex-1 flex-col rounded-md border bg-background p-2',
className className
)} )}
> >

View File

@ -41,7 +41,7 @@ function ImageVisual({ children, className }: ImageVisualProps) {
return ( return (
<div <div
className={cn( className={cn(
'flex-1 items-center justify-center rounded-2xl bg-black/80 p-4 sm:flex-[7]', 'flex-1 items-center justify-center rounded-2xl bg-background/80 p-4 sm:flex-[7]',
'flex', // ensure the container is a flex box 'flex', // ensure the container is a flex box
className className
)} )}

View File

@ -10,7 +10,7 @@ const ProgressDiscreteBar = ({ options }: { options: ProgressDropdownOption[] })
<div <div
key={i} key={i}
className={classnames('mr-1 h-1 grow first:rounded-l-sm last:mr-0 last:rounded-r-sm', { className={classnames('mr-1 h-1 grow first:rounded-l-sm last:mr-0 last:rounded-r-sm', {
'bg-black': !option.activated && !option.completed, 'bg-background': !option.activated && !option.completed,
'bg-primary/40': option.activated && !option.completed, 'bg-primary/40': option.activated && !option.completed,
'bg-highlight': option.completed, 'bg-highlight': option.completed,
})} })}

View File

@ -58,7 +58,7 @@ const closeIconWidth = 30;
const gridHorizontalPadding = 10; const gridHorizontalPadding = 10;
const tabSpacerWidth = 2; const tabSpacerWidth = 2;
const baseClasses = 'bg-black border-black justify-start box-content flex flex-col'; const baseClasses = 'bg-background border-background justify-start box-content flex flex-col';
const openStateIconName = { const openStateIconName = {
left: 'SidePanelCloseLeft', left: 'SidePanelCloseLeft',
@ -447,7 +447,7 @@ const SidePanel = ({
</div> </div>
<Separator <Separator
orientation="horizontal" orientation="horizontal"
className="bg-black" className="bg-background"
thickness="2px" thickness="2px"
/> />
</> </>

View File

@ -55,13 +55,13 @@ export function StudyBrowserSort({ servicesManager }: withAppTypes) {
<DropdownMenu> <DropdownMenu>
<Tooltip> <Tooltip>
<TooltipTrigger className="w-full overflow-hidden"> <TooltipTrigger className="w-full overflow-hidden">
<DropdownMenuTrigger className="border-input focus:border-input text-foreground flex h-[26px] w-full items-center justify-start overflow-hidden whitespace-nowrap rounded border bg-black p-2 text-base"> <DropdownMenuTrigger className="border-input focus:border-input text-foreground flex h-[26px] w-full items-center justify-start overflow-hidden whitespace-nowrap rounded border bg-background p-2 text-base">
{selectedSort.label} {selectedSort.label}
</DropdownMenuTrigger> </DropdownMenuTrigger>
</TooltipTrigger> </TooltipTrigger>
<TooltipContent>{selectedSort.label}</TooltipContent> <TooltipContent>{selectedSort.label}</TooltipContent>
</Tooltip> </Tooltip>
<DropdownMenuContent className="bg-black"> <DropdownMenuContent className="bg-background">
{sortFunctions.map(sort => ( {sortFunctions.map(sort => (
<DropdownMenuItem <DropdownMenuItem
key={sort.label} key={sort.label}
@ -77,7 +77,7 @@ export function StudyBrowserSort({ servicesManager }: withAppTypes) {
<TooltipTrigger> <TooltipTrigger>
<button <button
onClick={toggleSortDirection} onClick={toggleSortDirection}
className="flex h-[26px] items-center justify-center bg-black" className="flex h-[26px] items-center justify-center bg-background"
> >
{sortDirection === 'ascending' ? ( {sortDirection === 'ascending' ? (
<Icons.SortingAscending className="text-primary w-2" /> <Icons.SortingAscending className="text-primary w-2" />

View File

@ -18,13 +18,13 @@ export function StudyBrowserViewOptions({ tabs, onSelectTab, activeTabName }: wi
<DropdownMenu> <DropdownMenu>
<Tooltip> <Tooltip>
<TooltipTrigger className="w-full w-[50%] overflow-hidden"> <TooltipTrigger className="w-full w-[50%] overflow-hidden">
<DropdownMenuTrigger className="border-input focus:border-input text-foreground flex h-[26px] w-full items-center justify-start rounded border bg-black p-2 text-base"> <DropdownMenuTrigger className="border-input focus:border-input text-foreground flex h-[26px] w-full items-center justify-start rounded border bg-background p-2 text-base">
{activeTab?.label} {activeTab?.label}
</DropdownMenuTrigger> </DropdownMenuTrigger>
</TooltipTrigger> </TooltipTrigger>
<TooltipContent>{activeTab?.label}</TooltipContent> <TooltipContent>{activeTab?.label}</TooltipContent>
</Tooltip> </Tooltip>
<DropdownMenuContent className="bg-black"> <DropdownMenuContent className="bg-background">
{tabs.map(tab => { {tabs.map(tab => {
const { name, label, studies } = tab; const { name, label, studies } = tab;
const isActive = activeTabName === name; const isActive = activeTabName === name;

View File

@ -67,7 +67,7 @@ const Thumbnail = ({
)} )}
> >
<div className="h-[114px] w-[128px]"> <div className="h-[114px] w-[128px]">
<div className="relative bg-black"> <div className="relative bg-background">
{imageSrc ? ( {imageSrc ? (
<img <img
src={imageSrc} src={imageSrc}

View File

@ -58,7 +58,7 @@ function ViewportPane({
onScroll={onInteractionHandler} onScroll={onInteractionHandler}
onWheel={onInteractionHandler} onWheel={onInteractionHandler}
className={classNames( className={classNames(
'group/pane relative h-full w-full overflow-hidden transition duration-300', 'group/pane relative h-full w-full overflow-hidden bg-black transition duration-300',
className className
)} )}
style={customStyle} style={customStyle}

View File

@ -12,7 +12,7 @@
--neutral: 213 22% 59%; --neutral: 213 22% 59%;
--neutral-light: 214 69% 81%; --neutral-light: 214 69% 81%;
--neutral-dark: 214 16% 21%; --neutral-dark: 214 16% 21%;
--background: 236 62% 5%; --background: 0 0% 0%;
--foreground: 0 0% 98%; --foreground: 0 0% 98%;
--card: 234 64% 10%; --card: 234 64% 10%;
--card-foreground: 0 0% 98%; --card-foreground: 0 0% 98%;
@ -215,7 +215,7 @@
} }
body { body {
@apply !bg-black; @apply !bg-background;
} }
} }