UNPKG

@workday/canvas-kit-docs

Version:

Documentation components of Canvas Kit components

50 lines (49 loc) 1.9 kB
import { jsx as _jsx } from "react/jsx-runtime"; import { createComponent } from '@workday/canvas-kit-react/common'; import { Box } from '@workday/canvas-kit-react/layout'; import { Text } from '@workday/canvas-kit-react/text'; import styled from '@emotion/styled'; import { type } from '@workday/canvas-kit-react/tokens'; const TableHead = createComponent('thead')({ Component: (props, ref, Element) => { return _jsx(Box, { as: Element, ref: ref, ...props }); }, }); const TableBody = createComponent('tbody')({ Component: (props, ref, Element) => { return _jsx(Box, { as: Element, ref: ref, ...props }); }, }); const TableRow = createComponent('tr')({ Component: (props, ref, Element) => { return (_jsx(Box, { as: Element, ref: ref, borderBottom: "solid 1px", borderBottomColor: "soap400", ...props })); }, }); const TableHeader = createComponent('th')({ Component: (props, ref, Element) => { return (_jsx(Text, { as: Element, ref: ref, fontWeight: "medium", paddingX: "xxs", paddingY: "s", textAlign: "start", typeLevel: "subtext.large", ...props })); }, }); const StyledText = styled(Text)({ code: { fontFamily: type.properties.fontFamilies.monospace, }, }); const TableData = createComponent('td')({ Component: (props, ref, Element) => { return (_jsx(StyledText, { as: Element, ref: ref, paddingX: "xxs", paddingY: "s", textAlign: "start", typeLevel: "subtext.large", ...props })); }, }); export const Table = createComponent('table')({ displayName: 'Table', Component: (props, ref, Element) => { return (_jsx(Box, { as: Element, ref: ref, borderCollapse: "collapse", width: "100%", ...props, marginBottom: "s" })); }, subComponents: { Head: TableHead, Body: TableBody, Row: TableRow, Header: TableHeader, Data: TableData, }, });