svelte-inline-css
Version:
Easy to use inline style system like [Vue.js inline style](https://v3.vuejs.org/guide/class-and-style.html#binding-inline-styles) in Svelte(Use [use:action](https://svelte.dev/docs#use_action))
30 lines (29 loc) • 882 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildStyle = void 0;
const buildStyle = (parameters) => {
let properties = {};
if (Array.isArray(parameters)) {
parameters.forEach((value) => {
properties = { ...properties, ...value };
});
}
else {
properties = parameters;
}
return Object.entries(properties).map(([key, value]) => {
key = key.replace(/[A-Z]/, (substring) => '-' + substring.toLowerCase());
return [key, value];
});
};
exports.buildStyle = buildStyle;
const style = (node, parameters) => {
const setStyle = (parameters) => {
exports.buildStyle(parameters).forEach(([key, value]) => {
node.style.setProperty(key, value);
});
};
setStyle(parameters);
return { update: setStyle };
};
exports.default = style;
;