camox 0.48.0 → 0.52.1

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 (127) hide show
  1. package/dist/core/createApp.d.ts +1 -0
  2. package/dist/core/createApp.js +1 -0
  3. package/dist/core/editing/contentEdits.js +78 -0
  4. package/dist/core/editing/createEditableBlock.js +277 -311
  5. package/dist/core/layoutContext.d.ts +1 -0
  6. package/dist/core/lib/contentType.js +2 -2
  7. package/dist/core/recordItem.js +3 -3
  8. package/dist/features/canvas/CamoxCanvas.js +15 -15
  9. package/dist/features/canvas/CanvasLoadingScreen.js +15 -11
  10. package/dist/features/canvas/CanvasPageFrame.js +81 -87
  11. package/dist/features/canvas/CanvasPreviewPageSlot.js +1 -1
  12. package/dist/features/canvas/DerivedPagePathInput.js +12 -12
  13. package/dist/features/canvas/canvasOverlayGeometry.js +1 -1
  14. package/dist/features/canvas/canvasStore.js +2 -2
  15. package/dist/features/canvas/sidebar/CanvasInspector.js +1 -1
  16. package/dist/features/canvas/sidebar/CuratedPageInspector.js +1 -1
  17. package/dist/features/canvas/sidebar/LayoutPageBlocks.js +23 -31
  18. package/dist/features/canvas/useCanvasCamera.js +1 -1
  19. package/dist/features/canvas/useDiscoveredPreviewPaths.js +16 -9
  20. package/dist/features/content/ContentAssets.js +84 -88
  21. package/dist/features/page/CuratedPageContent.js +1 -1
  22. package/dist/features/preview/CamoxPreview.d.ts +8 -4
  23. package/dist/features/preview/CamoxPreview.js +258 -443
  24. package/dist/features/preview/EditablePageContent.js +244 -2
  25. package/dist/features/preview/EditablePageExperience.js +19 -13
  26. package/dist/features/preview/components/AddBlockSheet.js +55 -15
  27. package/dist/features/preview/components/BlockActionsPopover.js +23 -51
  28. package/dist/features/preview/components/BlockPeek.js +66 -0
  29. package/dist/features/preview/components/BlockThumbnail.js +134 -119
  30. package/dist/features/preview/components/CanvasPreview.js +1 -1
  31. package/dist/features/preview/components/CreatePageModal.js +150 -156
  32. package/dist/features/preview/components/FieldToolbar.js +1 -1
  33. package/dist/features/preview/components/Frame.js +27 -4
  34. package/dist/features/preview/components/MobilePreviewDrawer.js +6 -9
  35. package/dist/features/preview/components/PageInfo.js +161 -126
  36. package/dist/features/preview/components/PagePicker.js +2 -2
  37. package/dist/features/preview/components/PageTree.js +174 -190
  38. package/dist/features/preview/components/PreviewPanel.js +13 -67
  39. package/dist/features/preview/components/PreviewToolbar.js +1 -1
  40. package/dist/features/preview/components/ReferenceFieldEditor.js +4 -4
  41. package/dist/features/preview/components/ReferenceListFieldEditor.js +4 -4
  42. package/dist/features/preview/components/RemovedBlockPlaceholder.js +37 -70
  43. package/dist/features/preview/components/RepeatableItemsList.js +1 -1
  44. package/dist/features/preview/components/SelectionEditor.js +248 -256
  45. package/dist/features/preview/components/StudioEditingFallback.js +22 -26
  46. package/dist/features/preview/components/useFieldWriter.js +19 -19
  47. package/dist/features/preview/components/useRecordView.js +105 -147
  48. package/dist/features/preview/components/useRepeatableItemActions.js +0 -2
  49. package/dist/features/preview/pageRecord.js +30 -24
  50. package/dist/features/preview/previewConstants.js +2 -8
  51. package/dist/features/preview/previewStore.js +2 -0
  52. package/dist/features/preview/studioNotice.js +20 -0
  53. package/dist/features/preview/usePreviewViewportActions.js +1 -1
  54. package/dist/features/provider/AuthenticatedCamoxProvider.js +47 -31
  55. package/dist/features/provider/components/CommandPalette.js +2 -5
  56. package/dist/features/provider/signInShortcut.js +1 -2
  57. package/dist/features/provider/useAdminShortcuts.js +47 -53
  58. package/dist/features/renderer/RendererApp.js +542 -0
  59. package/dist/features/renderer/RendererFrames.js +450 -0
  60. package/dist/features/renderer/definitionAnswers.js +26 -0
  61. package/dist/features/renderer/protocol.js +35 -0
  62. package/dist/features/renderer/rendererHost.js +249 -0
  63. package/dist/features/renderer/studioConnection.js +186 -0
  64. package/dist/features/routes/pageRuntime.d.ts +2 -1
  65. package/dist/features/routes/pageRuntime.js +34 -22
  66. package/dist/features/runtime/RuntimeChrome.js +2 -5
  67. package/dist/features/runtime/assetPrefix.js +14 -0
  68. package/dist/features/runtime/breadcrumbs.js +1 -1
  69. package/dist/features/runtime/editingFallback.js +4 -8
  70. package/dist/features/runtime/livePages.js +1 -1
  71. package/dist/features/runtime/pageApp.js +57 -83
  72. package/dist/features/runtime/pageClient.js +1 -1
  73. package/dist/features/runtime/pageNavigation.js +3 -2
  74. package/dist/features/runtime/publicCache.js +95 -0
  75. package/dist/features/runtime/publishingDraft.js +23 -0
  76. package/dist/features/runtime/rendererClient.d.ts +8 -0
  77. package/dist/features/runtime/rendererClient.js +77 -0
  78. package/dist/features/runtime/runtime.d.ts +22 -3
  79. package/dist/features/runtime/runtime.js +209 -96
  80. package/dist/features/runtime/runtimeRoutes.d.ts +2 -0
  81. package/dist/features/runtime/runtimeRoutes.js +2 -0
  82. package/dist/features/runtime/worker.d.ts +14 -1
  83. package/dist/features/runtime/worker.js +34 -4
  84. package/dist/features/settings/AnalyticsSettings.js +622 -0
  85. package/dist/features/settings/CamoxSettings.js +95 -0
  86. package/dist/features/settings/FaviconSettings.js +254 -0
  87. package/dist/features/settings/ProjectNameSettings.js +145 -0
  88. package/dist/features/settings/SettingsPart.js +73 -0
  89. package/dist/features/settings/SocialProfilesSettings.js +245 -0
  90. package/dist/features/settings/useProjectMutation.js +61 -0
  91. package/dist/features/studio/FollowAgentProvider.js +10 -10
  92. package/dist/features/studio/components/DraftsControl.js +136 -131
  93. package/dist/features/studio/components/LocalePicker.js +178 -174
  94. package/dist/features/studio/components/Navbar.js +107 -66
  95. package/dist/features/studio/components/ProjectMenu.js +119 -171
  96. package/dist/features/studio/components/ReviewDraftSheet.js +1151 -991
  97. package/dist/features/studio/components/ThreadMessages.js +100 -65
  98. package/dist/features/studio/components/UserButton.js +2 -2
  99. package/dist/features/studio/routes.js +3 -1
  100. package/dist/features/studio/showInCanvas.js +129 -0
  101. package/dist/features/vite/definitionsSync.js +5 -6
  102. package/dist/features/vite/hostedChecks.js +127 -0
  103. package/dist/features/vite/runtimeDev.js +58 -17
  104. package/dist/features/vite/staticAssetHeaders.js +52 -0
  105. package/dist/features/vite/vite.d.ts +1 -1
  106. package/dist/features/vite/vite.js +49 -9
  107. package/dist/hooks/use-page-destinations.js +10 -10
  108. package/dist/lib/api-client-server.d.ts +1 -1
  109. package/dist/lib/api-client.d.ts +2 -1
  110. package/dist/lib/draft-scope.d.ts +1 -0
  111. package/dist/lib/locale-path.d.ts +3 -11
  112. package/dist/lib/locale-path.js +3 -27
  113. package/dist/lib/queries.js +7 -1
  114. package/dist/lib/revisions.js +20 -0
  115. package/dist/lib/shortcuts.js +29 -0
  116. package/dist/lib/studio-definitions.js +160 -0
  117. package/dist/lib/studio-reads.d.ts +1 -0
  118. package/dist/lib/studio-reads.js +65 -21
  119. package/dist/lib/use-project-room.js +16 -10
  120. package/dist/lib/utils.js +1 -104
  121. package/dist/package.js +1 -1
  122. package/dist/studio.css +1 -1
  123. package/package.json +9 -4
  124. package/skills/camox/SKILL.md +4 -0
  125. package/skills/camox/references/artifacts.md +1 -1
  126. package/dist/features/studio/components/FaviconDialog.js +0 -318
  127. package/dist/features/studio/components/SocialProfilesDialog.js +0 -342
