@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
32 lines (31 loc) • 1.23 kB
TypeScript
/**
* Web DrawerList Context
*
*/
import React from 'react';
import type { DrawerListProviderProps } from './DrawerListProvider';
import type { ContextProps } from '../../shared/Context';
import type { DrawerListData, DrawerListDataAll, DrawerListGroupTitles, DrawerListInternalData } from './';
export type DrawerListContextState = Omit<DrawerListProviderProps, 'data' | 'wrapperElement' | 'children'> & {
data: DrawerListInternalData;
groups?: DrawerListGroupTitles;
wrapperElement?: HTMLElement;
/** used by Autocomplete */
originalData?: DrawerListInternalData;
/** used by Autocomplete */
currentTitle?: string;
isOpen?: boolean;
/** used internally */
_data?: DrawerListData;
/** used internally */
_value?: string | number;
/** used internally to have a backup to look up what we got in the first place (array vs object) */
rawData?: DrawerListDataAll;
/** the id of the current active-descendant for screen readers */
ariaActiveDescendant?: string;
};
export type DrawerListContextValue = ContextProps & {
drawerList?: DrawerListContextState;
};
declare const DrawerListContext: React.Context<DrawerListContextValue>;
export default DrawerListContext;