@cursorify/react
Version:
Customizable cursor component for any style 🕹️
49 lines (48 loc) • 1.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = require("react");
const reducer = (state, action) => {
switch (action.type) {
case 'UPDATE_STYLE':
return {
...state,
cursorStyle: action.payload,
};
case 'UPDATE_MOUSE_STATE':
return {
...state,
mouseState: action.payload,
};
case 'UPDATE_CURSOR':
return {
...state,
cursor: action.payload,
};
case 'UPDATE_DELAY':
return {
...state,
delay: action.payload,
};
case 'UPDATE_OPACITY':
return {
...state,
opacity: action.payload,
};
case 'UPDATE_VISIBLE_DEFAULT_CURSOR':
return {
...state,
defaultCursorVisible: action.payload,
};
case 'UPDATE_ENABLED':
return {
...state,
enabled: action.payload,
};
default:
return state;
}
};
const useCursorifyReducer = (defaultState) => {
return (0, react_1.useReducer)(reducer, defaultState);
};
exports.default = useCursorifyReducer;