From 1801a217e3592614c9e931b5ee1d698443d2b65c Mon Sep 17 00:00:00 2001 From: Dan Rukas Date: Tue, 12 Nov 2024 12:33:09 -0500 Subject: [PATCH] ui(components): updated component font sizes and design component docs (#4486) --- platform/app/tailwind.config.js | 22 +- platform/docs/docusaurus.config.js | 27 +- platform/docs/src/css/custom.css | 4 +- platform/docs/src/pages/colors-and-type.tsx | 418 +++++++++++ platform/docs/src/pages/components-list.tsx | 651 ++++++++++++++++ platform/docs/src/pages/components.tsx | 265 +++++++ platform/docs/src/pages/patterns.tsx | 321 ++++++++ .../src/pages/patterns/DataRowExample.tsx | 91 +++ .../pages/patterns/patterns-measurements.tsx | 147 ++-- .../pages/patterns/patterns-segmentation.tsx | 2 +- .../docs/src/pages/patterns/patterns-tmtv.tsx | 3 +- platform/docs/src/pages/playground.tsx | 27 - platform/docs/src/pages/ui-playground.tsx | 699 ------------------ .../docs/static/img/patterns-measurements.png | Bin 0 -> 89208 bytes .../docs/static/img/patterns-segmentation.png | Bin 0 -> 103078 bytes platform/docs/tailwind.config.js | 22 +- .../src/components/Accordion/Accordion.tsx | 4 +- .../ui-next/src/components/Button/Button.tsx | 4 +- .../src/components/Calendar/Calendar.tsx | 2 +- platform/ui-next/src/components/Card/Card.tsx | 75 ++ platform/ui-next/src/components/Card/index.ts | 2 + .../src/components/Command/Command.tsx | 10 +- .../src/components/DataRow/DataRow.tsx | 22 +- .../src/components/DateRange/DateRange.tsx | 4 +- .../ui-next/src/components/Dialog/Dialog.tsx | 6 +- .../DisplaySetMessageListTooltip.tsx | 4 +- .../components/DropdownMenu/DropdownMenu.tsx | 12 +- .../ui-next/src/components/Input/Input.tsx | 2 +- .../ui-next/src/components/Label/Label.tsx | 2 +- .../src/components/Onboarding/Onboarding.css | 4 +- .../src/components/Onboarding/utilities.ts | 2 +- .../ui-next/src/components/Select/Select.tsx | 6 +- .../StudyBrowserSort/StudyBrowserSort.tsx | 2 +- .../StudyBrowserViewOptions.tsx | 2 +- platform/ui-next/src/components/Tabs/Tabs.tsx | 2 +- .../src/components/Tooltip/Tooltip.tsx | 2 +- platform/ui-next/src/components/index.ts | 7 + platform/ui-next/src/index.ts | 12 + platform/ui-next/src/tailwind.css | 4 +- platform/ui-next/tailwind.config.js | 26 +- .../StudyListFilter/StudyListFilter.tsx | 17 +- .../src/components/Typography/Typography.tsx | 3 +- 42 files changed, 2034 insertions(+), 903 deletions(-) create mode 100644 platform/docs/src/pages/colors-and-type.tsx create mode 100644 platform/docs/src/pages/components-list.tsx create mode 100644 platform/docs/src/pages/components.tsx create mode 100644 platform/docs/src/pages/patterns.tsx create mode 100644 platform/docs/src/pages/patterns/DataRowExample.tsx delete mode 100644 platform/docs/src/pages/playground.tsx delete mode 100644 platform/docs/src/pages/ui-playground.tsx create mode 100644 platform/docs/static/img/patterns-measurements.png create mode 100644 platform/docs/static/img/patterns-segmentation.png create mode 100644 platform/ui-next/src/components/Card/Card.tsx create mode 100644 platform/ui-next/src/components/Card/index.ts diff --git a/platform/app/tailwind.config.js b/platform/app/tailwind.config.js index 8837fff20..1ba323991 100644 --- a/platform/app/tailwind.config.js +++ b/platform/app/tailwind.config.js @@ -39,16 +39,18 @@ module.exports = { mono: ['Menlo', 'Monaco', 'Consolas', '"Liberation Mono"', '"Courier New"', 'monospace'], }, fontSize: { - xxs: '0.6875rem', // 11px - xs: '0.75rem', // 12px - sm: '0.8125rem', // 13px - base: '0.875rem', // 14px - lg: '1rem', // 16px - xl: '1.125rem', // 18px - '2xl': '1.25rem', // 20px - '3xl': '1.375rem', // 22px - '4xl': '1.5rem', // 24px - '5xl': '1.875rem', // 30px + xxs: '0.625rem', // 10px + xs: '0.6875rem', // 11px + sm: '0.75rem', // 12px + base: '0.8125rem', // 13px + lg: '0.875rem', // 14px + xl: '1rem', // 16px + // 2xl and above will be updated in an upcoming version + '2xl': '1.5rem', + '3xl': '1.875rem', + '4xl': '2.25rem', + '5xl': '3rem', + '6xl': '4rem', }, }, }; diff --git a/platform/docs/docusaurus.config.js b/platform/docs/docusaurus.config.js index 092b18377..e52508796 100644 --- a/platform/docs/docusaurus.config.js +++ b/platform/docs/docusaurus.config.js @@ -157,12 +157,6 @@ module.exports = { srcDark: 'img/ohif-logo.svg', }, items: [ - { - href: 'https://ohif.org/showcase', - label: 'Showcase', - target: '_blank', - position: 'left', - }, { position: 'left', to: '/', @@ -170,25 +164,28 @@ module.exports = { docId: 'Introduction', label: 'Docs', }, + { + to: '/components', + label: 'Components', + position: 'left', + }, + { + href: 'https://ohif.org/showcase', + label: 'Showcase', + target: '_blank', + position: 'left', + }, { href: 'https://ohif.org/collaborate', label: 'Collaborate', target: '_blank', position: 'left', }, - /* - { - to: '/playground', - label: 'UI Playground', - position: 'left', - className: 'new-badge', - }, - */ { to: '/help', //activeBaseRegex: '(^/help$)|(/help)', label: 'Help', - position: 'right', + position: 'left', }, { type: 'docsVersionDropdown', diff --git a/platform/docs/src/css/custom.css b/platform/docs/src/css/custom.css index 5d7b1b8eb..75b488090 100644 --- a/platform/docs/src/css/custom.css +++ b/platform/docs/src/css/custom.css @@ -233,7 +233,9 @@ input[type='number'] { } .navbar__item svg { - margin-left: 5px; + margin-right: 5px; + display: inline-block; + vertical-align: middle; } /* stylelint-disable docusaurus/copyright-header */ diff --git a/platform/docs/src/pages/colors-and-type.tsx b/platform/docs/src/pages/colors-and-type.tsx new file mode 100644 index 000000000..8aad79e03 --- /dev/null +++ b/platform/docs/src/pages/colors-and-type.tsx @@ -0,0 +1,418 @@ +import React, { useState } from 'react'; +import '../css/custom.css'; + +import Layout from '@theme/Layout'; +import { Label } from '../../../ui-next/src/components/Label'; +import { Input } from '../../../ui-next/src/components/Input'; +import { Separator } from '../../../ui-next/src/components/Separator'; +import { Tabs, TabsList, TabsTrigger } from '../../../ui-next/src/components/Tabs'; +import { + Select, + SelectTrigger, + SelectContent, + SelectItem, + SelectValue, +} from '../../../ui-next/src/components/Select'; +import { Button } from '../../../ui-next/src/components/Button'; +import { Switch } from '../../../ui-next/src/components/Switch'; +import { Checkbox } from '../../../ui-next/src/components/Checkbox'; +import { Toggle } from '../../../ui-next/src/components/Toggle'; +import { Slider } from '../../../ui-next/src/components/Slider'; +import { ScrollArea } from '../../../ui-next/src/components/ScrollArea'; +import { + DropdownMenu, + DropdownMenuTrigger, + DropdownMenuContent, + DropdownMenuItem, +} from '../../../ui-next/src/components/DropdownMenu'; +import { Icons } from '../../../ui-next/src/components/Icons'; +import { Toaster, toast } from '../../../ui-next/src/components/Sonner'; +import { + Card, + CardHeader, + CardFooter, + CardTitle, + CardDescription, + CardContent, +} from '../../../ui-next/src/components/Card'; + +interface ShowcaseRowProps { + title: string; + description?: string; + children: React.ReactNode; + code: string; +} + +export default function ComponentShowcase() { + // Handlers to trigger different types of toasts + const triggerSuccess = () => { + toast.success('This is a success toast!'); + }; + + const triggerError = () => { + toast.error('This is an error toast!'); + }; + + const triggerInfo = () => { + toast.info('This is an info toast!'); + }; + + const triggerWarning = () => { + toast.warning('This is a warning toast!'); + }; + + // Handler to trigger a toast.promise example + const triggerPromiseToast = () => { + const promise = () => + new Promise<{ name: string }>(resolve => + setTimeout(() => resolve({ name: 'Segmentation 1' }), 3000) + ); + + toast.promise(promise(), { + loading: 'Loading Segmentation...', + success: data => `${data.name} has been added`, + error: 'Error', + }); + }; + + // Handler to trigger a toast with description + const triggerDescriptionToast = () => { + toast.success('Success heading', { + description: 'This is a detailed description of the success message.', + }); + }; + + // Handler to trigger a toast with an action button + const triggerActionButtonToast = () => { + toast.info('No active segmentation detected', { + description: 'Create a segmentation before using the Brush', + }); + }; + + // Handler to trigger a toast with a cancel button + const triggerCancelButtonToast = () => { + toast.error('No active segmentation detected', { + description: 'Create a segmentation before using the Brush', + }); + }; + + // Handler to trigger a toast with both action and cancel buttons + const triggerCombinedToast = () => { + toast.warning('Warning!', { + description: 'This is a warning with both action and cancel buttons.', + action: ( + + ), + cancel: ( + + ), + }); + }; + + // Handler to trigger a loading toast using Toaster's default loading icon + const showLoadingToast = () => { + toast.loading('Loading your data...'); + }; + + return ( + +
+
+
+ + + + + + Colors & Typography + + + Color Palette and Typography Guidelines + + + + + + + + + + Components + + + Essential UI Components with Variants + + + + + + + + + + Patterns + + + Component-Based Layout Examples + + + + +
+
+ +
+

Colors & Typography

+ + +
+
+
+
+ highlight +
+
+
+
+ Used for active or selected elements in the Viewer. +
+
+ +
+
+
+
+ primary +
+
+
+
+ Used for Actions. Icons use 'primary' at 100% opacity while various components will + use a reduced opacity. Hover and other states increase the opacity. +
+
+ +
+
+
+
+ popover +
+
+
+ muted +
+
+
+ background +
+
+
+ These three colors are used as background colors. For the lowest level above black + use 'background'. For normal panel backgrounds and other interactive components, use + 'muted'. For elements such as menus and popovers, use 'popover'. +
+
+ +
+
+
+
+ foreground +
+
+
+ muted-foreground +
+
+
+ For primary and important text, use 'foreground'. When secondary text is available, + use 'muted-foreground' to create separation and readability. +
+
+
+ + +
+
+
+ text-base + 13px +
+
+
+
+ text-base is used as the base font size of the Viewer interface. Use when putting + text in panels or other interface elements next to medical images. +
+
+ +
+
+
+ text-lg + 14px +
+
+
+
+ text-lg can be used for dialog text or important messaging text within the Viewer. + Use this font size for easier reading on other standard text pages. +
+
+ +
+
+
+ text-xl + 16px +
+
+
+
+ text-xl can be used as headings within dialogs or messaging. +
+
+ +
+
+
+ text-2xl + 18px +
+
+
+
+ text-2xl can be used for page headers in the Viewer application or as dialog titles. +
+
+ +
+
+
+ text-3xl + 20px +
+
+
+
+ text-3xl can be used for extra large text size in the application. +
+
+ +
+
+
+ text-sm + 12px +
+
+
+
+ text-sm can be used for details that do not need to be standard sizes in the Viewer. +
+
+
+
+
+
+ ); +} + +function ShowcaseRow({ title, description, children, code }: ShowcaseRowProps) { + const [showCode, setShowCode] = useState(false); + + return ( +
+
+
+

{title}

+
+ +
+
+
+ {description &&

{description}

} +
+
+
{children}
+
+
+ {showCode && ( +
+          {code}
+        
+ )} +
+ ); +} + +// function ShowcaseRow({ title, description, children, code }: ShowcaseRowProps) { +// const [showCode, setShowCode] = useState(false); + +// return ( +//
+//
+//
+//

