mirror of
https://github.com/Redocly/redoc.git
synced 2024-12-02 13:23:44 +03:00
163 lines
3.6 KiB
TypeScript
163 lines
3.6 KiB
TypeScript
// import { transparentize } from 'polished';
|
|
|
|
import styled, { extensionsHook } from '../styled-components';
|
|
import { deprecatedCss } from './mixins';
|
|
|
|
export const PropertiesTableCaption = styled.caption`
|
|
text-align: right;
|
|
font-size: 0.9em;
|
|
font-weight: normal;
|
|
color: ${props => props.theme.colors.text.secondary};
|
|
`;
|
|
|
|
export const PropertyCell = styled.td<{ kind?: string }>`
|
|
border-left: 1px solid ${props => props.theme.schema.linesColor};
|
|
box-sizing: border-box;
|
|
position: relative;
|
|
padding: 10px 10px 10px 0;
|
|
|
|
tr:first-of-type > &,
|
|
tr.last > & {
|
|
border-left-width: 0;
|
|
background-position: top left;
|
|
background-repeat: no-repeat;
|
|
background-size: 1px 100%;
|
|
}
|
|
|
|
tr:first-of-type > & {
|
|
background-image: linear-gradient(
|
|
to bottom,
|
|
transparent 0%,
|
|
transparent 22px,
|
|
${props => props.theme.schema.linesColor} 22px,
|
|
${props => props.theme.schema.linesColor} 100%
|
|
);
|
|
}
|
|
|
|
tr.last > & {
|
|
background-image: linear-gradient(
|
|
to bottom,
|
|
${props => props.theme.schema.linesColor} 0%,
|
|
${props => props.theme.schema.linesColor} 22px,
|
|
transparent 22px,
|
|
transparent 100%
|
|
);
|
|
}
|
|
|
|
tr.last + tr > & {
|
|
border-left-color: transparent;
|
|
}
|
|
|
|
tr.last:first-child > & {
|
|
background: none;
|
|
border-left-color: transparent;
|
|
}
|
|
`;
|
|
|
|
export const PropertyCellWithInner = styled(PropertyCell)`
|
|
padding: 0;
|
|
`;
|
|
|
|
export const PropertyNameCell = styled(PropertyCell)`
|
|
vertical-align: top;
|
|
line-height: 20px;
|
|
white-space: nowrap;
|
|
font-size: 0.929em;
|
|
font-family: ${props => props.theme.typography.headings.fontFamily};
|
|
|
|
&.deprecated {
|
|
${deprecatedCss};
|
|
}
|
|
|
|
${({ kind }) => (kind !== 'field' ? 'font-style: italic' : '')};
|
|
|
|
${extensionsHook('PropertyNameCell')};
|
|
`;
|
|
|
|
export const PropertyDetailsCell = styled.td`
|
|
border-bottom: 1px solid #9fb4be;
|
|
padding: 10px 0;
|
|
width: ${props => props.theme.schema.defaultDetailsWidth};
|
|
box-sizing: border-box;
|
|
|
|
tr.expanded & {
|
|
border-bottom: none;
|
|
}
|
|
`;
|
|
|
|
export const PropertyBullet = styled.span`
|
|
color: ${props => props.theme.schema.linesColor};
|
|
font-family: ${props => props.theme.typography.code.fontFamily};
|
|
margin-right: 10px;
|
|
|
|
&::before {
|
|
content: '';
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
width: 10px;
|
|
height: 1px;
|
|
background: ${props => props.theme.schema.linesColor};
|
|
}
|
|
|
|
&::after {
|
|
content: '';
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
width: 1px;
|
|
background: ${props => props.theme.schema.linesColor};
|
|
height: 7px;
|
|
}
|
|
`;
|
|
|
|
export const InnerPropertiesWrap = styled.div`
|
|
padding: ${({ theme }) => theme.schema.nestingSpacing};
|
|
`;
|
|
|
|
export const PropertiesTable = styled.table`
|
|
border-collapse: separate;
|
|
border-radius: 3px;
|
|
font-size: ${props => props.theme.typography.fontSize};
|
|
|
|
border-spacing: 0;
|
|
width: 100%;
|
|
|
|
> tr {
|
|
vertical-align: middle;
|
|
}
|
|
|
|
&
|
|
${InnerPropertiesWrap},
|
|
&
|
|
${InnerPropertiesWrap}
|
|
${InnerPropertiesWrap}
|
|
${InnerPropertiesWrap},
|
|
&
|
|
${InnerPropertiesWrap}
|
|
${InnerPropertiesWrap}
|
|
${InnerPropertiesWrap}
|
|
${InnerPropertiesWrap}
|
|
${InnerPropertiesWrap} {
|
|
margin: ${({ theme }) => theme.schema.nestingSpacing};
|
|
margin-right: 0;
|
|
background: ${({ theme }) => theme.schema.nestedBackground};
|
|
}
|
|
|
|
&
|
|
${InnerPropertiesWrap}
|
|
${InnerPropertiesWrap},
|
|
&
|
|
${InnerPropertiesWrap}
|
|
${InnerPropertiesWrap}
|
|
${InnerPropertiesWrap}
|
|
${InnerPropertiesWrap},
|
|
&
|
|
${InnerPropertiesWrap}
|
|
${InnerPropertiesWrap}
|
|
${InnerPropertiesWrap}
|
|
${InnerPropertiesWrap}
|
|
${InnerPropertiesWrap}
|
|
${InnerPropertiesWrap} {
|
|
background: #ffffff;
|
|
}
|
|
`;
|