---
url: /reference/@cssdoc/core/interfaces/ParsedDoc.md
---
# Interface: ParsedDoc

Defined in: [packages/core/src/grammar.ts:119](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L119)

The structured content extracted from one doc-comment block.

## Properties

### accessibility?

```ts
optional accessibility?: string;
```

Defined in: [packages/core/src/grammar.ts:144](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L144)

`@a11y`/`@accessibility` — accessibility guidance.

***

### animations

```ts
animations: Map<string, string>;
```

Defined in: [packages/core/src/grammar.ts:188](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L188)

`@keyframes`/`@animation` descriptions, keyed by animation name.

***

### annotations

```ts
annotations: Map<number, string>;
```

Defined in: [packages/core/src/grammar.ts:210](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L210)

Parsed `@annotations` legend rows, keyed by numeric reference index.

***

### className?

```ts
optional className?: string;
```

Defined in: [packages/core/src/grammar.ts:125](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L125)

`@selector` / `@class` — an explicit base CSS selector (any valid simple selector; otherwise inferred from the CSS).

***

### compat

```ts
compat: string[];
```

Defined in: [packages/core/src/grammar.ts:216](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L216)

`@compat` browser-support / feature-compatibility notes.

***

### component?

```ts
optional component?: string;
```

Defined in: [packages/core/src/grammar.ts:121](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L121)

`@component`/`@utility`/`@rule`/`@declaration`/`@name` — the record name. Marks a record boundary.

***

### conditions

```ts
conditions: DocCondition[];
```

Defined in: [packages/core/src/grammar.ts:192](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L192)

`@container`/`@supports`/`@media`/`@responsive` authored conditions.

***

### cssParts

```ts
cssParts: Map<string, string>;
```

Defined in: [packages/core/src/grammar.ts:165](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L165)

`@csspart` descriptions (shadow-DOM `::part()`), keyed by the bare part name (e.g. `header`).

***

### cssProperties

```ts
cssProperties: DocCssProperty[];
```

Defined in: [packages/core/src/grammar.ts:178](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L178)

`@cssproperty` declarations.

***

### cssStates

```ts
cssStates: Map<string, string>;
```

Defined in: [packages/core/src/grammar.ts:180](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L180)

`@cssstate` descriptions, keyed by state name.

***

### customBlocks

```ts
customBlocks: Map<string, string[]>;
```

Defined in: [packages/core/src/grammar.ts:228](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L228)

Content of registered custom (block) tags, keyed by tag name without its `@`.

***

### decorators

```ts
decorators: DocDecorators;
```

Defined in: [packages/core/src/grammar.ts:214](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L214)

Record-level object-model decorators.

***

### demo?

```ts
optional demo?: string;
```

Defined in: [packages/core/src/grammar.ts:204](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L204)

`@demo <spec>`.

***

### deprecated?

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

Defined in: [packages/core/src/grammar.ts:202](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L202)

The `<replacement>` argument from a `@deprecated` tag.

***

### elements

```ts
elements: Map<string, string[]>;
```

Defined in: [packages/core/src/grammar.ts:184](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L184)

Raw `@element` declarations keyed by profile (`""` for default), in author order.

***

### examples

```ts
examples: string[];
```

Defined in: [packages/core/src/grammar.ts:194](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L194)

`@example` blocks.

***

### fullSelector?

```ts
optional fullSelector?: string;
```

Defined in: [packages/core/src/grammar.ts:132](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L132)

