/* This file is part of Indico.
 * Copyright (C) 2002 - 2018 European Organization for Nuclear Research (CERN).
 *
 * Indico is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation; either version 3 of the
 * License, or (at your option) any later version.
 *
 * Indico is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Indico; if not, see <http://www.gnu.org/licenses/>.
 */

export function toClasses(obj) {
    return Object.entries(obj).map(
        ([k, v]) => (v ? ` ${k}` : '')
    ).join('').trim();
}

@@ -770,14 +770,213 @@
 ses(
-obj) %7B
+...params) %7B%0A    const obj = params.length === 1 ? params%5B0%5D : params;%0A    if (Array.isArray(obj)) %7B%0A        return obj.join(' ').trim();%0A    %7D else if (typeof obj === 'string') %7B%0A        return obj;%0A    %7D
 %0A   

Make toClasses(...) more flexible regarding input