seehar-design-vue
Version:
Seehar Design Vue - A Vue.js 3 UI library
19 lines (17 loc) • 564 B
text/typescript
import { CSSClass, CSSClasses, CSSClassKeyValuePair } from '../types/variant'
import { twMerge } from 'tailwind-merge'
export function classMerge(cssClass: CSSClass[]): string {
let result = ''
cssClass.forEach((classItem) => {
if (typeof classItem === 'string') {
result += ' ' + classItem
} else {
for (const classItemKey in classItem) {
if (classItem?.[classItemKey as keyof (CSSClassKeyValuePair | CSSClasses)]) {
result += ' ' + classItemKey
}
}
}
})
return twMerge(result)
}