You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							40 lines
						
					
					
						
							1022 B
						
					
					
				
			
		
		
	
	
							40 lines
						
					
					
						
							1022 B
						
					
					
				"use strict";
 | 
						|
// eslint-disable-next-line import/prefer-default-export
 | 
						|
Object.defineProperty(exports, "__esModule", { value: true });
 | 
						|
exports.cssClass = exports.default = void 0;
 | 
						|
/**
 | 
						|
 *
 | 
						|
 * Generates class name for given component. It is used by AdminJS core to append namespaced
 | 
						|
 * classes.
 | 
						|
 *
 | 
						|
 * ### example
 | 
						|
 *
 | 
						|
 * ```javascript
 | 
						|
 * import { cssClass } from '@adminjs/design-system'
 | 
						|
 *
 | 
						|
 * cssClass('Icon', 'my-regular-class-name')
 | 
						|
 * // returns: 'adminjs_Icon my-regular-class-name'
 | 
						|
 * ```
 | 
						|
 *
 | 
						|
 *
 | 
						|
 * @param {string | Array<string>} className
 | 
						|
 * @param {string}                [regularClass]
 | 
						|
 * @memberof module:@adminjs/design-system
 | 
						|
 */
 | 
						|
const cssClass = (className, regularClass) => {
 | 
						|
    let names = [];
 | 
						|
    if (className.join) {
 | 
						|
        names = className;
 | 
						|
    }
 | 
						|
    else {
 | 
						|
        names = [className];
 | 
						|
    }
 | 
						|
    const parsed = names.map((name) => `adminjs_${name}`);
 | 
						|
    if (regularClass) {
 | 
						|
        parsed.push(regularClass);
 | 
						|
    }
 | 
						|
    return parsed.join(' ');
 | 
						|
};
 | 
						|
exports.default = cssClass;
 | 
						|
exports.cssClass = cssClass;
 |