Docs
Systhema Design (opens in new tab)
Unreleased

Payload import paths

What to import from which @systhemaui/payload entry.

On this page

@systhemaui/payload splits its exports across a few entries. This page lists what each one carries. In 'use client' files, use the client entries described on Imports in 'use client' files instead.

Server-side importsLink to this section

// Config wrapper.
import { withSysthema } from '@systhemaui/payload/config'
// (also re-exported from the package root)
import { withSysthema } from '@systhemaui/payload'

// Plugin options + utilities.
import {
  systhemaPayloadPlugin,
  getSysthemaPayloadPluginOptions,
  setSysthemaPayloadPluginOptions,
  type SysthemaPayloadPluginOptions,
  type CustomBlock,
  type CustomBlockConverter,
  type EditorName,
} from '@systhemaui/payload'

// AI assistant config (options + resolved shapes).
import {
  getAiConfig,
  resolveAiConfig,
  type SysthemaAiOptions,
  type SysthemaAiTextOptions,
  type SysthemaAiTextModelEntry,
  type SysthemaAiImageOptions,
  type SysthemaAiImageModelEntry,
  type SysthemaAiComposeOptions,
  type SysthemaAiTextProvider,
  type SysthemaAiImageProvider,
  type AiConfig,
  type AiTextConfig,
  type AiTextModelResolved,
  type AiImageConfig,
  type AiImageModelResolved,
} from '@systhemaui/payload'

// Analytics config (options + resolved shape).
import {
  getAnalyticsConfig,
  resolveAnalyticsConfig,
  capabilitiesFor,
  AnalyticsProviderError,
  type SysthemaAnalyticsOptions,
  type AnalyticsProviderOptions,
  type AnalyticsCustomOptions,
  type CustomAnalyticsAdapter,
  type AnalyticsConfig,
} from '@systhemaui/payload'

// Cloudflare config type and edge purge (server-only).
import { autoPurgePaths, type SysthemaCloudflareOptions } from '@systhemaui/payload'

// Form-submission list columns and CSV export shaping.
import {
  DEFAULT_FORM_SUBMISSION_COLUMNS,
  type FormSubmissionColumnMatch,
  type SysthemaFormSubmissionColumn,
  type SysthemaFormSubmissionColumns,
  type SysthemaFormSubmissionExportOptions,
} from '@systhemaui/payload'

// Editors.
import {
  rootLexicalEditor,
  regionLexicalEditor,
  fragmentLexicalEditor,
  slotLexicalEditor,
  inlineLexicalEditor,
  emailLexicalEditor,
} from '@systhemaui/payload'

// Field helpers.
import {
  buttonGroupField,
  colorSelectField,
  drawerField,
  faIconPickerField,
  iconGroupField,
  iconPickerField,
  keyField,
  messageField,
  nestedSlugField,
  rangeField,
  slugField,
} from '@systhemaui/payload/fields'

// `richTextField` is NOT in `/fields` — import it from the package root:
import { richTextField } from '@systhemaui/payload'

// Blocks.
import {
  AccordionBlock,
  AvatarBlock,
  ButtonBlock,
  ButtonBlockFields,
  CardBlock,
  CarouselBlock,
  ChipBlock,
  ColumnsBlock,
  EmbedBlock,
  FeatureBlock,
  FormBlock,
  GalleryBlock,
  GoogleMapsBlock,
  HeroBackgroundBlock,
  HeroFeatureBlock,
  HeroSimpleBlock,
  IconBlock,
  NestedStackBlock,
  QuoteBlock,
  RichTextBlock,
  SectionBlock,
  StackBlock,
} from '@systhemaui/payload/blocks'

// Access control helpers.
import {
  addScopedFieldAccess,
  capabilityOrPublished,
  capabilityOrSelf,
  publicOrCapability,
  requireAnyCapability,
  requireAnyCapabilityField,
  requireCapability,
  requireCapabilityField,
  requireUpdateOrScoped,
} from '@systhemaui/payload'

// Cookie consent (server-side helpers).
import {
  resolveCookieConsentConfig,
  seedCookieConsentFromConfig,
} from '@systhemaui/payload'

// SEO title templating.
import {
  DEFAULT_TITLE_SEPARATOR,
  resolveSeoTitle,
  TITLE_SEPARATORS,
  type SeoDefaults,
  type TitleSeparatorKey,
} from '@systhemaui/payload'

Where each group is documentedLink to this section