UNPKG

alinea

Version:

[![npm](https://img.shields.io/npm/v/alinea.svg)](https://npmjs.org/package/alinea) [![install size](https://packagephobia.com/badge?p=alinea)](https://packagephobia.com/result?p=alinea)

232 lines (231 loc) 7.46 kB
/// <reference types="react" /> import { Config, Connection, EntryPhase, EntryRow, Type } from 'alinea/core'; import { Entry } from 'alinea/core/Entry'; import { FormAtoms } from 'alinea/dashboard/atoms/FormAtoms'; import { Edits } from './Edits.js'; export declare enum EditMode { Editing = "editing", Diff = "diff" } export type Version = Entry & { parents: Array<string>; }; interface EntryEditorParams { locale: string | null; i18nId: string | undefined; } export declare enum EntryTransition { SaveDraft = 0, SaveTranslation = 1, PublishEdits = 2, RestoreRevision = 3, PublishDraft = 4, DiscardDraft = 5, ArchivePublished = 6, PublishArchived = 7, DeleteFile = 8, DeleteArchived = 9 } export declare const entryEditorAtoms: import("jotai/vanilla/utils/atomFamily.js").AtomFamily<EntryEditorParams, import("jotai").Atom<Promise<{ transition: import("jotai").PrimitiveAtom<{ transition: EntryTransition; done: Promise<any>; } | undefined> & { init: { transition: EntryTransition; done: Promise<any>; } | undefined; }; revisionId: string; activePhase: EntryPhase; phaseInUrl: import("jotai").Atom<EntryPhase | undefined>; selectedPhase: import("jotai").Atom<EntryPhase>; entryData: EntryData; editMode: import("jotai").PrimitiveAtom<EditMode> & { init: EditMode; }; activeVersion: Version; type: Type; yUpdate: import("jotai").Atom<Uint8Array>; activeTitle: import("jotai").Atom<string>; hasChanges: import("jotai").PrimitiveAtom<boolean> & { init: boolean; }; draftEntry: import("jotai").Atom<Promise<EntryRow>>; 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; }; archivePublished: import("jotai").WritableAtom<null, [], Promise<void>> & { init: null; }; publishArchived: import("jotai").WritableAtom<null, [], Promise<void>> & { init: null; }; deleteFile: import("jotai").WritableAtom<null, [], Promise<void> | undefined> & { init: null; }; deleteArchived: 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; }; isLoading: import("jotai").Atom<boolean>; showHistory: import("jotai").WritableAtom<boolean, [value: boolean], void>; revisionsAtom: import("jotai").Atom<Promise<import("../../backend/History.js").Revision[]>>; previewRevision: import("jotai").PrimitiveAtom<{ ref: string; file: string; } | undefined> & { init: { ref: string; file: string; } | undefined; }; form: import("jotai").Atom<FormAtoms<object>>; view: import("react").ComponentType<import("../view/EntryEdit.js").EntryEditProps> | undefined; parents: Array<{ entryId: string; path: string; }>; client: Connection; config: Config; entryId: string; versions: Array<Version>; phases: Record<EntryPhase, Version>; availablePhases: Array<EntryPhase>; translations: Array<{ locale: string; entryId: string; }>; parentNeedsTranslation: boolean; previewToken: string; edits: Edits; } | undefined>>>; export interface EntryData { parents: Array<{ entryId: string; path: string; }>; client: Connection; config: Config; entryId: string; versions: Array<Version>; phases: Record<EntryPhase, Version>; availablePhases: Array<EntryPhase>; translations: Array<{ locale: string; entryId: string; }>; parentNeedsTranslation: boolean; previewToken: string; edits: Edits; } export type EntryEditor = ReturnType<typeof createEntryEditor>; export declare function createEntryEditor(entryData: EntryData): { transition: import("jotai").PrimitiveAtom<{ transition: EntryTransition; done: Promise<any>; } | undefined> & { init: { transition: EntryTransition; done: Promise<any>; } | undefined; }; revisionId: string; activePhase: EntryPhase; phaseInUrl: import("jotai").Atom<EntryPhase | undefined>; selectedPhase: import("jotai").Atom<EntryPhase>; entryData: EntryData; editMode: import("jotai").PrimitiveAtom<EditMode> & { init: EditMode; }; activeVersion: Version; type: Type; yUpdate: import("jotai").Atom<Uint8Array>; activeTitle: import("jotai").Atom<string>; hasChanges: import("jotai").PrimitiveAtom<boolean> & { init: boolean; }; draftEntry: import("jotai").Atom<Promise<EntryRow>>; 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; }; archivePublished: import("jotai").WritableAtom<null, [], Promise<void>> & { init: null; }; publishArchived: import("jotai").WritableAtom<null, [], Promise<void>> & { init: null; }; deleteFile: import("jotai").WritableAtom<null, [], Promise<void> | undefined> & { init: null; }; deleteArchived: 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; }; isLoading: import("jotai").Atom<boolean>; showHistory: import("jotai").WritableAtom<boolean, [value: boolean], void>; revisionsAtom: import("jotai").Atom<Promise<import("../../backend/History.js").Revision[]>>; previewRevision: import("jotai").PrimitiveAtom<{ ref: string; file: string; } | undefined> & { init: { ref: string; file: string; } | undefined; }; form: import("jotai").Atom<FormAtoms<object>>; view: import("react").ComponentType<import("../view/EntryEdit.js").EntryEditProps> | undefined; parents: { entryId: string; path: string; }[]; client: Connection; config: Config; entryId: string; versions: Version[]; phases: Record<EntryPhase, Version>; availablePhases: EntryPhase[]; translations: { locale: string; entryId: string; }[]; parentNeedsTranslation: boolean; previewToken: string; edits: Edits; }; export {};