ui-ingredients
Version:
Headless component library for Svelte powered by zag
21 lines (20 loc) • 562 B
JavaScript
import { mergeProps as zagMergeProps } from '@zag-js/svelte';
import { clsx } from 'clsx';
export function mergeProps(...args) {
const l = [];
/* support svelte class value */
for (const o of args) {
const c = { ...o };
if (c.class && !isString(c.class)) {
c.class = clsx(c.class);
}
if (c.className && !isString(c.class)) {
c.className = clsx(c.className);
}
l.push(c);
}
return zagMergeProps(...l);
}
function isString(value) {
return typeof value === 'string';
}