@measured/puck 0.21.0-canary.3aa27d1d → 0.21.0-canary.501341c5

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.
Files changed (52) hide show
  1. package/dist/Editor-F2LSS6SE.css +403 -0
  2. package/dist/Editor-O447AVCX.mjs +204 -0
  3. package/dist/Render-OFE6QLI2.mjs +55 -0
  4. package/dist/Render-QEMDIDQC.css +101 -0
  5. package/dist/{walk-tree-16XYcbNo.d.mts → actions-CJibIB0m.d.mts} +8 -33
  6. package/dist/{walk-tree-16XYcbNo.d.ts → actions-CJibIB0m.d.ts} +8 -33
  7. package/dist/chunk-2Q4PACDA.mjs +111 -0
  8. package/dist/chunk-62AAYNXG.mjs +63 -0
  9. package/dist/chunk-BSDEIOEK.mjs +706 -0
  10. package/dist/chunk-CSSRLPHM.mjs +11 -0
  11. package/dist/chunk-DAQLMM2T.mjs +1722 -0
  12. package/dist/chunk-M6W7YEVX.mjs +95 -0
  13. package/dist/chunk-NLUHDYVR.mjs +416 -0
  14. package/dist/chunk-PLXSMBAA.mjs +53 -0
  15. package/dist/chunk-QAWJTCV5.mjs +33 -0
  16. package/dist/chunk-QBGM4ELA.mjs +528 -0
  17. package/dist/chunk-T3WX7XJ6.mjs +132 -0
  18. package/dist/chunk-V5I7CVLT.mjs +103 -0
  19. package/dist/chunk-Y2EFNT5P.mjs +108 -0
  20. package/dist/chunk-Y656T6AQ.mjs +419 -0
  21. package/dist/{chunk-GFIVKP2H.mjs → chunk-Z476VA6G.mjs} +1164 -4159
  22. package/dist/full-2GJTAAZE.css +301 -0
  23. package/dist/full-BEMDJKDS.mjs +93 -0
  24. package/dist/index-Bss1jupB.d.ts +116 -0
  25. package/dist/index-DOcD_H3b.d.mts +116 -0
  26. package/dist/index.css +102 -94
  27. package/dist/index.d.mts +10 -126
  28. package/dist/index.d.ts +10 -126
  29. package/dist/index.js +6864 -5123
  30. package/dist/index.mjs +26 -11
  31. package/dist/internal.d.mts +27 -0
  32. package/dist/internal.d.ts +27 -0
  33. package/dist/internal.js +908 -0
  34. package/dist/internal.mjs +13 -0
  35. package/dist/loaded-JU3A7Y4L.mjs +57 -0
  36. package/dist/loaded-N3FYGF2Y.mjs +57 -0
  37. package/dist/loaded-OBY7OMS6.mjs +60 -0
  38. package/dist/loaded-RVWBFK7L.css +87 -0
  39. package/dist/no-external.css +102 -94
  40. package/dist/no-external.d.mts +3 -1
  41. package/dist/no-external.d.ts +3 -1
  42. package/dist/no-external.js +6864 -5123
  43. package/dist/no-external.mjs +26 -11
  44. package/dist/rsc.css +34 -26
  45. package/dist/rsc.d.mts +2 -2
  46. package/dist/rsc.d.ts +2 -2
  47. package/dist/rsc.js +245 -187
  48. package/dist/rsc.mjs +18 -9
  49. package/dist/walk-tree-BL55zQ9b.d.ts +29 -0
  50. package/dist/walk-tree-BYuI81Ik.d.mts +29 -0
  51. package/package.json +9 -4
  52. package/dist/chunk-SRDLYODX.mjs +0 -1245
package/dist/rsc.js CHANGED
@@ -153,6 +153,205 @@ var require_classnames = __commonJS({
153
153
  }
154
154
  });
155
155
 
