---
url: /reference/@cssdoc/typedoc/interfaces/EmitCssApiOptions.md
---
# Interface: EmitCssApiOptions

Defined in: [plugins/typedoc/src/emit.ts:25](https://github.com/thedannywahl/cssdoc/blob/main/plugins/typedoc/src/emit.ts#L25)

Options for [emitCssApi](../functions/emitCssApi.md).

## Extends

* [`RenderEntryOptions`](../../markdown/interfaces/RenderEntryOptions.md)

## Properties

### baseHref?

```ts
optional baseHref?: string;
```

Defined in: [plugins/typedoc/src/emit.ts:35](https://github.com/thedannywahl/cssdoc/blob/main/plugins/typedoc/src/emit.ts#L35)

Link prefix for the emitted pages/sidebar (default `"<outSubdir>/"`).

#### Overrides

[`RenderEntryOptions`](../../markdown/interfaces/RenderEntryOptions.md).[`baseHref`](../../markdown/interfaces/RenderEntryOptions.md#basehref)

***

### classNames?

```ts
optional classNames?: object;
```

Defined in: [emitters/markdown/src/render.ts:135](https://github.com/thedannywahl/cssdoc/blob/main/emitters/markdown/src/render.ts#L135)

Optional CSS classes for HTML-preserving renderers (e.g. VitePress). Each key is opt-in; omit for
pure markdown. Values are used verbatim as the `class` attribute (multiple space-separated tokens
allowed). Renderers that strip unknown attributes (e.g. GitHub) drop the class but keep the text.

#### affects?

```ts
optional affects?: string;
```

Wrap the "Affects" marker on a modifier row carrying an `@affects` descendant note.

#### alias?

```ts
optional alias?: string;
```

Wrap the "Alias" marker on a modifier row carrying an `@alias` mapping.

#### deprecated?

```ts
optional deprecated?: string;
```

Wrap deprecation output — the record-level `> [!WARNING]` banner and deprecated modifier-table
cells — in `<span class="…">`, e.g. `"-instui-pill -color-warning"`.

#### interaction?

```ts
optional interaction?: string;
```

Wrap the "Interaction" marker on a JS-only (`@interaction`-flagged) modifier row.

#### stage?

```ts
optional stage?: Partial<Record<CssReleaseStage, string>>;
```

Per-stage classes for the release-stage marker on the header line (the HTML emitter's `badge`
analog). Only the current record's stage is applied; omit a stage for pure markdown there.

#### Inherited from

[`RenderEntryOptions`](../../markdown/interfaces/RenderEntryOptions.md).[`classNames`](../../markdown/interfaces/RenderEntryOptions.md#classnames)

***

### configFile?

```ts
optional configFile?: CssDocConfigFile;
```

Defined in: [plugins/typedoc/src/emit.ts:49](https://github.com/thedannywahl/cssdoc/blob/main/plugins/typedoc/src/emit.ts#L49)

A loaded `cssdoc.json` (from `@cssdoc/config`). When given, it supplies the parse `configuration`
(unless one is passed explicitly) and the render defaults
`sectionOrder`/`headingPrefix`/`baseHref`/`structureView`/`structureVariantView`/`groups` from its
`render` block. Any explicit option above still overrides the config file.

***

### configuration?

```ts
optional configuration?: CssDocConfiguration;
```

Defined in: [plugins/typedoc/src/emit.ts:42](https://github.com/thedannywahl/cssdoc/blob/main/plugins/typedoc/src/emit.ts#L42)

The tag configuration to parse with.

***

### css

```ts
css: string[];
```

Defined in: [plugins/typedoc/src/emit.ts:29](https://github.com/thedannywahl/cssdoc/blob/main/plugins/typedoc/src/emit.ts#L29)

CSS source file paths (resolved against `cwd`).

***

### cwd?

```ts
optional cwd?: string;
```

Defined in: [plugins/typedoc/src/emit.ts:56](https://github.com/thedannywahl/cssdoc/blob/main/plugins/typedoc/src/emit.ts#L56)

Base directory the `css` paths are resolved against (default `process.cwd()`).

***

### globalPrecedence?

```ts
optional globalPrecedence?: "base" | "global";
```

Defined in: [plugins/typedoc/src/emit.ts:54](https://github.com/thedannywahl/cssdoc/blob/main/plugins/typedoc/src/emit.ts#L54)

The precedence model when multiple records define the same modifier. Falls back to the `configFile`'s
`globalPrecedence` setting (default `"base"`).

***

### groups?

```ts
optional groups?: readonly string[];
```

Defined in: [plugins/typedoc/src/emit.ts:40](https://github.com/thedannywahl/cssdoc/blob/main/plugins/typedoc/src/emit.ts#L40)

Explicit sidebar/index group order (from `render.groups` in a `configFile`, or passed here). Listed
labels come first; unlisted groups follow the default order. See `groupEntries` in `@cssdoc/markdown`.

***

### headingPrefix?

```ts
optional headingPrefix?: string;
```

Defined in: [emitters/markdown/src/render.ts:117](https://github.com/thedannywahl/cssdoc/blob/main/emitters/markdown/src/render.ts#L117)

Heading prefix for the page title (defaults to no prefix, i.e. just the record name).

#### Inherited from

[`RenderEntryOptions`](../../markdown/interfaces/RenderEntryOptions.md).[`headingPrefix`](../../markdown/interfaces/RenderEntryOptions.md#headingprefix)

***

### importSnippet?

```ts
optional importSnippet?: (entry) => string | undefined;
```

Defined in: [emitters/markdown/src/render.ts:89](https://github.com/thedannywahl/cssdoc/blob/main/emitters/markdown/src/render.ts#L89)

Produce an include/usage snippet for a record, rendered as a fenced block in the "Usage" section
alongside any authored `@usage` prose (e.g. the `@import` line and class-prefix convention).

#### Parameters

##### entry

[`CssDocEntry`](../../core/interfaces/CssDocEntry.md)

#### Returns

`string` | `undefined`

#### Inherited from

[`RenderEntryOptions`](../../markdown/interfaces/RenderEntryOptions.md).[`importSnippet`](../../markdown/interfaces/RenderEntryOptions.md#importsnippet)

***

### includeAnnotations?

```ts
optional includeAnnotations?: boolean;
```

Defined in: [emitters/markdown/src/render.ts:110](https://github.com/thedannywahl/cssdoc/blob/main/emitters/markdown/src/render.ts#L110)

Emit the `## Annotations` section. Annotations are internal guidance (like `@privateRemarks`);
defaults to `false` so public emitters omit them by default.

#### Inherited from

[`RenderEntryOptions`](../../markdown/interfaces/RenderEntryOptions.md).[`includeAnnotations`](../../markdown/interfaces/RenderEntryOptions.md#includeannotations)

***

### includeDecorators?

```ts
optional includeDecorators?: boolean;
```

Defined in: [emitters/markdown/src/render.ts:115](https://github.com/thedannywahl/cssdoc/blob/main/emitters/markdown/src/render.ts#L115)

Emit object-model decorators (`@sealed`, `@frozen`, `@preventExtensions`, `@readonly`) on the
record meta line. Defaults to `false` so public emitters omit them by default.

#### Inherited from

[`RenderEntryOptions`](../../markdown/interfaces/RenderEntryOptions.md).[`includeDecorators`](../../markdown/interfaces/RenderEntryOptions.md#includedecorators)

***

### label?

```ts
optional label?: string;
```

Defined in: [plugins/typedoc/src/emit.ts:33](https://github.com/thedannywahl/cssdoc/blob/main/plugins/typedoc/src/emit.ts#L33)

The sidebar section label (default `"CSS"`).

***

### members?

```ts
optional members?: readonly object[];
```

Defined in: [emitters/markdown/src/render.ts:103](https://github.com/thedannywahl/cssdoc/blob/main/emitters/markdown/src/render.ts#L103)

Sibling records that declared `@memberOf` naming this record as their parent — the inverse
direction of `@structure` containment. Supplied by `buildCssApi` from the full set of records;
merged into the "Subcomponents" section alongside structurally-nested children.

#### Inherited from

[`RenderEntryOptions`](../../markdown/interfaces/RenderEntryOptions.md).[`members`](../../markdown/interfaces/RenderEntryOptions.md#members)

***

### outputDirectory

```ts
outputDirectory: string;
```

Defined in: [plugins/typedoc/src/emit.ts:27](https://github.com/thedannywahl/cssdoc/blob/main/plugins/typedoc/src/emit.ts#L27)

The TypeDoc output root (where `typedoc-sidebar.json` lives).

***

### outSubdir?

```ts
optional outSubdir?: string;
```

Defined in: [plugins/typedoc/src/emit.ts:31](https://github.com/thedannywahl/cssdoc/blob/main/plugins/typedoc/src/emit.ts#L31)

Subdirectory under the output root for the CSS pages (default `"css"`).

***

### resolveComponent?

```ts
optional resolveComponent?: (className) => 
  | {
  href: string;
  name: string;
}
  | undefined;
```

Defined in: [emitters/markdown/src/render.ts:97](https://github.com/thedannywahl/cssdoc/blob/main/emitters/markdown/src/render.ts#L97)

Resolve a bare class name to the component whose base class it is (for `@structure` sibling
references) — returns the component's name + page href, else `undefined`. Supplied by `buildCssApi`
from the full set of records; powers the "Subcomponents" section.

#### Parameters

##### className

`string`

#### Returns

| {
`href`: `string`;
`name`: `string`;
}
| `undefined`

#### Inherited from

[`RenderEntryOptions`](../../markdown/interfaces/RenderEntryOptions.md).[`resolveComponent`](../../markdown/interfaces/RenderEntryOptions.md#resolvecomponent)

***

### resolveDemo?

```ts
optional resolveDemo?: (entry) => string | undefined;
```

Defined in: [emitters/markdown/src/render.ts:82](https://github.com/thedannywahl/cssdoc/blob/main/emitters/markdown/src/render.ts#L82)

Choose the demo spec for an entry (defaults to `entry.demo`).

#### Parameters

##### entry

[`CssDocEntry`](../../core/interfaces/CssDocEntry.md)

#### Returns

`string` | `undefined`

#### Inherited from

[`RenderEntryOptions`](../../markdown/interfaces/RenderEntryOptions.md).[`resolveDemo`](../../markdown/interfaces/RenderEntryOptions.md#resolvedemo)

***

### resolveSource?

```ts
optional resolveSource?: ResolveSource;
```

Defined in: [emitters/markdown/src/render.ts:84](https://github.com/thedannywahl/cssdoc/blob/main/emitters/markdown/src/render.ts#L84)

Resolve a record to a source link, rendered on the meta line as `**Source:** [label](href)`.

#### Inherited from

[`RenderEntryOptions`](../../markdown/interfaces/RenderEntryOptions.md).[`resolveSource`](../../markdown/interfaces/RenderEntryOptions.md#resolvesource)

***

### resolveToken?

```ts
optional resolveToken?: ResolveToken;
```

Defined in: [emitters/markdown/src/render.ts:80](https://github.com/thedannywahl/cssdoc/blob/main/emitters/markdown/src/render.ts#L80)

Resolve a consumed token's type/value (adds Type + Value columns to "Tokens consumed").

#### Inherited from

[`RenderEntryOptions`](../../markdown/interfaces/RenderEntryOptions.md).[`resolveToken`](../../markdown/interfaces/RenderEntryOptions.md#resolvetoken)

***

### sectionOrder?

```ts
optional sectionOrder?: readonly SectionKey[];
```

Defined in: [emitters/markdown/src/render.ts:105](https://github.com/thedannywahl/cssdoc/blob/main/emitters/markdown/src/render.ts#L105)

Reorder (or drop) the `##` sections; defaults to [DEFAULT\_SECTION\_ORDER](../../markdown/variables/DEFAULT_SECTION_ORDER.md).

#### Inherited from

[`RenderEntryOptions`](../../markdown/interfaces/RenderEntryOptions.md).[`sectionOrder`](../../markdown/interfaces/RenderEntryOptions.md#sectionorder)

***

### structureVariantView?

```ts
optional structureVariantView?: "diagram" | "sections";
```

Defined in: [emitters/markdown/src/render.ts:129](https://github.com/thedannywahl/cssdoc/blob/main/emitters/markdown/src/render.ts#L129)

How alternative DOM shapes (from top-level `@variant` blocks in `@structure`) render, when present:
`"diagram"` emits one combined flowchart with a labelled subgraph per variant; `"sections"` emits a
`### Variant: <name>` subsection per variant, each with its own text tree/diagram per
[structureView](../../markdown/interfaces/RenderEntryOptions.md#structureview). Defaults to `"diagram"`. Ignored when no `@variant` was authored.

#### Inherited from

[`RenderEntryOptions`](../../markdown/interfaces/RenderEntryOptions.md).[`structureVariantView`](../../markdown/interfaces/RenderEntryOptions.md#structurevariantview)

***

### structureView?

```ts
optional structureView?: "text" | "diagram" | "both";
```

Defined in: [emitters/markdown/src/render.ts:122](https://github.com/thedannywahl/cssdoc/blob/main/emitters/markdown/src/render.ts#L122)

Which representation(s) the `## Structure` section emits: the ` ```text ` tree, the ` ```mermaid `
flowchart, or both. Defaults to `"both"`.

#### Inherited from

[`RenderEntryOptions`](../../markdown/interfaces/RenderEntryOptions.md).[`structureView`](../../markdown/interfaces/RenderEntryOptions.md#structureview)
