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

Defined in: [packages/core/src/model.ts:350](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L350)

One documented CSS record: its base class plus everything derived from the CSS + doc comments.

## Properties

### accessibility?

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

Defined in: [packages/core/src/model.ts:372](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L372)

Accessibility guidance, from `@a11y`/`@accessibility`.

***

### animations

```ts
animations: CssAnimation[];
```

Defined in: [packages/core/src/model.ts:409](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L409)

Animations (`@keyframes`) this component exposes.

***

### annotations

```ts
annotations: CssAnnotation[];
```

Defined in: [packages/core/src/model.ts:438](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L438)

Local annotation legend rows from `@annotations`, in author order.

***

### className

```ts
className: string;
```

Defined in: [packages/core/src/model.ts:358](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L358)

The base CSS selector — a class (`.button`), attribute (`[data-layout="x"]`), ID (`#foo`),
or shadow-DOM pseudo (`:host`) — inferred from the first bare-class rule or set explicitly via
`@selector`. Always non-empty (falls back to `.${name}` when inference fails).

***

### compat

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

Defined in: [packages/core/src/model.ts:444](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L444)

Browser-support / feature-compatibility notes from `@compat`.

***

### conditions

```ts
conditions: CssCondition[];
```

Defined in: [packages/core/src/model.ts:413](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L413)

Conditional-support blocks (`@container`/`@supports`/`@media`) the rules sit under.

***

### cssPropertiesConsumed

```ts
cssPropertiesConsumed: CssTokenConsumed[];
```

Defined in: [packages/core/src/model.ts:403](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L403)

Design tokens this component consumes: every `--*` custom property referenced via `var(...)` inside
its rules, each annotated with `@tokens` prose where authored (and including any `@tokens`-declared
token not literally found via `var()`).

***

### cssPropertiesDeclared

```ts
cssPropertiesDeclared: CssPropertyDeclared[];
```

Defined in: [packages/core/src/model.ts:405](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L405)

Custom properties this component declares (`@property`) or documents (`@cssproperty`).

***

### customBlocks?

```ts
optional customBlocks?: Record<string, string[]>;
```

Defined in: [packages/core/src/model.ts:462](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L462)

Content of registered custom (block) tags, keyed by tag name without its `@`. Populated only for
tags added via configuration; unregistered unknown tags are ignored. Absent when none were found.

***

### decorators

```ts
decorators: CssDecorator[];
```

Defined in: [packages/core/src/model.ts:442](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L442)

Record-level object-model decorators.

***

### demo?

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

Defined in: [packages/core/src/model.ts:430](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L430)

`@demo <spec>` (e.g. `self:button`), when authored.

***

### deprecated?

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

Defined in: [packages/core/src/model.ts:432](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L432)

Component-level deprecation replacement text, when authored (the argument to a `@deprecated` tag).

***

### elements?

```ts
optional elements?: CssElementConstraints;
```

Defined in: [packages/core/src/model.ts:392](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L392)

Allowed HTML elements from `@element` (default + optional named profiles).

***

### examples

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

Defined in: [packages/core/src/model.ts:415](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L415)

`@example` blocks, verbatim.

***

### functions

```ts
functions: CssFunction[];
```

Defined in: [packages/core/src/model.ts:407](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L407)

CSS custom functions (`@function`) this component defines.

***

### global?

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

Defined in: [packages/core/src/model.ts:378](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L378)

Set when this record carries a `@global` tag — its modifiers (and per-modifier `@global` flags)
apply to any component/layout/rule/declaration, not just this record's base class. Used during
validation and consumption checks to resolve modifier matches globally.

***

### group?

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

Defined in: [packages/core/src/model.ts:370](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L370)

A documentation group/category, from `@group`/`@category`.

***

### kind

```ts
kind: CssRecordKind;
```

Defined in: [packages/core/src/model.ts:354](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L354)

Which kind of CSS surface this documents (defaults to `component`).

***

### layers

```ts
layers: CssLayer[];
```

Defined in: [packages/core/src/model.ts:411](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L411)

Cascade layers (`@layer`) this component participates in.

***

### memberDeclarations?

```ts
optional memberDeclarations?: CssMemberDeclaration[];
```

Defined in: [packages/core/src/model.ts:455](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L455)

