UNPKG

comindware.core.ui

Version:

Comindware Core UI provides the basic components like editors, lists, dropdowns, popups that we so desperately need while creating Marionette-based single-page applications.

22 lines (16 loc) 697 B
import icons from '../../form/editors/impl/iconEditor/icons'; export default ({ style = 'solid' } = {}) => { const iconStyle = { solid: 'fas', regular: 'far', light: 'fal', brands: 'fab' }; const getPrefix = iconInfo => (iconInfo.styles.includes('brands') ? iconStyle.brands : iconStyle[style]); const prefixes = Object.entries(icons).reduce((prefixe, [ iconName, iconInfo ]) => { prefixe[iconName] = getPrefix(iconInfo); return prefixe; }, {}); // multiple classes must be declared like 'spinner pulse' return iconClass => ` ${prefixes[iconClass] || iconStyle[style]} ${iconClass?.replace(/(^|\s)/g, ' fa-')} `; };