UNPKG

@e280/quay

Version:

File-browser and outliner UI for the web

52 lines (51 loc) 1.97 kB
import { Permission } from "./permissions.js"; import { Dropzone } from "./aspects/dropzone.js"; import { TreeTrail } from "./aspects/tree-trail.js"; import { Schema } from "./aspects/codex/parts/types.js"; import { GroupConfig, SearchFn, SortFn } from "./types.js"; import { CodexItem } from "./aspects/codex/parts/codex-item.js"; export declare class Group<Sc extends Schema = any> { config: GroupConfig<Sc>; trail: TreeTrail<Sc>; dropzone: Dropzone; searchText: import("@benev/slate").Signal<string>; selectedFilter: import("@benev/slate").Signal<string>; selectedSort: import("@benev/slate").Signal<string>; on: { newFolder: import("@e280/stz").Sub<[{ parent: CodexItem<Sc>; }]>; move: import("@e280/stz").Sub<[{ item: CodexItem<Sc>; target: CodexItem<Sc>; }]>; delete: import("@e280/stz").Sub<[{ item: CodexItem<Sc>; }]>; rename: import("@e280/stz").Sub<[{ item: CodexItem<Sc>; newName: string; }]>; upload: import("@e280/stz").Sub<[{ files: File[]; target: CodexItem<Sc>; }]>; search: import("@e280/stz").Sub<[{ terms: string[]; }]>; refresh: import("@e280/stz").Sub<[{}]>; }; constructor(config: GroupConfig<Sc>); get permissions(): (item: CodexItem) => Permission; getFilterFn(filterKey: string): SearchFn<Sc>; getSearchFn(searchText: string): SearchFn<Sc>; getSortFn(sortKey: string): SortFn<Sc>; sort(items: CodexItem<Sc>[]): CodexItem<Sc>[]; matches(item: CodexItem<Sc>): boolean; move(item: CodexItem<Sc>, target: CodexItem<Sc>): void; delete(item: CodexItem<Sc>): void; rename(item: CodexItem<Sc>, newName: string): void; upload(files: File[], folder: CodexItem<Sc>): void; addFolder(parent: CodexItem<Sc>): void; components: () => () => /*elided*/ any; }