@vimeo/iris
Version:
Vimeo Design System
25 lines (22 loc) • 775 B
JavaScript
import { c as __assign } from '../../../tslib.es6-7f0e734f.js';
var init = function (defaultValue) { return ({
width: 0,
selected: defaultValue || 0,
active: false,
}); };
function reducer(state, _a) {
var type = _a.type, _b = _a.payload, payload = _b === void 0 ? null : _b;
switch (type) {
case 'SET_WIDTH':
return __assign(__assign({}, state), { width: payload });
case 'SET_SELECTED':
return __assign(__assign({}, state), { selected: payload });
case 'SET_ACTIVE': {
return __assign(__assign({}, state), { active: payload });
}
case 'TOGGLE_ACTIVE': {
return __assign(__assign({}, state), { active: !state.active });
}
}
}
export { init, reducer };