From db3f97a21bc814f0b5140180cfa42471352f9e14 Mon Sep 17 00:00:00 2001 From: Adam Wathan Date: Mon, 5 Apr 2021 11:03:54 -0400 Subject: [PATCH] Escape commas in native escapeClassName and nameClass functions --- src/util/escapeClassName.js | 6 +++++- src/util/nameClass.js | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/util/escapeClassName.js b/src/util/escapeClassName.js index 6a552f12bd9c..34c764fdedbd 100644 --- a/src/util/escapeClassName.js +++ b/src/util/escapeClassName.js @@ -1,8 +1,12 @@ import parser from 'postcss-selector-parser' import get from 'lodash/get' +function escapeCommas(className) { + return className.replace(/\\,/g, '\\2c ') +} + export default function escapeClassName(className) { const node = parser.className() node.value = className - return get(node, 'raws.value', node.value) + return escapeCommas(get(node, 'raws.value', node.value)) } diff --git a/src/util/nameClass.js b/src/util/nameClass.js index 44081f7bd248..2e7774472174 100644 --- a/src/util/nameClass.js +++ b/src/util/nameClass.js @@ -1,7 +1,11 @@ import escapeClassName from './escapeClassName' +function escapeCommas(className) { + return className.replace(/\\,/g, '\\2c ') +} + function asClass(name) { - return `.${escapeClassName(name)}` + return escapeCommas(`.${escapeClassName(name)}`) } export default function nameClass(classPrefix, key) {