Casey Baggz
Cerberus Admin
We're excited to announce the release of Cerberus v0.23! This update brings powerful new utility components that streamline common interaction patterns, along with important bug fixes that enhance reliability and visual consistency.
This release focuses on empowering developers with essential utility components for clipboard operations and collapsible content.
Copy text to the clipboard with ease using the new Clipboard component. This component provides an accessible way to copy text with built-in visual feedback and customizable indicators.
import { Clipboard, IconButton, Text } from '@cerberus/react'import { HStack } from 'styled-system/jsx'
function ClipboardDemo() { return ( <Clipboard.Root value="Hello, World!"> <Clipboard.Control asChild> <HStack gap="md" w="full"> <Clipboard.Label asChild> <Text as="small" textStyle="label-sm"> Hello, World! </Text> </Clipboard.Label>
<Clipboard.Trigger asChild> <IconButton clipboard shape="square" size="sm" rounded="xs"> <Clipboard.Indicator /> </IconButton> </Clipboard.Trigger> </HStack> </Clipboard.Control> </Clipboard.Root> )}The Clipboard component is completely unstyled by default, giving you full control over its appearance. You can easily compose it with buttons, text, or any other interactive elements.
import { Clipboard, Button } from '@cerberus/react'
function ClipboardButton() { return ( <Clipboard.Root value="Hello, World!"> <Clipboard.Control> <Clipboard.Trigger asChild> <Button color="action.text.initial"> <Clipboard.CopyText color="currentColor" /> <Clipboard.Indicator /> </Button> </Clipboard.Trigger> </Clipboard.Control> </Clipboard.Root> )}Show or hide content with smooth animations using the new Collapsible component. Perfect for creating accordions, expandable sections, and progressive disclosure patterns.
import { Collapsible } from '@cerberus/react'import { Box, HStack } from 'styled-system/jsx'
function CollapsibleDemo() { return ( <HStack h="full" w="17rem"> <Collapsible.Root> <Collapsible.Trigger>Toggle</Collapsible.Trigger> <Collapsible.Content> <Box border="1px solid" borderColor="page.border.initial" p="md" rounded="md" w="full" > Collapsible content goes here. </Box> </Collapsible.Content> </Collapsible.Root> </HStack> )}Control the animation behavior with the effect prop. You can choose from smooth height transitions or fade effects, or disable animations entirely.
function CollapsibleWithEffect() { return ( <Collapsible.Root> <Collapsible.Trigger>Toggle</Collapsible.Trigger> <Collapsible.Content effect="fade"> <Box border="1px solid" borderColor="page.border.initial" p="md" rounded="md" w="full" > Fades in and out smoothly. </Box> </Collapsible.Content> </Collapsible.Root> )}page.backdrop.initial token for the Cerberus theme in dark mode has been updated to provide improved contrast, ensuring better readability and visual hierarchy in dark mode interfaces.To upgrade to Cerberus v0.23.0, run:
npm run up:cerberuspnpm run up:cerberusyarn run up:cerberusWe continue to enhance the Cerberus ecosystem with a focus on developer productivity and accessible design patterns. Coming up:
Thank you for being part of the Cerberus community! These updates are driven by your feedback and real-world usage patterns.