# Package-entrypoints

> Elk importeerbaar pad en wat erachter zit.

Source: https://docxcelerate.com/nl/docs/reference/entrypoints/

Het package levert gecompileerde output met typedeclaraties. Elk entrypoint
hieronder is gedeclareerd in `exports`, dus ze worden opgelost in Node en in
bundlers zonder diepe imports in `dist/`.

## docxcelerate

Het hoofdoppervlak: de documentbuilder, artefacthelpers, derivers,
runtimetypes en elk type in het documentdomein.

```ts
import {
  buildDocument,
  buildProjectPreviewDocument,
  cleanMinimalDocumentStyle,
  dataRef,
  derive,
  type DocumentModel,
  type ParagraphNode,
} from "docxcelerate";
```

## docxcelerate/document

Definitie van een documentproject — het entrypoint dat een opgezette
`document.project.ts` gebruikt. De CLI en de gegenereerde bestandsnamen zeggen
nog steeds `document`; de API niet.

```ts
import { defineDocumentProject } from "docxcelerate/document";
```

## docxcelerate/template

Het auteursoppervlak: de elementen, de hooks en `template` zelf. Dit is wat een
componentbestand importeert.

```ts
import {
  Document,
  Graph,
  Image,
  Paragraph,
  Section,
  TableOfContents,
  template,
  useAvailableTokens,
  useFormat,
  usePlaceholderData,
  useSetPlaceholders,
  useSetPrompts,
  useShared,
  useState,
} from "docxcelerate/template";
```

Elke elementnaam is ook een componenttype, zodat `const Greeting: Paragraph =
() => <Paragraph … />` benoemt wat een component oplevert en het teruggeven van
de verkeerde soort afwijst.

De bijbehorende JSX-runtime staat op `docxcelerate/template/jsx-runtime` (en
`.../jsx-dev-runtime`), en dat is waar `jsxImportSource` naartoe oplost.

## docxcelerate/docx

DOCX-constructie.

```ts
import { createDocxBlob, createDocxDocument, renderDocxBytes } from "docxcelerate/docx";
```

Er is één renderer, en die schrijft Word-bestanden. Om een document op een scherm
te tonen pak je het in en lees je het bestand terug met een DOCX-viewer — dat is
wat de preview-app van je workspace doet via `docx-preview`, en ook de previews
op deze site. Een tweede renderer die het model in HTML zet zou een tweede
antwoord zijn op hoe een document eruitziet, en degene die niemand in Word opent
is degene die afdrijft.

## docxcelerate/scaffold en /cli

De workspacegenerator en zijn commandoregel-voorkant, om er je eigen tooling
bovenop te bouwen.

```ts
import { scaffoldWorkspace } from "docxcelerate/scaffold";
```
