react-elegant-ui
Version:
Elegant UI components, made by BEM best practices for react
35 lines (34 loc) • 1.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.updateStyles = void 0;
var _fromEntries = require("../../../../polyfills/fromEntries");
/**
* Call hook to update styles state
*/
function updateStylesFn(_a) {
var state = _a.state,
setState = _a.options.setState;
if (setState === undefined) return;
var elements = state.elements !== undefined ? Object.keys(state.elements) : [];
// NOTE: makes a not deep copy objects from state, therefore NEVER MUTATE THIS
setState({
styles: (0, _fromEntries.fromEntries)(elements.map(function (element) {
return [element, state.styles[element] || {}];
})),
attributes: (0, _fromEntries.fromEntries)(elements.map(function (element) {
return [element, state.attributes[element] || {}];
}))
});
}
/**
* Modifier that call user hook to update styles while change position
*/
var updateStyles = exports.updateStyles = {
name: 'updateStyles',
enabled: true,
fn: updateStylesFn,
phase: 'write',
requires: ['computeStyles']
};