@@ -1,14 +1,14 @@
1
- import { useCamoxApp } from "../../provider/components/CamoxAppContext.js";
2
1
  import { isFileMarker } from "../../../lib/normalized-data.js";
3
2
  import { reads, useReadQueries, useReadQuery } from "../../../lib/studio-reads.js";
4
3
  import { cn } from "../../../lib/utils.js";
5
4
  import { blockMutations, repeatableItemMutations } from "../../../lib/queries.js";
6
5
  import { SingleAssetFieldEditor } from "./AssetFieldEditor.js";
7
6
  import { MultipleAssetFieldEditor } from "./MultipleAssetFieldEditor.js";
7
+ import { useBlockDefinition } from "../../../lib/studio-definitions.js";
8
8
  import { editorAssetField } from "../../content/collection-form.js";
9
9
  import { isBlockPlacement, previewStore, recordPlacement, selectionBlockId, selectionField, selectionForOwner, selectionItemId } from "../previewStore.js";
10
- import { useEditingFrame } from "../editingFrame.js";
11
10
  import { PreviewEditingOwnerContext } from "../previewSelection.js";
11
+ import { useEditingFrame } from "../editingFrame.js";
12
12
  import { entityName } from "../entityName.js";
13
13
  import { fieldTypesDictionary } from "../../../core/lib/fieldTypes.js";
14
14
  import { selectionHoverMessage } from "../overlayMessages.js";
@@ -114,9 +114,8 @@ const SelectionEditor = () => {
114
114
  return t0;
115
115
  };
