Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
// Icons
//
const spinKeyframes = keyframes`
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
`;
const iconColors = {
[Kinds.DEFAULT]: tokens.textColor.icon,
[Kinds.PRIMARY]: tokens.color.white,
[Kinds.SECONDARY]: tokens.color.white,
[Kinds.DESTRUCTIVE]: tokens.color.white,
[Kinds.FLAT]: tokens.textColor.icon,
[Kinds.MINOR]: tokens.textColor.icon,
[Kinds.LINK]: tokens.textColor.icon,
};
function getIconColor(props) {
if (props.isDisabled) return tokens.color.blackDisabled;
return iconColors[props.kind];
}
export const iconStyles = props => css`
align-items: center;
color: ${getIconColor(props)};
&.form-input--medium input.form-input__input {
${stylers.fontSize(-1)}
height: ${stylers.spacer(4)};
}
&.form-input--large input.form-input__input {
${stylers.fontSize()}
height: ${stylers.spacer(5)};
}
// Icons
.form-input__icon,
.form-input__clear {
${stylers.z(1)};
color: ${tokens.textColor.icon};
position: absolute;
top: 50%;
transform: translateY(-50%);
}
.form-input__icon {
${({ size }) => iconStyles[size]};
svg {
vertical-align: middle;
}
}
.form-input__clear {
border-radius: ${tokens.border.radius};
color: ${tokens.color.blackLighten50};
import { css } from "styled-components";
import tokens from "@paprika/tokens";
import stylers from "@paprika/stylers";
const incompleteHeight = `${Number.parseInt(tokens.space, 10) * 5 + 1}px`;
export const itemStyles = css`
border-bottom: 1px solid ${tokens.border.color};
color: ${tokens.textColor.subtle};
max-width: calc(100% - 36px); // 36px = indicatorSize + margin-right
[role="button"] {
font-weight: bold;
margin-left: -${tokens.spaceSm};
padding: ${tokens.space} ${tokens.spaceSm};
width: calc(100% + ${tokens.spaceSm});
}
`;
export const itemLabelStyles = css`
${stylers.truncateText}
`;
export const incompleteStyles = css`
${stylers.fontSize()}
import { css } from "styled-components";
import tokens from "@paprika/tokens";
import stylers from "@paprika/stylers";
export const accordionStyles = css`
&,
* {
box-sizing: border-box;
}
`;
export const itemStyles = css`
color: ${tokens.textColor.subtle};
display: flex;
[data-pka-anchor="indicator"] {
margin: ${tokens.space} ${tokens.spaceLg} 0 0;
}
`;
export const activeItemStyles = css`
display: flex;
justify-content: space-between;
`;
export const activeLabelStyles = css`
${stylers.truncateText}
color: ${tokens.color.blue};
&:last-child {
margin-bottom: 0;
}
&:focus {
box-shadow: ${tokens.highlight.active.withBorder.boxShadow};
outline: none;
}
${({ isDragging }) => (isDragging ? draggingStyles : null)}
`;
export const itemHandleStyles = css`
${stylers.fontSize(3)};
align-items: center;
color: ${tokens.textColor.icon};
display: flex;
line-height: 1;
padding: 0 ${tokens.spaceSm} 0 0;
`;
export const itemIndexStyles = css`
${stylers.fontSize()};
align-self: center;
background: ${tokens.color.blackLighten60};
border-radius: ${tokens.border.radius};
color: ${tokens.color.black};
flex-shrink: 0;
height: ${stylers.spacer(4)};
line-height: ${stylers.spacer(4)};
margin: 0 ${tokens.space} 0 0;
min-width: 1.5em;
${props.isDisabled ? disabledStyles : ""}
`,
[Kinds.MINOR]: `
${textButtonStyles}
&:hover {
text-decoration: underline;
}
${props.isDisabled ? disabledTextStyles : ""}
`,
[Kinds.LINK]: `
${textButtonStyles}
color: ${tokens.textColor.link};
font-weight: inherit;
text-decoration: underline;
&:hover {
color: ${tokens.textColor.linkHover};
}
&:active {
color: ${tokens.color.blue};
}
${props.isDisabled ? disabledTextStyles : ""}
`,
});
import { css } from "styled-components";
import tokens from "@paprika/tokens";
import stylers from "@paprika/stylers";
export const ruleStyles = css`
color: ${tokens.textColor.subtle};
font-weight: normal;
`;
const labelStyles = css`
${stylers.lineHeight(-1)}
color: ${tokens.textColor.default};
font-weight: bold;
margin: 0 0 ${tokens.spaceSm} 0;
${({ isInline }) => isInline && `padding-right: ${stylers.spacer(1)};`}
${({ isVisuallyHidden }) => isVisuallyHidden && stylers.visuallyHidden}
label {
margin-right: ${tokens.spaceSm};
}
min-height: 100vh;
width: 100%;
`;
export const Rule = styled.hr`
border: none;
border-bottom: 1px solid ${tokens.border.color};
margin: ${stylers.spacer(4)} 0;
`;
export const Small = styled.small`
color: ${tokens.color.blackLighten40};
`;
export const Tagline = styled.div`
color: ${tokens.textColor.subtle};
font-style: italic;
`;
const LargeGap = styled.div`
height: 120px;
`;
const SmallGap = styled.div`
height: ${stylers.spacer(2)};
`;
const InlineGap = styled.div`
display: inline-flex;
width: ${tokens.space};
`;
export const Gap = styled.div`
height: ${stylers.spacer(5)};
`;
import { css } from "styled-components";
import tokens from "@paprika/tokens";
import stylers from "@paprika/stylers";
export const emptyValueStyles = css`
font-style: italic;
`;
const responsesStyles = css`
${stylers.lineHeight()}
color: ${tokens.textColor.subtle};
margin: ${tokens.space} 0;
max-height: 420px;
overflow: auto;
padding: 0 ${tokens.space} 0 0;
dt {
${stylers.fontSize(-1)}
display: block;
font-weight: bold;
margin-bottom: ${tokens.space};
}
dd {
margin: 0 0 ${stylers.spacer(3)} 0;
padding: 0;
import styled from "styled-components";
import tokens from "@paprika/tokens";
import stylers from "@paprika/stylers";
const defaultStyles = `
background-color: ${tokens.color.white};
border: 1px solid ${tokens.border.color};
border-radius: ${tokens.card.borderRadius};
box-shadow: ${tokens.shadow};
color: ${tokens.textColor.default};
padding: ${tokens.space} ${tokens.spaceLg};
`;
const darkStyles = `
background-color: ${tokens.color.black};
border: 1px solid ${tokens.color.black};
border-radius: ${tokens.border.radius};
color: ${tokens.color.white};
padding: ${tokens.spaceSm} ${tokens.space};
`;
const CardStyled = styled.div`
${props => (props.isDark ? darkStyles : defaultStyles)};
${stylers.fontSize(-1)};
${stylers.lineHeight()};