156
+ // lib/get-class-name-factory.ts
157
+ var import_classnames, getClassNameFactory, get_class_name_factory_default;
158
+ var init_get_class_name_factory = __esm({
159
+ "lib/get-class-name-factory.ts"() {
160
+ "use strict";
161
+ init_react_import();
162
+ import_classnames = __toESM(require_classnames());
163
+ getClassNameFactory = (rootClass, styles, config = { baseClass: "" }) => (options = {}) => {
164
+ if (typeof options === "string") {
165
+ const descendant = options;
166
+ const style = styles[`${rootClass}-${descendant}`];
167
+ if (style) {
168
+ return config.baseClass + styles[`${rootClass}-${descendant}`] || "";
169
+ }
170
+ return "";
171
+ } else if (typeof options === "object") {
172
+ const modifiers = options;
173
+ const prefixedModifiers = {};
174
+ for (let modifier in modifiers) {
175
+ prefixedModifiers[styles[`${rootClass}--${modifier}`]] = modifiers[modifier];
176
+ }
177
+ const c = styles[rootClass];
178
+ return config.baseClass + (0, import_classnames.default)(__spreadValues({
179
+ [c]: !!c
180
+ }, prefixedModifiers));
181
+ } else {
182
+ return config.baseClass + styles[rootClass] || "";
183
+ }
184
+ };
185
+ get_class_name_factory_default = getClassNameFactory;
186
+ }
187
+ });
188
+
189
+ // css-module:/home/runner/work/puck/puck/packages/core/components/RichTextEditor/styles.module.css/#css-module-data
190
+ var init_css_module_data = __esm({
191
+ "css-module:/home/runner/work/puck/puck/packages/core/components/RichTextEditor/styles.module.css/#css-module-data"() {
192
+ }
193
+ });
194
+
195
+ // css-module:/home/runner/work/puck/puck/packages/core/components/RichTextEditor/styles.module.css#css-module
196
+ var styles_module_default;
197
+ var init_styles_module = __esm({
198
+ "css-module:/home/runner/work/puck/puck/packages/core/components/RichTextEditor/styles.module.css#css-module"() {
199
+ "use strict";
200
+ init_react_import();
201
+ init_css_module_data();
202
+ styles_module_default = { "RichTextEditor": "_RichTextEditor_1elol_1", "RichTextEditor--editor": "_RichTextEditor--editor_1elol_50", "RichTextEditor--disabled": "_RichTextEditor--disabled_1elol_106", "RichTextEditor--isActive": "_RichTextEditor--isActive_1elol_110", "RichTextEditor-menu": "_RichTextEditor-menu_1elol_116" };
203
+ }
204
+ });
205
+
206
+ // components/RichTextEditor/extension.ts
207
+ var import_core, import_extension_blockquote, import_extension_bold, import_extension_code, import_extension_code_block, import_extension_document, import_extension_hard_break, import_extension_heading, import_extension_horizontal_rule, import_extension_italic, import_extension_link, import_extension_list, import_extension_paragraph, import_extension_strike, import_extension_text, import_extension_text_align, import_extension_underline, defaultPuckRichTextOptions, PuckRichText;
208
+ var init_extension = __esm({
209
+ "components/RichTextEditor/extension.ts"() {
210
+ "use strict";
211
+ init_react_import();
212
+ import_core = require("@tiptap/core");
213
+ import_extension_blockquote = require("@tiptap/extension-blockquote");
214
+ import_extension_bold = require("@tiptap/extension-bold");
215
+ import_extension_code = require("@tiptap/extension-code");
216
+ import_extension_code_block = require("@tiptap/extension-code-block");
217
+ import_extension_document = require("@tiptap/extension-document");
218
+ import_extension_hard_break = require("@tiptap/extension-hard-break");
219
+ import_extension_heading = require("@tiptap/extension-heading");
220
+ import_extension_horizontal_rule = require("@tiptap/extension-horizontal-rule");
221
+ import_extension_italic = require("@tiptap/extension-italic");
222
+ import_extension_link = require("@tiptap/extension-link");
223
+ import_extension_list = require("@tiptap/extension-list");
224
+ import_extension_paragraph = require("@tiptap/extension-paragraph");
225
+ import_extension_strike = require("@tiptap/extension-strike");
226
+ import_extension_text = require("@tiptap/extension-text");
227
+ import_extension_text_align = __toESM(require("@tiptap/extension-text-align"));
228
+ import_extension_underline = require("@tiptap/extension-underline");
229
+ defaultPuckRichTextOptions = {
230
+ textAlign: {
231
+ types: ["heading", "paragraph"]
232
+ }
233
+ };
234
+ PuckRichText = import_core.Extension.create({
235
+ name: "puckRichText",
236
+ addExtensions() {
237
+ const extensions = [];
238
+ const options = __spreadValues(__spreadValues({}, this.options), defaultPuckRichTextOptions);
239
+ if (options.bold !== false) {
240
+ extensions.push(import_extension_bold.Bold.configure(options.bold));
241
+ }
242
+ if (options.blockquote !== false) {
243
+ extensions.push(import_extension_blockquote.Blockquote.configure(options.blockquote));
244
+ }
245
+ if (options.bulletList !== false) {
246
+ extensions.push(import_extension_list.BulletList.configure(options.bulletList));
247
+ }
248
+ if (options.code !== false) {
249
+ extensions.push(import_extension_code.Code.configure(options.code));
250
+ }
251
+ if (options.codeBlock !== false) {
252
+ extensions.push(import_extension_code_block.CodeBlock.configure(options.codeBlock));
253
+ }
254
+ if (options.document !== false) {
255
+ extensions.push(import_extension_document.Document.configure(options.document));
256
+ }
257
+ if (options.hardBreak !== false) {
258
+ extensions.push(import_extension_hard_break.HardBreak.configure(options.hardBreak));
259
+ }
260
+ if (options.heading !== false) {
261
+ extensions.push(import_extension_heading.Heading.configure(options.heading));
262
+ }
263
+ if (options.horizontalRule !== false) {
264
+ extensions.push(import_extension_horizontal_rule.HorizontalRule.configure(options.horizontalRule));
265
+ }
266
+ if (options.italic !== false) {
267
+ extensions.push(import_extension_italic.Italic.configure(options.italic));
268
+ }
269
+ if (options.listItem !== false) {
270
+ extensions.push(import_extension_list.ListItem.configure(options.listItem));
271
+ }
272
+ if (options.listKeymap !== false) {
273
+ extensions.push(import_extension_list.ListKeymap.configure(options == null ? void 0 : options.listKeymap));
274
+ }
275
+ if (options.link !== false) {
276
+ extensions.push(import_extension_link.Link.configure(options == null ? void 0 : options.link));
277
+ }
278
+ if (options.orderedList !== false) {
279
+ extensions.push(import_extension_list.OrderedList.configure(options.orderedList));
280
+ }
281
+ if (options.paragraph !== false) {
282
+ extensions.push(import_extension_paragraph.Paragraph.configure(options.paragraph));
283
+ }
284
+ if (options.strike !== false) {
285
+ extensions.push(import_extension_strike.Strike.configure(options.strike));
286
+ }
287
+ if (options.text !== false) {
288
+ extensions.push(import_extension_text.Text.configure(options.text));
289
+ }
290
+ if (options.textAlign !== false) {
291
+ extensions.push(import_extension_text_align.default.configure(options.textAlign));
292
+ }
293
+ if (options.underline !== false) {
294
+ extensions.push(import_extension_underline.Underline.configure(options == null ? void 0 : options.underline));
295
+ }
296
+ return extensions;
297
+ }
298
+ });
299
+ }
300
+ });
301
+
302
+ // components/RichTextEditor/components/Render.tsx
303
+ var Render_exports = {};
304
+ __export(Render_exports, {
305
+ RichTextRender: () => RichTextRender
306
+ });
307
+ function RichTextRender({
308
+ content,
309
+ field
310
+ }) {
311
+ const { tiptap = {}, options } = field;
312
+ const { extensions = [] } = tiptap;
313
+ const loadedExtensions = (0, import_react3.useMemo)(
314
+ () => [PuckRichText.configure(options), ...extensions],
315
+ [field, extensions]
316
+ );
317
+ const normalized = (0, import_react3.useMemo)(() => {
318
+ if (typeof content === "object" && (content == null ? void 0 : content.type) === "doc") {
319
+ return content;
320
+ }
321
+ if (typeof content === "string") {
322
+ const isHtml = /<\/?[a-z][\s\S]*>/i.test(content);
323
+ if (isHtml) {
324
+ return (0, import_html.generateJSON)(content, loadedExtensions);
325
+ }
326
+ return {
327
+ type: "doc",
328
+ content: [
329
+ { type: "paragraph", content: [{ type: "text", text: content }] }
330
+ ]
331
+ };
332
+ }
333
+ return { type: "doc", content: [] };
334
+ }, [content, loadedExtensions]);
335
+ const html = (0, import_react3.useMemo)(() => {
336
+ return (0, import_html.generateHTML)(normalized, loadedExtensions);
337
+ }, [normalized, loadedExtensions]);
338
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: getClassName2(), children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "rich-text", dangerouslySetInnerHTML: { __html: html } }) });
339
+ }
340
+ var import_html, import_react3, import_jsx_runtime2, getClassName2;
341
+ var init_Render = __esm({
342
+ "components/RichTextEditor/components/Render.tsx"() {
343
+ "use strict";
344
+ init_react_import();
345
+ import_html = require("@tiptap/html");
346
+ import_react3 = require("react");
347
+ init_get_class_name_factory();
348
+ init_styles_module();
349
+ init_extension();
350
+ import_jsx_runtime2 = require("react/jsx-runtime");
351
+ getClassName2 = get_class_name_factory_default("RichTextEditor", styles_module_default);
352
+ }
353
+ });
354
+
156
355
  // bundle/rsc.tsx
