UNPKG

@ffsm/html-factory

Version:

A lightweight utility for creating React HTML factory components with TypeScript support, ref forwarding, and className merging.

22 lines (21 loc) 712 B
/** * Utility function to combine class names with deduplication * @param {...Array<string | number | boolean | null | undefined>} classes - Classes to combine * @returns {string} A combined, deduplicated string of class names * * @example * clsx('btn', conditional && 'btn-primary', 'btn') // 'btn btn-primary' */ export function clsx() { var classes = []; for (var _i = 0; _i < arguments.length; _i++) { classes[_i] = arguments[_i]; } return classes .filter(function (c) { return typeof c === 'string' && !!c.trim(); }) .join(' ') .trim() .split(' ') .filter(function (c, i, s) { return !!c && s.indexOf(c) === i; }) .join(' '); }