## class: `WeavySubComponent`

Base class for internal weavy sub components. This class provides common properties and internal data consumed from contexts.

### Methods

| Name        | Description                                          | Parameters | Return                       | Inherited From |
| ----------- | ---------------------------------------------------- | ---------- | ---------------------------- | -------------- |
| `whenReady` | Resolves when the component has rendered first time. |            | `Promise<WeavySubComponent>` |                |

### Events

| Name    | Type          | Description                      | Inherited From |
| ------- | ------------- | -------------------------------- | -------------- |
| `ready` | `CustomEvent` | When the component has rendered. |                |

<details><summary>Private API</summary>

### Fields

| Name                | Privacy | Type                                                  | Default                                                              | Description | Inherited From |
| ------------------- | ------- | ----------------------------------------------------- | -------------------------------------------------------------------- | ----------- | -------------- |
| `#resolveContextId` | private | `(contextId: ContextIdType) => void \| undefined`     |                                                                      |             |                |
| `#whenContextId`    | private |                                                       | `new Promise<ContextIdType>((r) => { this.#resolveContextId = r; })` |             |                |
| `#resolveUser`      | private | `(user: UserType) => void \| undefined`               |                                                                      |             |                |
| `#whenUser`         | private |                                                       | `new Promise<UserType>((r) => { this.#resolveUser = r; })`           |             |                |
| `#resolveWeavy`     | private | `(weavy: WeavyType) => void \| undefined`             |                                                                      |             |                |
| `#whenWeavy`        | private |                                                       | `new Promise<WeavyType>((r) => { this.#resolveWeavy = r; })`         |             |                |
| `#resolveReady`     | private | `(component: WeavySubComponent) => void \| undefined` |                                                                      |             |                |
| `#whenReady`        | private |                                                       | `new Promise<WeavySubComponent>((r) => { this.#resolveReady = r; })` |             |                |

</details>

<hr/>

## Exports

| Kind | Name                | Declaration       | Module                             | Package |
| ---- | ------------------- | ----------------- | ---------------------------------- | ------- |
| `js` | `WeavySubComponent` | WeavySubComponent | lib/classes/weavy-sub-component.ts |         |
