semantic-ui-react
Version:
The official Semantic-UI-React integration.
22 lines (15 loc) • 637 B
JavaScript
import _ from 'lodash'
import computeClassNames from './computeClassNames'
import computeClassNamesDifference from './computeClassNamesDifference'
const prevClassNames = new Map()
const handleClassNamesChange = (node, components) => {
const currentClassNames = computeClassNames(components)
const [forAdd, forRemoval] = computeClassNamesDifference(
prevClassNames.get(node),
currentClassNames,
)
_.forEach(forAdd, className => node.classList.add(className))
_.forEach(forRemoval, className => node.classList.remove(className))
prevClassNames.set(node, currentClassNames)
}
export default handleClassNamesChange