{title}

+// {description &&

{description}

} +//
+// +//
+//
{children}
+// {showCode && ( +//
+//           {code}
+//         
+// )} +//
+// ); +// } diff --git a/platform/docs/src/pages/components-list.tsx b/platform/docs/src/pages/components-list.tsx new file mode 100644 index 000000000..3888fc0b9 --- /dev/null +++ b/platform/docs/src/pages/components-list.tsx @@ -0,0 +1,651 @@ +import React, { useState } from 'react'; +import '../css/custom.css'; + +import Layout from '@theme/Layout'; +import { Label } from '../../../ui-next/src/components/Label'; +import { Input } from '../../../ui-next/src/components/Input'; +import { Separator } from '../../../ui-next/src/components/Separator'; +import { Tabs, TabsList, TabsTrigger } from '../../../ui-next/src/components/Tabs'; +import { + Select, + SelectTrigger, + SelectContent, + SelectItem, + SelectValue, +} from '../../../ui-next/src/components/Select'; +import { Button } from '../../../ui-next/src/components/Button'; +import { Switch } from '../../../ui-next/src/components/Switch'; +import { Checkbox } from '../../../ui-next/src/components/Checkbox'; +import { Toggle } from '../../../ui-next/src/components/Toggle'; +import { Slider } from '../../../ui-next/src/components/Slider'; +import { ScrollArea } from '../../../ui-next/src/components/ScrollArea'; +import { + DropdownMenu, + DropdownMenuTrigger, + DropdownMenuContent, + DropdownMenuItem, +} from '../../../ui-next/src/components/DropdownMenu'; +import { Icons } from '../../../ui-next/src/components/Icons'; +import { Toaster, toast } from '../../../ui-next/src/components/Sonner'; +import { DataRow } from '../../../ui-next/src/components/DataRow'; +import DataRowExample from './patterns/DataRowExample'; +import { + Card, + CardHeader, + CardFooter, + CardTitle, + CardDescription, + CardContent, +} from '../../../ui-next/src/components/Card'; + +interface ShowcaseRowProps { + title: string; + description?: string; + children: React.ReactNode; + code: string; +} + +export default function ComponentShowcase() { + // Handlers to trigger different types of toasts + const triggerSuccess = () => { + toast.success('This is a success toast!'); + }; + + const triggerError = () => { + toast.error('This is an error toast!'); + }; + + const triggerInfo = () => { + toast.info('This is an info toast!'); + }; + + const triggerWarning = () => { + toast.warning('This is a warning toast!'); + }; + + // Handler to trigger a toast.promise example + const triggerPromiseToast = () => { + const promise = () => + new Promise<{ name: string }>(resolve => + setTimeout(() => resolve({ name: 'Segmentation 1' }), 3000) + ); + + toast.promise(promise(), { + loading: 'Loading Segmentation...', + success: data => `${data.name} has been added`, + error: 'Error', + }); + }; + + // Handler to trigger a toast with description + const triggerDescriptionToast = () => { + toast.success('Completed', { + description: 'This is a detailed description of the success message.', + }); + }; + + // Handler to trigger a toast with an action button + const triggerActionButtonToast = () => { + toast.info('No active segmentation detected', { + description: 'Create a segmentation before using the Brush', + }); + }; + + // Handler to trigger a toast with a cancel button + const triggerCancelButtonToast = () => { + toast.error('No active segmentation detected', { + description: 'Create a segmentation before using the Brush', + }); + }; + + // Handler to trigger a toast with both action and cancel buttons + const triggerCombinedToast = () => { + toast.warning('Warning!', { + description: 'This is a warning with both action and cancel buttons.', + action: ( + + ), + cancel: ( + + ), + }); + }; + + // Handler to trigger a loading toast using Toaster's default loading icon + const showLoadingToast = () => { + toast.loading('Loading your data...'); + }; + + return ( + +
+
+
+ + + + + + Colors & Typography + + + Color Palette and Typography Guidelines + + + + + + + + + + Components + + + Essential UI Components with Variants + + + + + + + + + + Patterns + + + Component-Based Layout Examples + + + + +
+
+ +
+
+

