lucide-solid
Version:
A Lucide icon library package for Solid applications
47 lines (41 loc) • 1.29 kB
JavaScript
/**
* @license lucide-solid v0.487.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
/**
* Converts string to kebab case
*
* @param {string} string
* @returns {string} A kebabized string
*/
const toKebabCase = string => string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
/**
* Converts string to camel case
*
* @param {string} string
* @returns {string} A camelized string
*/
const toCamelCase = string => string.replace(/^([A-Z])|[\s-_]+(\w)/g, (match, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase());
/**
* Converts string to pascal case
*
* @param {string} string
* @returns {string} A pascalized string
*/
const toPascalCase = string => {
const camelCase = toCamelCase(string);
return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);
};
/**
* Merges classes into a single string
*
* @param {array} classes
* @returns {string} A string of classes
*/
const mergeClasses = (...classes) => classes.filter((className, index, array) => {
return Boolean(className) && className.trim() !== '' && array.indexOf(className) === index;
}).join(' ').trim();
export { mergeClasses, toCamelCase, toKebabCase, toPascalCase };
//# sourceMappingURL=utils.js.map