@firecms/core
Version:
Awesome Firebase/Firestore-based headless open-source CMS
60 lines (59 loc) • 2.44 kB
TypeScript
import React from "react";
export type ArrayEntryParams = {
index: number;
internalId: number;
isDragging: boolean;
storedProps?: object;
storeProps: (props: object) => void;
};
export type ArrayEntryBuilder = (params: ArrayEntryParams) => React.ReactNode;
export interface ArrayContainerProps<T> {
droppableId: string;
value: T[];
addLabel: string;
buildEntry: ArrayEntryBuilder;
disabled?: boolean;
size?: "small" | "medium";
onInternalIdAdded?: (id: number) => void;
includeAddButton?: boolean;
canAddElements?: boolean;
sortable?: boolean;
newDefaultEntry: T;
onValueChange: (value: T[]) => void;
className?: string;
min?: number;
max?: number;
}
type ArrayContainerItemProps = {
nodeRef: (node: HTMLElement | null) => void;
style: React.CSSProperties;
dragHandleProps: any;
index: number;
internalId: number;
size?: "small" | "medium";
disabled: boolean;
buildEntry: ArrayEntryBuilder;
remove: (index: number) => void;
copy: (index: number) => void;
addInIndex?: (index: number) => void;
canAddElements?: boolean;
sortable: boolean;
isDragging: boolean;
storedProps?: object;
updateItemCustomProps: (internalId: number, props: object) => void;
};
export declare function ArrayContainerItem({ nodeRef, style, dragHandleProps, index, internalId, size, disabled, buildEntry, remove, copy, addInIndex, canAddElements, sortable, isDragging, storedProps, updateItemCustomProps }: ArrayContainerItemProps): import("react/jsx-runtime").JSX.Element;
export declare function ArrayItemOptions({ dragHandleProps, direction, disabled, remove, index, copy, canAddElements, sortable, addInIndex, }: {
dragHandleProps: any;
direction?: "row" | "column";
disabled: boolean;
remove: (index: number) => void;
index: number;
copy: (index: number) => void;
sortable: boolean;
canAddElements?: boolean;
addInIndex?: (index: number) => void;
}): import("react/jsx-runtime").JSX.Element;
export declare function ArrayContainer<T>({ droppableId, addLabel, value, disabled, buildEntry, size, onInternalIdAdded, includeAddButton: deprecatedIncludeAddButton, canAddElements: canAddElementsProp, sortable, newDefaultEntry, onValueChange, className, min, max }: ArrayContainerProps<T>): import("react/jsx-runtime").JSX.Element;
export declare function getRandomId(): number;
export {};