Package Exports Reference

All entry points exported by the zone5 package.


Main Entry (zone5)

import { load, toToml, type ConfigType, type ItemFeature } from 'zone5';

Exports

ExportTypeDescription
loadfunctionLoad configuration from .zone5.toml
toTomlfunctionConvert config object to TOML string
ConfigTypetypeConfiguration type definition
ItemFeaturetypeImage feature data type

Components (zone5/components)

import { Zone5, Zone5Provider, Zone5Img, Zone5Lightbox } from 'zone5/components';

Exports

ExportTypeDescription
Zone5componentMain gallery component
Zone5ProvidercomponentContext provider for lightbox
Zone5ImgcomponentIndividual image component
Zone5LightboxcomponentFull-screen lightbox modal

Type Exports

import type { ImageData } from 'zone5/components';
ExportDescription
ImageDataImage data type with alt/title

Atom Components (zone5/components/atoms)

import { Button, CloseButton, NextButton, PrevButton } from 'zone5/components/atoms';

Exports

ExportTypeDescription
ButtoncomponentBase button component
CloseButtoncomponentClose button with X icon
NextButtoncomponentNext navigation arrow
PrevButtoncomponentPrevious navigation arrow

Vite Plugin (zone5/vite)

import { zone5 } from 'zone5/vite';

Exports

ExportTypeDescription
zone5functionVite plugin factory

Usage

// vite.config.ts
import { zone5 } from 'zone5/vite';

export default defineConfig({
  plugins: [zone5()]
});

Remark Plugin (zone5/remark)

import { remarkZ5Images } from 'zone5/remark';

Exports

ExportTypeDescription
remarkZ5ImagesPluginRemark plugin for markdown images

Usage

// svelte.config.js
import { remarkZ5Images } from 'zone5/remark';

mdsvex({
  remarkPlugins: [remarkZ5Images]
})

Package.json Exports Field

{
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "svelte": "./dist/index.js",
      "default": "./dist/index.js"
    },
    "./components": {
      "types": "./dist/components/index.d.ts",
      "svelte": "./dist/components/index.js",
      "default": "./dist/components/index.js"
    },
    "./components/atoms": {
      "types": "./dist/components/atoms/index.d.ts",
      "svelte": "./dist/components/atoms/index.js",
      "default": "./dist/components/atoms/index.js"
    },
    "./vite": {
      "types": "./dist/vite.d.ts",
      "default": "./dist/vite.js"
    },
    "./remark": {
      "types": "./dist/remark.d.ts",
      "default": "./dist/remark.js"
    }
  }
}

Import Examples

Svelte Component

<script>
  import { Zone5, Zone5Provider } from 'zone5/components';
  import { CloseButton } from 'zone5/components/atoms';
</script>

Vite Configuration

import { zone5 } from 'zone5/vite';

SvelteKit Configuration

import { remarkZ5Images } from 'zone5/remark';

TypeScript Types

import type { ItemFeature, ConfigType } from 'zone5';
import type { ImageData } from 'zone5/components';