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 [email protected] (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
puck
object 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
lastData
param (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
min
andmax
APIs 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
min
andmax
APIs to number fields (4932a6e) - add
selectedItem
convenience 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
zones
getting 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
icon
if 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