Skip to content

SolidJS

TypeScript Configuration

Add the Web Component types to your TypeScript configuration:

tsconfig.json
{
"compilerOptions": {
"types": [
// Required: Enables JSX type support for Solid
"@staticbolt/wcp/types/solid",
// Optional: Adds native DOM types (e.g. `querySelector`, `document`)
"@staticbolt/wcp/types/dom",
// Optional: Exposes component types globally (no imports needed)
"@staticbolt/wcp/types/global",
],
},
}

This provides TypeScript support for the web components in your SolidJS application.

Importing Web Components

Web components are registered globally in the browser. Import them once in your application’s entry point:

app.tsx
import "@staticbolt/wcp/[component-name]";

Important: Do not import web components in multiple files. Import them only once at application startup.

Setting Properties

Use the prop:[propertyName] syntax to set JavaScript properties:

<component-name prop:opened={isOpen}></component-name>

Setting Attributes

Use regular JSX syntax for HTML attributes:

<component-name disabled="true"></component-name>

Handling Events

Use on:[eventName] syntax to listen for custom events:

<component-name on:opened={handleOpen}></component-name>

Using Slots

Use children to render the content of the web component:

<component-name>
<span slot="title">Title</span>
<span>Content</span>
</component-name>