Home > @uniformdev/design-system
design-system package
Classes
|
Class |
Description |
|---|---|
Enumerations
|
Enumeration |
Description |
|---|---|
Functions
|
Function |
Description |
|---|---|
|
AddButton({ buttonText, onClick, shortcut, macShortcut, ...props }, input) |
Add button component |
|
AddListButton({ buttonText, onButtonClick, disabled, icon, variant, theme, ...buttonProps }, input) |
Uniform Add List Button Component |
|
Joins different variants of parent relative url with path segment. Path can be "", "/" and "/foo/bar" | |
|
AsideAndSectionLayout({ sidebar, children, isStickyAside, }, input) | |
|
Avatar({ src, label, children, size, as, labelWithoutPortal, ...props }, input) |
A component to render rounded avatars of a user or an app. |
|
AvatarGroup({ max, children, getTruncatedLabel, truncatedProps, ...props }, input) |
Renders avatars in a group with the ability to truncate the list. This component works best when the component are direct children. |
|
Banner({ type, onDismiss, children, isAnimated, ...props }, input) |
Uniform Banner Component |
|
A Calendar Grid which allows the user to navigate and select a date. | |
|
Callout({ type, compact, title, children, className, testId, }, input) |
Uniform Callout Component |
|
Component that provides caption text to input fields | |
|
CardContainer({ bgColor, padding, withLastColumn, children, ...props }, input) |
Uniform Card Container |
|
CardTitle({ title, titleWithMarginBottom, children }, input) | |
|
Chip({ icon, iconColor, text, size, theme, variant, chipAction, isDisabled, as, ...props }, input) |
Chips are used in a variety of ways To represent tokens, where the value of the chip will be replaced with something dynamically. To represent tags or important metadata about an object To represent a different object, as a reference |
|
Container({ tag, backgroundColor, border, rounded, padding, margin, children, ...props }, input) | |
|
Converts combo box options that can contain optgroups Into a set of group-less options where the optgroup becomes a selectable option, and selecting it selects all of its children. | |
|
Counter({ count, bgColor, icon, iconColor, size, ...props }, input) | |
|
Container Query Helper Function | |
|
CreateTeamIntegrationTile({ title, buttonText, onClick, asDeepLink, ...props }, input) | |
|
DashedBox({ bgColor, textAlign, boxHeight, children, ...props }, input) |
Uniform Dashed Box Component |
|
Date Time Picker This is a Calendar, Time input and TimeZone selector housed in a popup. You can use it to pick a date as well as a time, or you can also change it to only pick a date. Subcomponents can manipulate the value directly by using the | |
|
Dismissible chip action should be used with the Chip component | |
|
DrawerContent({ children, buttonGroup, noPadding, ...props }, input) | |
|
Provides the context to the Drawer and DrawerRenderer components. | |
|
Renders a stack of drawers in a different location than their original position in the component tree. Uses React Portal under the hood. DrawerProvider - Must be rendered inside a | |
|
EditTeamIntegrationTile({ id, icon, name, onEdit, isPublic, canEdit, }, input) |
Uniform Edit Team Integration Tile |
|
ErrorMessage({ message, testId, truncated, ...otherProps }, input) |
Component that provides error messaging to input fields |
|
A function that extracts all common props and element props | |
|
FlexiCard({ heading, children, width, height, maxHeight, ...props }, input) | |
|
Flexi Card Title Component recommended to be used within the FlexiCard component | |
|
Finds all selected values in a combo box where there are multiple selectable groups (and selecting a group should select all of its virtual children) | |
|
Gets a formatted version of a shortcut for display. i.e. converts "mod+alt+n" to "['⌘', '⌥', 'N']" on macs, or ['^', 'Alt', 'N'] on windows. | |
|
Heading({ level, as, withMarginBottom, children, ...hAttributes }, input) |
Component that sets the heading tag |
|
HorizontalRhythm({ align, justify, tag, gap, children, ref, ...props }, input) | |
|
Provider to the Icon component | |
|
Component that provides info messaging to input fields | |
|
InputComboBox | |
|
InputCreatableComboBox Like ComboBox, but allows for creating new options | |
|
InputInlineSelect({ classNameContainer, options, value, onChange, disabled, ...props }, input) |
Input Inline Select |
|
IntegrationComingSoon({ name, icon, id, onUpVoteClick, timing, ...props }, input) |
Uniform Integration Coming Soon Component |
|
Uniform Integration Loading Tile | |
|
IntegrationModalHeader({ icon, name, menu, children }, input) |
Uniform Integration Modal Header |
|
Uniform Integration Modal Icon | |
|
Determines if the given trigger element will render a real Detection strategy (any one of): 1. Plain Anything else (including non-element children, plain | |
|
JsonEditor({ defaultValue, onChange, jsonSchema, height, readOnly }, input) | |
|
A component to render a sortable key-value input | |
|
LabelLeadingIcon({ icon, iconColor, children, isActive, isLocked, title, ...props }, input) | |
|
A reusable quick filter component for selecting labels with swatch colors. Supports flat labels and grouped labels with nested menus. | |
|
LimitsBar({ current, max, popoverContent, barColor, ...props }, input) |
Uniform Limits Bar Component |
|
Loading Icon | |
|
Loading Indicator | |
|
Loading Overlay. NOTE: the container/parent element must have a non-static | |
|
Static marker used by isNativeButtonTrigger() to detect design-system components whose root DOM node is a real Set this marker via markNativeButton() on any forwardRef/component whose root DOM node is | |
|
Indents a menu item as if it had an icon when it does not Use this to align menu items without icons with those that have icons in a mixed menu. Intended to be passed as the | |
|
Renders an icon for a menu item. Optional micro wrapper around an Icon component configured to match the menu item icon style. | |
|
Media Query Helper Function | |
|
A chip specifically designed to fit as a chipped element in an multi-line capable content field. Unlike a regular chip, this one can go onto multiple lines with word wrap, and uses inline behaviours. | |
|
A card-style grid item for displaying an object with cover media, heading, subtitle, and optional context menu. When an | |
|
Low-level cover media for a grid card — renders either a lazy-loaded image or an icon with a ghost background. Typically used via ObjectGridItemCover() rather than directly. | |
|
Grid item cover with corner overlay slots for badges, checkboxes, or status indicators. Wraps ObjectGridItemCardCover() and positions slot content at each corner. | |
|
Clickable variant of ObjectGridItemCover() that acts as a selection toggle. When selected, a chip with | |
|
ObjectGridItemHeading({ heading, beforeHeadingSlot, afterHeadingSlot, tooltip, ...props }, input) |
Heading component designed for use inside ObjectGridItem()'s Automatically detects when the heading text is truncated (via a |
|
ObjectGridItemIconWithTooltip({ tooltipTitle, placement, icon, iconColor, ...props }, input) |
Small icon with a tooltip, designed for the |
|
Animated skeleton placeholder for ObjectGridItem(), displayed while data is loading. Renders a simulated cover image and two text lines matching the visual dimensions of a real grid card so the layout doesn't shift on load. | |
|
Animated skeleton placeholder for ObjectListItem(), displayed while data is loading. Matches the visual dimensions of a real list item so the layout doesn't shift on load. | |
|
A horizontal list item for displaying an object with header, cover, right slot, and optional context menu. Uses container queries so the layout adapts to its parent width rather than the viewport. Wrap items with ObjectListItemContainer() to get proper list semantics and dividers. | |
|
Vertical container that wraps ObjectListItem() elements with | |
|
ObjectListItemCover({ imageUrl, noImageText, icon, ...props }, input) |
Thumbnail cover image for use inside ObjectListItem()'s |
|
Heading component designed for use inside ObjectListItem()'s Renders a responsive heading row that stacks vertically on narrow containers and switches to a horizontal layout at wider widths (controlled by a container query). | |
|
Paragraph({ className, htmlContent, children, ...pAttributes }, input) |
Component for generic paragraph tags |
|
ParameterDrawerHeader({ title, iconBeforeTitle, children }, input) | |
|
ParameterLabel({ id, asSpan, children, testId, ...props }, input) | |
|
A parameter input component for selecting multiple labels with swatch colors. Supports grouped labels with nested menus. | |
|
Uniform Parameter shell component | |
|
PopoverBody({ variant, maxWidth, children, ...otherProps }, input) |
A styled popover body component with design system styles. Used to create custom popover-like behavior. |
|
Remove a dialog element from the stack. Safe to call even if the dialog is not currently in the stack (no-op in that case). | |
|
Prefers Reduced Motion Helper Function | |
|
ProgressBar({ current, max, theme, variant, ...props }, input) | |
|
ProgressList({ inProgressId, items, autoEllipsis, ...htmlProps }, input) |
Component that sets the base structure for scrollable content in a max height container |
|
ProgressListItem({ children, status, error, errorLevel, autoEllipsis, }, input) | |
|
Push a dialog element onto the stack. Intended to be called by | |
|
Uniform Resolve Icon Component | |
|
Component that sets the base structure for scrollable content in a max height container | |
|
ScrollableListItem({ buttonText, icon, active, disableShadow, ...props }, input) |
Component used within for adding interactive button components with predefined styles |
|
Searchable menu allows searching through its menu items | |
|
A control with multiple segments. Can be used as a replacement of radio buttons. | |
|
Skeleton({ width, height, inline, circle, children, ...otherProps }, input) |
A loading skeleton |
|
SliderLabels({ ticks, currentValue, containerWidth }, input) |
SliderLabels component that intelligently shows/hides labels based on available space |
|
Defines a single step inside a Renders a scrollable content area and an optional bottom button group. The | |
|
StatusBullet({ status, hideText, size, message, compact, ...props }, input) | |
|
Subscribe to changes to the topmost open dialog. The listener is invoked immediately with the current top (or | |
|
Component that provides success messaging to input fields | |
|
Media Query Helper Function | |
|
SwatchComboBox({ labelTitle, caption, isMulti, ...props }, input) | |
|
SwatchComboBoxLabelStyles provides custom styles for react-select's multiValue and multiValueLabel. Dynamically applies color based on each option's color property. | |
|
SwatchLabel({ variant, size, label, rightSlot, tooltip, leftSlot, }, input) |
A colored label component that uses the same color variants as Swatch. |
|
SwatchLabelTooltip({ parentTitle, title, description, }, input) |
A tooltip component that displays a swatch label with a parent title and a description. |
|
TabContent({ children, tabId, id, keepMounted, ...props }, input) | |
|
A specialized drawer renderer that takes over the full stack. DrawerProvider - Must be rendered inside a | |
|
Uniform CSS Variables, font provider and optional reset stylesheet | |
|
Tile({ children, disabled, isSelected, orientation, ...props }, input) | |
|
Uniform Tile Container Component | |
|
Renders the global toast viewport. Intended to be mounted exactly once near the root of the app (typically in | |
|
Displays contextual information when hovering or focusing an element. | |
|
TwoColumnLayout({ bgColor, invertLayout, supportingContent, children, }, input) | |
|
Uniform Badge Logo | |
|
Uniform Logo | |
|
Returns the name of the current breakpoint. Built on top of https://github.com/streamich/react-use/blob/master/docs/createBreakpoint.md | |
|
Returns the current tabs context with | |
|
Use this context for slots within the date time picker in order to manipulate the current value | |
|
useImageLoadFallback({ src, srcSet, errorFallbackSrc, logContext, }, input) |
Manage |
|
Hook to get the current popover context. Useful for closing the popover with a nested button or interactive element. | |
|
Hook to access the stacked modal navigation context. Provides the current step, total steps, navigation direction, and functions to navigate between steps. | |
|
VerticalRhythm({ align, justify, tag, gap, children, ref, ...props }, input) | |
|
Component that provides warning messaging to input fields |
Interfaces
|
Interface |
Description |
|---|---|
Variables
|
Variable |
Description |
|---|---|
|
Canonical width tokens for each | |
|
Largest step (6rem ≈ 96px when root font size is 16px). | |
|
Object of breakpoints and the pixel values | |
|
Uniform Button Component | |
|
Wrapper for InputKeywordSearch that debounces the onSearchTextChanged callback to avoid triggering any business logic on every keystroke. | |
|
A component to render a key-value list (uses
| |
|
A drawer component that opens from the right side of its parent. When used without an external | |
|
Renders a dropdown menu style menu trigger button. Marked with | |
|
fadeIn animation - fade in an element from 0 to 1 opacity | |
|
fadeInBottom animation - fades in an element from the Y axis by 10px | |
|
fadeInTop animation - fades in an element from the Y axis by -10px | |
|
fadeOutBottom animation - fades out an element from the Y axis by 10px | |
|
Compact button used to toggle a filter on/off, optionally rendered as a dropdown trigger. Spreads | |
|
growSubtle animation - increases the size of an element from scale(1) - scale(1.15) and back down to scale(1) using transform: scale(1) | |
|
Component that renders icons IconsProvider - Wrap a parent component with | |
|
Input Component | |
|
Component used for keyword search functionality | |
|
Input Select Component | |
|
Time input with segmented control | |
|
Component that creates a checkbox or radio input field | |
|
Uniform Link Component | |
|
Uniform LinkWithRef Component We recommend using this link | |
|
Component used for creating clickable menus | |
|
Bare The | |
|
MenuItem Component used along side component | |
|
MenuItem Component for headless use outside component Use only if adapting Uniform menu item appearance to a non-Base UI menu. This is required because Base UI does not let you use MenuItem outside of a Menu component. | |
|
Select-style Menu trigger that renders the current value with a chevron. Marked as a native-button trigger for the same reason as | |
|
Three-dot ("more options") Menu trigger. Marked as a native-button trigger so | |
|
A modal component to open a dialog with a backdrop that covers the whole page. | |
|
Context for passing a portal container element to child popover/menu components rendered inside a Modal or the docked/fullscreen Scout side chat panel. Ensures floating elements render into that element instead of document.body, preventing clipping by overflow and incorrect stacking (e.g. menus behind --z-side-chat). | |
|
CSS Grid container for laying out ObjectGridItem() elements in a responsive grid. Supports forwarding a ref to the underlying | |
|
ParameterShell - Must be rendered inside a | |
|
ParameterShell - Must be rendered inside a | |
|
ParameterShell - Must be rendered inside a | |
|
Parameter wrapper for numeric sliders | |
|
ParameterShell - Must be rendered inside a | |
|
ParameterShell - Must be rendered inside a | |
|
Parameter wrapper for option-based sliders | |
|
ParameterShell - Must be rendered inside a | |
|
ParameterShell - Must be rendered inside a | |
|
ParameterShell - Must be rendered inside a | |
|
Custom scrollbar styles | |
|
A MenuItem that displays a selected state via a leading check icon. The component forwards refs to the underlying menu item DOM node so that Base UI's | |
|
Slider component that supports both numeric values and predefined options | |
|
A modal component that supports multi-step content with sliding transitions. Each child should be a Use the | |
|
Swatch color CSS custom properties Exports CSS variables for all swatch variants that can be used in other components. Each variant has --swatch--border variables. | |
|
Swatch variant styles as plain objects. Works with both Emotion's css prop and react-select's styles API. | |
|
Uniform Switch Input Component | |
|
Uniform's Table component | |
|
Textarea Component | |
|
Imperative API for showing toasts from anywhere in the app. Mirrors the historical react-toastify surface ( | |
|
Uniform utility colors exports the following css variables: --utility-caution-icon: #facc15; --utility-caution-title: #854d0e; --utility-caution-container: #fefce8; --utility-danger-icon: #f87171; --utility-danger-title: #991b1b; --utility-danger-container: #fef2f2; --utility-info-icon: #60a5fa; --utility-info-title: #1e40af; --utility-info-container: #eff6ff; --utility-note-icon: var(--gray-400); --utility-note-title: var(--gray-800); --utility-note-container: var(--gray-50); --utility-success-icon: #4ade80; --utility-success-title: #166534; --utility-success-container: #f0fdfa; | |
Type Aliases
|
Type Alias |
Description |
|---|---|
|
Breakpoint label values | |
|
Button sizes that are available to use with our brand | |
|
Button themes that are available to use with our brand | |
|
ButtonWithMenuProps combines the ActionButtonsProps with React HTMLButtonElement attributes | |
|
Optional style overrides for calendar sub-elements. | |
|
Callout button types available to use with our brand | |
|
sets fill color of the svg icon 'default' | |
|
A list of available icon names that can be used with the Uniform brand | |
|
sets the type of icon to use from the available list | |
|
Default type of option for the combo box. Note: you can use any type of object you want. If it has a | |
|
A string in the ISO 8601 date format: YYYY-MM-DD | |
|
A string in the ISO 8601 datetime format | |
|
A string in the ISO 8601 time format: hh:mm | |
|
A JSON Schema document (draft-07). | |
|
Extended option type that supports label-specific properties | |
|
Represents a label item that can be displayed in the quick filter | |
|
Available heading weights e.g. 1 - 6 | |
|
base - default red - red text accent-alt - AI color (accent-alt-dark). DOES NOT change the text - only the icon color! | |
|
Props for ObjectGridContainer. | |
|
Props for ObjectGridItemCardCover(). Pass **either** an | |
|
Props for ObjectGridItemCoverButton(). The | |
|
Props for ObjectGridItemCover(). Extends ObjectGridItemCardCoverProps with overlay slots at each corner. | |
|
Props for ObjectGridItemIconWithTooltip(). | |
|
Props for ObjectGridItem(). | |
|
Props for ObjectGridItemHeading(). | |
|
Props for ObjectItemLoadingSkeleton(). | |
|
Props for ObjectListItemCover(). | |
|
Props for ObjectListItemHeading(). | |
|
Props for ObjectListItem(). Supports two layout modes via | |
|
Props for a single step within a | |
|
The semantic transition state for a single step, derived from the navigation context. | |
|
@todo: line 144 onwards will be brought into a title, paragraph, list and link components | |
|
The shape consumers can store on a toast via the | |
|
Identifier returned by | |
|
Per-call options accepted by every | |
|
Promise-toast options accepted by | |
|
Patch shape accepted by | |