[**@wocart/theme v4.1.0**](../../README)

***

[@wocart/theme](../../README) / [astro](../README) / BlocksHandle

# Interface: BlocksHandle

What the renderer gives every component as `blocks`: its instance's slots
(the default slot under `"default"`), its fixed blocks by name — both
already gated and completed — and what rendering them needs. A component
passes it to `<Blocks>` and `<Block>`; it never needs to read it.

## Properties

### fixed

> **fixed**: `Readonly`\<`Record`\<`string`, [`ComponentInstance`](../../index/interfaces/ComponentInstance)\>\>

***

### owner

> **owner**: `object`

#### id

> **id**: `string`

#### type

> **type**: `string`

***

### render

> **render**: `object`

#### context

> **context**: [`ThemeRenderContext`](../../index/interfaces/ThemeRenderContext)

#### depth

> **depth**: `number`

#### onIssue

> **onIssue**: (`issue`) => `void`

##### Parameters

###### issue

[`RendererIssue`](RendererIssue)

##### Returns

`void`

#### preview

> **preview**: `boolean`

#### reads

> **reads**: [`ReadCache`](../../index/interfaces/ReadCache)

#### storefront

> **storefront**: `object`

##### storefront.cart

> **cart**: `CartNamespace`

##### storefront.categories

> **categories**: `CategoriesNamespace`

##### storefront.collections

> **collections**: `CollectionsNamespace`

##### storefront.config

> **config**: `ConfigNamespace`

##### storefront.geo

> **geo**: `GeoNamespace`

##### storefront.menus

> **menus**: `MenusNamespace`

##### storefront.orders

> **orders**: `OrdersNamespace`

##### storefront.pageData

> **pageData**: `PageDataNamespace`

##### storefront.pages

> **pages**: `PagesNamespace`

##### storefront.products

> **products**: `ProductsNamespace`

##### storefront.shipping

> **shipping**: `ShippingNamespace`

#### theme

> **theme**: [`ThemeDefinition`](../../index/interfaces/ThemeDefinition)

***

### slots

> **slots**: `Readonly`\<`Record`\<`string`, readonly [`ComponentInstance`](../../index/interfaces/ComponentInstance)[]\>\>
