You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
566 B
26 lines
566 B
import escapeClassName from './escapeClassName'
|
|
import escapeCommas from './escapeCommas'
|
|
|
|
export function asClass(name) {
|
|
return escapeCommas(`.${escapeClassName(name)}`)
|
|
}
|
|
|
|
export default function nameClass(classPrefix, key) {
|
|
return asClass(formatClass(classPrefix, key))
|
|
}
|
|
|
|
export function formatClass(classPrefix, key) {
|
|
if (key === 'DEFAULT') {
|
|
return classPrefix
|
|
}
|
|
|
|
if (key === '-' || key === '-DEFAULT') {
|
|
return `-${classPrefix}`
|
|
}
|
|
|
|
if (key.startsWith('-')) {
|
|
return `-${classPrefix}${key}`
|
|
}
|
|
|
|
return `${classPrefix}-${key}`
|
|
}
|
|
|