@sanity/orderable-document-list
Version:
Drag-and-drop Document Ordering without leaving the Editing surface
49 lines • 1.79 kB
TypeScript
import { ConfigContext, FieldDefinition, SortOrdering, StringDefinition } from "sanity";
import { Component, ComponentType } from "react";
import { ListItem, MenuItem, StructureBuilder } from "sanity/structure";
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
import { SanityClient } from "@sanity/client";
import { ToastParams } from "@sanity/ui";
type NewItemPosition = 'after' | 'before';
interface RankFieldConfig extends Partial<Omit<StringDefinition, 'name' | 'type' | 'initialValue'>> {
type: string;
newItemPosition?: NewItemPosition;
}
declare const orderRankField: (config: RankFieldConfig) => FieldDefinition<"string">;
declare const orderRankOrdering: SortOrdering;
interface OrderableListConfig {
type: string;
id?: string;
title?: string;
icon?: ComponentType;
params?: Record<string, unknown>;
filter?: string;
menuItems?: MenuItem[];
createIntent?: boolean;
context: ConfigContext;
S: StructureBuilder;
}
declare function orderableDocumentListDeskItem(config: OrderableListConfig): ListItem;
interface OrderableDocumentListProps {
options: {
type: string;
client: SanityClient;
filter?: string;
params?: Record<string, unknown>;
currentVersion?: string;
};
}
interface State {
showIncrements: boolean;
resetOrderTransaction: ToastParams;
}
declare class OrderableDocumentList extends Component<OrderableDocumentListProps, State> {
constructor(props: OrderableDocumentListProps);
actionHandlers: {
showIncrements: () => void;
resetOrder: () => Promise<void>;
};
render(): _$react_jsx_runtime0.JSX.Element | null;
}
export { OrderableDocumentList, type OrderableListConfig, type RankFieldConfig, orderRankField, orderRankOrdering, orderableDocumentListDeskItem };
//# sourceMappingURL=index.d.ts.map