UNPKG

@makigas/genshi-svelte

Version:

The Svelte Components required to integrate Genshi into a Svelte application

49 lines (48 loc) 1.12 kB
/** * @generic E the element * @generic P the prop value * @generic M the modifier * @param element the element type * @param mapping */ export function modifierClass(element, mapping, modifier) { if (modifier in mapping) { const className = mapping[modifier]; if (className) { return `${element}--${className}`; } } return null; } export function densityClass(element, density) { return modifierClass(element, { gapless: 'gapless', compact: 'compact', normal: null, cozy: 'cozy', }, density); } export function colorClass(element, color) { return modifierClass(element, { normal: null, suggested: 'suggested', destructive: 'destructive', }, color); } export function sizeClass(element, size) { return modifierClass(element, { xs: 'xs', sm: 'sm', md: null, lg: 'lg', xl: 'xl', }, size); } export function ariaInvalid(valid) { if (valid == 'invalid') { return 'true'; } else if (valid == 'valid') { return 'false'; } }