2018-03-06 15:00:39 -05:00
|
|
|
import parser from 'postcss-selector-parser'
|
2019-01-14 14:17:02 -05:00
|
|
|
import get from 'lodash/get'
|
2018-03-06 15:00:39 -05:00
|
|
|
|
2018-03-02 09:08:05 -05:00
|
|
|
export default function(prefix, selector) {
|
|
|
|
|
const getPrefix = typeof prefix === 'function' ? prefix : () => prefix
|
|
|
|
|
|
2018-03-06 15:00:39 -05:00
|
|
|
return parser(selectors => {
|
2018-03-06 15:03:09 -05:00
|
|
|
selectors.walkClasses(classSelector => {
|
2019-01-14 14:17:02 -05:00
|
|
|
const baseClass = get(classSelector, 'raws.value', classSelector.value)
|
|
|
|
|
|
|
|
|
|
classSelector.setPropertyAndEscape('value', `${getPrefix('.' + baseClass)}${baseClass}`)
|
2018-03-06 15:00:39 -05:00
|
|
|
})
|
|
|
|
|
}).processSync(selector)
|
2018-03-02 09:08:05 -05:00
|
|
|
}
|