The full, untruncated `@selector` text as authored, before [className](#classname) truncates it to its
leading token (e.g. `.pfx-list > li` stays whole here even though `className` becomes `.pfx-list`).
Lets callers detect when an authored `@selector` names a descendant compound rather than a plain
base selector, without changing what `className` resolves to elsewhere.

***

### functions

```ts
functions: Map<string, string>;
```

Defined in: [packages/core/src/grammar.ts:186](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L186)

`@function` descriptions, keyed by function name (e.g. `--negate`).

***

### global?

```ts
optional global?: boolean;
```

Defined in: [packages/core/src/grammar.ts:226](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L226)

Set by a record-level `@global` tag — modifiers of this record apply to any other component/layout/rule/declaration.

***

### group?

```ts
optional group?: string;
```

Defined in: [packages/core/src/grammar.ts:142](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L142)

`@group`/`@category` — a documentation group.

***

### kind?

```ts
optional kind?: CssRecordKind;
```

Defined in: [packages/core/src/grammar.ts:123](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L123)

The record kind chosen by the opening tag (`component` unless `@utility`/`@rule`/`@declaration`).

***

### layers

```ts
layers: Map<string, string>;
```

Defined in: [packages/core/src/grammar.ts:190](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L190)

`@layer` descriptions, keyed by layer name.

***

### memberEntries

```ts
memberEntries: object[];
```

Defined in: [packages/core/src/grammar.ts:224](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L224)

Repeatable `@member <name> [private]` declarations on the parent record.

#### name

```ts
name: string;
```

#### private

```ts
private: boolean;
```

***

### memberOf?

```ts
optional memberOf?: object;
```

Defined in: [packages/core/src/grammar.ts:220](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L220)

`@memberOf <component> [private]`, when authored.

#### component

```ts
component: string;
```

#### private

```ts
private: boolean;
```

***

### members?

```ts
optional members?: string[];
```

Defined in: [packages/core/src/grammar.ts:222](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L222)

`@members <name>, <name>, …` — the inverse direction, when authored.

***

### modifiers

```ts
modifiers: Map<string, DocModifier>;
```

Defined in: [packages/core/src/grammar.ts:148](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L148)

`@modifier` prose, keyed by the derived modifier name (e.g. `-color-secondary`, `data-variant="ghost"`).

***

### modifierSelectors

```ts
modifierSelectors: Map<string, string>;
```

Defined in: [packages/core/src/grammar.ts:153](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L153)

The original CSS selector for each `@modifier`, keyed by the derived name.
Set only for non-class modifiers (attribute, ID, `:host`). Class modifiers omit the entry.

***

### parts

```ts
parts: Map<string, string>;
```

Defined in: [packages/core/src/grammar.ts:155](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L155)

`@part` descriptions, keyed by the derived part name (e.g. `item`, `data-layout`).

***

### partSelectors

```ts
partSelectors: Map<string, string>;
```

Defined in: [packages/core/src/grammar.ts:161](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L161)

The original CSS selector for each `@part`, keyed by the derived name.
Set only for non-class parts (attribute, ID, `:host`). Class parts omit the entry;
callers reconstruct the selector as `.${name}` when absent.

***

### privateRemarks?

```ts
optional privateRemarks?: string;
```

Defined in: [packages/core/src/grammar.ts:138](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L138)

`@privateRemarks` — internal-only prose.

***

### pseudoElements

```ts
pseudoElements: Map<string, string>;
```

Defined in: [packages/core/src/grammar.ts:167](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L167)

`@pseudo` descriptions (native pseudo-elements), keyed by the bare name (e.g. `before`).

***

### refs

```ts
refs: number[];
```

Defined in: [packages/core/src/grammar.ts:212](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L212)

Parsed `@ref` values in author order.

***

### related

```ts
related: CssRelated[];
```

Defined in: [packages/core/src/grammar.ts:218](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L218)

`@related` component cross-references.

***

### releaseStage?

```ts
optional releaseStage?: CssReleaseStage;
```

Defined in: [packages/core/src/grammar.ts:146](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L146)

The release stage from a modifier flag tag (`@alpha`/`@beta`/…).

***

### remarks?

```ts
optional remarks?: string;
```

Defined in: [packages/core/src/grammar.ts:136](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L136)

`@remarks` — extended prose.

***

### see

```ts
see: string[];
```

Defined in: [packages/core/src/grammar.ts:206](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L206)

`@see <ref>` entries.

***

### since?

```ts
optional since?: string;
```

Defined in: [packages/core/src/grammar.ts:140](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L140)

`@since` — version introduced.

***

### slots

```ts
slots: Map<string, string>;
```

Defined in: [packages/core/src/grammar.ts:182](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L182)

`@slot` descriptions, keyed by slot name (empty string for the default slot).

***

### structure?

```ts
optional structure?: StructureNode[];
```

Defined in: [packages/core/src/grammar.ts:196](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L196)

`@structure` — the nested-CSS body, parsed into a selector tree by [parseStructure](../functions/parseStructure.md).

***

### structureDescription?

```ts
optional structureDescription?: string;
```

Defined in: [packages/core/src/grammar.ts:200](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L200)

An optional prose description leading the `@structure` body.

***

### structureVariants?

```ts
optional structureVariants?: StructureVariant[];
```

Defined in: [packages/core/src/grammar.ts:198](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L198)

Alternative DOM shapes from top-level `@variant` blocks in `@structure`, when authored.

***

### summary?

```ts
optional summary?: string;
```

Defined in: [packages/core/src/grammar.ts:134](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L134)

`@summary` — one-line intro.

***

### todos

```ts
todos: string[];
```

Defined in: [packages/core/src/grammar.ts:176](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L176)

`@todo` notes (internal development notes).

***

### tokens

```ts
tokens: Map<string, string>;
```

Defined in: [packages/core/src/grammar.ts:163](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L163)

`@tokens` descriptions, keyed by custom-property name (e.g. `--color-primary`).

***

### usage?

```ts
optional usage?: string;
```

Defined in: [packages/core/src/grammar.ts:208](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L208)

`@usage` prose — how to include the stylesheet / use the component.

***

### wrappers

```ts
wrappers: Map<string, string>;
```

Defined in: [packages/core/src/grammar.ts:169](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L169)

`@wrapper` descriptions, keyed by the derived selector name (e.g. `badge-wrapper`, `data-slot`).

***

### wrapperSelectors

```ts
wrapperSelectors: Map<string, string>;
```

Defined in: [packages/core/src/grammar.ts:174](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/grammar.ts#L174)

The original CSS selector for each `@wrapper`, keyed by the derived name.
Set only for non-class wrappers (attribute, ID, `:host`). Class wrappers omit the entry.
