@scrolia/vanilla
Version:
A headless scrollbar component
25 lines (23 loc) • 707 B
JavaScript
import { tryPlugin } from "../plugin.mjs";
import { mergeClassNames } from "../classname.mjs";
/** Get component props. */
const getComponentProps = (options) => {
const { name, props, plugins } = options;
let result = {
...props,
className: props.class ?? props.className
};
for (const plugin of plugins) {
if (!plugin.props?.[name]) continue;
const newResult = tryPlugin(plugin, plugin.props[name], result);
result = {
...result,
...newResult,
...newResult.id ? { id: mergeClassNames(newResult.id) } : {},
...newResult.className ? { className: mergeClassNames(newResult.className) } : {}
};
}
return result;
};
export { getComponentProps };
//# sourceMappingURL=get.mjs.map