UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

145 lines (144 loc) 7.04 kB
/** * Web DrawerList Helpers * * This is a legacy component. * For referencing while developing new features, please use a Functional component. */ import PropTypes from 'prop-types'; import { DrawerListDataArrayItem, DrawerListData, DrawerListDataAll, DrawerListInternalData } from './DrawerList'; import { DrawerListProviderProps } from './DrawerListProvider'; import { DrawerListContextState } from './DrawerListContext'; export declare const drawerListPropTypes: { className: PropTypes.Requireable<string>; children: PropTypes.Requireable<NonNullable<object | PropTypes.ReactNodeLike>>; on_show: PropTypes.Requireable<(...args: any[]) => any>; on_hide: PropTypes.Requireable<(...args: any[]) => any>; handle_dismiss_focus: PropTypes.Requireable<(...args: any[]) => any>; on_change: PropTypes.Requireable<(...args: any[]) => any>; on_pre_change: PropTypes.Requireable<(...args: any[]) => any>; on_resize: PropTypes.Requireable<(...args: any[]) => any>; on_select: PropTypes.Requireable<(...args: any[]) => any>; on_state_update: PropTypes.Requireable<(...args: any[]) => any>; space: PropTypes.Requireable<NonNullable<string | number | boolean | PropTypes.InferProps<{ top: PropTypes.Requireable<NonNullable<string | number | boolean>>; right: PropTypes.Requireable<NonNullable<string | number | boolean>>; bottom: PropTypes.Requireable<NonNullable<string | number | boolean>>; left: PropTypes.Requireable<NonNullable<string | number | boolean>>; }>>>; top: PropTypes.Requireable<NonNullable<string | number | boolean>>; right: PropTypes.Requireable<NonNullable<string | number | boolean>>; bottom: PropTypes.Requireable<NonNullable<string | number | boolean>>; left: PropTypes.Requireable<NonNullable<string | number | boolean>>; id: PropTypes.Requireable<string>; role: PropTypes.Requireable<string>; cache_hash: PropTypes.Requireable<string>; triangle_position: PropTypes.Requireable<string>; scrollable: PropTypes.Requireable<NonNullable<string | boolean>>; focusable: PropTypes.Requireable<NonNullable<string | boolean>>; direction: PropTypes.Requireable<string>; size: PropTypes.Requireable<string>; max_height: PropTypes.Requireable<number>; no_animation: PropTypes.Requireable<NonNullable<string | boolean>>; no_scroll_animation: PropTypes.Requireable<NonNullable<string | boolean>>; prevent_selection: PropTypes.Requireable<NonNullable<string | boolean>>; action_menu: PropTypes.Requireable<NonNullable<string | boolean>>; is_popup: PropTypes.Requireable<NonNullable<string | boolean>>; align_drawer: PropTypes.Requireable<string>; options_render: PropTypes.Requireable<NonNullable<object | PropTypes.ReactNodeLike>>; wrapper_element: PropTypes.Requireable<NonNullable<object | PropTypes.ReactNodeLike>>; default_value: PropTypes.Requireable<NonNullable<string | number>>; value: PropTypes.Requireable<NonNullable<string | number>>; skip_portal: PropTypes.Requireable<NonNullable<string | boolean>>; portal_class: PropTypes.Requireable<string>; list_class: PropTypes.Requireable<string>; prevent_close: PropTypes.Requireable<NonNullable<string | boolean>>; independent_width: PropTypes.Requireable<NonNullable<string | boolean>>; fixed_position: PropTypes.Requireable<NonNullable<string | boolean>>; keep_open: PropTypes.Requireable<NonNullable<string | boolean>>; prevent_focus: PropTypes.Requireable<NonNullable<string | boolean>>; skip_keysearch: PropTypes.Requireable<NonNullable<string | boolean>>; opened: PropTypes.Requireable<NonNullable<string | boolean>>; data: PropTypes.Requireable<NonNullable<NonNullable<object | PropTypes.ReactNodeLike>>>; raw_data: PropTypes.Requireable<object>; ignore_events: PropTypes.Requireable<NonNullable<string | boolean>>; }; export declare const drawerListDefaultProps: { id: any; role: string; cache_hash: any; triangle_position: string; scrollable: boolean; focusable: boolean; max_height: any; direction: string; size: string; no_animation: boolean; no_scroll_animation: boolean; prevent_selection: boolean; action_menu: boolean; is_popup: boolean; align_drawer: string; wrapper_element: any; default_value: any; value: string; portal_class: any; list_class: any; skip_portal: any; prevent_close: boolean; keep_open: boolean; prevent_focus: boolean; fixed_position: boolean; independent_width: boolean; skip_keysearch: boolean; opened: any; data: any; raw_data: any; ignore_events: any; className: any; children: any; on_show: any; on_hide: any; handle_dismiss_focus: any; on_change: any; on_pre_change: any; on_resize: any; on_select: any; on_state_update: any; options_render: any; }; export declare const drawerListProviderPropTypes: { enable_body_lock: PropTypes.Requireable<boolean>; page_offset: PropTypes.Requireable<NonNullable<string | number>>; observer_element: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>; min_height: PropTypes.Requireable<NonNullable<string | number>>; }; export declare const drawerListProviderDefaultProps: { enable_body_lock: boolean; page_offset: any; observer_element: any; min_height: number; }; export declare function parseContentTitle(dataItem: DrawerListDataArrayItem, { separator, removeNumericOnlyValues, preferSelectedValue, }?: { separator?: string; removeNumericOnlyValues?: boolean; preferSelectedValue?: boolean; }): string | null; export declare const hasObjectKeyAsValue: (data: any) => boolean; export declare function preSelectData(data: DrawerListData): DrawerListDataAll; /** * Takes any of the forms data can have and returns a normalized array representation of it. * If the data is a single React.ReactNode, it will return an empty list. * @param {*} props object containing the data in props.data or props.children, or the data itself * @returns an array representation of the data */ export declare function normalizeData(props: any): DrawerListInternalData; export declare const getData: (props: any) => DrawerListInternalData; export declare const getCurrentIndex: (value: any, data: any) => any; export declare const getSelectedItemValue: (value: any, state: any) => any; export declare const parseCurrentValue: (current: any) => any; export declare const getEventData: (item_index: any, data: any) => any; export declare const getCurrentData: (item_index: any, data: any) => any; export declare function prepareStartupState(props: DrawerListProviderProps): DrawerListContextState; export declare const prepareDerivedState: (props: DrawerListProviderProps, state: DrawerListContextState) => DrawerListContextState; export declare const getCurrentDataTitle: (selected_item: any, data: any) => string; export declare const findClosest: (arr: any, val: any) => any;