157
356
  var rsc_exports = {};
158
357
  __export(rsc_exports, {
@@ -418,176 +617,29 @@ function useSlots(config, item, renderSlotEdit, renderSlotRender = renderSlotEdi
418
617
  init_react_import();
419
618
  var import_react5 = require("react");
420
619
 
421
- // components/RichTextEditor/lib/use-richtext-renderer.tsx
620
+ // components/RichTextEditor/lib/use-richtext-props.tsx
422
621
  init_react_import();
423
622
  var import_react4 = require("react");
424
623
 
425
- // components/RichTextEditor/Render.tsx
624
+ // components/RichTextEditor/components/RenderFallback.tsx
426
625
  init_react_import();
427
- var import_html = require("@tiptap/html");
428
- var import_react3 = require("react");
429
-
430
- // lib/get-class-name-factory.ts
431
- init_react_import();
432
- var import_classnames = __toESM(require_classnames());
433
- var getClassNameFactory = (rootClass, styles, config = { baseClass: "" }) => (options = {}) => {
434
- if (typeof options === "string") {
435
- const descendant = options;
436
- const style = styles[`${rootClass}-${descendant}`];
437
- if (style) {
438
- return config.baseClass + styles[`${rootClass}-${descendant}`] || "";
439
- }
440
- return "";
441
- } else if (typeof options === "object") {
442
- const modifiers = options;
443
- const prefixedModifiers = {};
444
- for (let modifier in modifiers) {
445
- prefixedModifiers[styles[`${rootClass}--${modifier}`]] = modifiers[modifier];
446
- }
447
- const c = styles[rootClass];
448
- return config.baseClass + (0, import_classnames.default)(__spreadValues({
449
- [c]: !!c
450
- }, prefixedModifiers));
451
- } else {
452
- return config.baseClass + styles[rootClass] || "";
453
- }
454
- };
455
- var get_class_name_factory_default = getClassNameFactory;
456
-
457
- // css-module:/home/runner/work/puck/puck/packages/core/components/RichTextEditor/styles.module.css#css-module
458
- init_react_import();
459
- var styles_module_default = { "RichTextEditor": "_RichTextEditor_1819a_1", "RichTextEditor--editor": "_RichTextEditor--editor_1819a_46", "RichTextEditor--disabled": "_RichTextEditor--disabled_1819a_95", "RichTextEditor--isActive": "_RichTextEditor--isActive_1819a_99", "RichTextEditor-menu": "_RichTextEditor-menu_1819a_105" };
460
-
461
- // components/RichTextEditor/extensions.ts
462
- init_react_import();
463
- var import_core = require("@tiptap/core");
464
- var import_extension_blockquote = require("@tiptap/extension-blockquote");
465
- var import_extension_bold = require("@tiptap/extension-bold");
466
- var import_extension_code = require("@tiptap/extension-code");
467
- var import_extension_code_block = require("@tiptap/extension-code-block");
468
- var import_extension_document = require("@tiptap/extension-document");
469
- var import_extension_hard_break = require("@tiptap/extension-hard-break");
470
- var import_extension_heading = require("@tiptap/extension-heading");
471
- var import_extension_horizontal_rule = require("@tiptap/extension-horizontal-rule");
472
- var import_extension_italic = require("@tiptap/extension-italic");
473
- var import_extension_link = require("@tiptap/extension-link");
474
- var import_extension_list = require("@tiptap/extension-list");
475
- var import_extension_paragraph = require("@tiptap/extension-paragraph");
476
- var import_extension_strike = require("@tiptap/extension-strike");
477
- var import_extension_text = require("@tiptap/extension-text");
478
- var import_extension_text_align = __toESM(require("@tiptap/extension-text-align"));
479
- var import_extension_underline = require("@tiptap/extension-underline");
480
- var defaultPuckRichTextOptions = {
481
- textAlign: {
482
- types: ["heading", "paragraph"]
483
- }
484
- };
485
- var PuckRichText = import_core.Extension.create({
486
- name: "puckRichText",
487
- addExtensions() {
488
- const extensions = [];
489
- const options = __spreadValues(__spreadValues({}, this.options), defaultPuckRichTextOptions);
490
- if (options.bold !== false) {
491
- extensions.push(import_extension_bold.Bold.configure(options.bold));
492
- }
493
- if (options.blockquote !== false) {
494
- extensions.push(import_extension_blockquote.Blockquote.configure(options.blockquote));
495
- }
496
- if (options.bulletList !== false) {
497
- extensions.push(import_extension_list.BulletList.configure(options.bulletList));
498
- }
499
- if (options.code !== false) {
500
- extensions.push(import_extension_code.Code.configure(options.code));
501
- }
502
- if (options.codeBlock !== false) {
503
- extensions.push(import_extension_code_block.CodeBlock.configure(options.codeBlock));
504
- }
505
- if (options.document !== false) {
506
- extensions.push(import_extension_document.Document.configure(options.document));
507
- }
508
- if (options.hardBreak !== false) {
509
- extensions.push(import_extension_hard_break.HardBreak.configure(options.hardBreak));
510
- }
511
- if (options.heading !== false) {
512
- extensions.push(import_extension_heading.Heading.configure(options.heading));
513
- }
514
- if (options.horizontalRule !== false) {
515
- extensions.push(import_extension_horizontal_rule.HorizontalRule.configure(options.horizontalRule));
516
- }
517
- if (options.italic !== false) {
518
- extensions.push(import_extension_italic.Italic.configure(options.italic));
519
- }
520
- if (options.listItem !== false) {
521
- extensions.push(import_extension_list.ListItem.configure(options.listItem));
522
- }
523
- if (options.listKeymap !== false) {
524
- extensions.push(import_extension_list.ListKeymap.configure(options == null ? void 0 : options.listKeymap));
525
- }
526
- if (options.link !== false) {
527
- extensions.push(import_extension_link.Link.configure(options == null ? void 0 : options.link));
528
- }
529
- if (options.orderedList !== false) {
530
- extensions.push(import_extension_list.OrderedList.configure(options.orderedList));
531
- }
532
- if (options.paragraph !== false) {
533
- extensions.push(import_extension_paragraph.Paragraph.configure(options.paragraph));
534
- }
535
- if (options.strike !== false) {
536
- extensions.push(import_extension_strike.Strike.configure(options.strike));
537
- }
538
- if (options.text !== false) {
539
- extensions.push(import_extension_text.Text.configure(options.text));
540
- }
541
- if (options.textAlign !== false) {
542
- extensions.push(import_extension_text_align.default.configure(options.textAlign));
543
- }
544
- if (options.underline !== false) {
545
- extensions.push(import_extension_underline.Underline.configure(options == null ? void 0 : options.underline));
546
- }
547
- return extensions;
548
- }
549
- });
550
-
551
- // components/RichTextEditor/Render.tsx
626
+ init_get_class_name_factory();
627
+ init_styles_module();
552
628
  var import_jsx_runtime = require("react/jsx-runtime");
553
629
  var getClassName = get_class_name_factory_default("RichTextEditor", styles_module_default);
554
- function RichTextRender({
555
- content,
556
- field
557
- }) {
558
- const { tiptap = {}, options } = field;
559
- const { extensions = [] } = tiptap;
560
- const loadedExtensions = (0, import_react3.useMemo)(
561
- () => [PuckRichText.configure(options), ...extensions],
562
- [field, extensions]
563
- );
564
- const normalized = (0, import_react3.useMemo)(() => {
565
- if (typeof content === "object" && (content == null ? void 0 : content.type) === "doc") {
566
- return content;
567
- }
568
- if (typeof content === "string") {
569
- const isHtml = /<\/?[a-z][\s\S]*>/i.test(content);
570
- if (isHtml) {
571
- return (0, import_html.generateJSON)(content, loadedExtensions);
572
- }
573
- return {
574
- type: "doc",
575
- content: [
576
- { type: "paragraph", content: [{ type: "text", text: content }] }
577
- ]
578
- };
630
+ function RichTextRenderFallback({ content }) {
631
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: getClassName(), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
632
+ "div",
633
+ {
634
+ className: "rich-text",
635
+ dangerouslySetInnerHTML: { __html: content }
579
636
  }
580
- return { type: "doc", content: [] };
581
- }, [content, loadedExtensions]);
582
- const html = (0, import_react3.useMemo)(() => {
583
- return (0, import_html.generateHTML)(normalized, loadedExtensions);
584
- }, [normalized, loadedExtensions]);
585
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: getClassName(), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "rich-text", dangerouslySetInnerHTML: { __html: html } }) });
637
+ ) });
586
638
  }