Components

+
+ + {/* Alphabetically Sorted ShowcaseRows */} + Primary Button + + + + + + + + + `} + > +
+ + + + + +
+
+ + +
+
+ + + +
+ +
+
+ `} + > +
+ +
+ +
+
+ + + + {/* Render the DataRowExample component */} + + + + + + + + + Item 1 + Item 2 + Long name Item 3 + + + + + + + + + Item 1 + Item 2 + Long name Item 3 + + + + + + + + + Item 1 + Item 2 + Long name Item 3 + + + + + + + + + console.debug('Item 1')}>Item 1 + console.debug('Item 2')}>Item 2 + console.debug('Item 3')}>Long name Item 3 + + + `} + > +
+ + + + + + Item 1 + Item 2 + Long name Item 3 + + + + + + + + Item 1 + Item 2 + Long name Item 3 + + + + + + + + Item 1 + Item 2 + Long name Item 3 + + + + + + + + console.debug('Item 1')}> + Item 1 + + console.debug('Item 2')}> + Item 2 + + console.debug('Item 3')}> + Long name Item 3 + + + +
+
+ + +
+ +
+
+ +
+
+ `} + > +
+
+ +
+
+ +
+
+ + + + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco + laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat + non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore + magna aliqua. + + `} + > + + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor + incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud + exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure + dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. + Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt + mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, + sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + + + + + + + + + Light + Dark + System + + + `} + > + + + + + + + `} + > +
+ +
+
+ + + `} + > + + + + + + + Circle + + Sphere + + Square + + + `} + > + + + Circle + + Sphere + + Square + + + + + + {/* Toast Examples Section */} + Simple message: +
+ + + + + +
+ Message with details: +
+ + + + +
+ {/* Render the Toaster component */} + +
+ + +
+ ); +} + +function ShowcaseRow({ title, description, children, code }: ShowcaseRowProps) { + const [showCode, setShowCode] = useState(false); + + return ( +
+
+
+

{title}

+
+ +
+
+
+ {description &&

{description}

} +
+
+
{children}
+
+
+ {showCode && ( +
+          {code}
+        
+ )} +
+ ); +} + +// function ShowcaseRow({ title, description, children, code }: ShowcaseRowProps) { +// const [showCode, setShowCode] = useState(false); + +// return ( +//
+//
+//
+//

{title}

+// {description &&

{description}

} +//
+// +//
+//
{children}
+// {showCode && ( +//
+//           {code}
+//         
+// )} +//
+// ); +// } diff --git a/platform/docs/src/pages/components.tsx b/platform/docs/src/pages/components.tsx new file mode 100644 index 000000000..ae2267035 --- /dev/null +++ b/platform/docs/src/pages/components.tsx @@ -0,0 +1,265 @@ +import React, { useState } from 'react'; +import '../css/custom.css'; + +import Layout from '@theme/Layout'; +import { Label } from '../../../ui-next/src/components/Label'; +import { Input } from '../../../ui-next/src/components/Input'; +import { Separator } from '../../../ui-next/src/components/Separator'; +import { Tabs, TabsList, TabsTrigger } from '../../../ui-next/src/components/Tabs'; +import { + Select, + SelectTrigger, + SelectContent, + SelectItem, + SelectValue, +} from '../../../ui-next/src/components/Select'; +import { Button } from '../../../ui-next/src/components/Button'; +import { Switch } from '../../../ui-next/src/components/Switch'; +import { Checkbox } from '../../../ui-next/src/components/Checkbox'; +import { Toggle } from '../../../ui-next/src/components/Toggle'; +import { Slider } from '../../../ui-next/src/components/Slider'; +import { ScrollArea } from '../../../ui-next/src/components/ScrollArea'; +import { + DropdownMenu, + DropdownMenuTrigger, + DropdownMenuContent, + DropdownMenuItem, +} from '../../../ui-next/src/components/DropdownMenu'; +import { Icons } from '../../../ui-next/src/components/Icons'; +import { Toaster, toast } from '../../../ui-next/src/components/Sonner'; +import { + Card, + CardHeader, + CardFooter, + CardTitle, + CardDescription, + CardContent, +} from '../../../ui-next/src/components/Card'; + +interface ShowcaseRowProps { + title: string; + description?: string; + children: React.ReactNode; + code: string; +} + +export default function ComponentShowcase() { + // Handlers to trigger different types of toasts + const triggerSuccess = () => { + toast.success('This is a success toast!'); + }; + + const triggerError = () => { + toast.error('This is an error toast!'); + }; + + const triggerInfo = () => { + toast.info('This is an info toast!'); + }; + + const triggerWarning = () => { + toast.warning('This is a warning toast!'); + }; + + // Handler to trigger a toast.promise example + const triggerPromiseToast = () => { + const promise = () => + new Promise<{ name: string }>(resolve => + setTimeout(() => resolve({ name: 'Segmentation 1' }), 3000) + ); + + toast.promise(promise(), { + loading: 'Loading Segmentation...', + success: data => `${data.name} has been added`, + error: 'Error', + }); + }; + + // Handler to trigger a toast with description + const triggerDescriptionToast = () => { + toast.success('Success heading', { + description: 'This is a detailed description of the success message.', + }); + }; + + // Handler to trigger a toast with an action button + const triggerActionButtonToast = () => { + toast.info('No active segmentation detected', { + description: 'Create a segmentation before using the Brush', + }); + }; + + // Handler to trigger a toast with a cancel button + const triggerCancelButtonToast = () => { + toast.error('No active segmentation detected', { + description: 'Create a segmentation before using the Brush', + }); + }; + + // Handler to trigger a toast with both action and cancel buttons + const triggerCombinedToast = () => { + toast.warning('Warning!', { + description: 'This is a warning with both action and cancel buttons.', + action: ( + + ), + cancel: ( + + ), + }); + }; + + // Handler to trigger a loading toast using Toaster's default loading icon + const showLoadingToast = () => { + toast.loading('Loading your data...'); + }; + + return ( + +
+
+
+ + + + + + Colors & Typography + + + Color Palette and Typography Guidelines + + + + + + + + + + Components + + + Essential UI Components with Variants + + + + + + + + + + Patterns + + + Component-Based Layout Examples + + + + +
+
+
+
+
+
+
+ ); +} + +function ShowcaseRow({ title, description, children, code }: ShowcaseRowProps) { + const [showCode, setShowCode] = useState(false); + + return ( +
+ {/* Header Section */} +
+
+

{title}

+
+ +
+ + {/* Content Section: 1/3 Left, 2/3 Right */} +
+ {/* Left Side: Title and Description */} +
+ {description &&

{description}

} +
+ + {/* Right Side: Example */} +
+
{children}
+
+
+ + {/* Code Section */} + {showCode && ( +
+          {code}
+        
+ )} +
+ ); +} + +// function ShowcaseRow({ title, description, children, code }: ShowcaseRowProps) { +// const [showCode, setShowCode] = useState(false); + +// return ( +//
+//
+//
+//

{title}

+// {description &&

{description}

} +//
+// +//
+//
{children}
+// {showCode && ( +//
+//           {code}
+//         
+// )} +//
+// ); +// } diff --git a/platform/docs/src/pages/patterns.tsx b/platform/docs/src/pages/patterns.tsx new file mode 100644 index 000000000..31958ba8b --- /dev/null +++ b/platform/docs/src/pages/patterns.tsx @@ -0,0 +1,321 @@ +import React, { useState } from 'react'; +import '../css/custom.css'; + +import Layout from '@theme/Layout'; +import { Label } from '../../../ui-next/src/components/Label'; +import { Input } from '../../../ui-next/src/components/Input'; +import { Separator } from '../../../ui-next/src/components/Separator'; +import { Tabs, TabsList, TabsTrigger } from '../../../ui-next/src/components/Tabs'; +import { + Select, + SelectTrigger, + SelectContent, + SelectItem, + SelectValue, +} from '../../../ui-next/src/components/Select'; +import { Button } from '../../../ui-next/src/components/Button'; +import { Switch } from '../../../ui-next/src/components/Switch'; +import { Checkbox } from '../../../ui-next/src/components/Checkbox'; +import { Toggle } from '../../../ui-next/src/components/Toggle'; +import { Slider } from '../../../ui-next/src/components/Slider'; +import { ScrollArea } from '../../../ui-next/src/components/ScrollArea'; +import { + DropdownMenu, + DropdownMenuTrigger, + DropdownMenuContent, + DropdownMenuItem, +} from '../../../ui-next/src/components/DropdownMenu'; +import { Icons } from '../../../ui-next/src/components/Icons'; +import { Toaster, toast } from '../../../ui-next/src/components/Sonner'; +import { + Card, + CardHeader, + CardFooter, + CardTitle, + CardDescription, + CardContent, +} from '../../../ui-next/src/components/Card'; + +interface ShowcaseRowProps { + title: string; + description?: string; + children: React.ReactNode; + code: string; +} + +export default function ComponentShowcase() { + // Function to open links in a new window + const openLinkInNewWindow = url => { + window.open(url, '_blank', 'noopener,noreferrer'); + }; + + // Handlers to trigger different types of toasts + const triggerSuccess = () => { + toast.success('This is a success toast!'); + }; + + const triggerError = () => { + toast.error('This is an error toast!'); + }; + + const triggerInfo = () => { + toast.info('This is an info toast!'); + }; + + const triggerWarning = () => { + toast.warning('This is a warning toast!'); + }; + + // Handler to trigger a toast.promise example + const triggerPromiseToast = () => { + const promise = () => + new Promise<{ name: string }>(resolve => + setTimeout(() => resolve({ name: 'Segmentation 1' }), 3000) + ); + + toast.promise(promise(), { + loading: 'Loading Segmentation...', + success: data => `${data.name} has been added`, + error: 'Error', + }); + }; + + // Handler to trigger a toast with description + const triggerDescriptionToast = () => { + toast.success('Success heading', { + description: 'This is a detailed description of the success message.', + }); + }; + + // Handler to trigger a toast with an action button + const triggerActionButtonToast = () => { + toast.info('No active segmentation detected', { + description: 'Create a segmentation before using the Brush', + }); + }; + + // Handler to trigger a toast with a cancel button + const triggerCancelButtonToast = () => { + toast.error('No active segmentation detected', { + description: 'Create a segmentation before using the Brush', + }); + }; + + // Handler to trigger a toast with both action and cancel buttons + const triggerCombinedToast = () => { + toast.warning('Warning!', { + description: 'This is a warning with both action and cancel buttons.', + action: ( + + ), + cancel: ( + + ), + }); + }; + + // Handler to trigger a loading toast using Toaster's default loading icon + const showLoadingToast = () => { + toast.loading('Loading your data...'); + }; + + return ( + +
+
+
+ + + + + + Colors & Typography + + + Color Palette and Typography Guidelines + + + + + + + + + + Components + + + Essential UI Components with Variants + + + + + + + + + + Patterns + + + Component-Based Layout Examples + + + + +
+
+ +
+

Patterns

+ + +
+ Uses the Data Row component to displays a list of segments. The current + "Segmentation" is chosen with a Select above the current list. +
+ +
+ } + code={` +aaa + `} + > +
+
+ Segmentation Panel +
+ + + +
+ Uses the Data Row component to displays a list of measurements. A custom "Label" + starts each row with measurement data appearing on the secondary row +
+ +
+ } + code={` +aaa + `} + > +
+
+ Measurements Panel +
+ + + +
+ ); +} + +function ShowcaseRow({ title, description, children, code }: ShowcaseRowProps) { + const [showCode, setShowCode] = useState(false); + + return ( +
+
+
+

{title}

+
+ +
+
+
+ {description &&

{description}

} +
+
+
{children}
+
+
+ {showCode && ( +
+          {code}
+        
+ )} +
+ ); +} + +// function ShowcaseRow({ title, description, children, code }: ShowcaseRowProps) { +// const [showCode, setShowCode] = useState(false); + +// return ( +//
+//
+//
+//

{title}

+// {description &&

{description}

} +//
+// +//
+//
{children}
+// {showCode && ( +//
+//           {code}
+//         
+// )} +//
+// ); +// } diff --git a/platform/docs/src/pages/patterns/DataRowExample.tsx b/platform/docs/src/pages/patterns/DataRowExample.tsx new file mode 100644 index 000000000..16127bf35 --- /dev/null +++ b/platform/docs/src/pages/patterns/DataRowExample.tsx @@ -0,0 +1,91 @@ +import React from 'react'; +import { DataRow } from '../../../../ui-next/src/components/DataRow'; +import { Button } from '../../../../ui-next/src/components/Button'; +import { Icons } from '../../../../ui-next/src/components/Icons'; + +// Mock data to demonstrate DataRow usage +const mockData = [ + { + id: 1, + title: 'Segment 1', + description: 'Description for Segment 1', + optionalField: 'Optional Info 1', + colorHex: '#FF5733', + details: 'Secondary details or text', + }, + { + id: 2, + title: 'Segment 2', + description: 'Description for Segment 2', + optionalField: 'Optional Info 2', + colorHex: '#33C1FF', + details: 'Secondary details or text', + }, + { + id: 3, + title: 'Segment 3', + description: 'Description for Segment 3', + optionalField: 'Optional Info 3', + colorHex: '#5533FF', + details: 'Secondary details or text', + }, +]; + +// Mock action options map +const actionOptionsMap = { + 'ROI Tools': ['Edit', 'Delete', 'View'], +}; + +interface DataItem { + id: number; + title: string; + description: string; + optionalField?: string; + colorHex?: string; + details?: string; + series?: string; +} + +interface ListGroup { + type: string; + items: DataItem[]; +} + +const DataRowExample: React.FC = () => { + const [selectedRowId, setSelectedRowId] = React.useState(null); + + const handleAction = (id: string, action: string) => { + console.log(`Action "${action}" triggered for item with id: ${id}`); + // Implement actual action logic here + }; + + const handleRowSelect = (id: string) => { + setSelectedRowId(prevSelectedId => (prevSelectedId === id ? null : id)); + }; + + return ( +
+ {mockData.map((item, index) => { + const compositeId = `ROI Tools-${item.id}-panel`; // Ensure unique composite ID + return ( + handleAction(compositeId, action)} + isSelected={selectedRowId === compositeId} + onSelect={() => handleRowSelect(compositeId)} + /> + ); + })} +
+ ); +}; + +export default DataRowExample; diff --git a/platform/docs/src/pages/patterns/patterns-measurements.tsx b/platform/docs/src/pages/patterns/patterns-measurements.tsx index 343bd908d..1daf39a6b 100644 --- a/platform/docs/src/pages/patterns/patterns-measurements.tsx +++ b/platform/docs/src/pages/patterns/patterns-measurements.tsx @@ -10,6 +10,7 @@ import { import { DataRow } from '../../../../ui-next/src/components/DataRow'; import { actionOptionsMap, dataList } from '../../../../ui-next/assets/data'; import BrowserOnly from '@docusaurus/BrowserOnly'; +import { TooltipProvider } from '../../../../ui-next/src/components/Tooltip'; interface DataItem { id: number; @@ -48,82 +49,84 @@ export default function Measurements() { return ( {() => ( -
- {/* Simulated Panel List for "Segmentation" */} -
- - {/* Segmentation Tools */} - - - Measurements - - -
-
2024-Jan-01
-
- Study title lorem ipsum +
+ + {/* Simulated Panel List for "Segmentation" */} +
+ + {/* Segmentation Tools */} + + + Measurements + + +
+
2024-Jan-01
+
+ Study title lorem ipsum +
-
-
-
- - +
+
+ + +
-
-
- {roiToolsGroup.items.map((item, index) => { - const compositeId = `${roiToolsGroup.type}-${item.id}-panel`; // Ensure unique composite ID - return ( - handleAction(compositeId, action)} - isSelected={selectedRowId === compositeId} - onSelect={() => handleRowSelect(compositeId)} - /> - ); - })} -
- - +
+ {roiToolsGroup.items.map((item, index) => { + const compositeId = `${roiToolsGroup.type}-${item.id}-panel`; // Ensure unique composite ID + return ( + handleAction(compositeId, action)} + isSelected={selectedRowId === compositeId} + onSelect={() => handleRowSelect(compositeId)} + /> + ); + })} +
+ + - {/* Additional Findings */} - - - Additional Findings - - -
-
-
- -
+ {/* Additional Findings */} + + + Additional Findings + + +
+
+
+ +
+
)} diff --git a/platform/docs/src/pages/patterns/patterns-segmentation.tsx b/platform/docs/src/pages/patterns/patterns-segmentation.tsx index 04d0088f7..c78b6c226 100644 --- a/platform/docs/src/pages/patterns/patterns-segmentation.tsx +++ b/platform/docs/src/pages/patterns/patterns-segmentation.tsx @@ -75,7 +75,7 @@ export default function SegmentationPanel() { } return ( -
+
{() => ( -
+
- - - - ); -} diff --git a/platform/docs/src/pages/ui-playground.tsx b/platform/docs/src/pages/ui-playground.tsx deleted file mode 100644 index c6161a6a4..000000000 --- a/platform/docs/src/pages/ui-playground.tsx +++ /dev/null @@ -1,699 +0,0 @@ -import React, { useState } from 'react'; -import '../css/custom.css'; - -import { Label } from '../../../ui-next/src/components/Label'; -import { Input } from '../../../ui-next/src/components/Input'; -import { Separator } from '../../../ui-next/src/components/Separator'; -import { Tabs, TabsList, TabsTrigger } from '../../../ui-next/src/components/Tabs'; -import { - Select, - SelectTrigger, - SelectContent, - SelectItem, - SelectValue, -} from '../../../ui-next/src/components/Select'; -import { Button } from '../../../ui-next/src/components/Button'; -import { Switch } from '../../../ui-next/src/components/Switch'; -import { Checkbox } from '../../../ui-next/src/components/Checkbox'; -import { Toggle } from '../../../ui-next/src/components/Toggle'; -import { Slider } from '../../../ui-next/src/components/Slider'; -import { ScrollArea } from '../../../ui-next/src/components/ScrollArea'; -import { - DropdownMenu, - DropdownMenuTrigger, - DropdownMenuContent, - DropdownMenuItem, -} from '../../../ui-next/src/components/DropdownMenu'; -import { Icons } from '../../../ui-next/src/components/Icons'; -import { Toaster, toast } from '../../../ui-next/src/components/Sonner'; - -interface ShowcaseRowProps { - title: string; - description?: string; - children: React.ReactNode; - code: string; -} - -export default function ComponentShowcase() { - // Handlers to trigger different types of toasts - const triggerSuccess = () => { - toast.success('This is a success toast!'); - }; - - const triggerError = () => { - toast.error('This is an error toast!'); - }; - - const triggerInfo = () => { - toast.info('This is an info toast!'); - }; - - const triggerWarning = () => { - toast.warning('This is a warning toast!'); - }; - - // Handler to trigger a toast.promise example - const triggerPromiseToast = () => { - const promise = () => - new Promise<{ name: string }>(resolve => - setTimeout(() => resolve({ name: 'Segmentation 1' }), 3000) - ); - - toast.promise(promise(), { - loading: 'Loading Segmentation...', - success: data => `${data.name} has been added`, - error: 'Error', - }); - }; - - // Handler to trigger a toast with description - const triggerDescriptionToast = () => { - toast.success('Success heading', { - description: 'This is a detailed description of the success message.', - }); - }; - - // Handler to trigger a toast with an action button - const triggerActionButtonToast = () => { - toast.info('Info heading', { - description: 'This is an info message with an action button.', - action: ( - - ), - }); - }; - - // Handler to trigger a toast with a cancel button - const triggerCancelButtonToast = () => { - toast.error('Error!', { - description: 'This is an error message with a cancel button.', - cancel: ( - - ), - }); - }; - - // Handler to trigger a toast with both action and cancel buttons - const triggerCombinedToast = () => { - toast.warning('Warning!', { - description: 'This is a warning with both action and cancel buttons.', - action: ( - - ), - cancel: ( - - ), - }); - }; - - // Handler to trigger a loading toast using Toaster's default loading icon - const showLoadingToast = () => { - toast.loading('Loading your data...'); - }; - - return ( -
-
- Primary Button - - - - - - - - - `} - > -
- - - - - -
-
- - Primary Button - - - - - `} - > -
- - - - - -
-
- - Primary Button - - - - - `} - > -
- - - - - -
-
- - -
- -
-
- -
-
- `} - > -
-
- -
-
- -
-
- - -
-
-
-
-
-
- `} - > -
-
-
-
-
-
-
-
- - - - `} - > -
- -
-
- - Standard text size (text-base) 14px
-
Small text size (text-sm) 13px
-
Extra small text size (text-xs) 12px
- `} - > -
-
Standard text size (text-base) 14px
-
Small text size (text-sm) 13px
-
Extra small text size (text-xs) 12px
-
- - - Large text size (text-lg) 16px
-
Extra large text size (text-xl) 18px
-
Double extra large text size (text-2xl) 20px
- `} - > -
-
Large text size (text-lg) 16px
-
Extra large text size (text-xl) 18px
-
Double extra large text size (text-2xl) 20px
-
- - - - - Circle - - Sphere - - Square - - - `} - > - - - Circle - - Sphere - - Square - - - - - - - - - - Light - Dark - System - - - `} - > - - - - - - - - - Item 1 - Item 2 - Long name Item 3 - - - - - - - - - Item 1 - Item 2 - Long name Item 3 - - - - - - - - - Item 1 - Item 2 - Long name Item 3 - - - - - - - - - console.debug('Item 1')}>Item 1 - console.debug('Item 2')}>Item 2 - console.debug('Item 3')}>Long name Item 3 - - - `} - > -
- - - - - - Item 1 - Item 2 - Long name Item 3 - - - - - - - - Item 1 - Item 2 - Long name Item 3 - - - - - - - - Item 1 - Item 2 - Long name Item 3 - - - - - - - - console.debug('Item 1')}>Item 1 - console.debug('Item 2')}>Item 2 - console.debug('Item 3')}> - Long name Item 3 - - - -
-
- - - `} - > - - - - - -
- -
-
- `} - > -
- -
- -
-
- - - Hello - `} - > - Hello - - - - -
- `} - > -
- -
- - - - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco - laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat - non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore - magna aliqua. - - `} - > - - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor - incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud - exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure - dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. - Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt - mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed - do eiusmod tempor incididunt ut labore et dolore magna aliqua. - - - - {/* Toast Examples Section */} -
- - - - - -
-
- - - - - - - - - - - {/* Render the Toaster component */} - - -
-
- ); -} - -function ShowcaseRow({ title, description, children, code }: ShowcaseRowProps) { - const [showCode, setShowCode] = useState(false); - - return ( -
-
-
-

{title}

- {description &&

{description}

} -
- -
-
{children}
- {showCode && ( -
-          {code}
-        
- )} -
- ); -} diff --git a/platform/docs/static/img/patterns-measurements.png b/platform/docs/static/img/patterns-measurements.png new file mode 100644 index 0000000000000000000000000000000000000000..5c1870ec92acb6dd06032a1936dbd08e3e82755c GIT binary patch literal 89208 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 UNjKQ|9`H|AO6gV6%Xj|&AB?WV>i_@% literal 0 HcmV?d00001 diff --git a/platform/docs/static/img/patterns-segmentation.png b/platform/docs/static/img/patterns-segmentation.png new file mode 100644 index 0000000000000000000000000000000000000000..8eec0d4a0eb0aa8fafa2e5c4e02e8f74e11c28ae GIT binary patch literal 103078 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�UAP%yn02%9DCn2@DBkI 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 literal 0 HcmV?d00001 diff --git a/platform/docs/tailwind.config.js b/platform/docs/tailwind.config.js index f36b44a65..7e858df22 100644 --- a/platform/docs/tailwind.config.js +++ b/platform/docs/tailwind.config.js @@ -16,16 +16,18 @@ module.exports = { inter: ['Inter', 'sans-serif'], }, fontSize: { - xxs: '0.6875rem', // 11px - xs: '0.75rem', // 12px - sm: '0.8125rem', // 13px - base: '0.875rem', // 14px - lg: '1rem', // 16px - xl: '1.125rem', // 18px - '2xl': '1.25rem', // 20px - '3xl': '1.375rem', // 22px - '4xl': '1.5rem', // 24px - '5xl': '1.875rem', // 30px + xxs: '0.625rem', // 10px + xs: '0.6875rem', // 11px + sm: '0.75rem', // 12px + base: '0.8125rem', // 13px + lg: '0.875rem', // 14px + xl: '1rem', // 16px + // 2xl and above will be updated in an upcoming version + '2xl': '1.5rem', + '3xl': '1.875rem', + '4xl': '2.25rem', + '5xl': '3rem', + '6xl': '4rem', }, fontWeight: { hairline: '100', diff --git a/platform/ui-next/src/components/Accordion/Accordion.tsx b/platform/ui-next/src/components/Accordion/Accordion.tsx index bc9d7c2dc..e7e2dc306 100644 --- a/platform/ui-next/src/components/Accordion/Accordion.tsx +++ b/platform/ui-next/src/components/Accordion/Accordion.tsx @@ -28,7 +28,7 @@ const AccordionTrigger = React.forwardRef< svg]:rotate-270', '[&[data-state=closed]>svg]:rotate-90' @@ -48,7 +48,7 @@ const AccordionContent = React.forwardRef< >(({ className, children, ...props }, ref) => (
{children}
diff --git a/platform/ui-next/src/components/Button/Button.tsx b/platform/ui-next/src/components/Button/Button.tsx index e7668874a..48dbcc11f 100644 --- a/platform/ui-next/src/components/Button/Button.tsx +++ b/platform/ui-next/src/components/Button/Button.tsx @@ -5,14 +5,14 @@ import { cva, type VariantProps } from 'class-variance-authority'; import { cn } from '../../lib/utils'; const buttonVariants = cva( - 'inline-flex items-center justify-center whitespace-nowrap rounded text-sm font-normal leading-tight transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50', + 'inline-flex items-center justify-center whitespace-nowrap rounded text-base font-normal leading-tight transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50', { variants: { variant: { default: 'bg-primary/60 text-primary-foreground hover:bg-primary/100', destructive: 'bg-destructive text-destructive-foreground hover:bg-destructive/90', outline: - 'border border-input bg-background hover:bg-primary/25 hover:text-accent-foreground', + 'border border-primary/25 bg-background hover:bg-primary/25 text-primary hover:text-primary', secondary: 'bg-primary/40 text-secondary-foreground hover:bg-primary/60', ghost: 'font-normal text-primary hover:bg-primary/25', link: 'font-normal text-primary underline-offset-4 hover:underline', diff --git a/platform/ui-next/src/components/Calendar/Calendar.tsx b/platform/ui-next/src/components/Calendar/Calendar.tsx index 72ce7501a..8dfbc99f4 100644 --- a/platform/ui-next/src/components/Calendar/Calendar.tsx +++ b/platform/ui-next/src/components/Calendar/Calendar.tsx @@ -32,7 +32,7 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }: C head_row: 'flex', head_cell: 'text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]', row: 'flex w-full mt-2', - cell: 'h-9 w-9 text-center text-sm p-0 relative [&:has([aria-selected].day-range-end)]:rounded-r-md [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected])]:bg-accent first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20', + cell: 'h-9 w-9 text-center text-base p-0 relative [&:has([aria-selected].day-range-end)]:rounded-r-md [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected])]:bg-accent first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20', day: cn( buttonVariants({ variant: 'ghost' }), 'h-9 w-9 p-0 font-normal aria-selected:opacity-100' diff --git a/platform/ui-next/src/components/Card/Card.tsx b/platform/ui-next/src/components/Card/Card.tsx new file mode 100644 index 000000000..162bbcb77 --- /dev/null +++ b/platform/ui-next/src/components/Card/Card.tsx @@ -0,0 +1,75 @@ +import * as React from 'react'; + +import { cn } from '../../lib/utils'; + +const Card = React.forwardRef>( + ({ className, ...props }, ref) => ( +
+ ) +); +Card.displayName = 'Card'; + +const CardHeader = React.forwardRef>( + ({ className, ...props }, ref) => ( +
+ ) +); +CardHeader.displayName = 'CardHeader'; + +const CardTitle = React.forwardRef>( + ({ className, ...props }, ref) => ( +

+ ) +); +CardTitle.displayName = 'CardTitle'; + +const CardDescription = React.forwardRef< + HTMLParagraphElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +

+)); +CardDescription.displayName = 'CardDescription'; + +const CardContent = React.forwardRef>( + ({ className, ...props }, ref) => ( +

+ ) +); +CardContent.displayName = 'CardContent'; + +const CardFooter = React.forwardRef>( + ({ className, ...props }, ref) => ( +
+ ) +); +CardFooter.displayName = 'CardFooter'; + +export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }; diff --git a/platform/ui-next/src/components/Card/index.ts b/platform/ui-next/src/components/Card/index.ts new file mode 100644 index 000000000..7c9b951ca --- /dev/null +++ b/platform/ui-next/src/components/Card/index.ts @@ -0,0 +1,2 @@ +import { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } from './Card'; +export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }; diff --git a/platform/ui-next/src/components/Command/Command.tsx b/platform/ui-next/src/components/Command/Command.tsx index 5e4a14caf..1a672a348 100644 --- a/platform/ui-next/src/components/Command/Command.tsx +++ b/platform/ui-next/src/components/Command/Command.tsx @@ -47,7 +47,7 @@ const CommandInput = React.forwardRef< ((props, ref) => ( )); @@ -90,7 +90,7 @@ const CommandGroup = React.forwardRef< ) => { return ( ); diff --git a/platform/ui-next/src/components/DataRow/DataRow.tsx b/platform/ui-next/src/components/DataRow/DataRow.tsx index 1c83b2f57..781855fb3 100644 --- a/platform/ui-next/src/components/DataRow/DataRow.tsx +++ b/platform/ui-next/src/components/DataRow/DataRow.tsx @@ -199,14 +199,14 @@ const DataRow: React.FC = ({ {/* Hover Overlay */}
- {/* Number Box */} -
- {number} -
+ {/* Number Box */} +
+ {number} +
{/* Color Circle (Optional) */} {colorHex && ( @@ -224,7 +224,7 @@ const DataRow: React.FC = ({ @@ -240,7 +240,7 @@ const DataRow: React.FC = ({ ) : ( @@ -315,7 +315,7 @@ const DataRow: React.FC = ({ {details && details.primary?.length > 0 && (
-
+
{renderDetails(details.primary)}
diff --git a/platform/ui-next/src/components/DateRange/DateRange.tsx b/platform/ui-next/src/components/DateRange/DateRange.tsx index 9e2e39810..eebc7b916 100644 --- a/platform/ui-next/src/components/DateRange/DateRange.tsx +++ b/platform/ui-next/src/components/DateRange/DateRange.tsx @@ -90,7 +90,7 @@ export function DatePickerWithRange({ value={start} onChange={e => handleInputChange(e, 'start')} className={cn( - 'border-inputfield-main focus:border-inputfield-focus h-[32px] w-full justify-start rounded border bg-black py-[6.5px] pl-[6.5px] pr-[6.5px] text-left text-sm font-normal hover:bg-black hover:text-white', + 'border-inputfield-main focus:border-inputfield-focus 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 hover:text-white', !start && 'text-muted-foreground' )} data-cy="input-date-range-start" @@ -127,7 +127,7 @@ export function DatePickerWithRange({ value={end} onChange={e => handleInputChange(e, 'end')} className={cn( - 'border-inputfield-main focus:border-inputfield-focus h-full w-full justify-start rounded border bg-black py-[6.5px] pl-[6.5px] pr-[6.5px] text-left text-sm font-normal hover:bg-black hover:text-white', + 'border-inputfield-main focus:border-inputfield-focus 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 hover:text-white', !end && 'text-muted-foreground' )} data-cy="input-date-range-end" diff --git a/platform/ui-next/src/components/Dialog/Dialog.tsx b/platform/ui-next/src/components/Dialog/Dialog.tsx index 0b67911aa..8e69250f6 100644 --- a/platform/ui-next/src/components/Dialog/Dialog.tsx +++ b/platform/ui-next/src/components/Dialog/Dialog.tsx @@ -19,7 +19,7 @@ const DialogOverlay = React.forwardRef< (({ className, ...props }, ref) => ( )); @@ -85,7 +85,7 @@ const DialogDescription = React.forwardRef< >(({ className, ...props }, ref) => ( )); diff --git a/platform/ui-next/src/components/DisplaySetMessageListTooltip/DisplaySetMessageListTooltip.tsx b/platform/ui-next/src/components/DisplaySetMessageListTooltip/DisplaySetMessageListTooltip.tsx index 48ec78c38..31f1d0118 100644 --- a/platform/ui-next/src/components/DisplaySetMessageListTooltip/DisplaySetMessageListTooltip.tsx +++ b/platform/ui-next/src/components/DisplaySetMessageListTooltip/DisplaySetMessageListTooltip.tsx @@ -23,9 +23,9 @@ const DisplaySetMessageListTooltip = ({ messages, id }): React.ReactNode => { /> -
+
(({ className, inset, ...props }, ref) => ( )); @@ -165,7 +165,7 @@ DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName; const DropdownMenuShortcut = ({ className, ...props }: React.HTMLAttributes) => { return ( ); diff --git a/platform/ui-next/src/components/Input/Input.tsx b/platform/ui-next/src/components/Input/Input.tsx index e33596c54..9b4da766f 100644 --- a/platform/ui-next/src/components/Input/Input.tsx +++ b/platform/ui-next/src/components/Input/Input.tsx @@ -10,7 +10,7 @@ const Input = React.forwardRef( { const currentStep = Shepherd.activeTour?.getCurrentStep(); if (currentStep) { const progress = document.createElement('span'); - progress.className = 'shepherd-progress text-base text-muted-foreground'; + progress.className = 'shepherd-progress text-lg text-muted-foreground'; progress.innerText = `${Shepherd.activeTour?.steps.indexOf(currentStep) + 1}/${Shepherd.activeTour?.steps.length}`; progress.style.position = 'absolute'; progress.style.left = '13px'; diff --git a/platform/ui-next/src/components/Select/Select.tsx b/platform/ui-next/src/components/Select/Select.tsx index f0178f3fa..f3f0639b1 100644 --- a/platform/ui-next/src/components/Select/Select.tsx +++ b/platform/ui-next/src/components/Select/Select.tsx @@ -17,7 +17,7 @@ const SelectTrigger = React.forwardRef< span]:line-clamp-1 hover:bg-primary/10 flex h-7 w-full items-center justify-between whitespace-nowrap rounded border bg-transparent px-2 py-2 text-sm shadow-sm focus:outline-none focus:ring-1 disabled:cursor-not-allowed disabled:opacity-50', + 'border-input text-foreground ring-offset-background placeholder:text-muted-foreground focus:ring-ring [&>span]:line-clamp-1 hover:bg-primary/10 flex h-7 w-full items-center justify-between whitespace-nowrap rounded border bg-transparent px-2 py-2 text-base shadow-sm focus:outline-none focus:ring-1 disabled:cursor-not-allowed disabled:opacity-50', className )} {...props} @@ -96,7 +96,7 @@ const SelectLabel = React.forwardRef< >(({ className, ...props }, ref) => ( )); @@ -109,7 +109,7 @@ const SelectItem = React.forwardRef< - + {selectedSort.label} diff --git a/platform/ui-next/src/components/StudyBrowserViewOptions/StudyBrowserViewOptions.tsx b/platform/ui-next/src/components/StudyBrowserViewOptions/StudyBrowserViewOptions.tsx index b926f7bbd..3e7a622ff 100644 --- a/platform/ui-next/src/components/StudyBrowserViewOptions/StudyBrowserViewOptions.tsx +++ b/platform/ui-next/src/components/StudyBrowserViewOptions/StudyBrowserViewOptions.tsx @@ -15,7 +15,7 @@ export function StudyBrowserViewOptions({ tabs, onSelectTab, activeTabName }: wi return ( - + {activeTab?.label} diff --git a/platform/ui-next/src/components/Tabs/Tabs.tsx b/platform/ui-next/src/components/Tabs/Tabs.tsx index f054032bb..47b55e59f 100644 --- a/platform/ui-next/src/components/Tabs/Tabs.tsx +++ b/platform/ui-next/src/components/Tabs/Tabs.tsx @@ -27,7 +27,7 @@ const TabsTrigger = React.forwardRef< )} - - {`${t('Number of studies')}: `} - + {numOfStudies > 100 ? '>100' : numOfStudies} + + {`${t('Studies')} `} +
@@ -99,7 +100,9 @@ const StudyListFilter = ({ {numOfStudies > 100 && (
-

{t('Filter list to 100 studies or less to enable sorting')}

+

+ {t('Filter list to 100 studies or less to enable sorting')} +

)} diff --git a/platform/ui/src/components/Typography/Typography.tsx b/platform/ui/src/components/Typography/Typography.tsx index 3f278831d..ed62f4926 100644 --- a/platform/ui/src/components/Typography/Typography.tsx +++ b/platform/ui/src/components/Typography/Typography.tsx @@ -32,7 +32,8 @@ const classes = { h3: 'text-4xl', h4: 'text-3xl', h5: 'text-2xl', - h6: 'text-xl', + // Using px value temporarily until larger fontsize variables are finalized + h6: 'text-[20px]', subtitle: 'text-lg', body: 'text-base', caption: 'text-xs',