Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | 12x 4x 3x 1x | import { styled, GetProps, YStack, XStack, Text } from 'tamagui';
const DividerLine = styled(YStack, {
name: 'Divider',
backgroundColor: '$borderColor',
variants: {
orientation: {
horizontal: { height: 1, width: '100%' },
vertical: { width: 1, height: '100%' },
},
thickness: {
thin: {},
medium: {},
thick: {},
},
} as const,
defaultVariants: {
orientation: 'horizontal',
thickness: 'thin',
},
});
type DividerProps = GetProps<typeof DividerLine> & {
label?: string;
};
export function Divider({ label, orientation = 'horizontal', ...props }: DividerProps) {
if (!label) {
return <DividerLine orientation={orientation} {...props} />;
}
return (
<XStack alignItems="center" gap="$3">
<DividerLine orientation="horizontal" flex={1} {...props} />
<Text fontSize="$3" color="$foregroundSubtle">
{label}
</Text>
<DividerLine orientation="horizontal" flex={1} {...props} />
</XStack>
);
}
|