v0.22.0

DigitalPhonetics/IMS-Toucanv0.22.0Jun 25, 2026by FedericoBonel

AI Summary

Puck editor update introducing theming capabilities, automatic CSS loading, and control over iframe style synchronization.

Key Highlights

  • Theming support with CSS custom properties
  • Automatic CSS loading on demand
  • iframe.syncHostStyles prop for controlling style sync
  • Access to root data in resolveData API

New Features

  • Theming support
  • Automatic CSS loading
  • iframe.syncHostStyles prop
  • Root data in resolveData

Full Release Notes

Puck 0.22 introduces theming, automatic CSS loading, iframe style sync controls, and more.

[Puck 0.22.0.webm](https://github.com/user-attachments/assets/6030432a-2c07-4a7e-88d9-4572db4fc8d1)


This is a summary of the main new features and full changelog.

**Read the [full release post](https://puckeditor.com/blog/puck-022) on our blog.**

## Summary

- [**Theming**](https://puckeditor.com/docs/extending-puck/theming): customize the default editor UI using CSS custom properties.
- **Automatic CSS loading:** Puck now injects its stylesheet on demand.
- [**`iframe.syncHostStyles`**](https://puckeditor.com/docs/api-reference/components/puck#synchoststyles): control whether Puck syncs host styles into the preview iframe.
- [**Root data in `resolveData`**](https://puckeditor.com/docs/api-reference/configuration/component-config#resolvedatadata-params): access root data from `resolveData`.

## Full changelog

### Features

* add iframe.syncHostStyles prop for controlling style sync ([1496ae3](https://github.com/puckeditor/puck/commit/1496ae34e48e2b3e92d2fe8461f98a2615b345d2))
* add theming support with CSS variables ([d4c8bcf](https://github.com/puckeditor/puck/commit/d4c8bcf2dce09cc174ab405cf1d5cd39239a7c99))
* expose root to resolveData API ([caeacf9](https://github.com/puckeditor/puck/commit/caeacf979cced77c476066bff23b819eb5333fdb))
* load CSS dynamically if missing ([3c1f5e4](https://github.com/puckeditor/puck/commit/3c1f5e4fbf487de57a0c60eb12bd4a30703b665e))
* remove remix recipe from create-puck-app ([d2c2761](https://github.com/puckeditor/puck/commit/d2c2761ed2c32a19eb8f28f89efa5b0b65802536))

### Bug Fixes

* capture first change in inline richtext field ([208b221](https://github.com/puckeditor/puck/commit/208b22140c0fcf85447ef9da2e838872aced0a77))
* don't lazy load the rich text render on every re-render ([497aedf](https://github.com/puckeditor/puck/commit/497aedfec5a0cd362ad9f19f2c03904d787c83ef))
* show overlay portal outline only in edit mode ([31c3d21](https://github.com/puckeditor/puck/commit/31c3d217a3c4ad36bf77d8889c56ac9a538e36c1))
* use aria-expanded for accessible name in component category buttons ([f949417](https://github.com/puckeditor/puck/commit/f9494176c8c936faec6fc6d5ecbf7d5c5dce33fa))