UNPKG

@razorpay/blade

Version:

The Design System that powers Razorpay

55 lines (52 loc) 1.6 kB
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