Skip to content

Instantly share code, notes, and snippets.

@ramonvictor
Created May 3, 2018 20:06
Show Gist options
  • Save ramonvictor/c37efa0a15452ee3b86818c1686836c4 to your computer and use it in GitHub Desktop.
Save ramonvictor/c37efa0a15452ee3b86818c1686836c4 to your computer and use it in GitHub Desktop.
Computed CSS class list in Svelte
<button class="{css}">
Next page
</button>
<script>
import getClassListFromObject from './utils.js';
export default {
computed: {
css: ({ wide }) => {
return getClassListFromObject({
'ui-button': true,
'ui-button--wide': !!wide
});
}
}
}
</script>
const getClassListFromObject = (config) => {
if (typeof config !== 'object') {
throw new Error('getClassListFromObject: expects an object');
}
return Object.keys(config).filter(className => config[className]).join(' ');
};
export default getClassListFromObject;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment