# StaticStoryCatalog

Source: /tuil/docs/reference/packages/story/api/static-story-catalog
Locale: en

class exported by @mwillbanks/tuil-story.



{/* Generated by tooling/docs/generate-reference.ts. */}

## class [#class]

Public class exported by `@mwillbanks/tuil-story`.

```ts
export class StaticStoryCatalog {
  readonly #catalog: TuilStoryCatalog;

  constructor() {
    this.#catalog = new TuilStoryCatalog();
  }

  register<TProps>(
    id: string,
    definition: TuilStoryDefinition<
      TProps,
      Readonly<Record<string, TuilStory<TProps>>>
    >,
  ): Disposer {
    const registration = this.#catalog.register(id, id, definition);
    return () => registration.dispose();
  }

  get runtimeCatalog(): TuilStoryCatalog {
    return this.#catalog;
  }
}
```

## Members [#members]

| Member           | Type                                                                                                                     | Required | Description                                                                                                                                                       | Related types                                                                                                                                                                                             |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------ | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `#catalog`       | `TuilStoryCatalog`                                                                                                       | Yes      | The `#catalog` member uses the `TuilStoryCatalog` contract.                                                                                                       | [`TuilStoryCatalog`](/tuil/docs/reference/packages/story/api/tuil-story-catalog)                                                                                                                               |
| `__constructor`  | `any`                                                                                                                    | Yes      | The `__constructor` member uses the `any` contract.                                                                                                               | —                                                                                                                                                                                                         |
| `register`       | `<TProps>(id: string, definition: TuilStoryDefinition<TProps, Readonly<Record<string, TuilStory<TProps>>>>) => Disposer` | Yes      | The `register` member uses the `<TProps>(id: string, definition: TuilStoryDefinition<TProps, Readonly<Record<string, TuilStory<TProps>>>>) => Disposer` contract. | [`Disposer`](/tuil/docs/reference/packages/core/api/disposer), [`TuilStory`](/tuil/docs/reference/packages/story/api/tuil-story), [`TuilStoryDefinition`](/tuil/docs/reference/packages/story/api/tuil-story-definition) |
| `runtimeCatalog` | `TuilStoryCatalog`                                                                                                       | Yes      | The `runtimeCatalog` member uses the `TuilStoryCatalog` contract.                                                                                                 | [`TuilStoryCatalog`](/tuil/docs/reference/packages/story/api/tuil-story-catalog)                                                                                                                               |

## Parameters [#parameters]

This declaration has no public members.

## Returns [#returns]

This declaration does not return a value.

## Throws [#throws]

No thrown errors are documented for this declaration.

## Related types [#related-types]

* [`TuilStory`](/tuil/docs/reference/packages/story/api/tuil-story)
* [`TuilStoryCatalog`](/tuil/docs/reference/packages/story/api/tuil-story-catalog)
* [`TuilStoryDefinition`](/tuil/docs/reference/packages/story/api/tuil-story-definition)

## Source [#source]

[View the secondary source reference](https://github.com/mwillbanks/tuil/blob/main/packages/story/src/static.ts)

## Package [#package]

[@mwillbanks/tuil-story](/tuil/docs/reference/packages/story)
