function makeScopedTheme(scopeName, userTheme = { [scopeName]: {} }) {
  if (scopeName === undefined || typeof scopeName !== 'string') return console.warn('You may have forgotten to set the scope name in the makeScopedTheme function.'); // eslint-disable-line no-console
  const newTheme = { [scopeName]: {} };
  const v = newTheme[scopeName];
  const u = userTheme[scopeName] || {};

  Object.keys(userTheme).forEach((variable) => {
    v[variable] = u[variable] || userTheme[variable];
  });

  return { [scopeName]: { ...userTheme, ...v } };
}
/**
 * @public
 * @description
 * Creates a scoped makeTheme. Used for creating components or modules with their own variables.
 * @param scopeName string
 * @param userTheme
 *
 */
@public
@description
Creates a scoped makeTheme. Used for creating components or modules with their own variables.
@param scopeName string
@param userTheme
@public @description Creates a scoped makeTheme . Used for creating components or modules with their own variables . @param scopeName string @param userTheme
function makeScopedTheme(scopeName, userTheme = { [scopeName]: {} }) {
  if (scopeName === undefined || typeof scopeName !== 'string') return console.warn('You may have forgotten to set the scope name in the makeScopedTheme function.'); 
  const newTheme = { [scopeName]: {} };
  const v = newTheme[scopeName];
  const u = userTheme[scopeName] || {};
  Object.keys(userTheme).forEach((variable) => {
    v[variable] = u[variable] || userTheme[variable];
  });
  return { [scopeName]: { ...userTheme, ...v } };
}
function makeScopedTheme ( scopeName , userTheme = { [ scopeName ] : { } } ) { if ( scopeName === undefined || typeof scopeName !== 'string' ) return console . warn ( 'You may have forgotten to set the scope name in the makeScopedTheme function.' ) ; const newTheme = { [ scopeName ] : { } } ; const v = newTheme [ scopeName ] ; const u = userTheme [ scopeName ] || { } ; Object . keys ( userTheme ) . forEach ( ( variable ) => { v [ variable ] = u [ variable ] || userTheme [ variable ] ; } ) ; return { [ scopeName ] : { ... userTheme , ... v } } ; }
@public
 @description
 Creates a scoped makeTheme.
@public @description Creates a scoped makeTheme .
// eslint-disable-line no-console