587
639
 
588
- // components/RichTextEditor/lib/use-richtext-renderer.tsx
589
- var import_jsx_runtime2 = require("react/jsx-runtime");
590
- function useRichtextRenderer(fields, props) {
640
+ // components/RichTextEditor/lib/use-richtext-props.tsx
641
+ var import_jsx_runtime3 = require("react/jsx-runtime");
642
+ function useRichtextProps(fields, props) {
591
643
  const findAllRichtextKeys = (fields2) => {
592
644
  if (!fields2) return [];
593
645
  const result = [];
@@ -599,36 +651,41 @@ function useRichtextRenderer(fields, props) {
599
651
  return result;
600
652
  };
601
653
  const richtextKeys = (0, import_react4.useMemo)(() => findAllRichtextKeys(fields), [fields]);
602
- const richTextRenderer = (0, import_react4.useMemo)(() => {
603
- if (!richtextKeys) return {};
654
+ const richtextProps = (0, import_react4.useMemo)(() => {
655
+ if (!(richtextKeys == null ? void 0 : richtextKeys.length)) return {};
656
+ const RichTextRender2 = (0, import_react4.lazy)(
657
+ () => Promise.resolve().then(() => (init_Render(), Render_exports)).then((m) => ({
658
+ default: m.RichTextRender
659
+ }))
660
+ );
604
661
  return richtextKeys.reduce((acc, key) => {
605
- acc[key] = /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
606
- RichTextRender,
662
+ acc[key] = /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react4.Suspense, { fallback: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(RichTextRenderFallback, { content: props[key] }), children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
663
+ RichTextRender2,
607
664
  {
608
665
  content: props[key],
609
666
  field: fields[key]
610
667
  }
611
- );
668
+ ) });
612
669
  return acc;
613
670
  }, {});
614
- }, [richtextKeys, props]);
615
- return richTextRenderer;
671
+ }, [richtextKeys, props, fields]);
672
+ return richtextProps;
616
673
  }
