diff --git a/src/classy/index.js b/src/classy/index.js index a0951a3..804ab14 100644 --- a/src/classy/index.js +++ b/src/classy/index.js @@ -36,7 +36,10 @@ export function classy(...args) { * can be reused for its scope and BEM root! */ if (new.target) { - const { bem = "", classes = {}, scope = {} } = args?.[0] || {}; + let scope, namespace; + if (typeof args[0] === "string") [namespace, scope] = args; + else [scope, namespace] = args; + const { bem = namespace, classes = {} } = scope || {}; return (...selectors) => { const cn = classy({ bem, ...scope, ...classes }, selectors); return cn || scope?.[bem] || bem; diff --git a/src/useClassy/index.js b/src/useClassy/index.js index f062968..84ab19e 100644 --- a/src/useClassy/index.js +++ b/src/useClassy/index.js @@ -9,12 +9,10 @@ import { classy } from "../classy"; * @returns {String} a normalized list of class selectors */ export const useClassy = (scope, namespace) => { - const bem = useCallback(() => { - return new classy({ - classes: scope, - bem: namespace, - }); - }, [scope, namespace]); + const bem = useCallback( + () => new classy(scope, namespace), + [scope, namespace] + ); return useMemo((...args) => bem(...args), [bem]); };