reka-ui
Version:
Vue port for Radix UI Primitives.
20 lines (17 loc) • 424 B
JavaScript
import { ref } from 'vue';
function useStateMachine(initialState, machine) {
const state = ref(initialState);
function reducer(event) {
const nextState = machine[state.value][event];
return nextState ?? state.value;
}
const dispatch = (event) => {
state.value = reducer(event);
};
return {
state,
dispatch
};
}
export { useStateMachine as u };
//# sourceMappingURL=useStateMachine.js.map