UNPKG

@vtex/styleguide

Version:

> VTEX Styleguide React components ([Docs](https://vtex.github.io/styleguide))

86 lines (73 loc) 2.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ActionType = undefined; exports.default = reducer; var _util = require("./util"); function reducer(state, action) { switch (action.type) { case ActionType.Check: { var _item = action.item; return [].concat(state, [_item]); } case ActionType.Uncheck: { var _action$itemToToggle = action.itemToToggle, _item2 = _action$itemToToggle.item, comparator = _action$itemToToggle.comparator; var rowFilter = function rowFilter(row) { return !comparator(row)(_item2); }; return state.filter(rowFilter); } case ActionType.BulkCheck: { var itemToToggle = action.itemToToggle, isDisabled = action.isDisabled; if (!itemToToggle) return state; var _item3 = itemToToggle.item, nodesKey = itemToToggle.nodesKey, _comparator = itemToToggle.comparator; return (0, _util.getBulkChecked)(state, _item3, nodesKey, _comparator, isDisabled); } case ActionType.BulkUncheck: { var _itemToToggle = action.itemToToggle; if (!_itemToToggle) return state; var _item4 = _itemToToggle.item, _nodesKey = _itemToToggle.nodesKey, _comparator2 = _itemToToggle.comparator; return (0, _util.getBulkUnchecked)(state, _item4, _nodesKey, _comparator2); } case ActionType.Toggle: { var _itemToToggle2 = action.itemToToggle, _isDisabled = action.isDisabled; if (!_itemToToggle2) return state; var _item5 = _itemToToggle2.item, _nodesKey2 = _itemToToggle2.nodesKey, _comparator3 = _itemToToggle2.comparator; return (0, _util.getToggledState)(state, _item5, _nodesKey2, _comparator3, _isDisabled); } case ActionType.SetChecked: { var checked = action.checked; return checked || state; } default: { return state; } } } var ActionType = exports.ActionType = undefined; (function (ActionType) { ActionType[ActionType["Check"] = 0] = "Check"; ActionType[ActionType["Uncheck"] = 1] = "Uncheck"; ActionType[ActionType["Toggle"] = 2] = "Toggle"; ActionType[ActionType["BulkCheck"] = 3] = "BulkCheck"; ActionType[ActionType["BulkUncheck"] = 4] = "BulkUncheck"; ActionType[ActionType["SetChecked"] = 5] = "SetChecked"; })(ActionType || (exports.ActionType = ActionType = {}));