@razorpay/blade
Version:
The Design System that powers Razorpay
55 lines (52 loc) • 1.6 kB
JavaScript
import { createSlice } from '../../../@reduxjs/toolkit/dist/redux-toolkit.modern.js';
import { castDraft } from '../../../immer/dist/immer.js';
import { current } from '../../../@reduxjs/toolkit/node_modules/immer/dist/immer.js';
var initialState = {
dots: [],
areas: [],
lines: []
};
var referenceElementsSlice = createSlice({
name: 'referenceElements',
initialState,
reducers: {
addDot: (state, action) => {
state.dots.push(action.payload);
},
removeDot: (state, action) => {
var index = current(state).dots.findIndex(dot => dot === action.payload);
if (index !== -1) {
state.dots.splice(index, 1);
}
},
addArea: (state, action) => {
state.areas.push(action.payload);
},
removeArea: (state, action) => {
var index = current(state).areas.findIndex(area => area === action.payload);
if (index !== -1) {
state.areas.splice(index, 1);
}
},
addLine: (state, action) => {
state.lines.push(castDraft(action.payload));
},
removeLine: (state, action) => {
var index = current(state).lines.findIndex(line => line === action.payload);
if (index !== -1) {
state.lines.splice(index, 1);
}
}
}
});
var {
addDot,
removeDot,
addArea,
removeArea,
addLine,
removeLine
} = referenceElementsSlice.actions;
var referenceElementsReducer = referenceElementsSlice.reducer;
export { addArea, addDot, addLine, referenceElementsReducer, referenceElementsSlice, removeArea, removeDot, removeLine };
//# sourceMappingURL=referenceElementsSlice.js.map