-
Notifications
You must be signed in to change notification settings - Fork 149
Expand file tree
/
Copy pathArtworkDefinitionList.tsx
More file actions
53 lines (49 loc) · 1.32 KB
/
ArtworkDefinitionList.tsx
File metadata and controls
53 lines (49 loc) · 1.32 KB
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
45
46
47
48
49
50
51
52
53
import {
type BoxProps,
Clickable,
Flex,
SkeletonText,
Text,
} from "@artsy/palette"
import type * as React from "react"
interface ArtworkDefinitionListProps extends BoxProps {
term: string
children: React.ReactNode
onTitleClick?: () => void
}
export const ArtworkDefinitionList: React.FC<
React.PropsWithChildren<ArtworkDefinitionListProps>
> = ({ term, children, onTitleClick, ...rest }) => {
return (
<Flex as="dl" flexDirection={["column", "row"]} {...rest}>
{onTitleClick ? (
<>
<Clickable textDecoration="underline" onClick={onTitleClick}>
<Text as="dt" variant="xs" width={150} flexShrink={0} mr={2}>
{term}
</Text>
</Clickable>
</>
) : (
<Text as="dt" variant="xs" width={150} flexShrink={0} mr={2}>
{term}
</Text>
)}
<Text as="dd" variant="xs" color="mono60" flex={1}>
{children}
</Text>
</Flex>
)
}
export const ArtworkDefinitionListSkeleton: React.FC<
React.PropsWithChildren<BoxProps>
> = ({ children, ...rest }) => {
return (
<Flex as="dl" flexDirection={["column", "row"]} {...rest}>
<SkeletonText variant="xs" width={150} flexShrink={0} mr={2} />
<SkeletonText variant="xs" flex={1}>
{children}
</SkeletonText>
</Flex>
)
}