ohctechv3/.svn/pristine/8c/8c3447d8821f9bbda088e994c3dd97840da5cf48.svn-base
2024-10-28 15:03:36 +05:30

38 lines
959 B
Plaintext

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.dropdownReducer = dropdownReducer;
var _useDropdown = require("./useDropdown.types");
function dropdownReducer(state, action) {
switch (action.type) {
case _useDropdown.DropdownActionTypes.blur:
return {
open: false,
changeReason: action.event
};
case _useDropdown.DropdownActionTypes.escapeKeyDown:
return {
open: false,
changeReason: action.event
};
case _useDropdown.DropdownActionTypes.toggle:
return {
open: !state.open,
changeReason: action.event
};
case _useDropdown.DropdownActionTypes.open:
return {
open: true,
changeReason: action.event
};
case _useDropdown.DropdownActionTypes.close:
return {
open: false,
changeReason: action.event
};
default:
throw new Error(`Unhandled action`);
}
}