617
674
 
618
675
  // components/SlotRender/server.tsx
619
- var import_jsx_runtime3 = require("react/jsx-runtime");
620
- var SlotRenderPure = (props) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(SlotRender, __spreadValues({}, props));
676
+ var import_jsx_runtime4 = require("react/jsx-runtime");
677
+ var SlotRenderPure = (props) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(SlotRender, __spreadValues({}, props));
621
678
  var Item = ({
622
679
  config,
623
680
  item,
624
681
  metadata
625
682
  }) => {
626
683
  const Component = config.components[item.type];
627
- const props = useSlots(config, item, (slotProps) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(SlotRenderPure, __spreadProps(__spreadValues({}, slotProps), { config, metadata })));
628
- const richTextRenderer = useRichtextRenderer(Component.fields, props);
629
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
684
+ const props = useSlots(config, item, (slotProps) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(SlotRenderPure, __spreadProps(__spreadValues({}, slotProps), { config, metadata })));
685
+ const richtextProps = useRichtextProps(Component.fields, props);
686
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
630
687
  Component.render,
631
- __spreadProps(__spreadValues(__spreadValues({}, props), richTextRenderer), {
688
+ __spreadProps(__spreadValues(__spreadValues({}, props), richtextProps), {
632
689
  puck: __spreadProps(__spreadValues({}, props.puck), {
633
690
  metadata: metadata || {}
634
691
  })
@@ -638,11 +695,11 @@ var Item = ({
638
695
  var SlotRender = (0, import_react5.forwardRef)(
639
696
  function SlotRenderInternal({ className, style, content, config, metadata, as }, ref) {
640
697
  const El = as != null ? as : "div";
641
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(El, { className, style, ref, children: content.map((item) => {
698
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(El, { className, style, ref, children: content.map((item) => {
642
699
  if (!config.components[item.type]) {
643
700
  return null;
644
701
  }
645
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
702
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
646
703
  Item,
647
704
  {
648
705
  config,
@@ -656,7 +713,7 @@ var SlotRender = (0, import_react5.forwardRef)(
656
713
  );
657
714
 
658
715
  // components/ServerRender/index.tsx
659
- var import_jsx_runtime4 = require("react/jsx-runtime");
716
+ var import_jsx_runtime5 = require("react/jsx-runtime");
660
717
  function DropZoneRender({
661
718
  zone,
662
719
  data,
@@ -673,11 +730,11 @@ function DropZoneRender({
673
730
  zoneCompound = `${areaId}:${zone}`;
674
731
  content = setupZone(data, zoneCompound).zones[zoneCompound];
675
732
  }
676
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: content.map((item) => {
733
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_jsx_runtime5.Fragment, { children: content.map((item) => {
677
734
  const Component = config.components[item.type];
678
735
  const props = __spreadProps(__spreadValues({}, item.props), {
679
736
  puck: {
680
- renderDropZone: ({ zone: zone2 }) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
737
+ renderDropZone: ({ zone: zone2 }) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
681
738
  DropZoneRender,
682
739
  {
683
740
  zone: zone2,
@@ -693,9 +750,9 @@ function DropZoneRender({
693
750
  }
694
751
  });
695
752
  const renderItem = __spreadProps(__spreadValues({}, item), { props });
696
- const propsWithSlots = useSlots(config, renderItem, (props2) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(SlotRenderPure, __spreadProps(__spreadValues({}, props2), { config, metadata })));
753
+ const propsWithSlots = useSlots(config, renderItem, (props2) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(SlotRenderPure, __spreadProps(__spreadValues({}, props2), { config, metadata })));
697
754
  if (Component) {
698
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Component.render, __spreadValues({}, propsWithSlots), renderItem.props.id);
755
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Component.render, __spreadValues({}, propsWithSlots), renderItem.props.id);
699
756
  }
700
757
  return null;
701
758
  }) });
@@ -705,12 +762,12 @@ function Render({
705
762
  data,
706
763
  metadata = {}
707
764
  }) {
708
- var _a;
765
+ var _a, _b;
709
766
  const rootProps = "props" in data.root ? data.root.props : data.root;
710
767
  const title = rootProps.title || "";
711
768
  const props = __spreadProps(__spreadValues({}, rootProps), {
712
769
  puck: {
713
- renderDropZone: ({ zone }) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
770
+ renderDropZone: ({ zone }) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
714
771
  DropZoneRender,
715
772
  {
716
773
  zone,
@@ -727,9 +784,10 @@ function Render({
727
784
  editMode: false,
728
785
  id: "puck-root"
729
786
  });
730
- const propsWithSlots = useSlots(config, { type: "root", props }, (props2) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(SlotRenderPure, __spreadProps(__spreadValues({}, props2), { config, metadata })));
731
- if ((_a = config.root) == null ? void 0 : _a.render) {
732
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(config.root.render, __spreadProps(__spreadValues({}, propsWithSlots), { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
787
+ const propsWithSlots = useSlots(config, { type: "root", props }, (props2) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(SlotRenderPure, __spreadProps(__spreadValues({}, props2), { config, metadata })));
788
+ const richtextProps = useRichtextProps((_a = config.root) == null ? void 0 : _a.fields, props);
789
+ if ((_b = config.root) == null ? void 0 : _b.render) {
790
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(config.root.render, __spreadProps(__spreadValues(__spreadValues({}, propsWithSlots), richtextProps), { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
733
791
  DropZoneRender,
734
792
  {
735
793
  config,
@@ -739,7 +797,7 @@ function Render({
739
797
  }
740
798
  ) }));
741
799
  }
742
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
800
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
743
801
  DropZoneRender,
744
802
  {
745
803
  config,
package/dist/rsc.mjs CHANGED
@@ -1,18 +1,26 @@
1
1
  import {
2
2
  SlotRenderPure,
3
- __spreadProps,
4
- __spreadValues,
5
- init_react_import,
6
3
  migrate,
7
4
  resolveAllData,
5
+ transformProps,
6
+ useRichtextProps,
7
+ useSlots
8
+ } from "./chunk-Y656T6AQ.mjs";
9
+ import "./chunk-CSSRLPHM.mjs";
10
+ import "./chunk-T3WX7XJ6.mjs";
11
+ import "./chunk-Y2EFNT5P.mjs";
12
+ import {
8
13
  rootAreaId,
9
14
  rootDroppableId,
10
15
  rootZone,
11
16
  setupZone,
12
- transformProps,
13
- useSlots,
14
17
  walkTree
15
- } from "./chunk-SRDLYODX.mjs";
18
+ } from "./chunk-NLUHDYVR.mjs";
19
+ import {
20
+ __spreadProps,
21
+ __spreadValues,
22
+ init_react_import
23
+ } from "./chunk-M6W7YEVX.mjs";
16
24
 
17
25
  // bundle/rsc.tsx
18
26
  init_react_import();
@@ -68,7 +76,7 @@ function Render({
68
76
  data,
69
77
  metadata = {}
70
78
  }) {
71
- var _a;
79
+ var _a, _b;
72
80
  const rootProps = "props" in data.root ? data.root.props : data.root;
73
81
  const title = rootProps.title || "";
74
82
  const props = __spreadProps(__spreadValues({}, rootProps), {
@@ -91,8 +99,9 @@ function Render({
91
99
  id: "puck-root"
92
100
  });
93
101
  const propsWithSlots = useSlots(config, { type: "root", props }, (props2) => /* @__PURE__ */ jsx(SlotRenderPure, __spreadProps(__spreadValues({}, props2), { config, metadata })));
94
- if ((_a = config.root) == null ? void 0 : _a.render) {
95
- return /* @__PURE__ */ jsx(config.root.render, __spreadProps(__spreadValues({}, propsWithSlots), { children: /* @__PURE__ */ jsx(
102
+ const richtextProps = useRichtextProps((_a = config.root) == null ? void 0 : _a.fields, props);
103
+ if ((_b = config.root) == null ? void 0 : _b.render) {
104
+ return /* @__PURE__ */ jsx(config.root.render, __spreadProps(__spreadValues(__spreadValues({}, propsWithSlots), richtextProps), { children: /* @__PURE__ */ jsx(
96
105
  DropZoneRender,
97
106
  {
98
107
  config,
@@ -0,0 +1,29 @@
1
+ import { C as Config, D as Data, W as WithId, U as UserGenerics, b as Content, c as ComponentData, d as DefaultComponents, e as DefaultComponentProps, f as DefaultRootFieldProps, M as Metadata, R as RootData } from './actions-CJibIB0m.js';
2
+
3
+ type MigrationOptions<UserConfig extends Config> = {
4
+ migrateDynamicZonesForComponent?: {
5
+ [ComponentName in keyof UserConfig["components"]]: (props: WithId<UserGenerics<UserConfig>["UserProps"][ComponentName]>, zones: Record<string, Content>) => ComponentData["props"];
6
+ };
7
+ };
8
+ declare function migrate<UserConfig extends Config = Config>(data: Data, config?: UserConfig, migrationOptions?: MigrationOptions<UserConfig>): Data;
9
+
10
+ type PropTransform<Components extends DefaultComponents = DefaultComponents, RootProps extends DefaultComponentProps = DefaultRootFieldProps> = Partial<{
11
+ [ComponentName in keyof Components]: (props: Components[ComponentName] & {
12
+ [key: string]: any;
13
+ }) => Components[ComponentName];
14
+ } & {
15
+ root: (props: RootProps & {
16
+ [key: string]: any;
17
+ }) => RootProps;
18
+ }>;
19
+ declare function transformProps<Components extends DefaultComponents = DefaultComponents, RootProps extends DefaultComponentProps = DefaultRootFieldProps>(data: Partial<Data>, propTransforms: PropTransform<Components, RootProps>, config?: Config): Data;
20
+
21
+ declare function resolveAllData<Components extends DefaultComponents = DefaultComponents, RootProps extends Record<string, any> = DefaultRootFieldProps>(data: Partial<Data>, config: Config, metadata?: Metadata, onResolveStart?: (item: ComponentData) => void, onResolveEnd?: (item: ComponentData) => void): Promise<Data<Components, RootProps>>;
22
+
23
+ type WalkTreeOptions = {
24
+ parentId: string;
25
+ propName: string;
26
+ };
27
+ declare function walkTree<T extends ComponentData | RootData | G["UserData"], UserConfig extends Config = Config, G extends UserGenerics<UserConfig> = UserGenerics<UserConfig>>(data: T, config: UserConfig, callbackFn: (data: Content, options: WalkTreeOptions) => Content | null | void): T;
28
+
29
+ export { migrate as m, resolveAllData as r, transformProps as t, walkTree as w };
@@ -0,0 +1,29 @@
1
+ import { C as Config, D as Data, W as WithId, U as UserGenerics, b as Content, c as ComponentData, d as DefaultComponents, e as DefaultComponentProps, f as DefaultRootFieldProps, M as Metadata, R as RootData } from './actions-CJibIB0m.mjs';
2
+
3
+ type MigrationOptions<UserConfig extends Config> = {
4
+ migrateDynamicZonesForComponent?: {
5
+ [ComponentName in keyof UserConfig["components"]]: (props: WithId<UserGenerics<UserConfig>["UserProps"][ComponentName]>, zones: Record<string, Content>) => ComponentData["props"];
6
+ };
7
+ };
8
+ declare function migrate<UserConfig extends Config = Config>(data: Data, config?: UserConfig, migrationOptions?: MigrationOptions<UserConfig>): Data;
9
+
10
+ type PropTransform<Components extends DefaultComponents = DefaultComponents, RootProps extends DefaultComponentProps = DefaultRootFieldProps> = Partial<{
11
+ [ComponentName in keyof Components]: (props: Components[ComponentName] & {
12
+ [key: string]: any;
13
+ }) => Components[ComponentName];
14
+ } & {
15
+ root: (props: RootProps & {
16
+ [key: string]: any;
17
+ }) => RootProps;
18
+ }>;
19
+ declare function transformProps<Components extends DefaultComponents = DefaultComponents, RootProps extends DefaultComponentProps = DefaultRootFieldProps>(data: Partial<Data>, propTransforms: PropTransform<Components, RootProps>, config?: Config): Data;
20
+
21
+ declare function resolveAllData<Components extends DefaultComponents = DefaultComponents, RootProps extends Record<string, any> = DefaultRootFieldProps>(data: Partial<Data>, config: Config, metadata?: Metadata, onResolveStart?: (item: ComponentData) => void, onResolveEnd?: (item: ComponentData) => void): Promise<Data<Components, RootProps>>;
22
+
23
+ type WalkTreeOptions = {
24
+ parentId: string;
25
+ propName: string;
26
+ };
27
+ declare function walkTree<T extends ComponentData | RootData | G["UserData"], UserConfig extends Config = Config, G extends UserGenerics<UserConfig> = UserGenerics<UserConfig>>(data: T, config: UserConfig, callbackFn: (data: Content, options: WalkTreeOptions) => Content | null | void): T;
28
+
29
+ export { migrate as m, resolveAllData as r, transformProps as t, walkTree as w };