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:
parent
cfe7efd3ef
commit
dbc31a5d4e
@ -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 => {
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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} />}
|
||||||
|
|||||||
@ -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}
|
||||||
|
|||||||
@ -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">
|
||||||
|
|||||||
@ -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',
|
||||||
}}
|
}}
|
||||||
|
|||||||
@ -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()
|
||||||
) : (
|
) : (
|
||||||
|
|||||||
@ -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 ? (
|
||||||
|
|||||||
@ -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() && (
|
||||||
|
|||||||
@ -410,7 +410,7 @@ function PanelStudyBrowser({
|
|||||||
/>
|
/>
|
||||||
<Separator
|
<Separator
|
||||||
orientation="horizontal"
|
orientation="horizontal"
|
||||||
className="bg-black"
|
className="bg-background"
|
||||||
thickness="2px"
|
thickness="2px"
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
|
|||||||
@ -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}
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
@ -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 */}
|
||||||
|
|||||||
@ -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">
|
||||||
|
|||||||
@ -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 />
|
||||||
|
|||||||
@ -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>
|
||||||
// )}
|
// )}
|
||||||
|
|||||||
@ -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">
|
||||||
|
|||||||
@ -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>
|
||||||
// )}
|
// )}
|
||||||
|
|||||||
@ -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"
|
||||||
|
|||||||
@ -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>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@ -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>
|
||||||
// )}
|
// )}
|
||||||
|
|||||||
@ -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">
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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"
|
||||||
|
|||||||
@ -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`}
|
||||||
>
|
>
|
||||||
|
|||||||
@ -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"
|
||||||
|
|||||||
@ -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}
|
||||||
|
|||||||
@ -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 }) => (
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
|
|||||||
@ -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
|
||||||
)}
|
)}
|
||||||
|
|||||||
@ -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,
|
||||||
})}
|
})}
|
||||||
|
|||||||
@ -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"
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
|
|||||||
@ -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" />
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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}
|
||||||
|
|||||||
@ -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}
|
||||||
|
|||||||
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user