@helpscout/hsds-react
Version:
React component library for Help Scout's Design System
100 lines (85 loc) • 2.37 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = exports.dispatch = exports.createStore = exports.initialState = void 0;
var _wedux = _interopRequireDefault(require("@helpscout/wedux"));
var _Dropdown = _interopRequireDefault(require("./Dropdown.reducer"));
// Deprecated
/* istanbul ignore file */
function noop() {}
var initialState = {
activeClassName: 'is-active',
clearOnSelect: true,
closeOnSelect: true,
direction: 'right',
dropUp: false,
enableTabNavigation: true,
enableLeftRightArrowNavigation: false,
envNode: document,
focusClassName: 'is-focused',
forceDropDown: false,
getState: noop,
index: null,
indexMap: [],
inputValue: '',
isLoading: false,
isMounted: false,
isOpen: false,
isFocusSelectedItemOnOpen: false,
isSelectFirstItemOnOpen: false,
items: [],
lastInteractionType: undefined,
maxHeight: 320,
maxWidth: 360,
menuOffsetTop: 0,
minHeight: 48,
minWidth: 180,
onBlur: noop,
onClose: noop,
onFocus: noop,
onMenuMount: noop,
onMenuUnmount: noop,
onOpen: noop,
onSelect: noop,
openClassName: 'is-open',
positionFixed: false,
previousIndex: null,
selectedItem: '',
shouldDropDirectionUpdate: function shouldDropDirectionUpdate() {
return true;
},
shouldRefocusOnClose: function shouldRefocusOnClose() {
return true;
},
stateReducer: function stateReducer(state) {
return state;
},
subscribe: noop,
trigger: 'Dropdown',
triggerProps: {},
triggerStyle: {},
withScrollLock: true,
zIndex: 1080
}; // This ensures that every dropdown instance will have their own unique
// store/state. Creating the store and exporting it (like you normally would)
// would mean that all dropdowns share the same store. And we don't want that!
exports.initialState = initialState;
var createStore = function createStore(props) {
if (props === void 0) {
props = initialState;
}
return (0, _wedux.default)(props);
};
exports.createStore = createStore;
var dispatch = function dispatch(state, action) {
if (state === void 0) {
state = initialState;
}
if (action === void 0) {
action = {};
}
return (0, _Dropdown.default)(state, action);
};
exports.dispatch = dispatch;
var _default = createStore;
exports.default = _default;
;