0.21.0 (2026-01-14)
- account for drags during slow resolveData on insert (dfecd01)
- account for drags during slow resolveData on update (304940a)
- add missing ref prop to Slot render types (ac9eba2)
- automatically set IDs for slots in root defaultProps (f5820ce)
- check the user provides a name in create-puck-app (b1de8bf)
- don't unmount sidebars on hide (ceebd0f)
- handle exits gracefully from create-puck-app (abfa3c3)
- memoize initialHistoryIndex and check the index provided by the user is not out of bounds (ec77dd9)
- mitigate CVE-2025-57822 in Next.js recipe (74d9a16)
- prevent empty objects from causing parent re-render (a4bfae4)
- prevent frame overflowing on small viewports when embedded (5c9515c)
- prevent valueOf errors due to fast-deep-equals (16a3eee)
- prioritize disableDrag in overlay portals (1df9dde)
- reset keystrokes when window is blurred (5333fc7)
- respect custom root label in breadcrumb navigation (de0baf3)
- respect ui changes in replace action (af2d5ac)
- restore valid type for renderDropZone prop (29ef713)
- retain overlay if dragRef changes (e310a17)
- run resolve permissions in slots (cf074bc)
- show title instead of undefined in React Router recipe (68f8542)
- use latest reference for onChange callback (b818cb1)
- add "as" API to change slot element type (1cec93c)
- add "richtext" field (301595f)
- add ActionBar.Separator component (410819e)
- add active API to IconButton (8116c86)
- add cache control to external fields (a5160e5)
- add delete hotkeys for removing components (20aafb6)
- add disabled option to ActionBar.Action (32d0666)
- add experimental full-screen canvas support (c15c4f8)
- add full-width viewport to fit to container (7373a6b)
- add getParentById for getting the parent data for a child id (38e79ba)
- add key parameter to force custom field remounting (ace4c8b)
- add parent to resolveData APIs and trigger resolveData on move (7c2f928)
- add Plugin Rail, a menu for plugins (86526e7)
- add puck ai option to create-puck-app (d1f05aa)
- add resolveDataById utility to Puck API (12f0a21)
- add resolveDataBySelector utility to Puck API (4f0b390)
- de-select component on second click (ccff0d8)
- enable modification of Puck height (538f7bf)
- export ConfigParams and ComponentConfigParams for convenience (0f9606c)
- expose default layout via Puck.Layout (4a8e38f)
- extend Plugin API with support for Plugin Rail (d68edca)
- improve mobile interface (3daa05e)
- provide metadata to resolveFields (6dae6cb)
- provide parent data to resolvePermissions API (1b69a8f)
- rename package to @puckeditor/core (d1c0d6a)
- support CSS units for minEmptyHeight in slots (79a2684)
- support dynamic props for default array items via function (6c44fdb)
- support extending all field types via declaration merging (26fd286)
- support extending ComponentConfig via declaration merging (3c46c44)
- support overrides for custom fields (89038d0)
- support React nodes in getItemSummary for array fields (73b98fb)
- support typing metadata via declaration merging (66c5aa3)
- use dashed outline for overlay portals (f79baa9)
- use next@^16.0.8 in create-puck-app (313bbb5)
- don't remount slot when parent changes (a7a6599)
- eliminate unnecessary re-renders in fields (b633e3b)
- prevent re-rendering of user components on hover (a62292f)
0.20.2 (2025-09-05)
- add CommonJS export to emotion cache package.json (fbf3bd1)
- bypass resolveData cache when trigger is force (eea53e0)
- preserve selection when switching viewports and using zoom select (38514a1)
- prevent hidden category components from showing in 'Other' (8333eaf)
0.20.1 (2025-08-19)
- address type issues when using root (38076a9)
- don't widen getItemSummary type for array fields (92112b9)
- don't widen getItemSummary type for external fields (e58ac42)
- fix slots within array and object fields (b7fba1b)
- render spaces/line breaks consistently in inline text fields (6c58995)
- strip line breaks when pasting into inline text field (2533c55)
0.20.0 (2025-08-14)
- add componentOverlay override (1a47857)
- add fieldTransform API for modifying field values rendering in canvas (e67152b)
- add inline text editing to custom fields (042f4b2)
- add inline text editing to text and textarea fields (ed7c12e)
- add no-external.css bundle without external fonts (d97af5e)
- add overlay portals for interactive UI under overlay (7d50c23)
- add setDeep convenience utility (676e2ab)
- enable resizing the sidebars (8909f8c)
- export SlotComponent type (d12fc3a)
- extend migrate function to support dynamic DropZones to slots (3da831b)
- make overrides optional in plugins (baed208)
- rename components & componentList overrides to drawer & drawerItem (e40fdfe)
- simplify generic type API on Config and ComponentConfig (04fc574)
- support object, null and undefined in select/radio options (6dace1c)
- support theming of font family (6cf56a8)
- add missing tiny-invariant dependency in remix recipe (d405985)
- address error when using disallow on a slot in root (93d525c)
- don't revert custom Drawer.Items during drag (0578004)
- ensure nested name is propagated to custom fields (f09540d)
- prevent field zoom on mobile devices (660fd08)
- prevent iframe hanging when stylesheets empty (ea0610a)
- reattach inline ref if element changes (ba585f9)
- remove erroneous get() API from usePuck (c119ed0)
- respect user generic in usePuck hook (6760121)
- respect user types in getItemBySelector and getItemById (f2d031f)
- retain DropZone content in interactive mode (d2e09bd)
- retain metadata in interactive preview mode (68dd73b)
- support user-defined fields in overrides (5cb4cc6)
- type object, array, and external field types correctly (f768aab)
- type user fields in overrides (54d71e3)
- don't render array fields unless open (14d9681)
0.19.3 (2025-07-15)
- don't duplicate content in Render when using multiple root DropZones (412cc57)
0.19.2 (2025-07-11)
- ensure setHistories resets the appState (7cccfdd)
- prevent icon buttons from submitting parent form (5f6f6d8)
- release ctrl/cmd when tab changes (37d387b)
- respect slot label in outline panel (cccf912)
0.19.1 (2025-06-09)
- address flat package import errors (61f2e46)
- handle multiple slots in migrate function (8597105)
- prevent type erasure in object props (00fbbb8)
- tidy internal index when array slots removed (f9d3f0e)
0.19.0 (2025-06-04)
- add convenience metadata API to fields (5fe936e)
- add getItem helpers to usePuck (ad947d8)
- add labelIcon param to all fields for custom label icons (24030a9)
- add mapSlots helper function for manipulating slot data (a27944f)
- add metadata API for passing data to every component (b9add22)
- add placeholder param for text, textarea and number fields (32a6f78)
- add react-router v7 recipe (706ea0c)
- add replaceRoot action to dispatcher (586eccd)
- add selector to usePuck for improved performance (8976e5f)
- add slots API (40bc2ee)
- add step parameter to number fields (0ea6ce4)
- add useGetPuck hook for getting latest internal PuckApi (1d9a47d)
- add visible param to show/hide fields (e5911f3)
- deprecate DropZone component (d54145d)
- export package.json for module federation (b918900)
- expose CustomFieldRender type for custom field render functions (8d459e4)
- expose RootConfig type (638e066)
- expose WithSlotProps type (6dc5101)
- provide
triggerevent to resolveData parameters (55b42ae) - rename mapSlots to walkTree (427e686)
- support slots in transformProps via optional config arg (7d59b94)
- account for transforms in overlays (22f5e3a)
- add missing
idto changed type for resolvers (eb4f9d8) - avoid query selector collision with multiple iframes (2c1db86)
- bind array item to correct field when using multiple arrays (7e231b7)
- deeply check items before populating resolveData changed (db75e42)
- don't artificially constrain array items to container (36b5713)
- don't collide with parent if component contains drop zone (e7d2371)
- don't render array item until dropped (1dfc1b3)
- don't reset old values when modifying fields in other array items (ad78e98)
- don't track dragged headings in heading-outline-analyzer (2e1a24e)
- ensure array items can be opened on mobile (a60c81e)
- ensure file inputs work inside array fields (83f8f2d)
- ensure nested array fields are draggable (af4f756)
- export migrate util in RSC bundle (2568ac3)
- expose transformProps in server bundle (020071e)
- fix undo/redo hotkeys for Windows (a994207)
- prevent ActionBar clipping if it exceeds top bounds (56f23e8)
- prevent horizontal scroll on touch devices (cb4b6ee)
- prevent input-type fields from exceeding container boundaries (b22833e)
- prevent item from sometimes sticking to window during drag (e62832e)
- reflect resolveData value changes in fields (69dd799)
- remove erroneous React 17 from supported peer dependencies (46212f0)
- remove unexpected license from recipes (7010bdc)
- reorder array items more predictably (64c65c3)
- reset stacking context in Puck entry (6bf9c99)
- restore ability to drop between sibling zones (2807cba)
- restore field values during undo/redo (6917928)
- retain minimum height when ActionBar is empty (a52ccb9)
- set ready status more reliably when using strict mode (5a526d0)
- show correct styles when insert permission is disabled (f19cdca)
- show top border on array button when array empty (add5a17)
- still select item from outline if element not in document (8e1d722)
- support strings in readOnly type for arrays and object (9358a3b)
0.18.3 (2025-04-05)
- bind array item to correct field when using multiple arrays (934cfae)
- don't artificially constrain array items to container (648a235)
- don't render array item until dropped (94f5e23)
- don't reset old values when modifying fields in other array items (73c17b3)
- don't track dragged headings in heading-outline-analyzer (3c16391)
- ensure file inputs work inside array fields (746033f)
- ensure nested array fields are draggable (0bdd243)
- expose transformProps in server bundle (d234345)
- prevent ActionBar clipping if it exceeds top bounds (e8355f0)
- remove erroneous React 17 from supported peer dependencies (98ad734)
- reorder array items more predictably (659f2d8)
- show top border on array button when array empty (7442118)
0.18.2 (2025-01-31)
- add missing types for root render method (0f52caf)
- address ownerDocument permission error in Firefox (c22b3a9)
- address prop name collision regression (3a69ad4)
- correctly infer types when using Render with RSC (ad7fbf4)
- don't jump to end of textarea fields during change (36c27a9)
- don't trigger clicks when dropping array items (29a7f1d)
- don't trigger drag when interacting with array fields (c7cd341)
- ensure ctrl+i interactive toggle hotkey works on Windows (5db6f4d)
- ensure renderDropZone provided correctly to root render (b9ce5b7)
- fix RTL drag-and-drop behaviour (28f518a)
- improve behaviour of array drag-and-drop (565fabd)
- provide empty readOnly object instead of undefined to root resolveFields (8992a94)
- provide updated props to resolveFields (b7ff689)
- reinstate padding for external field filters (28ccfda)
- tidy up stale items on drag cancellation (de48691)
- update styles for RTL (23c8dda)
- use correct type for onChange args when overriding fieldTypes (daff71e)
0.18.1 (2025-01-24)
- address React 19 peer dependency issues (7649086)
- address ResizeObserver loop error (d3e6b57)
- don't access selectedItem if undefined right after drop (0573b18)
- ensure nested drag-and-drop works in Firefox (f077a37)
0.18.0 (2025-01-21)
- add action to select parent component to ActionBar (7c910d5)
- add ActionBar.Label component for adding labels to action bars (d2645fd)
- add DropZone collisionAxis API for forcing collision direction (ba68732)
- add meta+i hotkey and previewMode state to toggle interactivity (ec1eba5)
- add wrapFields prop to control padding of fields in Puck.Fields (30f9a92)
- control empty DropZone height with minEmptyHeight prop (96f8340)
- deselect item on viewport change (e35585d)
- forward the ref to the DropZone component (676aa1c)
- introduce new drag-and-drop engine (6ebb3b8)
- reduce DropZone to height of items unless empty (2b2595a)
- remove
position: fixed;from Puck layout (5deb774) - support inline Drawers, deprecating unnecessary props (f93b71e)
- deselect item on delete (f27871b)
- improve heading-analyzer reliability (ab6c018)
- never render FieldLabel with padding or borders (a97b54f)
- prevent propagation of custom ActionBar actions by default (14909bd)
- prevent user pollution of ActionBar styles (e154cb7)
- render DropZones the same in Puck and Render (d975aaf)
- reset resolveFields lastFields param when changing component (7fead35)
- select new item when dispatching duplicate action (e3d0025)
- set root DropZone to 100% height (3d93f46)
- stop actions from overflowing outside left of frame (c036b6d)
- trigger iframe resize when closing devtools (2c0b782)
0.17.4 (2025-01-19)
- handle null when provided to text/textarea/number fields (e778246)
- improve stability of resolveFields API (5c60d6a)
- respect allow prop for existing items (e414e34)
0.17.3 (2025-01-13)
- ensure items in root DropZone can be selected (f61dd4a)
0.17.2 (2025-01-10)
- always respect history hotkeys inside iframes (1134e8b)
- clear old readOnly data when running resolveData (3e91adc)
- don't trigger move action if source / destination the same (8a0b811)
- ensure parent is not null on first render in resolveFields (773a81a)
- factor in border when setting viewport size (cc3b3b8)
- fix plugin-emotion-cache style sync when using initialData (ac8679c)
- fix readOnly behaviour in nested fields (f6ab512)
- remove unnecessary transpile from next recipe (a5f2d08)
- respect min/max for freeform input in number field (715710a)
- use correct label for array and object subfields (c00ea00)
0.17.1 (2024-12-18)
- respect falsey booleans types in select/radio fields (3406b01)
0.17.0 (2024-12-18)
- add duplicate action to array field (229cbdd)
- add renderFooter API to external field (ccec96e)
- allow react elements in external field mapRow (2f781de)
- enable resolveFields to access parent data (196227b)
- list React 19 as supported peer dependency (85e8cc1)
- track focused field in app state (91bc97a)
- upgrade next recipe to v15.1 (8ef51c5)
- use React 19 in next recipe (6b3d97f)
- always run field resolvers when item change (159d819)
- always update fields when resolveData runs (39dd619)
- ensure radio fields are functional inside arrays (7736294)
- prevent field name collision causing hook render mismatch (b51954a)
- prevent flicker when using resolveData with arrays (1be9b88)
- provide better error when usePuck used inappropriately (9991c07)
- remove leading zeros in Number field (5ba9399)
- respect original value type in radio and select fields (00ccd1d and 6e5864a)
0.16.2 (2024-11-07)
- always treat data as immutable, fixing Redux issues (51154e9)
- don't crash if component definition missing (525b506)
- don't crash when selecting component with no config (cb90f5d), closes #671
- export missing resolveAllData lib in RSC bundle (2f5fb7b)
- fix RTL styles in action bar overlay (bf5c5a3)
- remove internal AutoField and FieldLabel components from bundle (5df1597)
- remove unused label from AutoField type (18b6f1a)
0.16.1 (2024-10-07)
- don't delete array field on click in FieldLabel (ed282b9)
- don't overwrite user input when field recently changed (6126040)
- don't show field loader if no resolver defined (8c706cd)
- hide ActionBar.Group border when empty (4345165)
- prevent item click before iframe load (61e1653)
- prevent flash of field loader when no data changed (20d7309)
- respect readOnly styles in AutoField (9ffe817)
0.16.0 (2024-09-16)
- add actionBar override for adding component controls (48ec0d7)
- add automatic RSC export, replacing /rsc bundle (d21eba6)
- add isDisabled prop to Drawer.Item (cad95b8)
- add generic type to usePuck hook (01703a9)
- add iframe override for style injection (7cac376)
- add initialHistory prop to Puck (54b5a87)
- add onAction API to track and react to state changes (c7007ac)
- add permissions API (a43914d)
- add plugin for injecting Emotion cache (f8a88b9)
- add resolvePermissions API (f0655f0)
- add waitForStyles option to iframe config (bc81d9c)
- call resolveData when new item inserted (3298831)
- don't mandate fields for optional props (5a219ef)
- export ActionBar component for use in overrides (04fd6c5)
- infer Data type from user config (50045bb)
- make ID optional in History type (BREAKING CHANGE) (d917229)
- provide ES Module build (ff9076b)
- rename history.data to history.state (BREAKING CHANGE) (b09244c)
- show spinner if iframe load takes over 500ms (cfecf54)
- streamline usePuck history API (c8b2807)
- upgrade "next" recipe to typescript@5.5.4 (60fe631)
- add favicon to next recipe to prevent Puck 404 (2c52d27)
- add missing readOnly state to External fields (bf1449d)
- always record history on component insert (88c5ab6)
- don't cache /edit route in Next recipe (94f16b2)
- don't submit buttons if Puck used in form (f761e5f)
- ensure demo types are satisfied with TypeScript@5 (958dc25)
- export missing Plugin type (eb42734)
- fix crash if component in data is missing from config (0daf478)
- improve resiliency of iframe CSS for some frameworks, like Mantine (538cb05)
- make Config and Data types more robust (6bcf555)
- prevent infinite loop when using plugins with some frameworks (3870871)
- prevent Tailwind from clashing with viewport zoom select (9151255)
- remove body margin in remix recipe (0898b26)
- resize viewport when changed via app state (14419ec)
- resolve fields when switching between items of same type (a3518ca)
- return lastData as null instead of empty object in resolvers (BREAKING CHANGE) (648eb92)
- show warning if heading-analyzer styles aren't loaded (4e7110b)
- use correct color in FieldLabel labels (b0469a1)
0.15.0 (2024-05-30)
- align Drawer behaviour and docs with expectation (e2cd445)
- animate loader in iframe (151a267)
- don't inline link stylesheets for more predictable behaviour (c0a331d)
- don't overflow external inputs inside arrays/objects (42ef582)
- don't throw warning when user is correctly specifying root props (46aa8ff)
- don't unintentionally use read-only styles in external fields (acaf727)
- fix defaultProps for root (9a1cc7c)
- infer correct value types in Custom fields (5c8c0e1)
- position field loader relative to sidebar, not fields (2e8936e)
- show external field modal when using custom interfaces (6e97a0e)
- show field loader when using field overrides (8ccfa4c)
- still load iframe if styles fail to load (3e56bc1)
- add AutoField component for using Puck fields inside custom fields (106028b)
- add isEditing flag to
puckobject prop (13bb1bd) - add resolveFields API for dynamic fields (0a18bdb)
- allow data prop to accept an empty object (aedd401)
- bump next recipe to Next@14 (47a27ed)
- enable override of publish button (breaking change) (480467a)
- expose previous data to resolveData via
lastDataparam (dd7051e) - replace history chevrons with undo/redo icons (91dff22)
0.14.2 (2024-04-17)
- add DropZone iframe compatablity mode for bug in Safari 17.2, 17.3 and 17.4 (47496c2)
- check for optionality to handle race condition when dragging (4dbd487)
- defer iframe event binding until contentWindow is ready (268ea53)
- don't crash if component is missing after referenced in category (dc93789)
- don't force height of DropZones in custom interfaces (046c255)
- don't query iframe document if not ready (2b2ef32)
- don't throw undefined error if rapidly zooming browser in some environments (282a8b0)
- fix drag-and-drop when entire Puck component used inside an iframe (23db292)
- fix support for boolean values in select fields (c4a66ad)
- make draggable outlines consistent (9008b70)
- prevent grid layout issues in generated apps (5c05f94)
- reflect value changes made via resolveData in radio fields (9a7066f)
- remove peer dependencies causing warnings (041ca64)
- resolve security warning when additional iframes present (03ab0bd)
- use 100% width for Puck preview when iframe disabled (#414) (64303c8)
- use more custom interface friendly styles for iframes (e6e01c6)
- add API for disabling auto-scroll due to performance issues (3e5599e)
- batch load initial iframe styles (e585f20)
- don't lock main thread when iframe styles changed (e529e85)
- reuse host window styles in iframes (e7fe7e0)
0.14.1 (2024-04-01)
- don't throw undefined error if rapidly zooming browser in some environments (282a8b0)
- prevent grid layout issues in generated apps (5c05f94)
- remove peer dependencies causing warnings (041ca64)
0.14.0 (2024-03-28)
- add "name" prop to componentItem override (45bbceb)
- add
minandmaxAPIs to array fields (53b7937) - add API to opt-out of iframes (03dd90b)
- add Contentful field package (d944288)
- add filter fields to ExternalFields (7a55053)
- add iframe support (1d0bf57)
- add
minandmaxAPIs to number fields (4932a6e) - add
selectedItemconvenience param to usePuck (c1224d0) - add viewport switching (ccf9149)
- enable mapping of table rows in external fields (d50c56e)
- expose history via usePuck hook (1b907cb)
- hide array Add button when array is readOnly (4e27c3f)
- improve touch, contrast & keyboard a11y (f975d87)
- refine UI for external field modal (6a2afa1)
- support custom component labels via the new label param (712fb8e)
- update to 12-tint color palette (d43da58)
- use InterVariable font (88532fb)
- avoid FOUC of side bars on mobile (83be956)
- correctly infer objectFields type from props (e8991cc)
- don't attempt to resolve data if component missing from config (cc7d391)
- don't flash nested DropZones on first drag (38c3dc4)
- don't unexpectedly show DropZone background (2001fa2)
- ensure font loads for ExternalFields (e9bca75)
- ensure heading-analyzer updates when content changes (d75df7a)
- ensure select and radio fields support read only arrays (cbdf66d)
- fix array field when used on root (95280e6)
- fix renderDropZone method in editor (2c738dd)
- lower opacity of DropZone background to support dark backgrounds (9a5c0b8)
- make getItemSummary optional on ExternalFields, as expected (26bc4ff)
- only import Puck CSS on editor pages (22a4182)
- prevent unexpected field behaviour when pressing "Enter" key (bf4f527)
- use strict return type for resolveData (777cd3c)
- vertically align field icons (fa92436)
0.13.1 (2023-12-23)
- don't render plugins twice when using React strict mode (f70c722)
- replace crypto with uuid lib (a84e06f)
0.13.0 (2023-12-19)
- add "ui" prop to Puck to set the initial state (71f8b2f)
- add APIs to restrict components dropped in DropZones (28f24f9)
- add data migration API (f987324)
- add generic Config type to Puck and Render components (1c4b97f)
- add object field type (243278b)
- add Puck class to outer div (0698a12)
- add search to external fields (fe3b439)
- add transformProps lib to migrate component props (1ec2a78)
- add usePuck hook (13f3ccb)
- introduce UI overrides API (8a7c325)
- make onPublish prop optional (60f317f)
- remove renderComponentList in favour of overrides API (97f65e3)
- replace existing plugin API with plugin overrides (46cca26)
- support compositional Puck (22f053f)
- track isDragging in app state (841ae12)
- don't crash when loading external data into array field items (d13d00b)
- enable user to pass in config without casting (ee211e2), closes #185
- fix broken nested array fields (7a3949f)
- fix initial UI state on mobile (3aa0057)
- prevent pollution of global styles into component overlay (3fcf8e3)
- record history when a user selects an item (3a649c9)
- remove packages triggering superficial security warning (0f52b61)
- respect label in radio fields (fe550d7)
- set aria-label on all loaders (9adca27)
- stop color pollution in external field modals (2e1b5ef)
- use correct title path in recipes (60244ba)
- watch puck.config.tsx in Remix recipe (ecb276c)
0.12.0 (2023-11-23)
- support React server components via @measured/puck/rsc bundle (90ac161)
- add remix recipe (f882878)
- add explicit rsc and css exports (0b6a527)
- improve responsive behaviour (889b4c7)
- add visibility toggle for right-hand sidebar (3d6c5d4)
- allow custom fields to set UI state during onChange (388793c)
- expose field "id" to custom fields (849161e)
- improve IconButton accessibility (4c71d39)
- add new monospaced font stack (c484ea6)
- tweak Field input focus state (8012afd)
- don't enable style pollution of input background color (bb1a76b)
- don't reset array item labels when changing order (57563e1)
- ensure field icon and label are vertically aligned (caa40e0)
- ensure root render receives props from latest data API (abb6ff1)
- export missing PuckAction type (f22f32d)
- fix rootResolver behaviour when using recommended root data API (5c13de5)
- migrate to @hello-pangea/dnd to fix defaultProps warning (2c97362)
- prevent inconsistent default input font-size (99f90b3)
- show a default value when no placeholder set on external fields (e30b5b6)
- stop
zonesgetting wiped out if data prop updated (0c4514f) - stop style pollution into array field items (03b89d5)
- stretch external field table to width of modal (f6d89f6)
- use correct root data API in next recipe example database (b598144)
- use Inter font in button type Buttons (1973847)
0.11.3 (2023-11-12)
- ensure field debounce doesn't sporadically lock preview update (487ab83)
- stop generator crashing on Windows due to commits with single quotes (ab9d43f)
0.11.2 (2023-11-11)
- add missing database.json back to generated next recipe (3c15255)
0.11.1 (2023-11-11)
- include next recipe in generator (5b833ef)
0.11.0 (2023-11-03)
- don't flicker root DropZone when dragging (358435c)
- ensure array fields can render if value is undefined (47ab3c9)
- isolate external field modal from high z-indexes (fdf97c7)
- make Field types required based on type (daf36ac)
- prevent global style pollution in external fields (429731d)
- prevent long header titles from rendering over actions (4613df4)
- use correct heading component for external inputs (462266d)
- add categories API for grouping components in side bar (594cc76)
- add read-only states to all field types (746d896)
- add icon to external fields (a3a018b)
- add loading state to external field modal (5b4fc92)
- add lock icon when field is read-only (a051000)
- add mapProp API to external fields (86c4979)
- add renderComponentList API (ec985e3)
- add resolveData API for modifying props dynamically (c1181ad)
- deprecate adaptors in favour of new external field APIs (7f13efc)
- deprecate magic adaptor _data behaviour in favour of resolveData API (4ee31e7)
- deprecate props under root in favour of
root.props(7593584) - make external field more consistent with other fields (5bfbc5b)
- update next recipe to render to static (a333857)
- cache data between fetchList calls in external fields (04b7322)
- improve render performance of fields (d92de7f)
0.10.0 (2023-10-18)
- ensure layer tree consistently shows selected item (6a9145c)
- only render strings or numbers in external adaptors (3c337be)
- prevent style pollution for select fields (fa7af7d)
- align component list UI with refreshed array fields (74cd3a7)
- enable drag-and-drop of array items (12800f8)
- expose state dispatcher to plugins (e94accb)
- expose state to plugins, removing data (89f9f2e)
- expose state to renderHeader, removing data (29ddaaf)
- record application state in undo/redo history (0f2d7c5)
- refresh UI for array fields (5ef8a96)
0.9.0 (2023-10-06)
- fill empty space under puck-root (d42cfb6)
- prevent global pollution of Heading color (327721c)
- render
iconif provided to FieldLabel (ae01891) - reset stacking context for each item (a826492)
0.8.0 (2023-10-03)
- introduce DropZone API for nesting components and advanced layouts (5053a84)
- introduce new outline UI (e32c4ff)
- redesign action overlay and move outside of component (5145cba)
- cast number field types to Number (d5df959)
- add missing id type to render props (18753cf)
- add missing optional chaining operator to next recipe (a368319)
- don't show margin underneath placeholder when dragging in (2620455)
- don't switch between controlled/uncontrolled inputs (b20e298)
- ensure form styles override global styles (104091a)
- ensure hooks can always be used within render functions (cbf8e8e)
- ensure types allow for nested arrays (06b145b)
- fix unpredictable rendering of drop placeholder (bf5f16b)
- only show sidebar scroll bars if necessary (87c8736)
- prevent global styles from overwriting fieldset styles (550bd0e)
- respect labels for array item fields (f2e7843)
- prevent global styles from overwriting outline styles (1dc222c)
- prevent styles from clashing with dark mode root element (8506e8e)
- upgrade next version in recipe to ensure vercel builds pass (c2d7fae)
- reduce bundle size by 61% by removing unused react-feather icons (f4b0563)
0.7.0 (2023-09-14)
- add support for custom fields (b46b721)
0.6.2 (2023-09-07)
- bust cache in generated app on publish (6e1c8ed)
- don't 404 on homepage in generated app (8fd7b3b)
- don't call API when building generated app (8041fc1)
- fix type issues in generated app (b16e98e)
0.6.1 (2023-09-06)
- add missing glob dependency for create-puck-app (7dbe190)
- return component to original position when drag cancelled (cae760f)
- use correct peer dependencies for react (39f4e7f)
0.6.0 (2023-08-15)
- ensure component label doesn't inherit user styles (5c0d65b)
- make default props on root optional (dc5b1ae)
- export Button and IconButton to make extending header seamless (d98eb29)
0.5.0 (2023-08-14)
- add headerTitle and headerPath APIs (ae5c7c2)
- gracefully fallback if component definition doesn't exist (d7e3190)
- refine editor styles (9e57649)
- support booleans in radios and selects (acb7a96)
0.4.1 (2023-08-09)
- move incorrect dependency to devDependencies (6ffd86c)
0.4.0 (2023-07-07)
- avoid hardcoding localhost in strapi adaptor (f8d920c)
- stretch ExternalInput button to fill container (69ee221)
0.3.2 (2023-07-06)
- export correct files for Strapi adaptor (577a849)
- set correct font family for empty outlines (3d45841)
0.3.1 (2023-07-05)
- include .gitignore in recipes (e18bf67)
0.3.0 (2023-07-05)
- release create-puck-app (0722a65)
0.2.2 (2023-07-05)
- ensure margin collapse fix works with coloured backgrounds (fdec4fa)
0.2.1 (2023-07-05)
- remove border on draggable components (726a27c)
0.2.0 (2023-07-04)
- add icons to inputs (f47482e)
- improve UI for fields (aa0d2fe)
- rename "group" field type to "array" (4f99c7d)
0.1.6 (2023-07-04)
- inject react into libraries (7e10d91)
- Publish all packages