mirror of
https://github.com/Sevichecc/Urara-Blog.git
synced 2025-05-03 03:49:31 +08:00
54 lines
1.3 KiB
Text
54 lines
1.3 KiB
Text
import postcss from 'postcss'
|
|
|
|
export default function transformThemeValue(themeSection) {
|
|
if (['fontSize', 'outline'].includes(themeSection)) {
|
|
return (value) => {
|
|
if (typeof value === 'function') value = value({})
|
|
if (Array.isArray(value)) value = value[0]
|
|
|
|
return value
|
|
}
|
|
}
|
|
|
|
if (
|
|
[
|
|
'fontFamily',
|
|
'boxShadow',
|
|
'transitionProperty',
|
|
'transitionDuration',
|
|
'transitionDelay',
|
|
'transitionTimingFunction',
|
|
'backgroundImage',
|
|
'backgroundSize',
|
|
'backgroundColor',
|
|
'cursor',
|
|
'animation',
|
|
].includes(themeSection)
|
|
) {
|
|
return (value) => {
|
|
if (typeof value === 'function') value = value({})
|
|
if (Array.isArray(value)) value = value.join(', ')
|
|
|
|
return value
|
|
}
|
|
}
|
|
|
|
// For backwards compatibility reasons, before we switched to underscores
|
|
// instead of commas for arbitrary values.
|
|
if (['gridTemplateColumns', 'gridTemplateRows', 'objectPosition'].includes(themeSection)) {
|
|
return (value) => {
|
|
if (typeof value === 'function') value = value({})
|
|
if (typeof value === 'string') value = postcss.list.comma(value).join(' ')
|
|
|
|
return value
|
|
}
|
|
}
|
|
|
|
return (value, opts = {}) => {
|
|
if (typeof value === 'function') {
|
|
value = value(opts)
|
|
}
|
|
|
|
return value
|
|
}
|
|
}
|