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;
|