@vimeo/iris
Version:
Vimeo Design System
30 lines (25 loc) • 951 B
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var tslib_es6 = require('../../../tslib.es6-3ec409b7.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 tslib_es6.__assign(tslib_es6.__assign({}, state), { width: payload });
case 'SET_SELECTED':
return tslib_es6.__assign(tslib_es6.__assign({}, state), { selected: payload });
case 'SET_ACTIVE': {
return tslib_es6.__assign(tslib_es6.__assign({}, state), { active: payload });
}
case 'TOGGLE_ACTIVE': {
return tslib_es6.__assign(tslib_es6.__assign({}, state), { active: !state.active });
}
}
}
exports.init = init;
exports.reducer = reducer;