@measured/puck 0.15.0-canary.480467a → 0.15.0-canary.b1c40c6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -4
- package/dist/{Config-550396e1.d.ts → Config-25917005.d.ts} +11 -3
- package/dist/index.css +5 -2
- package/dist/index.d.ts +6 -6
- package/dist/index.js +125 -53
- package/dist/rsc.d.ts +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
@@ -152,8 +152,16 @@ type ComponentConfig<ComponentProps extends DefaultComponentProps = DefaultCompo
|
|
152
152
|
label?: string;
|
153
153
|
defaultProps?: DefaultProps;
|
154
154
|
fields?: Fields<ComponentProps>;
|
155
|
+
resolveFields?: (data: DataShape, params: {
|
156
|
+
changed: Partial<Record<keyof ComponentProps, boolean>>;
|
157
|
+
fields: Fields<ComponentProps>;
|
158
|
+
lastFields: Fields<ComponentProps>;
|
159
|
+
lastData: DataShape;
|
160
|
+
appState: AppState;
|
161
|
+
}) => Promise<Fields<ComponentProps>> | Fields<ComponentProps>;
|
155
162
|
resolveData?: (data: DataShape, params: {
|
156
163
|
changed: Partial<Record<keyof ComponentProps, boolean>>;
|
164
|
+
lastData: DataShape;
|
157
165
|
}) => Promise<{
|
158
166
|
props?: Partial<ComponentProps>;
|
159
167
|
readOnly?: Partial<Record<keyof ComponentProps, boolean>>;
|
@@ -179,7 +187,7 @@ type Config<Props extends Record<string, any> = Record<string, any>, RootProps e
|
|
179
187
|
children?: ReactNode;
|
180
188
|
}, Partial<RootProps & {
|
181
189
|
children?: ReactNode;
|
182
|
-
}>,
|
190
|
+
}>, RootData>>;
|
183
191
|
};
|
184
192
|
type BaseData<Props extends {
|
185
193
|
[key: string]: any;
|
@@ -192,11 +200,11 @@ type ComponentData<Props extends DefaultComponentProps = DefaultComponentProps>
|
|
192
200
|
type: keyof Props;
|
193
201
|
props: WithPuckProps<Props>;
|
194
202
|
} & BaseData<Props>;
|
195
|
-
type RootDataWithProps<Props extends DefaultRootProps = DefaultRootProps> = {
|
203
|
+
type RootDataWithProps<Props extends DefaultRootProps = DefaultRootProps> = BaseData<Props> & {
|
196
204
|
props: Props;
|
197
205
|
};
|
198
206
|
type RootDataWithoutProps<Props extends DefaultRootProps = DefaultRootProps> = Props;
|
199
|
-
type RootData<Props extends DefaultRootProps = DefaultRootProps> =
|
207
|
+
type RootData<Props extends DefaultRootProps = DefaultRootProps> = Partial<RootDataWithProps<Props>> & Partial<RootDataWithoutProps<Props>>;
|
200
208
|
type MappedItem = ComponentData;
|
201
209
|
type Data<Props extends DefaultComponentProps = DefaultComponentProps, RootProps extends DefaultRootProps = DefaultRootProps> = {
|
202
210
|
root: RootData<RootProps>;
|
package/dist/index.css
CHANGED
@@ -1462,11 +1462,14 @@ textarea._Input-input_1qi5b_46 {
|
|
1462
1462
|
}
|
1463
1463
|
|
1464
1464
|
/* css-module:/home/runner/work/puck/puck/packages/core/components/Puck/components/Fields/styles.module.css/#css-module-data */
|
1465
|
-
.
|
1465
|
+
._PuckFields_1o0if_1 {
|
1466
1466
|
position: relative;
|
1467
1467
|
font-family: var(--puck-font-family);
|
1468
1468
|
}
|
1469
|
-
._PuckFields
|
1469
|
+
._PuckFields--isLoading_1o0if_6 {
|
1470
|
+
min-height: 48px;
|
1471
|
+
}
|
1472
|
+
._PuckFields-loadingOverlay_1o0if_10 {
|
1470
1473
|
background: var(--puck-color-white);
|
1471
1474
|
display: flex;
|
1472
1475
|
justify-content: center;
|
package/dist/index.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
import { U as UiState, D as Data, A as AppState, C as Config, a as DefaultRootProps, I as ItemSelector, b as DropZoneProps, F as Field, V as Viewports, c as DefaultComponentProps, M as MappedItem, R as RootDataWithProps, d as RootData, e as ComponentData } from './Config-
|
2
|
-
export { i as Adaptor, h as ArrayField, s as ArrayState, p as BaseData, B as BaseField, o as ComponentConfig, m as Content, k as CustomField, j as ExternalField, E as ExternalFieldWithAdaptor, l as Fields, r as ItemWithId, N as NumberField, O as ObjectField, P as PuckComponent, n as PuckContext, g as RadioField, q as RootDataWithoutProps, S as SelectField, T as TextField, f as TextareaField } from './Config-
|
1
|
+
import { U as UiState, D as Data, A as AppState, C as Config, a as DefaultRootProps, I as ItemSelector, b as DropZoneProps, F as Field, V as Viewports, c as DefaultComponentProps, M as MappedItem, R as RootDataWithProps, d as RootData, e as ComponentData } from './Config-25917005.js';
|
2
|
+
export { i as Adaptor, h as ArrayField, s as ArrayState, p as BaseData, B as BaseField, o as ComponentConfig, m as Content, k as CustomField, j as ExternalField, E as ExternalFieldWithAdaptor, l as Fields, r as ItemWithId, N as NumberField, O as ObjectField, P as PuckComponent, n as PuckContext, g as RadioField, q as RootDataWithoutProps, S as SelectField, T as TextField, f as TextareaField } from './Config-25917005.js';
|
3
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
4
4
|
import * as react from 'react';
|
5
5
|
import { ReactNode, ReactElement, CSSProperties, SyntheticEvent } from 'react';
|
@@ -232,7 +232,7 @@ type IframeConfig = {
|
|
232
232
|
declare function Puck<UserConfig extends Config = Config>({ children, config, data: initialData, ui: initialUi, onChange, onPublish, plugins, overrides, renderHeader, renderHeaderActions, headerTitle, headerPath, viewports, iframe, dnd, }: {
|
233
233
|
children?: ReactNode;
|
234
234
|
config: UserConfig;
|
235
|
-
data: Data
|
235
|
+
data: Partial<Data>;
|
236
236
|
ui?: Partial<UiState>;
|
237
237
|
onChange?: (data: Data) => void;
|
238
238
|
onPublish?: (data: Data) => void;
|
@@ -266,7 +266,7 @@ declare namespace Puck {
|
|
266
266
|
|
267
267
|
declare function Render<UserConfig extends Config = Config>({ config, data, }: {
|
268
268
|
config: UserConfig;
|
269
|
-
data: Data
|
269
|
+
data: Partial<Data>;
|
270
270
|
}): react_jsx_runtime.JSX.Element;
|
271
271
|
|
272
272
|
declare function migrate(data: Data): Data;
|
@@ -280,9 +280,9 @@ type PropTransform<Props extends DefaultComponentProps = DefaultComponentProps,
|
|
280
280
|
[key: string]: any;
|
281
281
|
}) => RootProps;
|
282
282
|
}>;
|
283
|
-
declare function transformProps<Props extends DefaultComponentProps = DefaultComponentProps, RootProps extends DefaultComponentProps = DefaultComponentProps>(data: Data
|
283
|
+
declare function transformProps<Props extends DefaultComponentProps = DefaultComponentProps, RootProps extends DefaultComponentProps = DefaultComponentProps>(data: Partial<Data>, propTransforms: PropTransform<Props, RootProps>): Data;
|
284
284
|
|
285
|
-
declare function resolveAllData(data: Data
|
285
|
+
declare function resolveAllData(data: Partial<Data>, config: Config, onResolveStart?: (item: MappedItem) => void, onResolveEnd?: (item: MappedItem) => void): Promise<{
|
286
286
|
root: RootDataWithProps<DefaultRootProps> | RootData<DefaultRootProps>;
|
287
287
|
content: any[];
|
288
288
|
zones: Record<string, MappedItem[]>;
|
package/dist/index.js
CHANGED
@@ -31095,6 +31095,20 @@ var import_react13 = require("react");
|
|
31095
31095
|
|
31096
31096
|
// lib/resolve-component-data.ts
|
31097
31097
|
init_react_import();
|
31098
|
+
|
31099
|
+
// lib/get-changed.ts
|
31100
|
+
init_react_import();
|
31101
|
+
var getChanged = (newItem, oldItem) => {
|
31102
|
+
return newItem ? Object.keys(newItem.props || {}).reduce((acc, item) => {
|
31103
|
+
const newItemProps = (newItem == null ? void 0 : newItem.props) || {};
|
31104
|
+
const oldItemProps = (oldItem == null ? void 0 : oldItem.props) || {};
|
31105
|
+
return __spreadProps(__spreadValues({}, acc), {
|
31106
|
+
[item]: oldItemProps[item] !== newItemProps[item]
|
31107
|
+
});
|
31108
|
+
}, {}) : {};
|
31109
|
+
};
|
31110
|
+
|
31111
|
+
// lib/resolve-component-data.ts
|
31098
31112
|
var cache = { lastChange: {} };
|
31099
31113
|
var resolveAllComponentData = (content, config, onResolveStart, onResolveEnd) => __async(void 0, null, function* () {
|
31100
31114
|
return yield Promise.all(
|
@@ -31111,25 +31125,15 @@ var resolveAllComponentData = (content, config, onResolveStart, onResolveEnd) =>
|
|
31111
31125
|
var resolveComponentData = (item, config, onResolveStart, onResolveEnd) => __async(void 0, null, function* () {
|
31112
31126
|
const configForItem = config.components[item.type];
|
31113
31127
|
if (configForItem.resolveData) {
|
31114
|
-
|
31115
|
-
|
31116
|
-
|
31117
|
-
);
|
31118
|
-
if (cache.lastChange[item.props.id]) {
|
31119
|
-
const { item: oldItem, resolved } = cache.lastChange[item.props.id];
|
31120
|
-
if (oldItem === item) {
|
31121
|
-
return resolved;
|
31122
|
-
}
|
31123
|
-
Object.keys(item.props).forEach((propName) => {
|
31124
|
-
if (oldItem.props[propName] === item.props[propName]) {
|
31125
|
-
changed[propName] = false;
|
31126
|
-
}
|
31127
|
-
});
|
31128
|
+
const { item: oldItem = {}, resolved = {} } = cache.lastChange[item.props.id] || {};
|
31129
|
+
if (item && item === oldItem) {
|
31130
|
+
return resolved;
|
31128
31131
|
}
|
31132
|
+
const changed = getChanged(item, oldItem);
|
31129
31133
|
if (onResolveStart) {
|
31130
31134
|
onResolveStart(item);
|
31131
31135
|
}
|
31132
|
-
const { props: resolvedProps, readOnly = {} } = yield configForItem.resolveData(item, { changed });
|
31136
|
+
const { props: resolvedProps, readOnly = {} } = yield configForItem.resolveData(item, { changed, lastData: oldItem });
|
31133
31137
|
const { readOnly: existingReadOnly = {} } = item || {};
|
31134
31138
|
const newReadOnly = __spreadValues(__spreadValues({}, existingReadOnly), readOnly);
|
31135
31139
|
const resolvedItem = __spreadProps(__spreadValues({}, item), {
|
@@ -31172,26 +31176,16 @@ var applyDynamicProps = (data, dynamicProps, rootData) => {
|
|
31172
31176
|
init_react_import();
|
31173
31177
|
var cache2 = {};
|
31174
31178
|
var resolveRootData = (data, config) => __async(void 0, null, function* () {
|
31175
|
-
var _a, _b;
|
31179
|
+
var _a, _b, _c, _d, _e;
|
31176
31180
|
if (((_a = config.root) == null ? void 0 : _a.resolveData) && data.root.props) {
|
31177
|
-
|
31178
|
-
|
31179
|
-
{}
|
31180
|
-
);
|
31181
|
-
if (cache2.lastChange) {
|
31182
|
-
const { original, resolved } = cache2.lastChange;
|
31183
|
-
if (original === data.root) {
|
31184
|
-
return resolved;
|
31185
|
-
}
|
31186
|
-
Object.keys(data.root.props).forEach((propName) => {
|
31187
|
-
if (original.props[propName] === data.root.props[propName]) {
|
31188
|
-
changed[propName] = false;
|
31189
|
-
}
|
31190
|
-
});
|
31181
|
+
if (((_b = cache2.lastChange) == null ? void 0 : _b.original) === data.root) {
|
31182
|
+
return cache2.lastChange.resolved;
|
31191
31183
|
}
|
31184
|
+
const changed = getChanged(data.root, (_c = cache2.lastChange) == null ? void 0 : _c.original);
|
31192
31185
|
const rootWithProps = data.root;
|
31193
|
-
const resolvedRoot = yield (
|
31194
|
-
changed
|
31186
|
+
const resolvedRoot = yield (_e = config.root) == null ? void 0 : _e.resolveData(rootWithProps, {
|
31187
|
+
changed,
|
31188
|
+
lastData: ((_d = cache2.lastChange) == null ? void 0 : _d.original) || {}
|
31195
31189
|
});
|
31196
31190
|
cache2.lastChange = {
|
31197
31191
|
original: data.root,
|
@@ -32321,7 +32315,7 @@ var InputOrGroup = (_a) => {
|
|
32321
32315
|
|
32322
32316
|
// css-module:/home/runner/work/puck/puck/packages/core/components/Puck/components/Fields/styles.module.css#css-module
|
32323
32317
|
init_react_import();
|
32324
|
-
var styles_module_default14 = { "PuckFields": "
|
32318
|
+
var styles_module_default14 = { "PuckFields": "_PuckFields_1o0if_1", "PuckFields--isLoading": "_PuckFields--isLoading_1o0if_6", "PuckFields-loadingOverlay": "_PuckFields-loadingOverlay_1o0if_10" };
|
32325
32319
|
|
32326
32320
|
// components/Puck/components/Fields/index.tsx
|
32327
32321
|
var import_react19 = require("react");
|
@@ -32334,13 +32328,73 @@ var DefaultFields = ({
|
|
32334
32328
|
children,
|
32335
32329
|
isLoading
|
32336
32330
|
}) => {
|
32337
|
-
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: getClassName19(), children: [
|
32331
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: getClassName19({ isLoading }), children: [
|
32338
32332
|
children,
|
32339
32333
|
isLoading && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: getClassName19("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_spinners6.ClipLoader, { "aria-label": "loading" }) })
|
32340
32334
|
] });
|
32341
32335
|
};
|
32336
|
+
var useResolvedFields = () => {
|
32337
|
+
var _a;
|
32338
|
+
const { selectedItem, state, config } = useAppContext();
|
32339
|
+
const { data } = state;
|
32340
|
+
const rootFields = ((_a = config.root) == null ? void 0 : _a.fields) || defaultPageFields;
|
32341
|
+
const componentConfig = selectedItem ? config.components[selectedItem.type] : null;
|
32342
|
+
const defaultFields = selectedItem ? componentConfig == null ? void 0 : componentConfig.fields : rootFields;
|
32343
|
+
const rootProps = data.root.props || data.root;
|
32344
|
+
const [lastSelectedData, setLastSelectedData] = (0, import_react19.useState)(
|
32345
|
+
{}
|
32346
|
+
);
|
32347
|
+
const [resolvedFields, setResolvedFields] = (0, import_react19.useState)(defaultFields || {});
|
32348
|
+
const [fieldsLoading, setFieldsLoading] = (0, import_react19.useState)(false);
|
32349
|
+
const defaultResolveFields = (_componentData, _params) => defaultFields;
|
32350
|
+
const componentData = selectedItem ? selectedItem : { props: rootProps, readOnly: data.root.readOnly };
|
32351
|
+
const resolveFields = (0, import_react19.useCallback)(
|
32352
|
+
(..._0) => __async(void 0, [..._0], function* (fields = {}) {
|
32353
|
+
var _a2, _b, _c;
|
32354
|
+
const lastData = ((_a2 = lastSelectedData.props) == null ? void 0 : _a2.id) === componentData.props.id ? lastSelectedData : {};
|
32355
|
+
const changed = getChanged(componentData, lastData);
|
32356
|
+
setLastSelectedData(componentData);
|
32357
|
+
if (selectedItem && (componentConfig == null ? void 0 : componentConfig.resolveFields)) {
|
32358
|
+
return yield componentConfig == null ? void 0 : componentConfig.resolveFields(
|
32359
|
+
componentData,
|
32360
|
+
{
|
32361
|
+
changed,
|
32362
|
+
fields,
|
32363
|
+
lastFields: resolvedFields,
|
32364
|
+
lastData,
|
32365
|
+
appState: state
|
32366
|
+
}
|
32367
|
+
);
|
32368
|
+
}
|
32369
|
+
if (!selectedItem && ((_b = config.root) == null ? void 0 : _b.resolveFields)) {
|
32370
|
+
return yield (_c = config.root) == null ? void 0 : _c.resolveFields(componentData, {
|
32371
|
+
changed,
|
32372
|
+
fields,
|
32373
|
+
lastFields: resolvedFields,
|
32374
|
+
lastData,
|
32375
|
+
appState: state
|
32376
|
+
});
|
32377
|
+
}
|
32378
|
+
return defaultResolveFields(componentData, {
|
32379
|
+
changed,
|
32380
|
+
fields,
|
32381
|
+
lastFields: resolvedFields,
|
32382
|
+
lastData
|
32383
|
+
});
|
32384
|
+
}),
|
32385
|
+
[data, config, componentData, selectedItem, resolvedFields, state]
|
32386
|
+
);
|
32387
|
+
(0, import_react19.useEffect)(() => {
|
32388
|
+
setFieldsLoading(true);
|
32389
|
+
resolveFields(defaultFields).then((fields) => {
|
32390
|
+
setResolvedFields(fields || {});
|
32391
|
+
setFieldsLoading(false);
|
32392
|
+
});
|
32393
|
+
}, [data, defaultFields]);
|
32394
|
+
return [resolvedFields, fieldsLoading];
|
32395
|
+
};
|
32342
32396
|
var Fields = () => {
|
32343
|
-
var _a, _b
|
32397
|
+
var _a, _b;
|
32344
32398
|
const {
|
32345
32399
|
selectedItem,
|
32346
32400
|
state,
|
@@ -32352,9 +32406,9 @@ var Fields = () => {
|
|
32352
32406
|
} = useAppContext();
|
32353
32407
|
const { data, ui } = state;
|
32354
32408
|
const { itemSelector } = ui;
|
32355
|
-
const
|
32356
|
-
const
|
32357
|
-
const isLoading =
|
32409
|
+
const [fields, fieldsResolving] = useResolvedFields();
|
32410
|
+
const componentResolving = selectedItem ? (_a = componentState[selectedItem == null ? void 0 : selectedItem.props.id]) == null ? void 0 : _a.loading : (_b = componentState["puck-root"]) == null ? void 0 : _b.loading;
|
32411
|
+
const isLoading = fieldsResolving || componentResolving;
|
32358
32412
|
const rootProps = data.root.props || data.root;
|
32359
32413
|
const Wrapper = (0, import_react19.useMemo)(() => overrides.fields || DefaultFields, [overrides]);
|
32360
32414
|
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
@@ -32366,6 +32420,8 @@ var Fields = () => {
|
|
32366
32420
|
},
|
32367
32421
|
children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Wrapper, { isLoading, itemSelector, children: Object.keys(fields).map((fieldName) => {
|
32368
32422
|
const field = fields[fieldName];
|
32423
|
+
if (!(field == null ? void 0 : field.type))
|
32424
|
+
return null;
|
32369
32425
|
const onChange = (value, updatedUi) => {
|
32370
32426
|
var _a2, _b2;
|
32371
32427
|
let currentProps;
|
@@ -33644,7 +33700,7 @@ function Puck({
|
|
33644
33700
|
() => createReducer({ config, record: historyStore.record })
|
33645
33701
|
);
|
33646
33702
|
const [initialAppState] = (0, import_react29.useState)(() => {
|
33647
|
-
var _a2, _b, _c, _d, _e;
|
33703
|
+
var _a2, _b, _c, _d, _e, _f;
|
33648
33704
|
const initial = __spreadValues(__spreadValues({}, defaultAppState.ui), initialUi);
|
33649
33705
|
let clientUiState = {};
|
33650
33706
|
if (typeof window !== "undefined") {
|
@@ -33671,11 +33727,12 @@ function Puck({
|
|
33671
33727
|
};
|
33672
33728
|
}
|
33673
33729
|
}
|
33674
|
-
const rootProps2 = initialData.root.props || initialData.root;
|
33675
|
-
const defaultedRootProps = __spreadValues(__spreadValues({}, (
|
33730
|
+
const rootProps2 = ((_e = initialData == null ? void 0 : initialData.root) == null ? void 0 : _e.props) || initialData.root || {};
|
33731
|
+
const defaultedRootProps = __spreadValues(__spreadValues({}, (_f = config.root) == null ? void 0 : _f.defaultProps), rootProps2);
|
33676
33732
|
return __spreadProps(__spreadValues({}, defaultAppState), {
|
33677
33733
|
data: __spreadProps(__spreadValues({}, initialData), {
|
33678
|
-
root: defaultedRootProps
|
33734
|
+
root: defaultedRootProps,
|
33735
|
+
content: initialData.content || []
|
33679
33736
|
}),
|
33680
33737
|
ui: __spreadProps(__spreadValues(__spreadValues({}, initial), clientUiState), {
|
33681
33738
|
// Store categories under componentList on state to allow render functions and plugins to modify
|
@@ -34043,10 +34100,14 @@ function Render({
|
|
34043
34100
|
data
|
34044
34101
|
}) {
|
34045
34102
|
var _a;
|
34046
|
-
const
|
34103
|
+
const defaultedData = __spreadProps(__spreadValues({}, data), {
|
34104
|
+
root: data.root || {},
|
34105
|
+
content: data.content || []
|
34106
|
+
});
|
34107
|
+
const rootProps = defaultedData.root.props || defaultedData.root;
|
34047
34108
|
const title = (rootProps == null ? void 0 : rootProps.title) || "";
|
34048
34109
|
if ((_a = config.root) == null ? void 0 : _a.render) {
|
34049
|
-
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(DropZoneProvider, { value: { data, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
34110
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(DropZoneProvider, { value: { data: defaultedData, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
34050
34111
|
config.root.render,
|
34051
34112
|
__spreadProps(__spreadValues({}, rootProps), {
|
34052
34113
|
puck: {
|
@@ -34059,7 +34120,7 @@ function Render({
|
|
34059
34120
|
})
|
34060
34121
|
) });
|
34061
34122
|
}
|
34062
|
-
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(DropZoneProvider, { value: { data, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(DropZone, { zone: rootDroppableId }) });
|
34123
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(DropZoneProvider, { value: { data: defaultedData, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(DropZone, { zone: rootDroppableId }) });
|
34063
34124
|
}
|
34064
34125
|
|
34065
34126
|
// lib/migrate.ts
|
@@ -34087,6 +34148,15 @@ function migrate(data) {
|
|
34087
34148
|
|
34088
34149
|
// lib/transform-props.ts
|
34089
34150
|
init_react_import();
|
34151
|
+
|
34152
|
+
// lib/default-data.ts
|
34153
|
+
init_react_import();
|
34154
|
+
var defaultData = (data) => __spreadProps(__spreadValues({}, data), {
|
34155
|
+
root: data.root || {},
|
34156
|
+
content: data.content || []
|
34157
|
+
});
|
34158
|
+
|
34159
|
+
// lib/transform-props.ts
|
34090
34160
|
function transformProps(data, propTransforms) {
|
34091
34161
|
const mapItem = (item) => {
|
34092
34162
|
if (propTransforms[item.type]) {
|
@@ -34096,18 +34166,19 @@ function transformProps(data, propTransforms) {
|
|
34096
34166
|
}
|
34097
34167
|
return item;
|
34098
34168
|
};
|
34099
|
-
const
|
34100
|
-
|
34169
|
+
const defaultedData = defaultData(data);
|
34170
|
+
const rootProps = defaultedData.root.props || defaultedData.root;
|
34171
|
+
let newRoot = __spreadValues({}, defaultedData.root);
|
34101
34172
|
if (propTransforms["root"]) {
|
34102
|
-
if (
|
34173
|
+
if (defaultedData.root.props) {
|
34103
34174
|
newRoot.props = propTransforms["root"](rootProps);
|
34104
34175
|
} else {
|
34105
34176
|
newRoot = propTransforms["root"](rootProps);
|
34106
34177
|
}
|
34107
34178
|
}
|
34108
|
-
const afterPropTransforms = __spreadProps(__spreadValues({},
|
34179
|
+
const afterPropTransforms = __spreadProps(__spreadValues({}, defaultedData), {
|
34109
34180
|
root: newRoot,
|
34110
|
-
content:
|
34181
|
+
content: defaultedData.content.map(mapItem),
|
34111
34182
|
zones: Object.keys(data.zones || {}).reduce(
|
34112
34183
|
(acc, zoneKey) => __spreadProps(__spreadValues({}, acc), {
|
34113
34184
|
[zoneKey]: data.zones[zoneKey].map(mapItem)
|
@@ -34122,7 +34193,8 @@ function transformProps(data, propTransforms) {
|
|
34122
34193
|
init_react_import();
|
34123
34194
|
function resolveAllData(data, config, onResolveStart, onResolveEnd) {
|
34124
34195
|
return __async(this, null, function* () {
|
34125
|
-
const
|
34196
|
+
const defaultedData = defaultData(data);
|
34197
|
+
const dynamicRoot = yield resolveRootData(defaultedData, config);
|
34126
34198
|
const { zones = {} } = data;
|
34127
34199
|
const zoneKeys = Object.keys(zones);
|
34128
34200
|
const resolvedZones = {};
|
@@ -34135,10 +34207,10 @@ function resolveAllData(data, config, onResolveStart, onResolveEnd) {
|
|
34135
34207
|
onResolveEnd
|
34136
34208
|
);
|
34137
34209
|
}
|
34138
|
-
return __spreadProps(__spreadValues({},
|
34210
|
+
return __spreadProps(__spreadValues({}, defaultedData), {
|
34139
34211
|
root: dynamicRoot,
|
34140
34212
|
content: yield resolveAllComponentData(
|
34141
|
-
|
34213
|
+
defaultedData.content,
|
34142
34214
|
config,
|
34143
34215
|
onResolveStart,
|
34144
34216
|
onResolveEnd
|
package/dist/rsc.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
2
|
-
import { C as Config, D as Data } from './Config-
|
2
|
+
import { C as Config, D as Data } from './Config-25917005.js';
|
3
3
|
import 'react';
|
4
4
|
|
5
5
|
declare function Render<UserConfig extends Config = Config>({ config, data, }: {
|
package/package.json
CHANGED