Multi class with comma in a single expression

pull/3419/head
Marcelo Junior 6 years ago
parent 120ee28c4f
commit 0ab78035fa

@ -86,8 +86,8 @@ export default function(node: Element, renderer: Renderer, options: RenderOption
const class_expression = node.classes.map((class_directive: Class) => { const class_expression = node.classes.map((class_directive: Class) => {
const { expression, name } = class_directive; const { expression, name } = class_directive;
const snippet = expression ? snip(expression) : `ctx${quote_prop_if_necessary(name)}`; const snippet = expression ? snip(expression) : `ctx${quote_prop_if_necessary(name)}`;
return `${snippet} ? "${name}" : ""`; return `(${snippet} ? "${name.replace(/,/g, ' ')} " : "")`;
}).join(', '); }).join(' + ').trim();
let add_class_attribute = class_expression ? true : false; let add_class_attribute = class_expression ? true : false;

@ -238,7 +238,9 @@ export function add_resize_listener(element, fn) {
} }
export function toggle_class(element, name, toggle) { export function toggle_class(element, name, toggle) {
element.classList[toggle ? 'add' : 'remove'](name); name.split(',').forEach(className => {
element.classList[toggle ? 'add' : 'remove'](className);
})
} }
export function custom_event<T=any>(type: string, detail?: T) { export function custom_event<T=any>(type: string, detail?: T) {

Loading…
Cancel
Save