---
title: "ThemeComponent"
description: "The `<Theme />` component [createTheme](https://pitlane.tools/package/theme/function/createTheme.md) returns. Render it once near the document root to install the custom properties."
url: "https://pitlane.tools/package/theme/interface/ThemeComponent"
---

# ThemeComponent

```ts
import type { ThemeComponent } from "@pitlane/theme";
```

The `<Theme />` component [createTheme](https://pitlane.tools/package/theme/function/createTheme.md) returns. Render it once near the document root to install the custom properties.

It is an ordinary component with one extra property, `$theme`, holding the init it was compiled from, so a published theme can be handed straight back to [createTheme](https://pitlane.tools/package/theme/function/createTheme.md).

## Type Parameters

### T

`T`

```ts
ThemeComponent(handle): () => RemixElement;
```

The `<Theme />` component [createTheme](https://pitlane.tools/package/theme/function/createTheme.md) returns. Render it once near the document root to install the custom properties.

It is an ordinary component with one extra property, `$theme`, holding the init it was compiled from, so a published theme can be handed straight back to [createTheme](https://pitlane.tools/package/theme/function/createTheme.md).

## Parameters

### handle

`Handle`\<[`ThemeProps`](https://pitlane.tools/package/theme/type/ThemeProps.md)>

## Returns

() => `RemixElement`

## Properties

### $theme

```ts
readonly $theme: T;
```
