UNPKG

alinea

Version:
256 lines (255 loc) 8.47 kB
import type { Config } from 'alinea/core/Config'; import type { Connection } from 'alinea/core/Connection'; import { Entry, type EntryStatus } from 'alinea/core/Entry'; import { Type } from 'alinea/core/Type'; import { FormAtoms } from 'alinea/dashboard/atoms/FormAtoms'; import { type Edits } from './Edits.js'; export declare enum EditMode { Editing = "editing", Diff = "diff" } export type Version = Entry & { parents: Array<string>; }; interface EntryEditorParams { id: string | undefined; locale: string | null; } export declare enum EntryTransition { SaveDraft = 0, SaveTranslation = 1, PublishEdits = 2, RestoreRevision = 3, PublishDraft = 4, UnpublishDraft = 5, DiscardDraft = 6, ArchivePublished = 7, PublishArchived = 8, DeleteFile = 9, DeleteEntry = 10 } export declare const entryEditorAtoms: import("jotai/vanilla/utils/atomFamily.js").AtomFamily<EntryEditorParams, import("jotai").Atom<Promise<{ transition: import("jotai").PrimitiveAtom<EntryTransition | undefined> & { init: EntryTransition | undefined; }; revisionId: string; activeStatus: EntryStatus; statusInUrl: import("jotai").Atom<EntryStatus | undefined>; selectedStatus: import("jotai").Atom<EntryStatus>; entryData: EntryData; editMode: import("jotai").PrimitiveAtom<EditMode> & { init: EditMode; }; activeVersion: Version; type: Type; previewPayload: import("jotai").Atom<Promise<string>>; activeTitle: import("jotai").Atom<string>; hasChanges: import("jotai").PrimitiveAtom<boolean> & { init: boolean; }; draftEntry: import("jotai").Atom<Promise<Entry<Record<string, unknown>>>> & { current: import("jotai").Atom<Entry<Record<string, unknown>> | undefined>; }; saveDraft: import("jotai").WritableAtom<null, [], Promise<void>> & { init: null; }; publishEdits: import("jotai").WritableAtom<null, [], Promise<void>> & { init: null; }; restoreRevision: import("jotai").WritableAtom<null, [], Promise<void>> & { init: null; }; publishDraft: import("jotai").WritableAtom<null, [], Promise<void>> & { init: null; }; discardDraft: import("jotai").WritableAtom<null, [], Promise<void>> & { init: null; }; unPublish: import("jotai").WritableAtom<null, [], Promise<void>> & { init: null; }; archive: import("jotai").WritableAtom<null, [], Promise<void>> & { init: null; }; publishArchived: import("jotai").WritableAtom<null, [], Promise<void>> & { init: null; }; deleteFile: import("jotai").WritableAtom<null, [], Promise<void>> & { init: null; }; deleteMediaLibrary: import("jotai").WritableAtom<null, [], Promise<void>> & { init: null; }; deleteEntry: import("jotai").WritableAtom<null, [], Promise<void>> & { init: null; }; saveTranslation: import("jotai").WritableAtom<null, [locale: string], Promise<void>> & { init: null; }; discardEdits: import("jotai").WritableAtom<null, [], void> & { init: null; }; showHistory: import("jotai").WritableAtom<boolean, [value: boolean], void>; revisionsAtom: import("jotai").Atom<Promise<import("alinea/core/Connection").Revision[]>>; previewToken: import("jotai").Atom<Promise<string>>; previewRevision: import("jotai").PrimitiveAtom<{ ref: string; file: string; } | undefined> & { init: { ref: string; file: string; } | undefined; }; preview: import("alinea/core/Preview.js").Preview | undefined; form: import("jotai").Atom<FormAtoms<object>>; view: import("alinea/core/View.js").View<import("../view/EntryEdit.js").EntryEditProps & { type: Type; }> | undefined; parents: Array<{ id: string; path: string; status: EntryStatus; main: boolean; }>; client: Connection; config: Config; entryId: string; versions: Array<Version>; statuses: Record<EntryStatus, Version>; availableStatuses: Array<EntryStatus>; translations: Array<{ locale: string; entryId: string; }>; untranslated: boolean; canPublish: boolean; canDelete: boolean; parentNeedsTranslation: boolean; edits: Edits; } | undefined>>>; export interface EntryData { parents: Array<{ id: string; path: string; status: EntryStatus; main: boolean; }>; client: Connection; config: Config; entryId: string; versions: Array<Version>; statuses: Record<EntryStatus, Version>; availableStatuses: Array<EntryStatus>; translations: Array<{ locale: string; entryId: string; }>; untranslated: boolean; canPublish: boolean; canDelete: boolean; parentNeedsTranslation: boolean; edits: Edits; } export type EntryEditor = ReturnType<typeof createEntryEditor>; export declare function createEntryEditor(entryData: EntryData): { transition: import("jotai").PrimitiveAtom<EntryTransition | undefined> & { init: EntryTransition | undefined; }; revisionId: string; activeStatus: EntryStatus; statusInUrl: import("jotai").Atom<EntryStatus | undefined>; selectedStatus: import("jotai").Atom<EntryStatus>; entryData: EntryData; editMode: import("jotai").PrimitiveAtom<EditMode> & { init: EditMode; }; activeVersion: Version; type: Type; previewPayload: import("jotai").Atom<Promise<string>>; activeTitle: import("jotai").Atom<string>; hasChanges: import("jotai").PrimitiveAtom<boolean> & { init: boolean; }; draftEntry: import("jotai").Atom<Promise<Entry<Record<string, unknown>>>> & { current: import("jotai").Atom<Entry<Record<string, unknown>> | undefined>; }; saveDraft: import("jotai").WritableAtom<null, [], Promise<void>> & { init: null; }; publishEdits: import("jotai").WritableAtom<null, [], Promise<void>> & { init: null; }; restoreRevision: import("jotai").WritableAtom<null, [], Promise<void>> & { init: null; }; publishDraft: import("jotai").WritableAtom<null, [], Promise<void>> & { init: null; }; discardDraft: import("jotai").WritableAtom<null, [], Promise<void>> & { init: null; }; unPublish: import("jotai").WritableAtom<null, [], Promise<void>> & { init: null; }; archive: import("jotai").WritableAtom<null, [], Promise<void>> & { init: null; }; publishArchived: import("jotai").WritableAtom<null, [], Promise<void>> & { init: null; }; deleteFile: import("jotai").WritableAtom<null, [], Promise<void>> & { init: null; }; deleteMediaLibrary: import("jotai").WritableAtom<null, [], Promise<void>> & { init: null; }; deleteEntry: import("jotai").WritableAtom<null, [], Promise<void>> & { init: null; }; saveTranslation: import("jotai").WritableAtom<null, [locale: string], Promise<void>> & { init: null; }; discardEdits: import("jotai").WritableAtom<null, [], void> & { init: null; }; showHistory: import("jotai").WritableAtom<boolean, [value: boolean], void>; revisionsAtom: import("jotai").Atom<Promise<import("alinea/core/Connection").Revision[]>>; previewToken: import("jotai").Atom<Promise<string>>; previewRevision: import("jotai").PrimitiveAtom<{ ref: string; file: string; } | undefined> & { init: { ref: string; file: string; } | undefined; }; preview: import("alinea/core/Preview.js").Preview | undefined; form: import("jotai").Atom<FormAtoms<object>>; view: import("alinea/core/View.js").View<import("../view/EntryEdit.js").EntryEditProps & { type: Type; }> | undefined; parents: Array<{ id: string; path: string; status: EntryStatus; main: boolean; }>; client: Connection; config: Config; entryId: string; versions: Array<Version>; statuses: Record<EntryStatus, Version>; availableStatuses: Array<EntryStatus>; translations: Array<{ locale: string; entryId: string; }>; untranslated: boolean; canPublish: boolean; canDelete: boolean; parentNeedsTranslation: boolean; edits: Edits; }; export {};