116
116
  const SelectionEditorContent = (t0) => {
117
- const $ = c(131);
117
+ const $ = c(128);
118
118
  const { owner } = t0;
119
- const camoxApp = useCamoxApp();
120
119
  let t1;
121
120
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
122
121
  t1 = blockMutations.updateSettings();
@@ -245,207 +244,200 @@ const SelectionEditorContent = (t0) => {
245
244
  $[31] = map;
246
245
  } else map = $[31];
247
246
  const filesMap = map;
247
+ const blockDef = useBlockDefinition(block?.type) ?? null;
248
+ const pagePlacer = usePageRecordPlacer();
249
+ const layoutRecordSelected = (selection?.type === "record" || selection?.type === "record-field") && !isBlockPlacement(selection);
248
250
  let t16;
249
- if ($[32] !== block || $[33] !== camoxApp) {
250
- t16 = block ? camoxApp.getBlockById(block.type) : null;
251
- $[32] = block;
252
- $[33] = camoxApp;
251
+ if ($[32] !== currentItemId || $[33] !== itemsMap) {
252
+ t16 = currentItemId != null ? itemsMap.get(currentItemId) : void 0;
253
+ $[32] = currentItemId;
254
+ $[33] = itemsMap;
253
255
  $[34] = t16;
254
256
  } else t16 = $[34];
255
- const blockDef = t16;
256
- const pagePlacer = usePageRecordPlacer();
257
- const layoutRecordSelected = (selection?.type === "record" || selection?.type === "record-field") && !isBlockPlacement(selection);
257
+ const placerItem = t16;
258
258
  let t17;
259
- if ($[35] !== currentItemId || $[36] !== itemsMap) {
260
- t17 = currentItemId != null ? itemsMap.get(currentItemId) : void 0;
261
- $[35] = currentItemId;
262
- $[36] = itemsMap;
263
- $[37] = t17;
264
- } else t17 = $[37];
265
- const placerItem = t17;
266
- let t18;
267
259
  bb0: {
268
260
  if (!block || !blockDef) {
269
- t18 = null;
261
+ t17 = null;
270
262
  break bb0;
271
263
  }
272
264
  if (currentItemId == null) {
273
- let t19;
274
- if ($[38] !== block || $[39] !== blockDef._internal.contentSchema) {
275
- t19 = {
265
+ let t18;
266
+ if ($[35] !== block || $[36] !== blockDef.contentSchema) {
267
+ t18 = {
276
268
  ...block,
277
- contentSchema: blockDef._internal.contentSchema
269
+ contentSchema: blockDef.contentSchema
278
270
  };
279
- $[38] = block;
280
- $[39] = blockDef._internal.contentSchema;
281
- $[40] = t19;
282
- } else t19 = $[40];
283
- t18 = t19;
271
+ $[35] = block;
272
+ $[36] = blockDef.contentSchema;
273
+ $[37] = t18;
274
+ } else t18 = $[37];
275
+ t17 = t18;
284
276
  break bb0;
285
277
  }
286
278
  if (!placerItem) {
287
- t18 = null;
279
+ t17 = null;
288
280
  break bb0;
289
281
  }
282
+ let t18;
283
+ if ($[38] !== blockDef.contentSchema || $[39] !== currentItemId || $[40] !== itemsMap) {
284
+ t18 = getSchemaForItem(blockDef.contentSchema, currentItemId, itemsMap);
285
+ $[38] = blockDef.contentSchema;
286
+ $[39] = currentItemId;
287
+ $[40] = itemsMap;
288
+ $[41] = t18;
289
+ } else t18 = $[41];
290
290
  let t19;
291
- if ($[41] !== blockDef._internal.contentSchema || $[42] !== currentItemId || $[43] !== itemsMap) {
292
- t19 = getSchemaForItem(blockDef._internal.contentSchema, currentItemId, itemsMap);
293
- $[41] = blockDef._internal.contentSchema;
294
- $[42] = currentItemId;
295
- $[43] = itemsMap;
296
- $[44] = t19;
297
- } else t19 = $[44];
298
- let t20;
299
- if ($[45] !== placerItem || $[46] !== t19) {
300
- t20 = {
291
+ if ($[42] !== placerItem || $[43] !== t18) {
292
+ t19 = {
301
293
  ...placerItem,
302
- contentSchema: t19
294
+ contentSchema: t18
303
295
  };
304
- $[45] = placerItem;
305
- $[46] = t19;
306
- $[47] = t20;
307
- } else t20 = $[47];
308
- t18 = t20;
296
+ $[42] = placerItem;
297
+ $[43] = t18;
298
+ $[44] = t19;
299
+ } else t19 = $[44];
300
+ t17 = t19;
309
301
  }
310
- const t19 = layoutRecordSelected ? pagePlacer : t18;
311
- let t20;
312
- if ($[48] !== owner || $[49] !== selection || $[50] !== t19) {
313
- t20 = {
302
+ const t18 = layoutRecordSelected ? pagePlacer : t17;
303
+ let t19;
304
+ if ($[45] !== owner || $[46] !== selection || $[47] !== t18) {
305
+ t19 = {
314
306
  owner,
315
307
  selection,
316
- placer: t19
308
+ placer: t18
317
309
  };
318
- $[48] = owner;
319
- $[49] = selection;
320
- $[50] = t19;
321
- $[51] = t20;
322
- } else t20 = $[51];
323
- const { recordView, viewSelection, recordCrumbs } = useRecordView(t20);
310
+ $[45] = owner;
311
+ $[46] = selection;
312
+ $[47] = t18;
313
+ $[48] = t19;
314
+ } else t19 = $[48];
315
+ const { recordView, viewSelection, recordCrumbs } = useRecordView(t19);
324
316
  const selectedField = recordView?.selection.type === "record-field" ? {
325
317
  fieldName: recordView.selection.recordFieldName,
326
318
  fieldType: recordView.selection.recordFieldType
327
319
  } : selectionField(viewSelection);
320
+ let t20;
321
+ if ($[49] !== blockDef) {
322
+ t20 = blockDef ? getSettingsFields(blockDef.settingsSchema) : [];
323
+ $[49] = blockDef;
324
+ $[50] = t20;
325
+ } else t20 = $[50];
326
+ const settingsFields = t20;
328
327
  let t21;
329
- if ($[52] !== blockDef) {
330
- t21 = blockDef ? getSettingsFields(blockDef._internal.settingsSchema) : [];
331
- $[52] = blockDef;
332
- $[53] = t21;
333
- } else t21 = $[53];
334
- const settingsFields = t21;
335
- let t22;
336
328
  bb1: {
337
329
  if (!blockDef || currentItemId == null) {
338
- t22 = null;
330
+ t21 = null;
339
331
  break bb1;
340
332
  }
341
- let t23;
342
- if ($[54] !== blockDef._internal.contentSchema || $[55] !== currentItemId || $[56] !== itemsMap) {
343
- t23 = getArraySchemaForItem(blockDef._internal.contentSchema, currentItemId, itemsMap);
344
- $[54] = blockDef._internal.contentSchema;
345
- $[55] = currentItemId;
346
- $[56] = itemsMap;
347
- $[57] = t23;
348
- } else t23 = $[57];
349
- t22 = t23;
333
+ let t22;
334
+ if ($[51] !== blockDef.contentSchema || $[52] !== currentItemId || $[53] !== itemsMap) {
335
+ t22 = getArraySchemaForItem(blockDef.contentSchema, currentItemId, itemsMap);
336
+ $[51] = blockDef.contentSchema;
337
+ $[52] = currentItemId;
338
+ $[53] = itemsMap;
339
+ $[54] = t22;
340
+ } else t22 = $[54];
341
+ t21 = t22;
350
342
  }
351
- const itemArraySchema = t22;
352
- const t23 = itemArraySchema?.itemSettingsSchema;
353
- let t24;
354
- if ($[58] !== t23) {
355
- t24 = getSettingsFields(t23);
356
- $[58] = t23;
357
- $[59] = t24;
358
- } else t24 = $[59];
359
- const itemSettingsFields = t24;
360
- const recordSchema = recordView?.collection._internal.contentSchema;
343
+ const itemArraySchema = t21;
344
+ const t22 = itemArraySchema?.itemSettingsSchema;
345
+ let t23;
346
+ if ($[55] !== t22) {
347
+ t23 = getSettingsFields(t22);
348
+ $[55] = t22;
349
+ $[56] = t23;
350
+ } else t23 = $[56];
351
+ const itemSettingsFields = t23;
352
+ const recordSchema = recordView?.collection.contentSchema;
361
353
  const recordInList = recordView?.inList === true;
362
- let t25;
354
+ let t24;
363
355
  bb2: {
364
356
  if (recordSchema) {
365
- t25 = recordSchema;
357
+ t24 = recordSchema;
366
358
  break bb2;
367
359
  }
368
360
  if (!blockDef) {
369
- t25 = null;
361
+ t24 = null;
370
362
  break bb2;
371
363
  }
372
364
  if (currentItemId == null) {
373
- t25 = blockDef._internal.contentSchema;
365
+ t24 = blockDef.contentSchema;
374
366
  break bb2;
375
367
  }
376
- let t26;
377
- if ($[60] !== blockDef._internal.contentSchema || $[61] !== currentItemId || $[62] !== itemsMap) {
378
- t26 = getSchemaForItem(blockDef._internal.contentSchema, currentItemId, itemsMap);
379
- $[60] = blockDef._internal.contentSchema;
380
- $[61] = currentItemId;
381
- $[62] = itemsMap;
382
- $[63] = t26;
383
- } else t26 = $[63];
384
- t25 = t26;
368
+ let t25;
369
+ if ($[57] !== blockDef.contentSchema || $[58] !== currentItemId || $[59] !== itemsMap) {
370
+ t25 = getSchemaForItem(blockDef.contentSchema, currentItemId, itemsMap);
371
+ $[57] = blockDef.contentSchema;
372
+ $[58] = currentItemId;
373
+ $[59] = itemsMap;
374
+ $[60] = t25;
375
+ } else t25 = $[60];
376
+ t24 = t25;
385
377
  }
386
- const currentSchema = t25;
387
- let t26;
388
- if ($[64] !== currentItemId || $[65] !== itemsMap) {
389
- t26 = currentItemId != null ? itemsMap.get(currentItemId) : null;
390
- $[64] = currentItemId;
391
- $[65] = itemsMap;
392
- $[66] = t26;
393
- } else t26 = $[66];
394
- const currentItem = t26;
378
+ const currentSchema = t24;
379
+ let t25;
380
+ if ($[61] !== currentItemId || $[62] !== itemsMap) {
381
+ t25 = currentItemId != null ? itemsMap.get(currentItemId) : null;
382
+ $[61] = currentItemId;
383
+ $[62] = itemsMap;
384
+ $[63] = t25;
385
+ } else t25 = $[63];
386
+ const currentItem = t25;
395
387
  const isItemLoading = currentItemId != null && !currentItem;
396
- let t27;
388
+ let t26;
397
389
  bb3: {
398
390
  if (!currentItem) {
399
- t27 = 0;
391
+ t26 = 0;
400
392
  break bb3;
401
393
  }
402
394
  let count = 0;
403
395
  for (const it of itemsMap.values()) if (it.fieldName === currentItem.fieldName && it.parentItemId === currentItem.parentItemId) count++;
404
- t27 = count;
396
+ t26 = count;
405
397
  }
406
- const siblingCount = t27;
407
- const t28 = block?.id ?? "";
408
- const t29 = currentItem?.fieldName ?? "";
409
- const t30 = currentItem?.parentItemId ?? null;
410
- const t31 = itemArraySchema;
411
- let t32;
412
- if ($[67] !== siblingCount || $[68] !== t28 || $[69] !== t29 || $[70] !== t30 || $[71] !== t31) {
413
- t32 = {
414
- blockId: t28,
415
- fieldName: t29,
416
- parentItemId: t30,
417
- arraySchema: t31,
398
+ const siblingCount = t26;
399
+ const t27 = block?.id ?? "";
400
+ const t28 = currentItem?.fieldName ?? "";
401
+ const t29 = currentItem?.parentItemId ?? null;
402
+ const t30 = itemArraySchema;
403
+ let t31;
404
+ if ($[64] !== siblingCount || $[65] !== t27 || $[66] !== t28 || $[67] !== t29 || $[68] !== t30) {
405
+ t31 = {
406
+ blockId: t27,
407
+ fieldName: t28,
408
+ parentItemId: t29,
409
+ arraySchema: t30,
418
410
  siblingCount
419
411
  };
420
- $[67] = siblingCount;
421
- $[68] = t28;
422
- $[69] = t29;
423
- $[70] = t30;
424
- $[71] = t31;
425
- $[72] = t32;
426
- } else t32 = $[72];
427
- const { canAdd: canAddSibling, addItem: addSibling, canRemove: canRemoveCurrent, removeItem: removeCurrent } = useRepeatableItemActions(t32);
412
+ $[64] = siblingCount;
413
+ $[65] = t27;
414
+ $[66] = t28;
415
+ $[67] = t29;
416
+ $[68] = t30;
417
+ $[69] = t31;
418
+ } else t31 = $[69];
419
+ const { canAdd: canAddSibling, addItem: addSibling, canRemove: canRemoveCurrent, removeItem: removeCurrent } = useRepeatableItemActions(t31);
428
420
  const recordContent = recordView?.record.content;
429
421
  const rawCurrentData = currentItem ? currentItem.content : block?.content ?? EMPTY_CONTENT;
430
- let t33;
422
+ let t32;
431
423
  bb4: {
432
424
  if (recordContent) {
433
- let t34;
434
- if ($[73] !== recordContent || $[74] !== recordSchema) {
435
- t34 = Object.fromEntries(Object.entries(recordContent).map((t35) => {
436
- const [key, value] = t35;
425
+ let t33;
426
+ if ($[70] !== recordContent || $[71] !== recordSchema) {
427
+ t33 = Object.fromEntries(Object.entries(recordContent).map((t34) => {
428
+ const [key, value] = t34;
437
429
  return [key, editorAssetField(contentFieldSchema(recordSchema, key)?.fieldType, value)];
438
430
  }));
439
- $[73] = recordContent;
440
- $[74] = recordSchema;
441
- $[75] = t34;
442
- } else t34 = $[75];
443
- t33 = t34;
431
+ $[70] = recordContent;
432
+ $[71] = recordSchema;
433
+ $[72] = t33;
434
+ } else t33 = $[72];
435
+ t32 = t33;
444
436
  break bb4;
445
437
  }
446
- let t34;
447
- if ($[76] !== filesMap) {
448
- t34 = (marker) => {
438
+ let t33;
439
+ if ($[73] !== filesMap) {
440
+ t33 = (marker) => {
449
441
  const file = filesMap.get(marker._fileId);
450
442
  return file ? {
451
443
  url: file.url,
@@ -460,12 +452,12 @@ const SelectionEditorContent = (t0) => {
460
452
  mimeType: ""
461
453
  };
462
454
  };
463
- $[76] = filesMap;
464
- $[77] = t34;
465
- } else t34 = $[77];
466
- const resolveFile = t34;
455
+ $[73] = filesMap;
456
+ $[74] = t33;
457
+ } else t33 = $[74];
458
+ const resolveFile = t33;
467
459
  let resolved_0;
468
- if ($[78] !== rawCurrentData || $[79] !== resolveFile) {
460
+ if ($[75] !== rawCurrentData || $[76] !== resolveFile) {
469
461
  const resolveValue = (value_0) => {
470
462
  if (isFileMarker(value_0)) return resolveFile(value_0);
471
463
  if (Array.isArray(value_0)) return value_0.map(resolveValue);
@@ -479,13 +471,13 @@ const SelectionEditorContent = (t0) => {
479
471
  };
480
472
  resolved_0 = {};
481
473
  for (const [key_0, value_1] of Object.entries(rawCurrentData)) resolved_0[key_0] = resolveValue(value_1);
482
- $[78] = rawCurrentData;
483
- $[79] = resolveFile;
484
- $[80] = resolved_0;
485
- } else resolved_0 = $[80];
486
- t33 = resolved_0;
474
+ $[75] = rawCurrentData;
475
+ $[76] = resolveFile;
476
+ $[77] = resolved_0;
477
+ } else resolved_0 = $[77];
478
+ t32 = resolved_0;
487
479
  }
488
- const currentData = t33;
480
+ const currentData = t32;
489
481
  const fieldInfo = selectedField ? {
490
482
  ...selectedField,
491
483
  fieldType: contentFieldSchema(currentSchema, selectedField.fieldName)?.fieldType ?? selectedField.fieldType
@@ -506,68 +498,68 @@ const SelectionEditorContent = (t0) => {
506
498
  const fieldIdPrefix = React.useId();
507
499
  const blockIdForWrites = block?.id;
508
500
  const recordForWrites = recordView?.record;
509
- let t34;
501
+ let t33;
510
502
  bb5: {
511
503
  if (recordForWrites) {
512
- let t35;
513
- if ($[81] !== recordForWrites) {
514
- t35 = {
504
+ let t34;
505
+ if ($[78] !== recordForWrites) {
506
+ t34 = {
515
507
  kind: "record",
516
508
  record: recordForWrites
517
509
  };
518
- $[81] = recordForWrites;
519
- $[82] = t35;
520
- } else t35 = $[82];
521
- t34 = t35;
510
+ $[78] = recordForWrites;
511
+ $[79] = t34;
512
+ } else t34 = $[79];
513
+ t33 = t34;
522
514
  break bb5;
523
515
  }
524
516
  if (blockIdForWrites == null) {
525
- t34 = null;
517
+ t33 = null;
526
518
  break bb5;
527
519
  }
528
520
  if (currentItemId == null) {
529
- let t35;
530
- if ($[83] !== blockIdForWrites) {
531
- t35 = {
521
+ let t34;
522
+ if ($[80] !== blockIdForWrites) {
523
+ t34 = {
532
524
  kind: "block",
533
525
  blockId: blockIdForWrites
534
526
  };
535
- $[83] = blockIdForWrites;
536
- $[84] = t35;
537
- } else t35 = $[84];
538
- t34 = t35;
527
+ $[80] = blockIdForWrites;
528
+ $[81] = t34;
529
+ } else t34 = $[81];
530
+ t33 = t34;
539
531
  break bb5;
540
532
  }
541
- let t35;
542
- if ($[85] !== blockIdForWrites || $[86] !== currentItemId) {
543
- t35 = {
533
+ let t34;
534
+ if ($[82] !== blockIdForWrites || $[83] !== currentItemId) {
535
+ t34 = {
544
536
  kind: "item",
545
537
  blockId: blockIdForWrites,
546
538
  itemId: currentItemId
547
539
  };
548
- $[85] = blockIdForWrites;
549
- $[86] = currentItemId;
550
- $[87] = t35;
551
- } else t35 = $[87];
552
- t34 = t35;
540
+ $[82] = blockIdForWrites;
541
+ $[83] = currentItemId;
542
+ $[84] = t34;
543
+ } else t34 = $[84];
544
+ t33 = t34;
553
545
  }
554
- const writeField = useFieldWriter(t34, currentSchema);
546
+ const writeField = useFieldWriter(t33, currentSchema);
555
547
  const ancestorChain = currentItemId != null ? buildAncestorChain(currentItemId, itemsMap) : [];
556
548
  if (!currentSchema || !recordView && (!block || !blockDef)) {
557
- let t35;
558
- if ($[88] === Symbol.for("react.memo_cache_sentinel")) {
559
- t35 = /* @__PURE__ */ jsxs("div", {
549
+ let t34;
550
+ if ($[85] === Symbol.for("react.memo_cache_sentinel")) {
551
+ t34 = /* @__PURE__ */ jsxs("div", {
560
552
  className: "text-muted-foreground flex flex-1 items-center justify-center px-2 text-sm",
561
553
  children: [/* @__PURE__ */ jsx(Spinner, { className: "mr-2 size-3.5" }), " Loading block..."]
562
554
  });
563
- $[88] = t35;
564
- } else t35 = $[88];
565
- return t35;
555
+ $[85] = t34;
556
+ } else t34 = $[85];
557
+ return t34;
566
558
  }
567
559
  const fieldHasOwnView = fieldInfo ? fieldTypesDictionary[fieldInfo.fieldType].hasOwnView : false;
568
560
  const blockCrumbs = (block_0, blockDef_0) => [{
569
561
  key: "block",
570
- label: blockDef_0._internal.title,
562
+ label: blockDef_0.title,
571
563
  isCurrent: ancestorChain.length === 0 && !fieldHasOwnView && !recordView,
572
564
  onClick: () => previewStore.send({
573
565
  type: "setFocusedBlock",
@@ -580,7 +572,7 @@ const SelectionEditorContent = (t0) => {
580
572
  }
581
573
  }, ...ancestorChain.flatMap((ancestor) => [{
582
574
  key: `repeater-${ancestor.id}`,
583
- label: getArraySchemaForItem(blockDef_0._internal.contentSchema, ancestor.id, itemsMap)?.title ?? formatFieldName(ancestor.fieldName),
575
+ label: getArraySchemaForItem(blockDef_0.contentSchema, ancestor.id, itemsMap)?.title ?? formatFieldName(ancestor.fieldName),
584
576
  isCurrent: false,
585
577
  hoverTarget: {
586
578
  type: "block-field",
@@ -639,12 +631,12 @@ const SelectionEditorContent = (t0) => {
639
631
  }] : []
640
632
  ];
641
633
  const T0 = SidebarSection;
642
- const t35 = "bottom";
643
- const t36 = "pt-3";
644
- const t37 = "Selection path";
645
- const t38 = "text-muted-foreground text-sm";
646
- const t39 = "flex flex-col";
647
- const t40 = navigationItems.map((item, index) => {
634
+ const t34 = "bottom";
635
+ const t35 = "pt-3";
636
+ const t36 = "Selection path";
637
+ const t37 = "text-muted-foreground text-sm";
638
+ const t38 = "flex flex-col";
639
+ const t39 = navigationItems.map((item, index) => {
648
640
  const isFirstItem = index === 0;
649
641
  const isLastItem = index === navigationItems.length - 1;
650
642
  return /* @__PURE__ */ jsxs("li", {
@@ -695,33 +687,33 @@ const SelectionEditorContent = (t0) => {
695
687
  })]
696
688
  }, item.key);
697
689
  });
698
- let t41;
699
- if ($[89] !== t40) {
700
- t41 = /* @__PURE__ */ jsx("nav", {
701
- "aria-label": t37,
702
- className: t38,
690
+ let t40;
691
+ if ($[86] !== t39) {
692
+ t40 = /* @__PURE__ */ jsx("nav", {
693
+ "aria-label": t36,
694
+ className: t37,
703
695
  children: /* @__PURE__ */ jsx("ol", {
704
- className: t39,
705
- children: t40
696
+ className: t38,
697
+ children: t39
706
698
  })
707
699
  });
700
+ $[86] = t39;
701
+ $[87] = t40;
702
+ } else t40 = $[87];
703
+ let t41;
704
+ if ($[88] !== T0 || $[89] !== t40) {
705
+ t41 = /* @__PURE__ */ jsx(T0, {
706
+ divider: t34,
707
+ className: t35,
708
+ children: t40
709
+ });
710
+ $[88] = T0;
708
711
  $[89] = t40;
709
712
  $[90] = t41;
710
713
  } else t41 = $[90];
711
714
  let t42;
712
- if ($[91] !== T0 || $[92] !== t41) {
713
- t42 = /* @__PURE__ */ jsx(T0, {
714
- divider: t35,
715
- className: t36,
716
- children: t41
717
- });
718
- $[91] = T0;
719
- $[92] = t41;
720
- $[93] = t42;
721
- } else t42 = $[93];
722
- let t43;
723
- if ($[94] !== addSibling || $[95] !== assetAccept || $[96] !== assetFieldName || $[97] !== assetType || $[98] !== block || $[99] !== blockDef || $[100] !== canAddSibling || $[101] !== canRemoveCurrent || $[102] !== currentData || $[103] !== currentItem || $[104] !== currentItemId || $[105] !== currentSchema || $[106] !== fieldHasOwnView || $[107] !== fieldIdPrefix || $[108] !== fieldInfo?.fieldName || $[109] !== filesMap || $[110] !== isItemLoading || $[111] !== isMultipleAsset || $[112] !== isViewingAsset || $[113] !== isViewingLink || $[114] !== itemArraySchema || $[115] !== itemSettingsFields || $[116] !== itemsMap || $[117] !== linkFieldName || $[118] !== owner || $[119] !== recordInList || $[120] !== recordView || $[121] !== removeCurrent || $[122] !== send || $[123] !== settingsFields || $[124] !== updateRepeatableSettings || $[125] !== updateSettings || $[126] !== writeField) {
724
- t43 = /* @__PURE__ */ jsx("div", {
715
+ if ($[91] !== addSibling || $[92] !== assetAccept || $[93] !== assetFieldName || $[94] !== assetType || $[95] !== block || $[96] !== blockDef || $[97] !== canAddSibling || $[98] !== canRemoveCurrent || $[99] !== currentData || $[100] !== currentItem || $[101] !== currentItemId || $[102] !== currentSchema || $[103] !== fieldHasOwnView || $[104] !== fieldIdPrefix || $[105] !== fieldInfo?.fieldName || $[106] !== filesMap || $[107] !== isItemLoading || $[108] !== isMultipleAsset || $[109] !== isViewingAsset || $[110] !== isViewingLink || $[111] !== itemArraySchema || $[112] !== itemSettingsFields || $[113] !== itemsMap || $[114] !== linkFieldName || $[115] !== owner || $[116] !== recordInList || $[117] !== recordView || $[118] !== removeCurrent || $[119] !== send || $[120] !== settingsFields || $[121] !== updateRepeatableSettings || $[122] !== updateSettings || $[123] !== writeField) {
716
+ t42 = /* @__PURE__ */ jsx("div", {
725
717
  className: "relative min-w-0 flex-1 overflow-x-hidden overflow-y-auto",
726
718
  children: /* @__PURE__ */ jsx("div", { children: isItemLoading ? /* @__PURE__ */ jsx("div", {
727
719
  className: "flex h-full items-center justify-center py-12",
@@ -767,7 +759,7 @@ const SelectionEditorContent = (t0) => {
767
759
  className: "space-y-1 px-2 py-3",
768
760
  children: [/* @__PURE__ */ jsxs("p", {
769
761
  className: "min-w-0 truncate text-sm font-medium",
770
- children: ["Shared · ", recordView.collection._internal.title]
762
+ children: ["Shared · ", recordView.collection.title]
771
763
  }), /* @__PURE__ */ jsx("p", {
772
764
  className: "text-muted-foreground text-xs",
773
765
  children: "Edits apply everywhere this record is used."
@@ -781,7 +773,7 @@ const SelectionEditorContent = (t0) => {
781
773
  const label = field.label ?? formatFieldName(field.name);
782
774
  const settingsValues = block.settings ?? {};
783
775
  if (field.fieldType === "Enum") {
784
- const value_2 = settingsValues[field.name] ?? (blockDef._internal.settingsSchema?.properties?.[field.name])?.default ?? "";
776
+ const value_2 = settingsValues[field.name] ?? (blockDef.settingsSchema?.properties?.[field.name])?.default ?? "";
785
777
  return /* @__PURE__ */ jsxs("div", {
786
778
  className: "space-y-2",
787
779
  children: [/* @__PURE__ */ jsx(Label, {
@@ -806,7 +798,7 @@ const SelectionEditorContent = (t0) => {
806
798
  }, field.name);
807
799
  }
808
800
  if (field.fieldType === "Boolean") {
809
- const checked = settingsValues[field.name] ?? (blockDef._internal.settingsSchema?.properties?.[field.name])?.default ?? false;
801
+ const checked = settingsValues[field.name] ?? (blockDef.settingsSchema?.properties?.[field.name])?.default ?? false;
810
802
  return /* @__PURE__ */ jsxs("div", {
811
803
  className: "flex items-center justify-between",
812
804
  children: [/* @__PURE__ */ jsx(Label, {
@@ -930,49 +922,49 @@ const SelectionEditorContent = (t0) => {
930
922
  }, `${block?.id ?? "layout"}-${recordView ? `record-${recordView.record.id}` : currentItemId ?? "block"}-${fieldInfo?.fieldName ?? "fields"}`)
931
923
  ] }) })
932
924
  });
933
- $[94] = addSibling;
934
- $[95] = assetAccept;
935
- $[96] = assetFieldName;
936
- $[97] = assetType;
937
- $[98] = block;
938
- $[99] = blockDef;
939
- $[100] = canAddSibling;
940
- $[101] = canRemoveCurrent;
941
- $[102] = currentData;
942
- $[103] = currentItem;
943
- $[104] = currentItemId;
944
- $[105] = currentSchema;
945
- $[106] = fieldHasOwnView;
946
- $[107] = fieldIdPrefix;
947
- $[108] = fieldInfo?.fieldName;
948
- $[109] = filesMap;
949
- $[110] = isItemLoading;
950
- $[111] = isMultipleAsset;
951
- $[112] = isViewingAsset;
952
- $[113] = isViewingLink;
953
- $[114] = itemArraySchema;
954
- $[115] = itemSettingsFields;
955
- $[116] = itemsMap;
956
- $[117] = linkFieldName;
957
- $[118] = owner;
958
- $[119] = recordInList;
959
- $[120] = recordView;
960
- $[121] = removeCurrent;
961
- $[122] = send;
962
- $[123] = settingsFields;
963
- $[124] = updateRepeatableSettings;
964
- $[125] = updateSettings;
965
- $[126] = writeField;
925
+ $[91] = addSibling;
926
+ $[92] = assetAccept;
927
+ $[93] = assetFieldName;
928
+ $[94] = assetType;
929
+ $[95] = block;
930
+ $[96] = blockDef;
931
+ $[97] = canAddSibling;
932
+ $[98] = canRemoveCurrent;
933
+ $[99] = currentData;
934
+ $[100] = currentItem;
935
+ $[101] = currentItemId;
936
+ $[102] = currentSchema;
937
+ $[103] = fieldHasOwnView;
938
+ $[104] = fieldIdPrefix;
939
+ $[105] = fieldInfo?.fieldName;
940
+ $[106] = filesMap;
941
+ $[107] = isItemLoading;
942
+ $[108] = isMultipleAsset;
943
+ $[109] = isViewingAsset;
944
+ $[110] = isViewingLink;
945
+ $[111] = itemArraySchema;
946
+ $[112] = itemSettingsFields;
947
+ $[113] = itemsMap;
948
+ $[114] = linkFieldName;
949
+ $[115] = owner;
950
+ $[116] = recordInList;
951
+ $[117] = recordView;
952
+ $[118] = removeCurrent;
953
+ $[119] = send;
954
+ $[120] = settingsFields;
955
+ $[121] = updateRepeatableSettings;
956
+ $[122] = updateSettings;
957
+ $[123] = writeField;
958
+ $[124] = t42;
959
+ } else t42 = $[124];
960
+ let t43;
961
+ if ($[125] !== t41 || $[126] !== t42) {
962
+ t43 = /* @__PURE__ */ jsxs(Fragment, { children: [t41, t42] });
963
+ $[125] = t41;
964
+ $[126] = t42;
966
965
  $[127] = t43;
967
966
  } else t43 = $[127];
968
- let t44;
969
- if ($[128] !== t42 || $[129] !== t43) {
970
- t44 = /* @__PURE__ */ jsxs(Fragment, { children: [t42, t43] });
971
- $[128] = t42;
972
- $[129] = t43;
973
- $[130] = t44;
974
- } else t44 = $[130];
975
- return t44;
967
+ return t43;
976
968
  };
977
969
  function _temp(i) {
978
970
  return [i.id, i];