// stylesheet.css.ts export const visualFocus = style([ outlineStyle(/* selector string */), ]);
// CustomFormComponent.tsx import { Box } from 'braid-design-system'; import * as styles from './CustomFormComponent.css.ts'; export const CustomFormComponent = () => ( <Box> <Box component="input" type="range" className={styles.hiddenField} /> <Box className={styles.thumb} /> </Box> );
// CustomFormComponent.css.ts import { style } from '@vanilla-extract/css'; import { outlineStyle } from 'braid-design-system/css'; export const hiddenField = style({ outline: 'none', // Remove default outline }); export const thumb = style([ // { custom thumb styles }, outlineStyle(`${hiddenField}:focus-visible ~ &`), ]);
// stylesheet.css.ts import { style } from '@vanilla-extract/css'; import { outlineStyle } from 'braid-design-system/css'; import { vars } from '../../themes/vars.css'; const { transition: outlineTransition, ...restOutlineStyles } = outlineStyle(/* selector string */); export const visualFocus = style([ { transition: [vars.transition.fast, outlineTransition].join(', '), }, restOutlineStyles, ]);