Files
cinny/src/app/styles/CustomHtml.css.ts
T

189 lines
3.7 KiB
TypeScript
Raw Normal View History

2023-06-12 21:15:23 +10:00
import { style } from '@vanilla-extract/css';
import { recipe } from '@vanilla-extract/recipes';
import { color, config, DefaultReset, toRem } from 'folds';
2023-10-06 13:44:06 +11:00
export const MarginSpaced = style({
2023-06-12 21:15:23 +10:00
marginBottom: config.space.S200,
2023-10-06 13:44:06 +11:00
marginTop: config.space.S200,
2023-06-12 21:15:23 +10:00
selectors: {
2023-10-06 13:44:06 +11:00
'&:first-child': {
marginTop: 0,
},
2023-06-12 21:15:23 +10:00
'&:last-child': {
marginBottom: 0,
},
},
});
2023-10-06 13:44:06 +11:00
export const Paragraph = style([DefaultReset]);
2023-06-12 21:15:23 +10:00
2023-10-06 13:44:06 +11:00
export const Heading = style([
DefaultReset,
MarginSpaced,
{
marginTop: config.space.S400,
selectors: {
'&:first-child': {
marginTop: 0,
},
},
},
]);
2023-06-12 21:15:23 +10:00
export const BlockQuote = style([
DefaultReset,
2023-10-06 13:44:06 +11:00
MarginSpaced,
2023-06-12 21:15:23 +10:00
{
paddingLeft: config.space.S200,
borderLeft: `${config.borderWidth.B700} solid ${color.SurfaceVariant.ContainerLine}`,
fontStyle: 'italic',
},
]);
const BaseCode = style({
fontFamily: 'monospace',
2023-10-06 13:44:06 +11:00
color: color.Secondary.OnContainer,
background: color.Secondary.Container,
border: `${config.borderWidth.B300} solid ${color.Secondary.ContainerLine}`,
2023-06-12 21:15:23 +10:00
borderRadius: config.radii.R300,
});
export const Code = style([
DefaultReset,
BaseCode,
{
padding: `0 ${config.space.S100}`,
},
]);
2023-10-06 13:44:06 +11:00
export const Spoiler = recipe({
base: [
DefaultReset,
{
padding: `0 ${config.space.S100}`,
backgroundColor: color.SurfaceVariant.ContainerActive,
borderRadius: config.radii.R300,
selectors: {
'&[aria-pressed=true]': {
color: 'transparent',
},
},
},
],
variants: {
active: {
true: {
color: 'transparent',
},
},
},
});
export const CodeBlock = style([
2023-06-12 21:15:23 +10:00
DefaultReset,
2023-10-06 13:44:06 +11:00
BaseCode,
MarginSpaced,
2023-06-12 21:15:23 +10:00
{
2023-10-06 13:44:06 +11:00
fontStyle: 'normal',
2023-06-12 21:15:23 +10:00
},
]);
export const CodeBlockInternal = style({
padding: `${config.space.S200} ${config.space.S200} 0`,
});
export const List = style([
DefaultReset,
2023-10-06 13:44:06 +11:00
MarginSpaced,
2023-06-12 21:15:23 +10:00
{
padding: `0 ${config.space.S100}`,
paddingLeft: config.space.S600,
},
]);
2023-10-06 13:44:06 +11:00
export const Img = style([
DefaultReset,
MarginSpaced,
{
maxWidth: toRem(296),
borderRadius: config.radii.R300,
},
]);
2023-06-12 21:15:23 +10:00
export const InlineChromiumBugfix = style({
fontSize: 0,
lineHeight: 0,
});
export const Mention = recipe({
base: [
DefaultReset,
{
2023-10-06 13:44:06 +11:00
backgroundColor: color.SurfaceVariant.Container,
color: color.SurfaceVariant.OnContainer,
boxShadow: `0 0 0 ${config.borderWidth.B300} ${color.SurfaceVariant.ContainerLine}`,
2023-06-12 21:15:23 +10:00
padding: `0 ${toRem(2)}`,
borderRadius: config.radii.R300,
fontWeight: config.fontWeight.W500,
},
],
variants: {
highlight: {
true: {
2023-10-06 13:44:06 +11:00
backgroundColor: color.Success.Container,
color: color.Success.OnContainer,
boxShadow: `0 0 0 ${config.borderWidth.B300} ${color.Success.ContainerLine}`,
2023-06-12 21:15:23 +10:00
},
},
focus: {
true: {
boxShadow: `0 0 0 ${config.borderWidth.B300} ${color.SurfaceVariant.OnContainer}`,
},
},
},
});
export const EmoticonBase = style([
DefaultReset,
{
display: 'inline-block',
padding: '0.05rem',
height: '1em',
verticalAlign: 'middle',
},
]);
export const Emoticon = recipe({
base: [
DefaultReset,
{
display: 'inline-flex',
justifyContent: 'center',
alignItems: 'center',
height: '1em',
minWidth: '1em',
fontSize: '1.47em',
lineHeight: '1em',
verticalAlign: 'middle',
position: 'relative',
top: '-0.25em',
borderRadius: config.radii.R300,
},
],
variants: {
focus: {
true: {
boxShadow: `0 0 0 ${config.borderWidth.B300} ${color.SurfaceVariant.OnContainer}`,
},
},
},
});
export const EmoticonImg = style([
DefaultReset,
{
height: '1em',
cursor: 'default',
},
]);