@ozen-ui/kit
Version:
React component library
60 lines (59 loc) • 1.66 kB
JavaScript
import { useContext, createContext } from 'react';
import { isDev } from '../../constants/environment';
import { AUTOCOMPLETE_BASE_DEFAULT_SIZE } from './constants';
export var AutocompleteBaseContextDefaultValue = {
anchorRef: {
current: null,
},
inputRef: {
current: null,
},
dropdownControl: {
isOpen: false,
open: function () { },
close: function () { },
toggle: function () { },
},
searchControl: {
isActive: false,
activate: function () { },
deactivate: function () { },
search: function () { return []; },
},
optionsControl: {
options: [],
filteredOptions: [],
isSelected: function () { return false; },
hasOptions: false,
},
valueControl: {
value: null,
setValue: function () { },
hasValue: false,
selectedOptionsLength: 0,
},
inputControl: {
value: '',
setValue: function () { },
},
inputEventsControl: {
onChange: function () { },
onKeyDown: function () { },
onBlur: function () { },
onClick: function () { },
},
clear: function () { },
size: AUTOCOMPLETE_BASE_DEFAULT_SIZE,
disabled: false,
multiple: false,
loading: false,
error: false,
};
export var AutocompleteBaseContext = createContext(AutocompleteBaseContextDefaultValue);
export var useAutocompleteBaseContext = function () {
return useContext(AutocompleteBaseContext);
};
// Именованный провайдер
if (isDev) {
AutocompleteBaseContext.displayName = 'AutocompleteBaseContext';
}