From 9a1cc7c925f0b8a79b5f523fc7c8a6d6afdc2067 Mon Sep 17 00:00:00 2001 From: Chris Villa Date: Fri, 19 Apr 2024 14:09:26 +0100 Subject: [PATCH] fix: fix defaultProps for root --- apps/demo/config/index.tsx | 3 +++ packages/core/components/MenuBar/index.tsx | 2 +- packages/core/components/Puck/context.tsx | 2 +- packages/core/components/Puck/index.tsx | 15 +++++++++++++-- 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/apps/demo/config/index.tsx b/apps/demo/config/index.tsx index c6817c969f..80649317ce 100644 --- a/apps/demo/config/index.tsx +++ b/apps/demo/config/index.tsx @@ -36,6 +36,9 @@ export type UserConfig = Config< // We avoid the name config as next gets confused export const conf: UserConfig = { root: { + defaultProps: { + title: "My Page", + }, render: Root, }, categories: { diff --git a/packages/core/components/MenuBar/index.tsx b/packages/core/components/MenuBar/index.tsx index 5b5d379b9e..9362c45f76 100644 --- a/packages/core/components/MenuBar/index.tsx +++ b/packages/core/components/MenuBar/index.tsx @@ -14,7 +14,7 @@ const getClassName = getClassNameFactory("MenuBar", styles); export const MenuBar = ({ appState, - data = { content: [], root: { props: { title: "" } } }, + data = { content: [], root: {} }, dispatch, menuOpen = false, onPublish, diff --git a/packages/core/components/Puck/context.tsx b/packages/core/components/Puck/context.tsx index 5a4cdeaf17..62f975f98e 100644 --- a/packages/core/components/Puck/context.tsx +++ b/packages/core/components/Puck/context.tsx @@ -17,7 +17,7 @@ import { IframeConfig } from "../../types/IframeConfig"; import { UAParser } from "ua-parser-js"; export const defaultAppState: AppState = { - data: { content: [], root: { props: { title: "" } } }, + data: { content: [], root: { props: {} } }, ui: { leftSideBarVisible: true, rightSideBarVisible: true, diff --git a/packages/core/components/Puck/index.tsx b/packages/core/components/Puck/index.tsx index 2183223433..a7500db947 100644 --- a/packages/core/components/Puck/index.tsx +++ b/packages/core/components/Puck/index.tsx @@ -53,7 +53,7 @@ const getClassName = getClassNameFactory("Puck", styles); export function Puck({ children, config, - data: initialData = { content: [], root: { props: { title: "" } } }, + data: initialData = { content: [], root: {} }, ui: initialUi, onChange, onPublish, @@ -146,9 +146,20 @@ export function Puck({ } } + // DEPRECATED + const rootProps = initialData.root.props || initialData.root; + + const defaultedRootProps = { + ...config.root?.defaultProps, + ...rootProps, + }; + return { ...defaultAppState, - data: initialData, + data: { + ...initialData, + root: defaultedRootProps, + }, ui: { ...initial, ...clientUiState,