123 lines
2.7 KiB
TypeScript
123 lines
2.7 KiB
TypeScript
import type { CSSProperties } from 'react'
|
|
import type { CodeThemeId } from '@/config/code-themes'
|
|
|
|
export interface StyleOptions {
|
|
// Layout
|
|
display?: string
|
|
position?: string
|
|
top?: string | number
|
|
left?: string | number
|
|
right?: string | number
|
|
bottom?: string | number
|
|
width?: string | number
|
|
height?: string | number
|
|
margin?: string | number
|
|
marginTop?: string | number
|
|
marginRight?: string | number
|
|
marginBottom?: string | number
|
|
marginLeft?: string | number
|
|
padding?: string | number
|
|
paddingTop?: string | number
|
|
paddingRight?: string | number
|
|
paddingBottom?: string | number
|
|
paddingLeft?: string | number
|
|
maxWidth?: string | number
|
|
|
|
// Typography
|
|
color?: string
|
|
fontSize?: string | number
|
|
fontFamily?: string
|
|
fontWeight?: string | number
|
|
fontStyle?: string
|
|
lineHeight?: string | number
|
|
textAlign?: 'left' | 'center' | 'right'
|
|
textDecoration?: string
|
|
textIndent?: string | number
|
|
letterSpacing?: string | number
|
|
whiteSpace?: string
|
|
wordBreak?: string
|
|
|
|
// Border & Background
|
|
border?: string
|
|
borderTop?: string
|
|
borderRight?: string
|
|
borderBottom?: string
|
|
borderLeft?: string
|
|
borderRadius?: string
|
|
borderCollapse?: string
|
|
background?: string
|
|
backgroundColor?: string
|
|
backgroundImage?: string
|
|
|
|
// List
|
|
listStyle?: string
|
|
listStyleType?: string
|
|
listStylePosition?: string
|
|
|
|
// Flexbox
|
|
alignItems?: string
|
|
justifyContent?: string
|
|
flexDirection?: string
|
|
flexWrap?: string
|
|
gap?: string
|
|
|
|
// Other
|
|
opacity?: number
|
|
overflow?: string
|
|
overflowX?: string
|
|
overflowY?: string
|
|
verticalAlign?: string
|
|
userSelect?: string
|
|
cursor?: string
|
|
zIndex?: number
|
|
boxShadow?: string
|
|
transition?: string
|
|
transform?: string
|
|
WebkitBackgroundClip?: string
|
|
WebkitTextFillColor?: string
|
|
}
|
|
|
|
export interface RendererOptions {
|
|
base?: {
|
|
themeColor?: string
|
|
fontSize?: string
|
|
lineHeight?: string
|
|
textAlign?: 'left' | 'center' | 'right'
|
|
fontFamily?: string
|
|
padding?: string
|
|
margin?: string
|
|
maxWidth?: string
|
|
wordBreak?: string
|
|
whiteSpace?: string
|
|
color?: string
|
|
}
|
|
block?: {
|
|
h1?: StyleOptions
|
|
h2?: StyleOptions
|
|
h3?: StyleOptions
|
|
h4?: StyleOptions
|
|
h5?: StyleOptions
|
|
h6?: StyleOptions
|
|
p?: StyleOptions
|
|
blockquote?: StyleOptions
|
|
code_pre?: StyleOptions
|
|
image?: StyleOptions
|
|
ul?: StyleOptions
|
|
ol?: StyleOptions
|
|
table?: StyleOptions
|
|
th?: StyleOptions
|
|
td?: StyleOptions
|
|
footnotes?: StyleOptions
|
|
}
|
|
inline?: {
|
|
strong?: StyleOptions
|
|
em?: StyleOptions
|
|
codespan?: StyleOptions
|
|
link?: StyleOptions
|
|
listitem?: StyleOptions
|
|
checkbox?: StyleOptions
|
|
del?: StyleOptions
|
|
footnote?: StyleOptions
|
|
}
|
|
codeTheme?: CodeThemeId
|
|
}
|