@nuxtjs/sanity
Version:
Sanity integration for Nuxt
95 lines (92 loc) • 3.07 kB
text/typescript
import * as _nuxt_schema from '@nuxt/schema';
import { ClientConfig as ClientConfig$1 } from '@sanity/client';
import { HistoryRefresh } from '@sanity/visual-editing';
import { ClientConfig } from '../dist/runtime/minimal-client.js';
import { SanityVisualEditingZIndex } from '../dist/runtime/types.js';
type SanityVisualEditingMode = 'live-visual-editing' | 'visual-editing' | 'custom';
type SanityVisualEditingRefreshHandler = (payload: HistoryRefresh, refreshDefault: () => false | Promise<void>) => false | Promise<void>;
interface SanityModuleVisualEditingOptions {
/**
* Enable preview mode or configure preview endpoints
*/
previewMode?: boolean | {
enable?: string;
disable?: string;
};
/**
* Enable visual editing at app level or per component
* @default 'live-visual-editing'
*/
mode?: SanityVisualEditingMode;
/**
* Set proxy endpoint for fetching preview data
* @default '/_sanity/fetch'
*/
proxyEndpoint?: string;
/**
* Read token for server side queries
* @required
*/
token?: string;
/**
* The URL of the Sanity Studio
*/
studioUrl?: string;
/**
* Enable stega
* @default false
*/
stega?: boolean;
/**
* An optional function for overriding the default handling of refresh events
* received from the studio. This is generally not need needed if the `mode`
* option is set to `live-visual-editing`.
*/
refresh?: SanityVisualEditingRefreshHandler;
/**
* The CSS z-index on the root node that renders overlays
* @default 9999999
*/
zIndex?: SanityVisualEditingZIndex;
}
type SanityModuleOptions = Partial<ClientConfig | ClientConfig$1> & {
/** Globally register a $sanity helper throughout your app */
globalHelper?: boolean;
/**
* Use a micro-client that only supports making queries.
* @default false
*/
minimal?: boolean;
/**
* Don't disable `useCdn` when preview mode is on
* https://nuxtjs.org/docs/2.x/features/live-preview/
*
* @default false
*/
disableSmartCdn?: boolean;
/**
* Configuration for any additional clients
*/
additionalClients?: Record<string, Partial<ClientConfig | ClientConfig$1>>;
/**
* Configuration for Live Content API
*/
liveContent?: {
browserToken?: string;
serverToken?: string;
};
/**
* Configuration for visual editing
*/
visualEditing?: SanityModuleVisualEditingOptions;
/**
* Path to Sanity config file to try to read `projectId` and `dataset` if they are not provided
*
* @default '~~/cms/sanity.config.ts'
*/
configFile?: string;
};
type ModuleOptions = SanityModuleOptions;
declare const _default: _nuxt_schema.NuxtModule<SanityModuleOptions, SanityModuleOptions, false>;
export { _default as default };
export type { ModuleOptions, SanityModuleOptions, SanityModuleVisualEditingOptions, SanityVisualEditingMode, SanityVisualEditingRefreshHandler };