Structured parent-side member declarations from repeated `@member` tags.

***

### memberOf?

```ts
optional memberOf?: CssMemberOf;
```

Defined in: [packages/core/src/model.ts:451](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L451)

Declared family membership from `@memberOf` — this record is a member of another named record,
optionally `private` (must only ever appear inside that parent). Absent when not authored.

***

### members?

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

Defined in: [packages/core/src/model.ts:453](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L453)

Member record names from `@members` — the inverse direction, declared on the parent.

***

### modifiers

```ts
modifiers: CssModifier[];
```

Defined in: [packages/core/src/model.ts:380](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L380)

AST-extracted modifiers, annotated with `@modifier` prose where authored.

***

### name

```ts
name: string;
```

Defined in: [packages/core/src/model.ts:352](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L352)

The record name from `@component`/`@utility`/`@rule`/`@declaration`/`@name`, e.g. `button`.

***

### parts

```ts
parts: CssPart[];
```

Defined in: [packages/core/src/model.ts:382](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L382)

AST-extracted sub-element parts (class-based), annotated with `@part` prose where authored.

***

### privateRemarks?

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

Defined in: [packages/core/src/model.ts:364](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L364)

Internal-only prose from `@privateRemarks` (emitters may choose to omit it from public output).

***

### pseudoElements

```ts
pseudoElements: CssPseudoElement[];
```

Defined in: [packages/core/src/model.ts:386](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L386)

Native pseudo-elements the component styles (`::before`, `::marker`, …), from `@pseudo` or a selector.

***

### refs

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

Defined in: [packages/core/src/model.ts:440](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L440)

Local annotation references from `@ref`, in author order.

***

### related

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

Defined in: [packages/core/src/model.ts:446](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L446)

Related components from `@related`.

***

### releaseStage?

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

Defined in: [packages/core/src/model.ts:366](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L366)

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

***

### remarks?

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

Defined in: [packages/core/src/model.ts:362](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L362)

Extended prose from `@remarks`.

***

### see

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

Defined in: [packages/core/src/model.ts:434](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L434)

`@see <ref>` cross-references.

***

### shadowParts

```ts
shadowParts: CssPart[];
```

Defined in: [packages/core/src/model.ts:384](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L384)

Shadow-DOM exposed parts (`::part(name)`), from `@csspart` or a `::part()` selector.

***

### since?

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

Defined in: [packages/core/src/model.ts:368](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L368)

Version introduced, from `@since`.

***

### slots

```ts
slots: CssSlot[];
```

Defined in: [packages/core/src/model.ts:390](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L390)

Named slots the component shell exposes, from `@slot`.

***

### source?

```ts
optional source?: CssSource;
```

Defined in: [packages/core/src/model.ts:457](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L457)

Where the record was authored, when position info is available (for source links).

***

### states

```ts
states: CssState[];
```

Defined in: [packages/core/src/model.ts:388](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L388)

States the component reacts to, from `@cssstate`, `:state()`, pseudo-classes, or state classes.

***

### structure?

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

Defined in: [packages/core/src/model.ts:421](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L421)

The authored `@structure` element tree (top-level nodes), when present. When the `@structure` body
uses `@variant` blocks (see [structureVariants](#structurevariants)), this holds the first variant's nodes only,
for back-compat with any code that hasn't been updated to read `structureVariants`.

***

### structureDescription?

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

Defined in: [packages/core/src/model.ts:428](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L428)

An optional prose description leading the `@structure` body, when authored.

***

### structureVariants?

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

Defined in: [packages/core/src/model.ts:426](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L426)

Alternative DOM shapes for this component, when the authored `@structure` body contains one or
more top-level `@variant` blocks — absent for the common case of a single, non-variant structure.

***

### summary?

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

Defined in: [packages/core/src/model.ts:360](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L360)

One-line summary from `@summary`.

***

### todos

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

Defined in: [packages/core/src/model.ts:397](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L397)

Internal to-do notes, from `@todo` tags and `/* @todo … */` inline comments. Development notes,
not public API — emitters may omit them (like [CssDocEntry.privateRemarks](#privateremarks)).

***

### usage?

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

Defined in: [packages/core/src/model.ts:436](https://github.com/thedannywahl/cssdoc/blob/main/packages/core/src/model.ts#L436)

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