@vimeo/iris
Version:
Vimeo Design System
32 lines (27 loc) • 1.09 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var tslib_es6 = require('../../tslib.es6-3ec409b7.js');
function initialState() {
return {
gridGap: 24,
draggedFrom: null,
draggedTo: null,
originalOrder: null,
updatedOrder: null,
};
}
function reducer(state, _a) {
var type = _a.type, _b = _a.payload, payload = _b === void 0 ? null : _b;
switch (type) {
case 'SET_GRID_GAP':
return tslib_es6.__assign(tslib_es6.__assign({}, state), { gridGap: payload });
case 'START_DRAG':
return tslib_es6.__assign(tslib_es6.__assign({}, state), { draggedFrom: payload.position, originalOrder: payload.list });
case 'SET_LIST_ORDER':
return tslib_es6.__assign(tslib_es6.__assign({}, state), { updatedOrder: payload.list, draggedTo: payload.position });
case 'END_DRAG':
return tslib_es6.__assign(tslib_es6.__assign({}, state), { draggedFrom: null, draggedTo: null });
}
}
exports.initialState = initialState;
exports.reducer = reducer;