@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
34 lines (33 loc) • 1.14 kB
TypeScript
import React from 'react';
import { Path } from '../types';
import { ContainerMode } from './Array/types';
export type ModeOptions = {
omitFocusManagement?: boolean;
preventUpdate?: boolean;
};
export interface IterateItemContextState {
id?: string;
index?: number;
value?: unknown;
isNew?: boolean;
path?: Path;
itemPath?: Path;
nestedIteratePath?: Path;
arrayValue?: Array<unknown>;
containerMode?: ContainerMode;
previousContainerMode?: ContainerMode;
initialContainerMode?: ContainerMode;
containerRef?: React.RefObject<HTMLDivElement>;
elementRef?: React.RefObject<HTMLDivElement>;
modeOptions?: ModeOptions;
switchContainerMode?: (mode: ContainerMode, options?: ModeOptions) => void;
handleChange?: (path: Path, value: unknown) => void;
handleRemove?: ({ keepItems }?: {
keepItems?: boolean;
}) => void;
handlePush?: (value: unknown) => void;
restoreOriginalValue?: (value?: unknown) => void;
fulfillRemove?: () => void;
}
declare const IterateItemContext: React.Context<IterateItemContextState>;
export default IterateItemContext;